diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 83f17347..7affb3cc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,7 +14,7 @@ android:icon="@drawable/ic_monero_32dp" android:label="@string/app_name" android:supportsRtl="true" - android:theme="@style/AppTheme"> + android:theme="@style/MyMaterialTheme"> <activity android:name=".WalletActivity" diff --git a/app/src/main/java/com/m2049r/xmrwallet/GenerateReviewFragment.java b/app/src/main/java/com/m2049r/xmrwallet/GenerateReviewFragment.java index 0bd24e21..0793a4d2 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/GenerateReviewFragment.java +++ b/app/src/main/java/com/m2049r/xmrwallet/GenerateReviewFragment.java @@ -101,6 +101,7 @@ public class GenerateReviewFragment extends Fragment { String seed; String viewKey; boolean isWatchOnly; + Wallet.Status status; @Override protected Boolean doInBackground(String... params) { @@ -118,8 +119,13 @@ public class GenerateReviewFragment extends Fragment { wallet = WalletManager.getInstance().openWallet(walletPath, password); closeWallet = true; } - if (wallet.getStatus() != Wallet.Status.Status_Ok) return false; name = wallet.getName(); + status = wallet.getStatus(); + if (status != Wallet.Status.Status_Ok) { + if (closeWallet) wallet.close(); + return false; + } + address = wallet.getAddress(); seed = wallet.getSeed(); viewKey = wallet.getSecretViewKey(); @@ -131,13 +137,13 @@ public class GenerateReviewFragment extends Fragment { @Override protected void onPostExecute(Boolean result) { super.onPostExecute(result); + tvWalletName.setText(name); if (result) { if (type.equals(GenerateReviewFragment.VIEW_TYPE_ACCEPT)) { tvWalletPassword.setText(password); bAccept.setVisibility(View.VISIBLE); bAccept.setEnabled(true); } - tvWalletName.setText(name); tvWalletAddress.setText(address); tvWalletMnemonic.setText(seed); tvWalletViewKey.setText(viewKey); @@ -147,6 +153,13 @@ public class GenerateReviewFragment extends Fragment { } else { tvWalletSpendKey.setText(getString(R.string.generate_wallet_watchonly)); } + } else { + // TODO show proper error message + // TODO end the fragment + tvWalletAddress.setText(status.toString()); + tvWalletMnemonic.setText(status.toString()); + tvWalletViewKey.setText(status.toString()); + tvWalletSpendKey.setText(status.toString()); } hideProgress(); } diff --git a/app/src/main/java/com/m2049r/xmrwallet/LoginActivity.java b/app/src/main/java/com/m2049r/xmrwallet/LoginActivity.java index 3e8519e3..e1ad0db1 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/LoginActivity.java +++ b/app/src/main/java/com/m2049r/xmrwallet/LoginActivity.java @@ -192,7 +192,7 @@ public class LoginActivity extends AppCompatActivity } } - // copy + delete seems safer than rename bevause we call rollback easily + // copy + delete seems safer than rename because we call rollback easily boolean renameWallet(File walletFile, String newName) { if (copyWallet(walletFile, new File(walletFile.getParentFile(), newName), false)) { deleteWallet(walletFile); @@ -215,7 +215,7 @@ public class LoginActivity extends AppCompatActivity final EditText etRename = (EditText) promptsView.findViewById(R.id.etRename); final TextView tvRenameLabel = (TextView) promptsView.findViewById(R.id.tvRenameLabel); - tvRenameLabel.setText(getString(R.string.prompt_rename) + " " + walletName); + tvRenameLabel.setText(getString(R.string.prompt_rename, walletName)); // set dialog message alertDialogBuilder @@ -396,7 +396,7 @@ public class LoginActivity extends AppCompatActivity final EditText etPassword = (EditText) promptsView.findViewById(R.id.etPassword); final TextView tvPasswordLabel = (TextView) promptsView.findViewById(R.id.tvPasswordLabel); - tvPasswordLabel.setText(LoginActivity.this.getString(R.string.prompt_password) + " " + wallet); + tvPasswordLabel.setText(LoginActivity.this.getString(R.string.prompt_password, wallet)); // set dialog message alertDialogBuilder diff --git a/app/src/main/java/com/m2049r/xmrwallet/WalletFragment.java b/app/src/main/java/com/m2049r/xmrwallet/WalletFragment.java index 0fcaa1fe..961e4e71 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/WalletFragment.java +++ b/app/src/main/java/com/m2049r/xmrwallet/WalletFragment.java @@ -49,7 +49,6 @@ public class WalletFragment extends Fragment implements TransactionInfoAdapter.O private NumberFormat formatter = NumberFormat.getInstance(); TextView tvBalance; - LinearLayout llUnconfirmedAmount; TextView tvUnconfirmedAmount; TextView tvBlockHeightProgress; ConstraintLayout clProgress; @@ -66,7 +65,7 @@ public class WalletFragment extends Fragment implements TransactionInfoAdapter.O @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { if (activityCallback.hasWallet()) - inflater.inflate(R.menu.wallet_menu, menu); + inflater.inflate(R.menu.wallet_menu, menu); super.onCreateOptionsMenu(menu, inflater); } @@ -78,21 +77,17 @@ public class WalletFragment extends Fragment implements TransactionInfoAdapter.O tvProgress = (TextView) view.findViewById(R.id.tvProgress); pbProgress = (ProgressBar) view.findViewById(R.id.pbProgress); clProgress = (ConstraintLayout) view.findViewById(R.id.clProgress); - llUnconfirmedAmount = (LinearLayout) view.findViewById(R.id.llUnconfirmedAmount); tvBalance = (TextView) view.findViewById(R.id.tvBalance); - tvBalance.setText(Helper.getDisplayAmount(0)); + tvBalance.setText(getResources().getString(R.string.xmr_balance, Helper.getDisplayAmount(0))); tvUnconfirmedAmount = (TextView) view.findViewById(R.id.tvUnconfirmedAmount); - tvUnconfirmedAmount.setText(Helper.getDisplayAmount(0)); + tvUnconfirmedAmount.setText(getResources().getString(R.string.xmr_unconfirmed_amount, Helper.getDisplayAmount(0))); tvBlockHeightProgress = (TextView) view.findViewById(R.id.tvBlockHeightProgress); bSend = (Button) view.findViewById(R.id.bSend); RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.list); - RecyclerView.ItemDecoration itemDecoration = new - DividerItemDecoration(recyclerView.getContext(), DividerItemDecoration.VERTICAL); - recyclerView.addItemDecoration(itemDecoration); - this.adapter = new TransactionInfoAdapter(this); + this.adapter = new TransactionInfoAdapter(getActivity(), this); recyclerView.setAdapter(adapter); bSend.setOnClickListener(new View.OnClickListener() @@ -161,10 +156,12 @@ public class WalletFragment extends Fragment implements TransactionInfoAdapter.O public void showProgress() { clProgress.setVisibility(View.VISIBLE); + tvBlockHeightProgress.setVisibility(View.GONE); } public void hideProgress() { clProgress.setVisibility(View.GONE); + tvBlockHeightProgress.setVisibility(View.VISIBLE); } String setActivityTitle(Wallet wallet) { @@ -173,6 +170,8 @@ public class WalletFragment extends Fragment implements TransactionInfoAdapter.O if (shortName.length() > 16) { shortName = shortName.substring(0, 14) + "..."; } + // TODO very very rarely this craches because getAddress returns "" or so ... + // maybe because this runs in the ui thread and not in a 5MB thread String title = "[" + wallet.getAddress().substring(0, 6) + "] " + shortName; activityCallback.setTitle(title); @@ -194,14 +193,8 @@ public class WalletFragment extends Fragment implements TransactionInfoAdapter.O } long balance = wallet.getBalance(); long unlockedBalance = wallet.getUnlockedBalance(); - tvBalance.setText(Helper.getDisplayAmount(unlockedBalance)); - tvUnconfirmedAmount.setText(Helper.getDisplayAmount(balance - unlockedBalance)); - // balance cannot be less than unlockedBalance - /*if (balance != unlockedBalance) { - llPendingAmount.setVisibility(View.VISIBLE); - } else { - llPendingAmount.setVisibility(View.INVISIBLE); - }*/ + tvBalance.setText(getResources().getString(R.string.xmr_balance, Helper.getDisplayAmount(unlockedBalance))); + tvUnconfirmedAmount.setText(getResources().getString(R.string.xmr_balance, Helper.getDisplayAmount(balance - unlockedBalance))); String sync = ""; if (!activityCallback.hasBoundService()) throw new IllegalStateException("WalletService not bound."); diff --git a/app/src/main/java/com/m2049r/xmrwallet/layout/TransactionInfoAdapter.java b/app/src/main/java/com/m2049r/xmrwallet/layout/TransactionInfoAdapter.java index 3b8dc54e..7e833005 100644 --- a/app/src/main/java/com/m2049r/xmrwallet/layout/TransactionInfoAdapter.java +++ b/app/src/main/java/com/m2049r/xmrwallet/layout/TransactionInfoAdapter.java @@ -16,7 +16,9 @@ package com.m2049r.xmrwallet.layout; +import android.content.Context; import android.graphics.Color; +import android.support.v4.content.ContextCompat; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater; @@ -42,10 +44,15 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo private final SimpleDateFormat DATETIME_FORMATTER = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - static final int TX_RED = Color.rgb(255, 79, 65); - static final int TX_GREEN = Color.rgb(54, 176, 91); - static final int TX_PENDING = Color.rgb(72, 53, 176); - static final int TX_FAILED = Color.rgb(208, 0, 255); + //static final int TX_RED = Color.rgb(255, 79, 65); + //static final int TX_GREEN = Color.rgb(54, 176, 91); + //static final int TX_PENDING = Color.rgb(72, 53, 176); + //static final int TX_FAILED = Color.rgb(208, 0, 255); + + int outboundColour; + int inboundColour; + int pendingColour; + int failedColour; public interface OnInteractionListener { void onInteraction(View view, TransactionInfo item); @@ -54,7 +61,14 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo private final List<TransactionInfo> infoItems; private final OnInteractionListener listener; - public TransactionInfoAdapter(OnInteractionListener listener) { + Context context; + + public TransactionInfoAdapter(Context context, OnInteractionListener listener) { + this.context = context; + inboundColour = ContextCompat.getColor(context, R.color.tx_green); + outboundColour = ContextCompat.getColor(context, R.color.tx_red); + pendingColour = ContextCompat.getColor(context, R.color.tx_pending); + failedColour = ContextCompat.getColor(context, R.color.tx_failed); this.infoItems = new ArrayList<>(); this.listener = listener; Calendar cal = Calendar.getInstance(); @@ -109,8 +123,7 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { final TextView tvAmount; - final TextView tvAmountPoint; - final TextView tvAmountDecimal; + final TextView tvFee; final TextView tvPaymentId; final TextView tvDateTime; TransactionInfo infoItem; @@ -118,9 +131,7 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo ViewHolder(View itemView) { super(itemView); this.tvAmount = (TextView) itemView.findViewById(R.id.tx_amount); - // I know this is stupid but can't be bothered to align decimals otherwise - this.tvAmountPoint = (TextView) itemView.findViewById(R.id.tx_amount_point); - this.tvAmountDecimal = (TextView) itemView.findViewById(R.id.tx_amount_decimal); + this.tvFee = (TextView) itemView.findViewById(R.id.tx_fee); this.tvPaymentId = (TextView) itemView.findViewById(R.id.tx_paymentid); this.tvDateTime = (TextView) itemView.findViewById(R.id.tx_datetime); } @@ -131,34 +142,41 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo private void setTxColour(int clr) { tvAmount.setTextColor(clr); - tvAmountDecimal.setTextColor(clr); - tvAmountPoint.setTextColor(clr); + tvFee.setTextColor(clr); } void bind(int position) { this.infoItem = infoItems.get(position); String displayAmount = Wallet.getDisplayAmount(infoItem.amount); // TODO fix this with i8n code but cryptonote::print_money always uses '.' for decimal point - String amountParts[] = displayAmount.split("\\."); - amountParts[1] = amountParts[1].substring(0,5); + String amount = displayAmount.substring(0, displayAmount.length() - (12 - 5)); + this.tvAmount.setText(amount); - this.tvAmount.setText(amountParts[0]); - this.tvAmountDecimal.setText(amountParts[1]); + if ((infoItem.fee > 0)) { + String feeAmount = Wallet.getDisplayAmount(infoItem.fee); + String fee = feeAmount.substring(0, feeAmount.length() - (12 - 5)); + if (infoItem.isPending) { + this.tvFee.setText(context.getString(R.string.tx_list_fee_pending, fee)); + } else { + this.tvFee.setText(context.getString(R.string.tx_list_fee, fee)); + } + } else { + this.tvFee.setText(""); + } if (infoItem.isFailed) { - this.tvAmount.setText('(' + amountParts[0]); - this.tvAmountDecimal.setText(amountParts[1] + ')'); - setTxColour(TX_FAILED); + this.tvAmount.setText(context.getString(R.string.tx_list_amount_failed, amount)); + setTxColour(failedColour); } else if (infoItem.isPending) { - setTxColour(TX_PENDING); + setTxColour(pendingColour); if (infoItem.direction == TransactionInfo.Direction.Direction_Out) { - this.tvAmount.setText('-' + amountParts[0]); + this.tvAmount.setText(context.getString(R.string.tx_list_amount_negative, amount)); } } else if (infoItem.direction == TransactionInfo.Direction.Direction_In) { - setTxColour(TX_GREEN); + setTxColour(inboundColour); } else { - setTxColour(TX_RED); + setTxColour(outboundColour); } - this.tvPaymentId.setText(infoItem.paymentId.equals("0000000000000000")?"":infoItem.paymentId); + this.tvPaymentId.setText(infoItem.paymentId.equals("0000000000000000") ? "" : infoItem.paymentId); this.tvDateTime.setText(getDateTime(infoItem.timestamp)); itemView.setOnClickListener(this); diff --git a/app/src/main/res/color/text_color.xml b/app/src/main/res/color/text_color.xml new file mode 100644 index 00000000..bdb0a30f --- /dev/null +++ b/app/src/main/res/color/text_color.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:color="@color/moneroGray" android:state_enabled="false" /> + <item android:color="@color/moneroWhite" /> +</selector> \ No newline at end of file diff --git a/app/src/main/res/layout/gen_fragment.xml b/app/src/main/res/layout/gen_fragment.xml index 567abaf8..99e88eba 100644 --- a/app/src/main/res/layout/gen_fragment.xml +++ b/app/src/main/res/layout/gen_fragment.xml @@ -12,6 +12,7 @@ <EditText android:id="@+id/etWalletName" + style="@style/MoneroEdit" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" @@ -19,40 +20,39 @@ android:imeOptions="actionNext" android:inputType="text" android:maxLines="1" - android:textAlignment="center" - android:textSize="16sp" /> + android:textAlignment="center" /> <EditText android:id="@+id/etWalletPassword" + style="@style/MoneroEdit" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:hint="@string/generate_password_hint" android:imeOptions="actionNext" android:inputType="text" - android:textAlignment="center" - android:textSize="16sp" /> + android:textAlignment="center" /> </LinearLayout> <EditText android:id="@+id/etWalletMnemonic" + style="@style/MoneroEdit" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/generate_mnemonic_hint" android:imeOptions="actionNext" android:inputType="textMultiLine" - android:textAlignment="center" - android:textSize="16sp" /> + android:textAlignment="center" /> <EditText android:id="@+id/etWalletAddress" + style="@style/MoneroEdit" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/generate_address_hint" android:imeOptions="actionNext" android:inputType="textMultiLine" - android:textAlignment="center" - android:textSize="16sp" /> + android:textAlignment="center" /> <LinearLayout android:id="@+id/llRestoreKeys" @@ -64,43 +64,43 @@ <EditText android:id="@+id/etWalletViewKey" + style="@style/MoneroEdit" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/generate_viewkey_hint" android:imeOptions="actionNext" android:inputType="textMultiLine" - android:textAlignment="center" - android:textSize="16sp" /> + android:textAlignment="center" /> <EditText android:id="@+id/etWalletSpendKey" + style="@style/MoneroEdit" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/generate_spendkey_hint" android:imeOptions="actionNext" android:inputType="textMultiLine" - android:textAlignment="center" - android:textSize="16sp" /> + android:textAlignment="center"/> </LinearLayout> <EditText android:id="@+id/etWalletRestoreHeight" + style="@style/MoneroEdit" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/generate_restoreheight_hint" android:imeOptions="actionDone" android:inputType="number" android:textAlignment="center" - android:textSize="16sp" android:visibility="gone" /> <Button android:id="@+id/bGenerate" + style="@style/MoneroButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:layout_marginTop="8dp" - android:background="@color/colorPrimary" android:enabled="false" android:text="@string/generate_buttonGenerate" /> diff --git a/app/src/main/res/layout/gen_review_fragment.xml b/app/src/main/res/layout/gen_review_fragment.xml index 35fc2b86..e1572193 100644 --- a/app/src/main/res/layout/gen_review_fragment.xml +++ b/app/src/main/res/layout/gen_review_fragment.xml @@ -20,23 +20,21 @@ <TextView android:id="@+id/tvWalletLabel" + style="@style/MoneroLabel" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/generate_wallet_label" - android:textAlignment="center" - android:textColor="@color/colorAccent" - android:textSize="16sp" /> + android:textAlignment="center" /> <TextView android:id="@+id/tvWalletPasswordLabel" + style="@style/MoneroLabel" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/generate_password_label" - android:textAlignment="center" - android:textColor="@color/colorAccent" - android:textSize="16sp" /> + android:textAlignment="center" /> </LinearLayout> <LinearLayout @@ -48,106 +46,96 @@ <TextView android:id="@+id/tvWalletName" + style="@style/MoneroText" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" - android:textAlignment="center" - android:textColor="@color/colorPrimaryDark" - android:textSize="16sp" /> + android:textAlignment="center" /> <TextView android:id="@+id/tvWalletPassword" + style="@style/MoneroText" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="***" - android:textAlignment="center" - android:textColor="@color/colorPrimaryDark" - android:textSize="16sp" /> + android:textAlignment="center" /> </LinearLayout> <TextView android:id="@+id/tvWalletMnemonicLabel" + style="@style/MoneroLabel" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/generate_mnemonic_label" - android:textAlignment="center" - android:textColor="@color/colorAccent" - android:textSize="16sp" /> + android:textAlignment="center" /> <TextView android:id="@+id/tvWalletMnemonic" + style="@style/MoneroText" android:layout_width="match_parent" android:layout_height="wrap_content" - android:textAlignment="center" - android:textColor="@color/colorPrimaryDark" - android:textSize="16sp" /> + android:textAlignment="center" /> <TextView android:id="@+id/tvWalletAddressLabel" + style="@style/MoneroLabel" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:text="@string/generate_address_label" - android:textAlignment="center" - android:textColor="@color/colorAccent" - android:textSize="16sp" /> + android:textAlignment="center" /> <TextView android:id="@+id/tvWalletAddress" + style="@style/MoneroText" android:layout_width="match_parent" android:layout_height="wrap_content" android:selectAllOnFocus="true" android:textAlignment="center" - android:textColor="@color/colorPrimaryDark" - android:textIsSelectable="true" - android:textSize="16sp" /> + android:textIsSelectable="true" /> <TextView android:id="@+id/tvWalletViewKeyLabel" + style="@style/MoneroLabel" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:text="@string/generate_viewkey_label" - android:textAlignment="center" - android:textColor="@color/colorAccent" - android:textSize="16sp" /> + android:textAlignment="center" /> <TextView android:id="@+id/tvWalletViewKey" + style="@style/MoneroText" android:layout_width="match_parent" android:layout_height="wrap_content" android:selectAllOnFocus="true" android:textAlignment="center" - android:textColor="@color/colorPrimaryDark" - android:textIsSelectable="true" - android:textSize="16sp" /> + android:textIsSelectable="true" /> <TextView android:id="@+id/tvWalletSpendKeyLabel" + style="@style/MoneroLabel" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:text="@string/generate_spendkey_label" - android:textAlignment="center" - android:textColor="@color/colorAccent" - android:textSize="16sp" /> + android:textAlignment="center" /> <TextView android:id="@+id/tvWalletSpendKey" + style="@style/MoneroText" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAlignment="center" - android:textColor="@color/colorPrimaryDark" - android:textIsSelectable="true" - android:textSize="16sp" /> + android:textIsSelectable="true" /> <Button android:id="@+id/bAccept" + style="@style/MoneroButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="16dp" - android:background="@color/colorPrimary" android:text="@string/generate_button_accept" android:visibility="gone" /> </LinearLayout> diff --git a/app/src/main/res/layout/login_activity.xml b/app/src/main/res/layout/login_activity.xml index 48d797bf..da7638bc 100644 --- a/app/src/main/res/layout/login_activity.xml +++ b/app/src/main/res/layout/login_activity.xml @@ -5,16 +5,12 @@ android:gravity="center_horizontal" android:orientation="vertical"> - <android.support.v7.widget.Toolbar + <include android:id="@+id/toolbar" - android:layout_width="match_parent" - android:layout_height="?attr/actionBarSize" - android:background="?attr/colorPrimary" - android:elevation="4dp" /> + layout="@layout/toolbar" /> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/fragment_container" - android:layout_margin="4sp" android:layout_width="match_parent" android:layout_height="match_parent" /> diff --git a/app/src/main/res/layout/login_fragment.xml b/app/src/main/res/layout/login_fragment.xml index 77b75df4..3a88477a 100644 --- a/app/src/main/res/layout/login_fragment.xml +++ b/app/src/main/res/layout/login_fragment.xml @@ -17,13 +17,13 @@ android:textOff="@string/connect_testnet" android:textOn="@string/connect_mainnet" app:layout_constraintRight_toRightOf="parent" - app:layout_constraintTop_toTopOf="parent"/> + app:layout_constraintTop_toTopOf="parent" /> <EditText android:id="@+id/etDaemonAddress" + style="@style/MoneroEdit" android:layout_width="0dp" android:layout_height="wrap_content" - android:backgroundTint="@color/colorPrimary" android:clickable="true" android:focusable="true" android:focusableInTouchMode="true" @@ -33,7 +33,6 @@ android:inputType="textWebEmailAddress|textNoSuggestions" android:maxLines="1" android:textIsSelectable="true" - android:textSize="15sp" app:layout_constraintBaseline_toBaselineOf="@+id/tbMainNet" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/tbMainNet" /> @@ -46,9 +45,10 @@ <ListView android:id="@+id/list" + style="@style/MoneroListView" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="4dp"/> + android:layout_marginTop="4dp" /> <android.support.design.widget.FloatingActionButton xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/fabAdd" diff --git a/app/src/main/res/layout/prompt_password.xml b/app/src/main/res/layout/prompt_password.xml index 495d4670..8eb7222d 100644 --- a/app/src/main/res/layout/prompt_password.xml +++ b/app/src/main/res/layout/prompt_password.xml @@ -8,6 +8,7 @@ <TextView android:id="@+id/tvPasswordLabel" + style="@style/MoneroLabel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:labelFor="@+id/etPassword" @@ -16,6 +17,7 @@ <EditText android:id="@+id/etPassword" + style="@style/MoneroEdit" android:layout_width="match_parent" android:layout_height="wrap_content" android:imeOptions="normal" diff --git a/app/src/main/res/layout/prompt_rename.xml b/app/src/main/res/layout/prompt_rename.xml index 5f47af13..62cae9f4 100644 --- a/app/src/main/res/layout/prompt_rename.xml +++ b/app/src/main/res/layout/prompt_rename.xml @@ -8,6 +8,7 @@ <TextView android:id="@+id/tvRenameLabel" + style="@style/MoneroLabel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/prompt_rename" @@ -16,6 +17,7 @@ <EditText android:id="@+id/etRename" + style="@style/MoneroEdit" android:layout_width="match_parent" android:layout_height="wrap_content" android:imeOptions="normal" diff --git a/app/src/main/res/layout/receive_fragment.xml b/app/src/main/res/layout/receive_fragment.xml index 46b4c3f1..5e88ef32 100644 --- a/app/src/main/res/layout/receive_fragment.xml +++ b/app/src/main/res/layout/receive_fragment.xml @@ -2,6 +2,7 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" + android:background="@color/moneroBlack" android:orientation="vertical"> <ProgressBar @@ -10,19 +11,21 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="8sp" + android:progressBackgroundTint="@color/colorPrimaryDark" + android:progressTint="@color/colorPrimary" android:visibility="gone" /> <TextView android:id="@+id/tvAddress" + style="@style/MoneroText" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="4sp" android:layout_marginTop="4sp" - android:textIsSelectable="true" - android:selectAllOnFocus="true" android:hint="@string/send_address_hint" + android:selectAllOnFocus="true" android:textAlignment="center" - android:textSize="16sp" /> + android:textIsSelectable="true" /> <LinearLayout android:layout_width="match_parent" @@ -33,16 +36,17 @@ android:weightSum="10"> <TextView + style="@style/MoneroText" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_marginRight="8sp" android:layout_weight="3" android:text="@string/receive_paymentid_label" - android:textAlignment="textEnd" - android:textSize="16sp" /> + android:textAlignment="textEnd" /> <EditText android:id="@+id/etPaymentId" + style="@style/MoneroEdit" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="5" @@ -50,20 +54,18 @@ android:hint="@string/receive_paymentid_hint" android:imeOptions="actionNext" android:inputType="textMultiLine" - android:textAlignment="textStart" - android:textSize="16sp" /> + android:textAlignment="textStart" /> <Button android:id="@+id/bPaymentId" + style="@style/MoneroButton.Small" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="2" - android:background="@color/colorPrimary" android:enabled="false" android:minHeight="36sp" - android:text="@string/receive_paymentid_button" - android:textSize="12sp" /> + android:text="@string/receive_paymentid_button" /> </LinearLayout> <LinearLayout @@ -75,16 +77,17 @@ android:weightSum="10"> <TextView + style="@style/MoneroText" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_marginRight="8sp" android:layout_weight="3" android:text="@string/send_amount_label" - android:textAlignment="textEnd" - android:textSize="24sp" /> + android:textAlignment="textEnd" /> <EditText android:id="@+id/etAmount" + style="@style/MoneroEdit" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="7" @@ -92,17 +95,16 @@ android:hint="@string/receive_amount_hint" android:imeOptions="actionDone" android:inputType="numberDecimal" - android:textAlignment="textStart" - android:textSize="24sp" /> + android:textAlignment="textStart" /> </LinearLayout> <Button android:id="@+id/bGenerate" + style="@style/MoneroButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="4sp" android:layout_marginTop="4sp" - android:background="@color/colorPrimary" android:enabled="false" android:minHeight="36sp" android:text="@string/receive_generate_hint" /> diff --git a/app/src/main/res/layout/send_fragment.xml b/app/src/main/res/layout/send_fragment.xml index f7e5cc44..f104efe5 100644 --- a/app/src/main/res/layout/send_fragment.xml +++ b/app/src/main/res/layout/send_fragment.xml @@ -5,17 +5,19 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="match_parent" + android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" + android:layout_marginBottom="8sp" android:weightSum="2"> <Spinner android:id="@+id/sMixin" + style="@style/MoneroSpinner" android:layout_width="0sp" android:layout_height="match_parent" android:layout_weight="1" @@ -24,6 +26,7 @@ <Spinner android:id="@+id/sPriority" + style="@style/MoneroSpinner" android:layout_width="0sp" android:layout_height="match_parent" android:layout_weight="1" @@ -35,92 +38,90 @@ <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="horizontal" android:layout_marginBottom="4sp" android:layout_marginTop="4sp" + android:orientation="horizontal" android:weightSum="10"> <EditText android:id="@+id/etAddress" + style="@style/MoneroEdit" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="8" android:hint="@string/send_address_hint" android:imeOptions="actionNext" android:inputType="textMultiLine" - android:textAlignment="center" - android:textSize="16sp" /> + android:textAlignment="center" /> <Button android:id="@+id/bScan" + style="@style/MoneroButton.Small" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_gravity="center" - android:minHeight="36sp" android:layout_weight="2" - android:background="@color/colorPrimary" android:enabled="true" - android:text="@string/send_qr_hint" - android:textSize="12sp" /> + android:minHeight="36sp" + android:text="@string/send_qr_hint" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="horizontal" android:layout_marginBottom="4sp" android:layout_marginTop="4sp" + android:orientation="horizontal" android:weightSum="10"> <EditText android:id="@+id/etPaymentId" + style="@style/MoneroEdit" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="8" android:hint="@string/send_paymentid_hint" android:imeOptions="actionNext" android:inputType="textMultiLine" - android:textAlignment="center" - android:textSize="16sp" /> + android:textAlignment="center" /> <Button android:id="@+id/bPaymentId" + style="@style/MoneroButton.Small" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_gravity="center" - android:minHeight="36sp" android:layout_weight="2" - android:background="@color/colorPrimary" android:enabled="true" - android:text="@string/send_generate_paymentid_hint" - android:textSize="12sp" /> + android:minHeight="36sp" + android:text="@string/send_generate_paymentid_hint" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="horizontal" android:layout_marginBottom="4sp" android:layout_marginTop="4sp" + android:orientation="horizontal" android:weightSum="10"> <EditText android:id="@+id/etAmount" + style="@style/MoneroEdit" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="8" android:hint="@string/send_amount_hint" android:imeOptions="actionDone" android:inputType="numberDecimal" - android:textAlignment="center" - android:textSize="16sp" /> + android:textAlignment="center" /> <Button android:id="@+id/bSweep" + style="@style/MoneroButton" android:layout_width="0sp" android:layout_height="match_parent" android:layout_weight="2" - android:background="@color/colorPrimary" android:enabled="true" android:text="@string/send_sweep_hint" android:visibility="invisible" /> @@ -128,18 +129,18 @@ <Button android:id="@+id/bPrepareSend" + style="@style/MoneroButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="4sp" android:layout_marginTop="4sp" - android:minHeight="36sp" - android:background="@color/colorPrimary" android:enabled="false" + android:minHeight="36sp" android:text="@string/send_prepare_hint" /> <ProgressBar android:id="@+id/pbProgress" - style="@android:style/Widget.ProgressBar.Horizontal" + style="@style/MoneroProgress" android:layout_width="match_parent" android:layout_height="wrap_content" android:visibility="gone" /> @@ -148,18 +149,18 @@ android:id="@+id/llConfirmSend" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="vertical" android:layout_marginBottom="4sp" android:layout_marginTop="4sp" + android:orientation="vertical" android:visibility="gone"> <Button android:id="@+id/bDispose" + style="@style/MoneroButton" android:layout_width="match_parent" android:layout_height="wrap_content" - android:minHeight="36sp" android:layout_marginBottom="4sp" - android:background="@color/colorPrimary" + android:minHeight="36sp" android:text="@string/send_dispose_hint" /> <LinearLayout @@ -170,23 +171,22 @@ <TextView android:id="@+id/tvTxAmountLabel" + style="@style/MoneroLabel" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_marginRight="8sp" android:layout_weight="1" android:text="@string/send_amount_label" - android:textAlignment="textEnd" - android:textColor="@color/colorAccent" - android:textSize="20sp" /> + android:textAlignment="textEnd" /> <TextView android:id="@+id/tvTxAmount" + style="@style/MoneroText" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_marginLeft="8sp" android:layout_weight="2" - android:textAlignment="textEnd" - android:textSize="20sp" /> + android:textAlignment="textEnd" /> </LinearLayout> <LinearLayout @@ -197,23 +197,22 @@ <TextView android:id="@+id/tvTxFeeLabel" + style="@style/MoneroLabel" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_marginRight="4sp" android:layout_weight="1" android:text="@string/send_fee_label" - android:textAlignment="textEnd" - android:textColor="@color/colorAccent" - android:textSize="20sp" /> + android:textAlignment="textEnd" /> <TextView android:id="@+id/tvTxFee" + style="@style/MoneroText" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_marginLeft="8sp" android:layout_weight="2" - android:textAlignment="textEnd" - android:textSize="20sp" /> + android:textAlignment="textEnd" /> </LinearLayout> <LinearLayout @@ -224,53 +223,52 @@ <TextView android:id="@+id/tvTxDustLabel" + style="@style/MoneroLabel" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_marginRight="8sp" android:layout_weight="1" android:text="@string/send_dust_label" - android:textAlignment="textEnd" - android:textColor="@color/colorAccent" - android:textSize="20sp" /> + android:textAlignment="textEnd" /> <TextView android:id="@+id/tvTxDust" + style="@style/MoneroText" android:layout_width="0sp" android:layout_height="wrap_content" android:layout_marginLeft="8sp" android:layout_weight="2" - android:textAlignment="textEnd" - android:textSize="20sp" /> + android:textAlignment="textEnd" /> </LinearLayout> <EditText android:id="@+id/etNotes" + style="@style/MoneroEdit" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4sp" android:hint="@string/send_notes_hint" android:imeOptions="actionDone" android:inputType="textMultiLine" - android:textAlignment="center" - android:textSize="16sp" /> + android:textAlignment="center" /> <Button android:id="@+id/bSend" + style="@style/MoneroButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="4sp" android:layout_marginTop="4sp" android:minHeight="36sp" - android:background="@color/colorPrimary" android:text="@string/send_send_hint" /> <Button android:id="@+id/bReallySend" + style="@style/MoneroButton.Alert" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="4sp" android:layout_marginTop="4sp" - android:background="@color/moneroOrange" android:text="@string/send_really_send_hint" android:visibility="gone" /> </LinearLayout> diff --git a/app/src/main/res/layout/toolbar.xml b/app/src/main/res/layout/toolbar.xml new file mode 100644 index 00000000..12c9e089 --- /dev/null +++ b/app/src/main/res/layout/toolbar.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:local="http://schemas.android.com/apk/res-auto" + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="?attr/colorPrimary" + android:minHeight="?attr/actionBarSize" + local:popupTheme="@style/ThemeOverlay.AppCompat.Light" + local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> \ No newline at end of file diff --git a/app/src/main/res/layout/transaction_item.xml b/app/src/main/res/layout/transaction_item.xml index a404fc3b..5368b7d2 100644 --- a/app/src/main/res/layout/transaction_item.xml +++ b/app/src/main/res/layout/transaction_item.xml @@ -1,80 +1,70 @@ <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - xmlns:tools="http://schemas.android.com/tools" android:id="@+id/card" android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_margin="1sp" - app:cardBackgroundColor="@color/main_background"> + android:layout_height="wrap_content"> - <android.support.constraint.ConstraintLayout + <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginBottom="8sp" - android:layout_marginTop="8sp" - tools:layout_editor_absoluteX="0sp" - tools:layout_editor_absoluteY="0sp"> + android:background="@color/moneroBlack" + android:orientation="vertical" + android:padding="8dp"> - <TextView - android:id="@+id/tx_amount" - android:layout_width="60sp" + <LinearLayout + android:layout_width="match_parent" android:layout_height="wrap_content" - android:gravity="end" - android:textSize="14sp" - android:textStyle="bold" - android:text="9999999" - android:textColor="@android:color/holo_red_light" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintTop_toTopOf="parent" /> + android:orientation="horizontal" + android:weightSum="2"> - <TextView - android:id="@+id/tx_amount_point" - android:layout_width="wrap_content" + <TextView + android:id="@+id/tx_amount" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:gravity="right" + android:text="9999999.99999" + android:textColor="@color/moneroOrange" + android:textSize="20dp" /> + + <TextView + android:id="@+id/tx_datetime" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:gravity="right" + android:text="2017-05-22 21:32" + android:textColor="@color/textColorPrimary" + android:textSize="20dp" /> + </LinearLayout> + + <LinearLayout + android:layout_width="match_parent" android:layout_height="wrap_content" - android:textSize="14sp" - android:textStyle="bold" - android:text="." - android:textColor="@android:color/holo_red_light" - app:layout_constraintBaseline_toBaselineOf="@+id/tx_amount" - app:layout_constraintLeft_toRightOf="@+id/tx_amount" - app:layout_constraintTop_toTopOf="parent" /> + android:orientation="horizontal" + android:weightSum="2"> - <TextView - android:id="@+id/tx_amount_decimal" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="14sp" - android:text="99999" - android:textColor="@android:color/holo_red_light" - app:layout_constraintBaseline_toBaselineOf="@+id/tx_amount" - app:layout_constraintLeft_toRightOf="@+id/tx_amount_point" - app:layout_constraintTop_toTopOf="parent" /> + <TextView + android:id="@+id/tx_fee" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:gravity="right" + android:text="9999999.99999" + android:textColor="@color/moneroOrange" + android:textSize="16dp" /> - <TextView - android:id="@+id/tx_paymentid" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginRight="8sp" - android:textSize="13sp" - android:text="0123456789abcdef" - app:layout_constraintBaseline_toBaselineOf="@+id/tx_amount" - app:layout_constraintRight_toLeftOf="@+id/tx_datetime" - app:layout_constraintTop_toTopOf="parent" /> - - <TextView - android:id="@+id/tx_datetime" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="14sp" - android:text="2017-05-22 21:32" - android:textColor="@android:color/black" - app:layout_constraintBaseline_toBaselineOf="@+id/tx_amount" - app:layout_constraintRight_toLeftOf="parent" - app:layout_constraintTop_toTopOf="parent" /> - - </android.support.constraint.ConstraintLayout> + <TextView + android:id="@+id/tx_paymentid" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:gravity="right" + android:text="0123456789abcdef" + android:textColor="@color/textColorPrimary" + android:textSize="16dp" /> + </LinearLayout> + </LinearLayout> </android.support.v7.widget.CardView> diff --git a/app/src/main/res/layout/tx_fragment.xml b/app/src/main/res/layout/tx_fragment.xml index 24fc1b34..e6aa4adb 100644 --- a/app/src/main/res/layout/tx_fragment.xml +++ b/app/src/main/res/layout/tx_fragment.xml @@ -17,15 +17,17 @@ <TableRow> <TextView + style="@style/MoneroLabel" android:gravity="right" - android:padding="8dp" + android:padding="8sp" android:text="@string/tx_id" android:textColor="@color/colorAccent" /> <TextView android:id="@+id/tvTxId" + style="@style/MoneroText" android:gravity="left" - android:padding="8dip" + android:padding="8sp" android:selectAllOnFocus="true" android:textIsSelectable="true" /> </TableRow> @@ -33,15 +35,17 @@ <TableRow> <TextView + style="@style/MoneroLabel" android:gravity="right" - android:padding="8dp" + android:padding="8sp" android:text="@string/tx_key" android:textColor="@color/colorAccent" /> <TextView android:id="@+id/tvTxKey" + style="@style/MoneroText" android:gravity="left" - android:padding="8dip" + android:padding="8sp" android:selectAllOnFocus="true" android:textIsSelectable="true" /> </TableRow> @@ -49,15 +53,17 @@ <TableRow> <TextView + style="@style/MoneroLabel" android:gravity="right" - android:padding="8dp" + android:padding="8sp" android:text="@string/tx_destination" android:textColor="@color/colorAccent" /> <TextView android:id="@+id/tvDestination" + style="@style/MoneroText" android:gravity="left" - android:padding="8dip" + android:padding="8sp" android:selectAllOnFocus="true" android:textIsSelectable="true" /> </TableRow> @@ -65,15 +71,17 @@ <TableRow> <TextView + style="@style/MoneroLabel" android:gravity="right" - android:padding="8dp" + android:padding="8sp" android:text="@string/tx_paymentId" android:textColor="@color/colorAccent" /> <TextView android:id="@+id/tvTxPaymentId" + style="@style/MoneroText" android:gravity="left" - android:padding="8dip" + android:padding="8sp" android:selectAllOnFocus="true" android:textIsSelectable="true" /> </TableRow> @@ -81,8 +89,9 @@ <TableRow> <TextView + style="@style/MoneroLabel" android:gravity="right" - android:padding="8dp" + android:padding="8sp" android:selectAllOnFocus="true" android:text="@string/tx_amount" android:textColor="@color/colorAccent" @@ -90,8 +99,9 @@ <TextView android:id="@+id/tvTxAmount" + style="@style/MoneroText" android:gravity="left" - android:padding="8dip" + android:padding="8sp" android:selectAllOnFocus="true" android:textIsSelectable="true" /> </TableRow> @@ -99,15 +109,17 @@ <TableRow> <TextView + style="@style/MoneroLabel" android:gravity="right" - android:padding="8dp" + android:padding="8sp" android:text="@string/tx_fee" android:textColor="@color/colorAccent" /> <TextView android:id="@+id/tvTxFee" + style="@style/MoneroText" android:gravity="left" - android:padding="8dip" + android:padding="8sp" android:selectAllOnFocus="true" android:textIsSelectable="true" /> </TableRow> @@ -115,8 +127,9 @@ <TableRow> <TextView + style="@style/MoneroLabel" android:gravity="right" - android:padding="8dp" + android:padding="8sp" android:text="@string/tx_notes" android:textColor="@color/colorAccent" /> @@ -129,25 +142,24 @@ <EditText android:id="@+id/etTxNotes" - android:layout_width="0dp" + style="@style/MoneroEdit" + android:layout_width="0sp" android:layout_height="wrap_content" android:layout_weight="8" android:hint="@string/tx_notes_hint" android:inputType="textMultiLine" - android:textAlignment="textStart" - android:textSize="14sp" /> + android:textAlignment="textStart"/> <Button android:id="@+id/bTxNotes" - android:layout_width="0dp" + style="@style/MoneroButton.Small" + android:layout_width="0sp" android:layout_height="match_parent" - android:layout_marginBottom="8dp" - android:layout_marginTop="8dp" + android:layout_marginBottom="8sp" + android:layout_marginTop="8sp" android:layout_weight="2" - android:background="@color/colorPrimary" android:enabled="true" - android:text="@string/tx_button_notes" - android:textSize="8sp" /> + android:text="@string/tx_button_notes"/> </LinearLayout> </TableRow> @@ -155,15 +167,17 @@ <TableRow> <TextView + style="@style/MoneroLabel" android:gravity="right" - android:padding="8dp" + android:padding="8sp" android:text="@string/tx_timestamp" android:textColor="@color/colorAccent" /> <TextView android:id="@+id/tvTxTimestamp" + style="@style/MoneroText" android:gravity="left" - android:padding="8dip" + android:padding="8sp" android:selectAllOnFocus="true" android:textIsSelectable="true" /> </TableRow> @@ -172,15 +186,17 @@ <TableRow> <TextView + style="@style/MoneroLabel" android:gravity="right" - android:padding="8dp" + android:padding="8sp" android:text="@string/tx_blockheight" android:textColor="@color/colorAccent" /> <TextView android:id="@+id/tvTxBlockheight" + style="@style/MoneroText" android:gravity="left" - android:padding="8dip" + android:padding="8sp" android:selectAllOnFocus="true" android:textIsSelectable="true" /> </TableRow> @@ -188,15 +204,17 @@ <TableRow> <TextView + style="@style/MoneroLabel" android:gravity="right" - android:padding="8dp" + android:padding="8sp" android:text="@string/tx_transfers" android:textColor="@color/colorAccent" /> <TextView android:id="@+id/tvTxTransfers" + style="@style/MoneroText" android:gravity="left" - android:padding="8dip" + android:padding="8sp" android:selectAllOnFocus="true" android:textIsSelectable="true" /> @@ -206,10 +224,10 @@ <Button android:id="@+id/bCopy" + style="@style/MoneroButton" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="8dp" - android:background="@color/colorPrimary" + android:layout_marginTop="8sp" android:enabled="false" android:text="@string/tx_button_copy" /> diff --git a/app/src/main/res/layout/wallet_activity.xml b/app/src/main/res/layout/wallet_activity.xml index 48d797bf..73508667 100644 --- a/app/src/main/res/layout/wallet_activity.xml +++ b/app/src/main/res/layout/wallet_activity.xml @@ -3,18 +3,15 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal" + android:background="@color/moneroBlack" android:orientation="vertical"> - <android.support.v7.widget.Toolbar + <include android:id="@+id/toolbar" - android:layout_width="match_parent" - android:layout_height="?attr/actionBarSize" - android:background="?attr/colorPrimary" - android:elevation="4dp" /> + layout="@layout/toolbar" /> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/fragment_container" - android:layout_margin="4sp" android:layout_width="match_parent" android:layout_height="match_parent" /> diff --git a/app/src/main/res/layout/wallet_fragment.xml b/app/src/main/res/layout/wallet_fragment.xml index 190cd2a4..067ea789 100644 --- a/app/src/main/res/layout/wallet_fragment.xml +++ b/app/src/main/res/layout/wallet_fragment.xml @@ -1,121 +1,79 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" + android:background="@color/moneroBlack" android:orientation="vertical"> - <android.support.constraint.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto" - xmlns:tools="http://schemas.android.com/tools" + <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginBottom="4sp" - android:layout_marginLeft="4sp" - android:layout_marginRight="4sp"> - - <TextView - android:id="@+id/tvBlockHeightProgress" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="Loading..." - android:textSize="12sp" - app:layout_constraintRight_toRightOf="parent" - app:layout_constraintTop_toTopOf="parent" /> + android:background="@color/moneroOrange" + android:orientation="vertical" + android:paddingBottom="8sp"> <android.support.constraint.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/clProgress" - android:layout_width="0dp" + android:layout_width="match_parent" android:layout_height="wrap_content" android:visibility="gone" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintRight_toRightOf="parent"> + app:layout_constraintTop_toTopOf="parent"> <ProgressBar android:id="@+id/pbProgress" - style="@android:style/Widget.ProgressBar.Horizontal" - android:layout_width="0dp" + style="@style/MoneroProgress" + android:layout_width="0sp" android:layout_height="wrap_content" + android:layout_marginLeft="8dp" + android:layout_marginRight="8dp" android:progress="0" - app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintBottom_toBottomOf="@+id/tvProgress" app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintRight_toRightOf="parent" /> + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toTopOf="@+id/tvProgress" /> <TextView android:id="@+id/tvProgress" - android:layout_width="wrap_content" + android:layout_width="0dp" android:layout_height="wrap_content" + android:gravity="center" android:text="Loading..." + android:textColor="@color/moneroWhite" android:textSize="16sp" - android:textColor="@color/white" - app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" /> </android.support.constraint.ConstraintLayout> - <LinearLayout - android:id="@+id/llBalance" - android:layout_width="wrap_content" + <TextView + android:id="@+id/tvBlockHeightProgress" + android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="4dp" - android:orientation="horizontal" - app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintRight_toRightOf="parent" - app:layout_constraintTop_toBottomOf="@+id/tvBlockHeightProgress"> + android:gravity="right" + android:text="Loading..." + android:textSize="12sp" + android:visibility="gone" /> - <TextView - android:id="@+id/tvBalance" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="00000000.000000000000" - android:textColor="@color/tx_green" - android:textSize="24sp" /> - - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginStart="4sp" - android:text="@string/label_xmr" - android:textColor="@color/tx_green" - android:textSize="24sp" /> - </LinearLayout> - - <LinearLayout - android:id="@+id/llUnconfirmedAmount" - android:layout_width="wrap_content" + <TextView + android:id="@+id/tvBalance" + android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="horizontal" - android:visibility="visible" - app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintRight_toRightOf="parent" - app:layout_constraintTop_toBottomOf="@+id/llBalance"> + android:gravity="center" + android:text="00000000.000000000000 XMR" + android:textColor="@color/tx_green" + android:textSize="24sp" /> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginEnd="4sp" - android:textColor="@color/tx_pending" - android:text="+" - android:textSize="16sp" /> - - <TextView - android:id="@+id/tvUnconfirmedAmount" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="00000000.000000000000" - android:textColor="@color/tx_pending" - android:textSize="16sp" /> - - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_marginStart="4sp" - android:text="@string/label_unconfirmed_alance" - android:textColor="@color/tx_pending" - android:textSize="16sp" /> - </LinearLayout> - </android.support.constraint.ConstraintLayout> + <TextView + android:id="@+id/tvUnconfirmedAmount" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:gravity="center" + android:text="+00000000.000000000000 unconfirmed" + android:textColor="@color/tx_pending" + android:textSize="16sp" /> + </LinearLayout> <android.support.constraint.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" @@ -136,9 +94,9 @@ <Button android:id="@+id/bSend" + style="@style/MoneroButton" android:layout_width="0dp" android:layout_height="wrap_content" - android:background="@color/colorPrimary" android:enabled="true" android:text="@string/wallet_send_hint" android:visibility="gone" diff --git a/app/src/main/res/values/attrs_my_view.xml b/app/src/main/res/values/attrs_my_view.xml deleted file mode 100644 index 38a8727b..00000000 --- a/app/src/main/res/values/attrs_my_view.xml +++ /dev/null @@ -1,8 +0,0 @@ -<resources> - <declare-styleable name="MyView"> - <attr name="exampleString" format="string" /> - <attr name="exampleDimension" format="dimension" /> - <attr name="exampleColor" format="color" /> - <attr name="exampleDrawable" format="color|reference" /> - </declare-styleable> -</resources> diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 45b9c151..c13b8a35 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,18 +1,21 @@ <?xml version="1.0" encoding="utf-8"?> <resources> - <color name="colorPrimary">#3F51B5</color> - <color name="colorPrimaryDark">#303F9F</color> - <color name="colorAccent">#FF4081</color> + <color name="tx_green">#5C8447</color> + <color name="tx_red">#AC2527</color> + <color name="tx_pending">#4c4c4c</color> + <color name="tx_failed">#FF80AB</color> - <color name="main_background">#f0eeef</color> - <color name="menu_background_color">#1c1c1c</color> + <color name="moneroOrange">#ff6600</color> + <color name="moneroWhite">#ffffff</color> + <color name="moneroBlack">#000000</color> + <color name="moneroGray">#4c4c4c</color> - <color name="tx_green">#36b05b</color> - <color name="tx_red">#ff4f41</color> - <color name="tx_pending">#4835b0</color> - <color name="tx_failed">#d000ff</color> - - <color name="moneroOrange">#fa6600</color> - <color name="white">#ffffff</color> + <color name="colorPrimary">#ff6600</color> + <color name="colorPrimaryDark">#61221A</color> + <color name="textColorPrimary">#dcdcdc</color> + <color name="windowBackground">#ffffff</color> + <color name="navigationBarColor">#2B4868</color> + <color name="colorAccent">#009ADA</color> + <color name="anotherColor">#F8CC5A</color> </resources> diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 46c1ed25..bf080f4e 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -1,6 +1,6 @@ <resources> <!-- Default screen margins, per the Android Design guidelines. --> - <dimen name="activity_horizontal_margin">8dp</dimen> - <dimen name="activity_vertical_margin">8dp</dimen> - <!--dimen name="text_margin">16dp</dimen--> + <dimen name="activity_horizontal_margin">16dp</dimen> + <dimen name="activity_vertical_margin">16dp</dimen> + <dimen name="nav_drawer_width">260dp</dimen> </resources> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 64aafbfb..043d5c79 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -41,9 +41,9 @@ <string name="service_busy">I am still busy with your last wallet …</string> - <string name="prompt_rename">Rename</string> + <string name="prompt_rename">Rename %1$s</string> - <string name="prompt_password">Password for</string> + <string name="prompt_password">Password for %1$s</string> <string name="bad_password">Incorrect password!</string> <string name="bad_wallet">Wallet does not exist!</string> <string name="error_not_wallet">This is not a wallet!</string> @@ -58,10 +58,8 @@ <string name="title_amount">Amount</string> <string name="title_date">Date</string> - <string name="label_balance">Unconfirmed</string> - <string name="label_unconfirmed_alance">unconfirmed</string> - <string name="label_xmr">XMR</string> - <string name="label_unlockedBalance">Available</string> + <string name="xmr_unconfirmed_amount">+ %1$s unconfirmed</string> + <string name="xmr_balance">%1$s XMR</string> <string name="label_transactions">Transactions</string> <string name="text_daemonConnected">Daemon connected!</string> @@ -147,7 +145,12 @@ <string name="send_fee_label">Fee</string> <string name="send_dust_label">Dust</string> - <string name="send_error_title">Trasaction Error</string> + <string name="send_error_title">Transaction Error</string> + + <string name="tx_list_fee_pending">incl. %1$s fee</string> + <string name="tx_list_fee">+ %1$s fee</string> + <string name="tx_list_amount_failed">(%1$s)</string> + <string name="tx_list_amount_negative">-%1$s</string> <string name="tx_address">Address</string> <string name="tx_timestamp">Timestamp</string> diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index e06db83d..9b99ba40 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,11 +1,60 @@ <resources> - <!-- Base application theme. --> - <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> + <style name="MyMaterialTheme" parent="MyMaterialTheme.Base" /> + + <style name="MyMaterialTheme.Base" parent="Theme.AppCompat"> + <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> - <item name="colorPrimary">@color/colorPrimary</item> + <item name="colorPrimaryDark">@color/colorPrimaryDark</item> + <item name="colorPrimary">@color/colorPrimary</item> <item name="colorAccent">@color/colorAccent</item> </style> + <style name="MoneroLabel" parent="@android:style/TextAppearance.DeviceDefault.Medium"> + <item name="android:textColor">?colorAccent</item> + </style> + + <style name="MoneroText" parent="@android:style/TextAppearance.DeviceDefault.Medium"> + <item name="android:textColor">?colorPrimary</item> + <item name="android:textColorHint">?colorPrimaryDark</item> + </style> + + <style name="MoneroButton" parent="@style/Widget.AppCompat.Button"> + <item name="android:textColor">@color/text_color</item> + <item name="android:background">?colorPrimary</item> + <item name="android:textAppearance">@style/MoneroLabel</item> + <item name="android:textAllCaps">true</item> + </style> + + <style name="MoneroButton.Small"> + <item name="android:textSize">11sp</item> + </style> + + <style name="MoneroButton.Alert"> + <item name="android:textColor">@color/moneroBlack</item> + <item name="android:background">@color/moneroOrange</item> + </style> + + <style name="MoneroEdit" parent="MoneroText"> + <item name="android:textColor">?colorPrimary</item> + <item name="android:textColorHint">?colorPrimaryDark</item> + <item name="android:backgroundTint">?colorPrimary</item> + <item name="android:foregroundTint">@color/moneroWhite</item> + </style> + + <style name="MoneroProgress" parent="@android:style/Widget.ProgressBar.Horizontal"> + <item name="android:progressTint">?colorPrimaryDark</item> + <item name="android:progressBackgroundTint">?colorPrimary</item> + </style> + + <style name="MoneroSpinner" parent="@style/Widget.AppCompat.Spinner"> + <!--item name="android:backgroundTint">@color/moneroWhite</item--> + </style> + + <style name="MoneroListView" parent="@android:style/Widget.ListView"> + <item name="android:divider">@null</item> + <item name="android:dividerHeight">0dp</item> + </style> + </resources>