mirror of
https://github.com/m2049r/xmrwallet
synced 2025-09-17 02:40:50 +02:00
Compare commits
15 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
5d489a634b | ||
![]() |
59b6f484fd | ||
![]() |
ecaa49d67d | ||
![]() |
d2dc53599e | ||
![]() |
4d8b26f97f | ||
![]() |
581c76e7be | ||
![]() |
6f66862870 | ||
![]() |
dd92f7bb36 | ||
![]() |
46808d306b | ||
![]() |
20503d2cbd | ||
![]() |
604691ca7e | ||
![]() |
1b626ba2b0 | ||
![]() |
0ed7bdfcee | ||
![]() |
524c3dd79f | ||
![]() |
197dffeae1 |
@@ -3,13 +3,11 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
working_directory: ~/code
|
working_directory: ~/code
|
||||||
docker:
|
docker:
|
||||||
- image: circleci/android:api-28-ndk
|
- image: cimg/android:2022.03-ndk
|
||||||
environment:
|
environment:
|
||||||
JVM_OPTS: -Xmx3200m
|
JVM_OPTS: -Xmx3200m
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run: yes | sdkmanager --licenses || exit 0
|
|
||||||
- run: yes | sdkmanager --update || exit 0
|
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
|
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
|
||||||
- run:
|
- run:
|
||||||
|
@@ -8,8 +8,8 @@ android {
|
|||||||
applicationId "com.m2049r.xmrwallet"
|
applicationId "com.m2049r.xmrwallet"
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 31
|
targetSdkVersion 31
|
||||||
versionCode 1303
|
versionCode 1402
|
||||||
versionName "2.3.3 'Baldaŭ'"
|
versionName "2.4.2 'Baldaŭ'"
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
cmake {
|
cmake {
|
||||||
@@ -111,6 +111,7 @@ android {
|
|||||||
sourceCompatibility JavaVersion.VERSION_1_8
|
sourceCompatibility JavaVersion.VERSION_1_8
|
||||||
targetCompatibility JavaVersion.VERSION_1_8
|
targetCompatibility JavaVersion.VERSION_1_8
|
||||||
}
|
}
|
||||||
|
namespace 'com.m2049r.xmrwallet'
|
||||||
}
|
}
|
||||||
|
|
||||||
static def getId(name) {
|
static def getId(name) {
|
||||||
@@ -129,7 +130,7 @@ dependencies {
|
|||||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
|
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
|
||||||
implementation 'androidx.preference:preference:1.2.0'
|
implementation 'androidx.preference:preference:1.2.0'
|
||||||
|
|
||||||
implementation 'com.google.android.material:material:1.5.0'
|
implementation 'com.google.android.material:material:1.6.0'
|
||||||
|
|
||||||
implementation 'me.dm7.barcodescanner:zxing:1.9.8'
|
implementation 'me.dm7.barcodescanner:zxing:1.9.8'
|
||||||
implementation "com.squareup.okhttp3:okhttp:4.9.3"
|
implementation "com.squareup.okhttp3:okhttp:4.9.3"
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
package="com.m2049r.xmrwallet">
|
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||||
|
@@ -78,7 +78,7 @@ public class BTChipTransportAndroidHID implements BTChipTransport {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static final int VID = 0x2C97;
|
private static final int VID = 0x2C97;
|
||||||
private static final int[] PID_HIDS = {0x0001, 0x0004};
|
private static final int[] PID_HIDS = {0x0001, 0x0004, 0x0005};
|
||||||
|
|
||||||
private UsbDeviceConnection connection;
|
private UsbDeviceConnection connection;
|
||||||
private UsbInterface dongleInterface;
|
private UsbInterface dongleInterface;
|
||||||
|
@@ -415,7 +415,14 @@ public class NodeFragment extends Fragment
|
|||||||
}
|
}
|
||||||
etNodeHost.setError(null);
|
etNodeHost.setError(null);
|
||||||
nodeInfo.setRpcPort(port);
|
nodeInfo.setRpcPort(port);
|
||||||
nodeInfo.setName(etNodeName.getEditText().getText().toString().trim());
|
// setName() may trigger reverse DNS
|
||||||
|
Helper.runWithNetwork(new Helper.Action() {
|
||||||
|
@Override
|
||||||
|
public boolean run() {
|
||||||
|
nodeInfo.setName(etNodeName.getEditText().getText().toString().trim());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
nodeInfo.setUsername(etNodeUser.getEditText().getText().toString().trim());
|
nodeInfo.setUsername(etNodeUser.getEditText().getText().toString().trim());
|
||||||
nodeInfo.setPassword(etNodePass.getEditText().getText().toString()); // no trim for pw
|
nodeInfo.setPassword(etNodePass.getEditText().getText().toString()); // no trim for pw
|
||||||
return true;
|
return true;
|
||||||
|
@@ -30,7 +30,6 @@ import androidx.annotation.Nullable;
|
|||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import com.google.android.material.transition.MaterialElevationScale;
|
|
||||||
import com.m2049r.xmrwallet.data.Subaddress;
|
import com.m2049r.xmrwallet.data.Subaddress;
|
||||||
import com.m2049r.xmrwallet.layout.SubaddressInfoAdapter;
|
import com.m2049r.xmrwallet.layout.SubaddressInfoAdapter;
|
||||||
import com.m2049r.xmrwallet.ledger.LedgerProgressDialog;
|
import com.m2049r.xmrwallet.ledger.LedgerProgressDialog;
|
||||||
@@ -117,14 +116,6 @@ public class SubaddressFragment extends Fragment implements SubaddressInfoAdapte
|
|||||||
managerMode = ((b != null) && (MODE_MANAGER.equals(b.getString(KEY_MODE))));
|
managerMode = ((b != null) && (MODE_MANAGER.equals(b.getString(KEY_MODE))));
|
||||||
|
|
||||||
View view = inflater.inflate(R.layout.fragment_subaddress, container, false);
|
View view = inflater.inflate(R.layout.fragment_subaddress, container, false);
|
||||||
|
|
||||||
final MaterialElevationScale exitTransition = new MaterialElevationScale(false);
|
|
||||||
exitTransition.setDuration(getResources().getInteger(R.integer.tx_item_transition_duration));
|
|
||||||
setExitTransition(exitTransition);
|
|
||||||
final MaterialElevationScale reenterTransition = new MaterialElevationScale(true);
|
|
||||||
reenterTransition.setDuration(getResources().getInteger(R.integer.tx_item_transition_duration));
|
|
||||||
setReenterTransition(reenterTransition);
|
|
||||||
|
|
||||||
view.findViewById(R.id.fab).setOnClickListener(this);
|
view.findViewById(R.id.fab).setOnClickListener(this);
|
||||||
|
|
||||||
if (managerMode) {
|
if (managerMode) {
|
||||||
@@ -154,11 +145,6 @@ public class SubaddressFragment extends Fragment implements SubaddressInfoAdapte
|
|||||||
@Override
|
@Override
|
||||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
postponeEnterTransition();
|
|
||||||
view.getViewTreeObserver().addOnPreDrawListener(() -> {
|
|
||||||
startPostponedEnterTransition();
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadList() {
|
public void loadList() {
|
||||||
|
@@ -29,15 +29,15 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
import androidx.transition.Transition;
|
||||||
|
import androidx.transition.TransitionInflater;
|
||||||
|
|
||||||
import com.google.android.material.textfield.TextInputLayout;
|
import com.google.android.material.textfield.TextInputLayout;
|
||||||
import com.google.android.material.transition.MaterialContainerTransform;
|
|
||||||
import com.m2049r.xmrwallet.data.Subaddress;
|
import com.m2049r.xmrwallet.data.Subaddress;
|
||||||
import com.m2049r.xmrwallet.layout.TransactionInfoAdapter;
|
import com.m2049r.xmrwallet.layout.TransactionInfoAdapter;
|
||||||
import com.m2049r.xmrwallet.model.TransactionInfo;
|
import com.m2049r.xmrwallet.model.TransactionInfo;
|
||||||
import com.m2049r.xmrwallet.model.Wallet;
|
import com.m2049r.xmrwallet.model.Wallet;
|
||||||
import com.m2049r.xmrwallet.util.Helper;
|
import com.m2049r.xmrwallet.util.Helper;
|
||||||
import com.m2049r.xmrwallet.util.ThemeHelper;
|
|
||||||
import com.m2049r.xmrwallet.widget.Toolbar;
|
import com.m2049r.xmrwallet.widget.Toolbar;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -102,10 +102,8 @@ public class SubaddressInfoFragment extends Fragment
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
final MaterialContainerTransform transform = new MaterialContainerTransform();
|
Transition transform = TransitionInflater.from(requireContext())
|
||||||
transform.setDrawingViewId(R.id.fragment_container);
|
.inflateTransition(R.transition.details);
|
||||||
transform.setDuration(getResources().getInteger(R.integer.tx_item_transition_duration));
|
|
||||||
transform.setAllContainerColors(ThemeHelper.getThemedColor(getContext(), android.R.attr.colorBackground));
|
|
||||||
setSharedElementEnterTransition(transform);
|
setSharedElementEnterTransition(transform);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -36,9 +36,9 @@ import android.widget.Toast;
|
|||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
|
import androidx.transition.Transition;
|
||||||
|
import androidx.transition.TransitionInflater;
|
||||||
|
|
||||||
import com.google.android.material.transition.MaterialContainerTransform;
|
|
||||||
import com.google.android.material.transition.MaterialElevationScale;
|
|
||||||
import com.m2049r.xmrwallet.data.Subaddress;
|
import com.m2049r.xmrwallet.data.Subaddress;
|
||||||
import com.m2049r.xmrwallet.data.UserNotes;
|
import com.m2049r.xmrwallet.data.UserNotes;
|
||||||
import com.m2049r.xmrwallet.model.TransactionInfo;
|
import com.m2049r.xmrwallet.model.TransactionInfo;
|
||||||
@@ -96,13 +96,6 @@ public class TxFragment extends Fragment {
|
|||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
View view = inflater.inflate(R.layout.fragment_tx_info, container, false);
|
View view = inflater.inflate(R.layout.fragment_tx_info, container, false);
|
||||||
|
|
||||||
final MaterialElevationScale exitTransition = new MaterialElevationScale(false);
|
|
||||||
exitTransition.setDuration(getResources().getInteger(R.integer.tx_item_transition_duration));
|
|
||||||
setExitTransition(exitTransition);
|
|
||||||
final MaterialElevationScale reenterTransition = new MaterialElevationScale(true);
|
|
||||||
reenterTransition.setDuration(getResources().getInteger(R.integer.tx_item_transition_duration));
|
|
||||||
setReenterTransition(reenterTransition);
|
|
||||||
|
|
||||||
cvXmrTo = view.findViewById(R.id.cvXmrTo);
|
cvXmrTo = view.findViewById(R.id.cvXmrTo);
|
||||||
tvTxXmrToKey = view.findViewById(R.id.tvTxXmrToKey);
|
tvTxXmrToKey = view.findViewById(R.id.tvTxXmrToKey);
|
||||||
tvDestinationBtc = view.findViewById(R.id.tvDestinationBtc);
|
tvDestinationBtc = view.findViewById(R.id.tvDestinationBtc);
|
||||||
@@ -347,10 +340,8 @@ public class TxFragment extends Fragment {
|
|||||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setHasOptionsMenu(true);
|
setHasOptionsMenu(true);
|
||||||
final MaterialContainerTransform transform = new MaterialContainerTransform();
|
Transition transform = TransitionInflater.from(requireContext())
|
||||||
transform.setDrawingViewId(R.id.fragment_container);
|
.inflateTransition(R.transition.details);
|
||||||
transform.setDuration(getResources().getInteger(R.integer.tx_item_transition_duration));
|
|
||||||
transform.setAllContainerColors(ThemeHelper.getThemedColor(getContext(), android.R.attr.colorBackground));
|
|
||||||
setSharedElementEnterTransition(transform);
|
setSharedElementEnterTransition(transform);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -539,7 +539,7 @@ public class WalletActivity extends BaseActivity implements WalletFragment.Liste
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSendRequest(View view) {
|
public void onSendRequest(View view) {
|
||||||
replaceFragmentWithTransition(view, SendFragment.newInstance(uri), null, null);
|
replaceFragment(SendFragment.newInstance(uri), null, null);
|
||||||
uri = null; // only use uri once
|
uri = null; // only use uri once
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -800,10 +800,6 @@ public class WalletActivity extends BaseActivity implements WalletFragment.Liste
|
|||||||
int transition;
|
int transition;
|
||||||
if (newFragment instanceof TxFragment)
|
if (newFragment instanceof TxFragment)
|
||||||
transition = R.string.tx_details_transition_name;
|
transition = R.string.tx_details_transition_name;
|
||||||
else if (newFragment instanceof ReceiveFragment)
|
|
||||||
transition = R.string.receive_transition_name;
|
|
||||||
else if (newFragment instanceof SendFragment)
|
|
||||||
transition = R.string.send_transition_name;
|
|
||||||
else if (newFragment instanceof SubaddressInfoFragment)
|
else if (newFragment instanceof SubaddressInfoFragment)
|
||||||
transition = R.string.subaddress_info_transition_name;
|
transition = R.string.subaddress_info_transition_name;
|
||||||
else
|
else
|
||||||
@@ -960,7 +956,7 @@ public class WalletActivity extends BaseActivity implements WalletFragment.Liste
|
|||||||
Bundle b = new Bundle();
|
Bundle b = new Bundle();
|
||||||
b.putString("address", address);
|
b.putString("address", address);
|
||||||
b.putString("name", getWalletName());
|
b.putString("name", getWalletName());
|
||||||
replaceFragmentWithTransition(view, new ReceiveFragment(), null, b);
|
replaceFragment(new ReceiveFragment(), null, b);
|
||||||
Timber.d("ReceiveFragment placed");
|
Timber.d("ReceiveFragment placed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -43,7 +43,6 @@ import androidx.fragment.app.Fragment;
|
|||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import com.github.brnunes.swipeablerecyclerview.SwipeableRecyclerViewTouchListener;
|
import com.github.brnunes.swipeablerecyclerview.SwipeableRecyclerViewTouchListener;
|
||||||
import com.google.android.material.transition.MaterialElevationScale;
|
|
||||||
import com.m2049r.xmrwallet.layout.TransactionInfoAdapter;
|
import com.m2049r.xmrwallet.layout.TransactionInfoAdapter;
|
||||||
import com.m2049r.xmrwallet.model.TransactionInfo;
|
import com.m2049r.xmrwallet.model.TransactionInfo;
|
||||||
import com.m2049r.xmrwallet.model.Wallet;
|
import com.m2049r.xmrwallet.model.Wallet;
|
||||||
@@ -204,11 +203,6 @@ public class WalletFragment extends Fragment
|
|||||||
@Override
|
@Override
|
||||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
postponeEnterTransition();
|
|
||||||
view.getViewTreeObserver().addOnPreDrawListener(() -> {
|
|
||||||
startPostponedEnterTransition();
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void showBalance(String balance) {
|
void showBalance(String balance) {
|
||||||
@@ -333,19 +327,9 @@ public class WalletFragment extends Fragment
|
|||||||
// Callbacks from TransactionInfoAdapter
|
// Callbacks from TransactionInfoAdapter
|
||||||
@Override
|
@Override
|
||||||
public void onInteraction(final View view, final TransactionInfo infoItem) {
|
public void onInteraction(final View view, final TransactionInfo infoItem) {
|
||||||
final MaterialElevationScale exitTransition = new MaterialElevationScale(false);
|
|
||||||
exitTransition.setDuration(getResources().getInteger(R.integer.tx_item_transition_duration));
|
|
||||||
setExitTransition(exitTransition);
|
|
||||||
final MaterialElevationScale reenterTransition = new MaterialElevationScale(true);
|
|
||||||
reenterTransition.setDuration(getResources().getInteger(R.integer.tx_item_transition_duration));
|
|
||||||
setReenterTransition(reenterTransition);
|
|
||||||
|
|
||||||
activityCallback.onTxDetailsRequest(view, infoItem);
|
activityCallback.onTxDetailsRequest(view, infoItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
// called from activity
|
|
||||||
|
|
||||||
|
|
||||||
// if account index has changed scroll to top?
|
// if account index has changed scroll to top?
|
||||||
private int accountIndex = 0;
|
private int accountIndex = 0;
|
||||||
|
|
||||||
@@ -538,8 +522,6 @@ public class WalletFragment extends Fragment
|
|||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
setExitTransition(null);
|
|
||||||
setReenterTransition(null);
|
|
||||||
Timber.d("onResume()");
|
Timber.d("onResume()");
|
||||||
activityCallback.setTitle(walletTitle, walletSubtitle);
|
activityCallback.setTitle(walletTitle, walletSubtitle);
|
||||||
activityCallback.setToolbarButton(Toolbar.BUTTON_NONE);
|
activityCallback.setToolbarButton(Toolbar.BUTTON_NONE);
|
||||||
|
@@ -8,17 +8,17 @@
|
|||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/llNotice"
|
android:id="@+id/llNotice"
|
||||||
android:layout_alignParentTop="true"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
android:orientation="vertical" />
|
android:orientation="vertical" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tvPull"
|
android:id="@+id/tvPull"
|
||||||
android:layout_below="@+id/llNotice"
|
|
||||||
style="@style/MoneroLabel.Heading"
|
style="@style/MoneroLabel.Heading"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/llNotice"
|
||||||
android:layout_marginTop="16dp"
|
android:layout_marginTop="16dp"
|
||||||
android:layout_marginBottom="8dp"
|
android:layout_marginBottom="8dp"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
@@ -52,7 +52,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentEnd="true"
|
android:layout_alignParentEnd="true"
|
||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true"
|
||||||
android:layout_margin="24dp"
|
android:layout_marginEnd="24dp"
|
||||||
|
android:layout_marginBottom="16dp"
|
||||||
android:background="@drawable/gradient_oval"
|
android:background="@drawable/gradient_oval"
|
||||||
android:elevation="6dp">
|
android:elevation="6dp">
|
||||||
|
|
||||||
@@ -67,7 +68,7 @@
|
|||||||
app:borderWidth="0dp"
|
app:borderWidth="0dp"
|
||||||
app:elevation="0dp"
|
app:elevation="0dp"
|
||||||
app:fabSize="normal"
|
app:fabSize="normal"
|
||||||
app:pressedTranslationZ="0dp" />
|
app:pressedTranslationZ="0dp"
|
||||||
|
app:tint="?attr/toolbarTextColor" />
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
@@ -3,8 +3,7 @@
|
|||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent">
|
||||||
android:transitionName="@string/receive_transition_name">
|
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/etDummy"
|
android:id="@+id/etDummy"
|
||||||
@@ -98,7 +97,6 @@
|
|||||||
android:backgroundTint="#ffffffff"
|
android:backgroundTint="#ffffffff"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:foreground="?android:attr/selectableItemBackground"
|
|
||||||
card_view:contentPadding="4dp">
|
card_view:contentPadding="4dp">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
@@ -110,8 +108,8 @@
|
|||||||
android:drawablePadding="4dp"
|
android:drawablePadding="4dp"
|
||||||
android:text="@string/label_receive_info_gen_qr_code"
|
android:text="@string/label_receive_info_gen_qr_code"
|
||||||
android:textAlignment="center"
|
android:textAlignment="center"
|
||||||
android:textSize="16sp"
|
|
||||||
android:textColor="#2D1A2E"
|
android:textColor="#2D1A2E"
|
||||||
|
android:textSize="16sp"
|
||||||
android:visibility="visible"
|
android:visibility="visible"
|
||||||
card_view:drawableStartCompat="@drawable/ic_info_outline_black_24dp" />
|
card_view:drawableStartCompat="@drawable/ic_info_outline_black_24dp" />
|
||||||
|
|
||||||
@@ -119,7 +117,8 @@
|
|||||||
android:id="@+id/qrCode"
|
android:id="@+id/qrCode"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:adjustViewBounds="true" />
|
android:adjustViewBounds="true"
|
||||||
|
android:src="#fff" />
|
||||||
</com.google.android.material.card.MaterialCardView>
|
</com.google.android.material.card.MaterialCardView>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@@ -4,8 +4,7 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical">
|
||||||
android:transitionName="@string/send_transition_name">
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/llNotice"
|
android:id="@+id/llNotice"
|
||||||
|
@@ -69,6 +69,7 @@
|
|||||||
app:borderWidth="0dp"
|
app:borderWidth="0dp"
|
||||||
app:elevation="0dp"
|
app:elevation="0dp"
|
||||||
app:fabSize="normal"
|
app:fabSize="normal"
|
||||||
app:pressedTranslationZ="0dp" />
|
app:pressedTranslationZ="0dp"
|
||||||
|
app:tint="?attr/toolbarTextColor" />
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
@@ -5,8 +5,7 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:padding="8dp"
|
android:padding="8dp">
|
||||||
android:transitionName="@string/subaddress_info_transition_name">
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tvAddress"
|
android:id="@+id/tvAddress"
|
||||||
@@ -14,6 +13,7 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="@dimen/header_top_first"
|
android:layout_marginTop="@dimen/header_top_first"
|
||||||
|
android:transitionName="@string/subaddress_info_transition_name"
|
||||||
tools:text="#1: 8AioXCmK...aGivEa7C" />
|
tools:text="#1: 8AioXCmK...aGivEa7C" />
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
|
@@ -4,8 +4,7 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="8dp"
|
android:layout_margin="8dp"
|
||||||
android:fillViewport="true"
|
android:fillViewport="true">
|
||||||
android:transitionName="@string/tx_details_transition_name">
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -33,6 +32,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:selectAllOnFocus="true"
|
android:selectAllOnFocus="true"
|
||||||
android:textIsSelectable="true"
|
android:textIsSelectable="true"
|
||||||
|
android:transitionName="@string/tx_details_transition_name"
|
||||||
tools:text="+ 1,092.00229" />
|
tools:text="+ 1,092.00229" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@@ -177,7 +177,6 @@
|
|||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:enabled="false"
|
android:enabled="false"
|
||||||
android:text="@string/label_wallet_receive"
|
android:text="@string/label_wallet_receive"
|
||||||
android:transitionName="@string/receive_btn_transition_name"
|
|
||||||
app:icon="@drawable/ic_hand" />
|
app:icon="@drawable/ic_hand" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
@@ -190,7 +189,6 @@
|
|||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:enabled="false"
|
android:enabled="false"
|
||||||
android:text="@string/label_wallet_send"
|
android:text="@string/label_wallet_send"
|
||||||
android:transitionName="@string/send_btn_transition_name"
|
|
||||||
app:icon="@drawable/ic_send" />
|
app:icon="@drawable/ic_send" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
3
app/src/main/res/transition/details.xml
Normal file
3
app/src/main/res/transition/details.xml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<changeTransform android:duration="@integer/tx_item_transition_duration" />
|
||||||
|
</transitionSet>
|
@@ -290,7 +290,7 @@
|
|||||||
<string name="menu_language">Idioma</string>
|
<string name="menu_language">Idioma</string>
|
||||||
<string name="language_system_default">Utilitzar Idioma del Sistema</string>
|
<string name="language_system_default">Utilitzar Idioma del Sistema</string>
|
||||||
|
|
||||||
<string name="fab_restore_ledger">Restablir desde Ledger Nano S</string>
|
<string name="fab_restore_ledger">Restablir desde Ledger Nano</string>
|
||||||
|
|
||||||
<string name="progress_ledger_progress">Comunicant amb Ledger</string>
|
<string name="progress_ledger_progress">Comunicant amb Ledger</string>
|
||||||
<string name="progress_ledger_confirm">Es requereix confirmació en Ledger!</string>
|
<string name="progress_ledger_confirm">Es requereix confirmació en Ledger!</string>
|
||||||
|
@@ -286,7 +286,7 @@
|
|||||||
<string name="menu_language">Sprache</string>
|
<string name="menu_language">Sprache</string>
|
||||||
<string name="language_system_default">Benutze Systemsprache</string>
|
<string name="language_system_default">Benutze Systemsprache</string>
|
||||||
|
|
||||||
<string name="fab_restore_ledger">Wallet mit Ledger Nano S wiederherstellen</string>
|
<string name="fab_restore_ledger">Wallet mit Ledger Nano wiederherstellen</string>
|
||||||
|
|
||||||
<string name="progress_ledger_progress">Kommunikation mit Ledger</string>
|
<string name="progress_ledger_progress">Kommunikation mit Ledger</string>
|
||||||
<string name="progress_ledger_confirm">Bestätigung auf Ledger benötigt!</string>
|
<string name="progress_ledger_confirm">Bestätigung auf Ledger benötigt!</string>
|
||||||
|
@@ -283,7 +283,7 @@
|
|||||||
<string name="menu_language">Language</string>
|
<string name="menu_language">Language</string>
|
||||||
<string name="language_system_default">Use System Language</string>
|
<string name="language_system_default">Use System Language</string>
|
||||||
|
|
||||||
<string name="fab_restore_ledger">Restore from Ledger Nano S</string>
|
<string name="fab_restore_ledger">Restore from Ledger Nano</string>
|
||||||
|
|
||||||
<string name="progress_ledger_progress">Communicating with Ledger</string>
|
<string name="progress_ledger_progress">Communicating with Ledger</string>
|
||||||
<string name="progress_ledger_confirm">Confirmation on Ledger required!</string>
|
<string name="progress_ledger_confirm">Confirmation on Ledger required!</string>
|
||||||
|
@@ -290,7 +290,7 @@
|
|||||||
<string name="menu_language">Lingvo</string>
|
<string name="menu_language">Lingvo</string>
|
||||||
<string name="language_system_default">Uzi la sistemlingvon</string>
|
<string name="language_system_default">Uzi la sistemlingvon</string>
|
||||||
|
|
||||||
<string name="fab_restore_ledger">Restaŭri de Ledger Nano S</string>
|
<string name="fab_restore_ledger">Restaŭri de Ledger Nano</string>
|
||||||
|
|
||||||
<string name="progress_ledger_progress">Komunikante kun Ledger</string>
|
<string name="progress_ledger_progress">Komunikante kun Ledger</string>
|
||||||
<string name="progress_ledger_confirm">Konfirmo je la Ledger estas postulita!</string>
|
<string name="progress_ledger_confirm">Konfirmo je la Ledger estas postulita!</string>
|
||||||
|
@@ -273,7 +273,7 @@
|
|||||||
<string name="menu_language">Lenguaje</string>
|
<string name="menu_language">Lenguaje</string>
|
||||||
<string name="language_system_default">Usar Idioma del Sistema</string>
|
<string name="language_system_default">Usar Idioma del Sistema</string>
|
||||||
|
|
||||||
<string name="fab_restore_ledger">Restaurar desde Ledger Nano S</string>
|
<string name="fab_restore_ledger">Restaurar desde Ledger Nano</string>
|
||||||
|
|
||||||
<string name="progress_ledger_progress">Comunicándose con Ledger</string>
|
<string name="progress_ledger_progress">Comunicándose con Ledger</string>
|
||||||
<string name="progress_ledger_confirm">¡Confirmación en Ledger requerida!</string>
|
<string name="progress_ledger_confirm">¡Confirmación en Ledger requerida!</string>
|
||||||
|
@@ -285,7 +285,7 @@
|
|||||||
<string name="menu_language">Keel</string>
|
<string name="menu_language">Keel</string>
|
||||||
<string name="language_system_default">Kasuta süsteemi keelt</string>
|
<string name="language_system_default">Kasuta süsteemi keelt</string>
|
||||||
|
|
||||||
<string name="fab_restore_ledger">Taasta seadmelt Ledger Nano S</string>
|
<string name="fab_restore_ledger">Taasta seadmelt Ledger Nano</string>
|
||||||
|
|
||||||
<string name="progress_ledger_progress">Suhtlen seadmega Ledger</string>
|
<string name="progress_ledger_progress">Suhtlen seadmega Ledger</string>
|
||||||
<string name="progress_ledger_confirm">Seadmelt Ledger on vajalik kinnitus!</string>
|
<string name="progress_ledger_confirm">Seadmelt Ledger on vajalik kinnitus!</string>
|
||||||
|
@@ -284,7 +284,7 @@
|
|||||||
<string name="tx_subaddress">Sous-adresse</string>
|
<string name="tx_subaddress">Sous-adresse</string>
|
||||||
<string name="generate_address_label_sub">Sous-adresse publique #%1$d: %2$s</string>
|
<string name="generate_address_label_sub">Sous-adresse publique #%1$d: %2$s</string>
|
||||||
|
|
||||||
<string name="fab_restore_ledger">Restaurer depuis Ledger Nano S</string>
|
<string name="fab_restore_ledger">Restaurer depuis Ledger Nano</string>
|
||||||
|
|
||||||
<string name="progress_ledger_progress">Communication avec Ledger</string>
|
<string name="progress_ledger_progress">Communication avec Ledger</string>
|
||||||
<string name="progress_ledger_confirm">Confirmation requise sur Ledger !</string>
|
<string name="progress_ledger_confirm">Confirmation requise sur Ledger !</string>
|
||||||
|
@@ -283,7 +283,7 @@
|
|||||||
<string name="menu_language">Nyelv</string>
|
<string name="menu_language">Nyelv</string>
|
||||||
<string name="language_system_default">Rendszernyelv használata</string>
|
<string name="language_system_default">Rendszernyelv használata</string>
|
||||||
|
|
||||||
<string name="fab_restore_ledger">Visszaállítás Ledger Nano S-ről</string>
|
<string name="fab_restore_ledger">Visszaállítás Ledger Nano-ről</string>
|
||||||
|
|
||||||
<string name="progress_ledger_progress">Kommunikáció a Ledgerrel</string>
|
<string name="progress_ledger_progress">Kommunikáció a Ledgerrel</string>
|
||||||
<string name="progress_ledger_confirm">Ledgeren való megerősítés szükséges!</string>
|
<string name="progress_ledger_confirm">Ledgeren való megerősítés szükséges!</string>
|
||||||
|
@@ -286,7 +286,7 @@
|
|||||||
<string name="menu_language">Lingua</string>
|
<string name="menu_language">Lingua</string>
|
||||||
<string name="language_system_default">Usa lingua di sistema</string>
|
<string name="language_system_default">Usa lingua di sistema</string>
|
||||||
|
|
||||||
<string name="fab_restore_ledger">Ripristina da Ledger Nano S</string>
|
<string name="fab_restore_ledger">Ripristina da Ledger Nano</string>
|
||||||
|
|
||||||
<string name="progress_ledger_progress">In comunicazione con Ledger</string>
|
<string name="progress_ledger_progress">In comunicazione con Ledger</string>
|
||||||
<string name="progress_ledger_confirm">Conferma su Ledger richiesta!</string>
|
<string name="progress_ledger_confirm">Conferma su Ledger richiesta!</string>
|
||||||
|
@@ -289,7 +289,7 @@
|
|||||||
<string name="menu_language">言語</string>
|
<string name="menu_language">言語</string>
|
||||||
<string name="language_system_default">システムの言語を使う</string>
|
<string name="language_system_default">システムの言語を使う</string>
|
||||||
|
|
||||||
<string name="fab_restore_ledger">レッジャーナノSから復元</string>
|
<string name="fab_restore_ledger">レッジャーナノから復元</string>
|
||||||
|
|
||||||
<string name="progress_ledger_progress">レッジャーと通信中</string>
|
<string name="progress_ledger_progress">レッジャーと通信中</string>
|
||||||
<string name="progress_ledger_confirm">レッジャーでの承認が必要です!</string>
|
<string name="progress_ledger_confirm">レッジャーでの承認が必要です!</string>
|
||||||
|
@@ -283,7 +283,7 @@
|
|||||||
<string name="menu_language">Language</string>
|
<string name="menu_language">Language</string>
|
||||||
<string name="language_system_default">Use System Language</string>
|
<string name="language_system_default">Use System Language</string>
|
||||||
|
|
||||||
<string name="fab_restore_ledger">Restore from Ledger Nano S</string>
|
<string name="fab_restore_ledger">Restore from Ledger Nano</string>
|
||||||
|
|
||||||
<string name="progress_ledger_progress">Communicating with Ledger</string>
|
<string name="progress_ledger_progress">Communicating with Ledger</string>
|
||||||
<string name="progress_ledger_confirm">Confirmation on Ledger required!</string>
|
<string name="progress_ledger_confirm">Confirmation on Ledger required!</string>
|
||||||
|
@@ -281,7 +281,7 @@
|
|||||||
<string name="menu_language">Taal</string>
|
<string name="menu_language">Taal</string>
|
||||||
<string name="language_system_default">Systeemtaal gebruiken</string>
|
<string name="language_system_default">Systeemtaal gebruiken</string>
|
||||||
|
|
||||||
<string name="fab_restore_ledger">Herstellen met Ledger Nano S</string>
|
<string name="fab_restore_ledger">Herstellen met Ledger Nano</string>
|
||||||
|
|
||||||
<string name="progress_ledger_progress">Communiceren met Ledger…</string>
|
<string name="progress_ledger_progress">Communiceren met Ledger…</string>
|
||||||
<string name="progress_ledger_confirm">Bevestiging op Ledger vereist!</string>
|
<string name="progress_ledger_confirm">Bevestiging op Ledger vereist!</string>
|
||||||
|
@@ -282,7 +282,7 @@
|
|||||||
<string name="menu_language">Idioma</string>
|
<string name="menu_language">Idioma</string>
|
||||||
<string name="language_system_default">Usar o idioma do sistema</string>
|
<string name="language_system_default">Usar o idioma do sistema</string>
|
||||||
|
|
||||||
<string name="fab_restore_ledger">Restaurar da Ledger Nano S</string>
|
<string name="fab_restore_ledger">Restaurar da Ledger Nano</string>
|
||||||
|
|
||||||
<string name="progress_ledger_progress">Comunicando com a Ledger</string>
|
<string name="progress_ledger_progress">Comunicando com a Ledger</string>
|
||||||
<string name="progress_ledger_confirm">Necessária confirmação na Ledger!</string>
|
<string name="progress_ledger_confirm">Necessária confirmação na Ledger!</string>
|
||||||
@@ -422,13 +422,13 @@ aqui.</string>
|
|||||||
<string name="menu_deletecache">Resetar carteira!</string>
|
<string name="menu_deletecache">Resetar carteira!</string>
|
||||||
<string name="deletecache_alert_message"><![CDATA[Esta carteira será resetada, perdendo todos os dados "off-chain" (como notas, contas & nomes de subendereços, chaves de transações privadas, …)! Use isso SOMENTE se esta carteira estiver corrompida e não carrega!]]></string>
|
<string name="deletecache_alert_message"><![CDATA[Esta carteira será resetada, perdendo todos os dados "off-chain" (como notas, contas & nomes de subendereços, chaves de transações privadas, …)! Use isso SOMENTE se esta carteira estiver corrompida e não carrega!]]></string>
|
||||||
|
|
||||||
<string name="node_tor_error">Tor required</string>
|
<string name="node_tor_error">Necessário Tor</string>
|
||||||
<string name="node_waiting">\u00A0WAITING FOR NODE\u00A0</string>
|
<string name="node_waiting">\u00A0ESPERANDO PELO NÓ\u00A0</string>
|
||||||
<string name="tor_enable_background">"Allow Background Starts" in Orbot Settings to use Tor!</string>
|
<string name="tor_enable_background">"Permitir inicializações em segundo plano" nas opções do Orbot para usar o Tor!</string>
|
||||||
<string name="tor_noshift">SideShift.ai doesn\'t support Tor.\nDisable Tor to swap XMR.</string>
|
<string name="tor_noshift">SideShift.ai doesn\'t support Tor.\nDisable Tor to swap XMR.</string>
|
||||||
|
|
||||||
<string name="label_seed_offset_encrypt">Seed encryption (EXPERIMENTAL)</string>
|
<string name="label_seed_offset_encrypt">Encriptação da Semente (EXPERIMENTAL)</string>
|
||||||
<string name="seed_offset_hint">Seed Offset Phrase (optional)</string>
|
<string name="seed_offset_hint">Senha de dedução da semente (opcional)</string>
|
||||||
|
|
||||||
<string name="menu_settings">Settings</string>
|
<string name="menu_settings">Settings</string>
|
||||||
<string name="title_iface">Interface</string> <!-- like: User Intreface -->
|
<string name="title_iface">Interface</string> <!-- like: User Intreface -->
|
||||||
|
@@ -285,7 +285,7 @@
|
|||||||
<string name="menu_language">Linguagem</string>
|
<string name="menu_language">Linguagem</string>
|
||||||
<string name="language_system_default">Usar linguagem de sistema</string>
|
<string name="language_system_default">Usar linguagem de sistema</string>
|
||||||
|
|
||||||
<string name="fab_restore_ledger">Restaurar de Ledger Nano S</string>
|
<string name="fab_restore_ledger">Restaurar de Ledger Nano</string>
|
||||||
|
|
||||||
<string name="progress_ledger_progress">A comunicar com o Ledger</string>
|
<string name="progress_ledger_progress">A comunicar com o Ledger</string>
|
||||||
<string name="progress_ledger_confirm">Confirmação com Ledger necessária!</string>
|
<string name="progress_ledger_confirm">Confirmação com Ledger necessária!</string>
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user