mirror of https://github.com/m2049r/xmrwallet.git
themes (#821)
* Support multiple colour themes * Fix sharing * Add settings * Fantastic UI tweaks
This commit is contained in:
parent
7b96baeca7
commit
cdb29bbc2e
|
@ -1,15 +1,15 @@
|
|||
apply plugin: 'com.android.application'
|
||||
|
||||
android {
|
||||
compileSdkVersion 30
|
||||
compileSdkVersion 31
|
||||
buildToolsVersion '30.0.3'
|
||||
ndkVersion '17.2.4988734'
|
||||
defaultConfig {
|
||||
applicationId "com.m2049r.xmrwallet"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 30
|
||||
versionCode 1301
|
||||
versionName "2.3.1 'Doménikos'"
|
||||
targetSdkVersion 31
|
||||
versionCode 1303
|
||||
versionName "2.3.3 'Baldaŭ'"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
|
@ -120,38 +120,39 @@ static def getId(name) {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'androidx.core:core:1.6.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.3.1'
|
||||
implementation 'com.google.android.material:material:1.4.0'
|
||||
implementation 'androidx.core:core:1.7.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.4.1'
|
||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.2.1'
|
||||
implementation 'androidx.cardview:cardview:1.0.0'
|
||||
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
|
||||
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
|
||||
implementation 'androidx.preference:preference:1.2.0'
|
||||
|
||||
implementation 'com.google.android.material:material:1.5.0'
|
||||
|
||||
implementation 'me.dm7.barcodescanner:zxing:1.9.8'
|
||||
implementation "com.squareup.okhttp3:okhttp:4.9.0"
|
||||
implementation "io.github.rburgst:okhttp-digest:2.5"
|
||||
implementation "com.jakewharton.timber:timber:4.7.1"
|
||||
implementation "com.squareup.okhttp3:okhttp:4.9.3"
|
||||
implementation "io.github.rburgst:okhttp-digest:2.6"
|
||||
implementation "com.jakewharton.timber:timber:5.0.1"
|
||||
|
||||
implementation 'info.guardianproject.netcipher:netcipher:2.1.0'
|
||||
//implementation 'info.guardianproject.netcipher:netcipher-okhttp3:2.1.0'
|
||||
implementation fileTree(dir: 'libs/classes', include: ['*.jar'])
|
||||
implementation 'com.nulab-inc:zxcvbn:1.3.0'
|
||||
implementation 'com.nulab-inc:zxcvbn:1.5.2'
|
||||
|
||||
implementation 'dnsjava:dnsjava:2.1.9'
|
||||
implementation 'org.jitsi:dnssecjava:1.2.0'
|
||||
implementation 'org.slf4j:slf4j-nop:1.7.30'
|
||||
implementation 'org.slf4j:slf4j-nop:1.7.36'
|
||||
implementation 'com.github.brnunes:swipeablerecyclerview:1.0.2'
|
||||
|
||||
//noinspection GradleDependency
|
||||
testImplementation "junit:junit:$rootProject.ext.junitVersion"
|
||||
testImplementation "org.mockito:mockito-all:$rootProject.ext.mockitoVersion"
|
||||
testImplementation "com.squareup.okhttp3:mockwebserver:4.9.0"
|
||||
testImplementation 'org.json:json:20180813'
|
||||
testImplementation 'net.jodah:concurrentunit:0.4.4'
|
||||
testImplementation "junit:junit:4.13.2"
|
||||
testImplementation "org.mockito:mockito-all:1.10.19"
|
||||
testImplementation "com.squareup.okhttp3:mockwebserver:4.9.3"
|
||||
testImplementation 'org.json:json:20211205'
|
||||
testImplementation 'net.jodah:concurrentunit:0.4.6'
|
||||
|
||||
compileOnly 'org.projectlombok:lombok:1.18.16'
|
||||
annotationProcessor 'org.projectlombok:lombok:1.18.16'
|
||||
compileOnly 'org.projectlombok:lombok:1.18.22'
|
||||
annotationProcessor 'org.projectlombok:lombok:1.18.22'
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
<intent>
|
||||
<action android:name="org.torproject.android.intent.action.STATUS" />
|
||||
</intent>
|
||||
|
||||
<intent>
|
||||
<action android:name="org.torproject.android.REQUEST_HS_PORT" />
|
||||
</intent>
|
||||
|
@ -36,15 +35,17 @@
|
|||
android:label="@string/app_name"
|
||||
android:preserveLegacyExternalStorage="true"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/MyMaterialTheme"
|
||||
android:theme="@style/MyMaterialThemeClassic"
|
||||
android:usesCleartextTraffic="true">
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:configChanges="orientation|keyboardHidden|uiMode"
|
||||
android:exported="true"
|
||||
android:launchMode="singleTop"
|
||||
android:screenOrientation="portrait">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
@ -56,24 +57,25 @@
|
|||
android:screenOrientation="behind" />
|
||||
<activity
|
||||
android:name=".LoginActivity"
|
||||
android:configChanges="orientation|keyboardHidden|uiMode"
|
||||
android:configChanges="orientation|keyboardHidden"
|
||||
android:exported="true"
|
||||
android:label="@string/app_name"
|
||||
android:launchMode="singleTop"
|
||||
android:screenOrientation="locked">
|
||||
<intent-filter>
|
||||
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
|
||||
</intent-filter>
|
||||
|
||||
<intent-filter android:label="@string/app_name">
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
|
||||
<data android:scheme="monero" />
|
||||
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
</intent-filter>
|
||||
|
||||
<intent-filter android:label="@string/app_name">
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
|
||||
<data android:scheme="bitcoin" />
|
||||
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
|
@ -106,4 +108,5 @@
|
|||
android:resource="@xml/filepaths" />
|
||||
</provider>
|
||||
</application>
|
||||
</manifest>
|
||||
|
||||
</manifest>
|
|
@ -27,6 +27,7 @@ import android.nfc.NfcAdapter;
|
|||
import android.nfc.Tag;
|
||||
import android.nfc.tech.Ndef;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
|
@ -180,7 +181,7 @@ public class BaseActivity extends SecureActivity
|
|||
return;
|
||||
nfcPendingIntent = PendingIntent.getActivity(this, 0,
|
||||
new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP),
|
||||
0);
|
||||
Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ? PendingIntent.FLAG_IMMUTABLE : 0);
|
||||
}
|
||||
|
||||
private void processNfcIntent(Intent intent) {
|
||||
|
|
|
@ -36,7 +36,6 @@ import android.view.WindowManager;
|
|||
import android.view.inputmethod.EditorInfo;
|
||||
import android.widget.Button;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
|
@ -58,7 +57,6 @@ import com.m2049r.xmrwallet.widget.Toolbar;
|
|||
import java.io.File;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Objects;
|
||||
|
||||
import timber.log.Timber;
|
||||
|
||||
|
@ -299,10 +297,10 @@ public class GenerateFragment extends Fragment {
|
|||
if (etSeedOffset.getVisibility() == View.VISIBLE) {
|
||||
etSeedOffset.getEditText().getText().clear();
|
||||
etSeedOffset.setVisibility(View.GONE);
|
||||
bSeedOffset.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_baseline_keyboard_arrow_down_24, 0, 0, 0);
|
||||
bSeedOffset.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_keyboard_arrow_down, 0, 0, 0);
|
||||
} else {
|
||||
etSeedOffset.setVisibility(View.VISIBLE);
|
||||
bSeedOffset.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_baseline_keyboard_arrow_up_24, 0, 0, 0);
|
||||
bSeedOffset.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_keyboard_arrow_up, 0, 0, 0);
|
||||
etSeedOffset.requestFocusFromTouch();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,7 +46,6 @@ import androidx.appcompat.app.AlertDialog;
|
|||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.google.android.material.progressindicator.CircularProgressIndicator;
|
||||
import com.google.android.material.switchmaterial.SwitchMaterial;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
import com.m2049r.xmrwallet.ledger.Ledger;
|
||||
|
@ -200,10 +199,10 @@ public class GenerateReviewFragment extends Fragment {
|
|||
void toggleAdvancedInfo() {
|
||||
if (llAdvancedInfo.getVisibility() == View.VISIBLE) {
|
||||
llAdvancedInfo.setVisibility(View.GONE);
|
||||
bAdvancedInfo.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_baseline_keyboard_arrow_down_24, 0, 0, 0);
|
||||
bAdvancedInfo.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_keyboard_arrow_down, 0, 0, 0);
|
||||
} else {
|
||||
llAdvancedInfo.setVisibility(View.VISIBLE);
|
||||
bAdvancedInfo.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_baseline_keyboard_arrow_up_24, 0, 0, 0);
|
||||
bAdvancedInfo.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_keyboard_arrow_up, 0, 0, 0);
|
||||
scrollview.post(() -> scrollview.fullScroll(ScrollView.FOCUS_DOWN));
|
||||
}
|
||||
}
|
||||
|
@ -212,10 +211,10 @@ public class GenerateReviewFragment extends Fragment {
|
|||
if (etSeedOffset.getVisibility() == View.VISIBLE) {
|
||||
etSeedOffset.getEditText().getText().clear();
|
||||
etSeedOffset.setVisibility(View.GONE);
|
||||
bSeedOffset.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_baseline_keyboard_arrow_down_24, 0, 0, 0);
|
||||
bSeedOffset.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_keyboard_arrow_down, 0, 0, 0);
|
||||
} else {
|
||||
etSeedOffset.setVisibility(View.VISIBLE);
|
||||
bSeedOffset.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_baseline_keyboard_arrow_up_24, 0, 0, 0);
|
||||
bSeedOffset.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_keyboard_arrow_up, 0, 0, 0);
|
||||
etSeedOffset.requestFocusFromTouch();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ import android.content.SharedPreferences;
|
|||
import android.hardware.usb.UsbDevice;
|
||||
import android.hardware.usb.UsbManager;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.LayoutInflater;
|
||||
|
@ -39,7 +40,6 @@ import android.widget.Toast;
|
|||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.app.AppCompatDelegate;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
|
@ -49,24 +49,19 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
|||
import com.m2049r.xmrwallet.data.DefaultNodes;
|
||||
import com.m2049r.xmrwallet.data.Node;
|
||||
import com.m2049r.xmrwallet.data.NodeInfo;
|
||||
import com.m2049r.xmrwallet.dialog.AboutFragment;
|
||||
import com.m2049r.xmrwallet.dialog.CreditsFragment;
|
||||
import com.m2049r.xmrwallet.dialog.HelpFragment;
|
||||
import com.m2049r.xmrwallet.dialog.PrivacyFragment;
|
||||
import com.m2049r.xmrwallet.ledger.Ledger;
|
||||
import com.m2049r.xmrwallet.ledger.LedgerProgressDialog;
|
||||
import com.m2049r.xmrwallet.model.NetworkType;
|
||||
import com.m2049r.xmrwallet.model.Wallet;
|
||||
import com.m2049r.xmrwallet.model.WalletManager;
|
||||
import com.m2049r.xmrwallet.service.WalletService;
|
||||
import com.m2049r.xmrwallet.util.DayNightMode;
|
||||
import com.m2049r.xmrwallet.util.Helper;
|
||||
import com.m2049r.xmrwallet.util.KeyStoreHelper;
|
||||
import com.m2049r.xmrwallet.util.LegacyStorageHelper;
|
||||
import com.m2049r.xmrwallet.util.LocaleHelper;
|
||||
import com.m2049r.xmrwallet.util.MoneroThreadPoolExecutor;
|
||||
import com.m2049r.xmrwallet.util.NetCipherHelper;
|
||||
import com.m2049r.xmrwallet.util.NightmodeHelper;
|
||||
import com.m2049r.xmrwallet.util.ThemeHelper;
|
||||
import com.m2049r.xmrwallet.util.ZipBackup;
|
||||
import com.m2049r.xmrwallet.util.ZipRestore;
|
||||
|
@ -77,12 +72,8 @@ import java.io.FileInputStream;
|
|||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.nio.channels.FileChannel;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
|
@ -90,7 +81,8 @@ import timber.log.Timber;
|
|||
|
||||
public class LoginActivity extends BaseActivity
|
||||
implements LoginFragment.Listener, GenerateFragment.Listener,
|
||||
GenerateReviewFragment.Listener, GenerateReviewFragment.AcceptListener, NodeFragment.Listener {
|
||||
GenerateReviewFragment.Listener, GenerateReviewFragment.AcceptListener,
|
||||
NodeFragment.Listener, SettingsFragment.Listener {
|
||||
private static final String GENERATE_STACK = "gen";
|
||||
|
||||
private static final String NODES_PREFS_NAME = "nodes";
|
||||
|
@ -293,6 +285,7 @@ public class LoginActivity extends BaseActivity
|
|||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
Timber.d("onCreate()");
|
||||
ThemeHelper.setPreferred(this);
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
setContentView(R.layout.activity_login);
|
||||
|
@ -308,8 +301,8 @@ public class LoginActivity extends BaseActivity
|
|||
case Toolbar.BUTTON_CLOSE:
|
||||
finish();
|
||||
break;
|
||||
case Toolbar.BUTTON_CREDITS:
|
||||
CreditsFragment.display(getSupportFragmentManager());
|
||||
case Toolbar.BUTTON_SETTINGS:
|
||||
startSettingsFragment();
|
||||
break;
|
||||
case Toolbar.BUTTON_NONE:
|
||||
break;
|
||||
|
@ -785,6 +778,11 @@ public class LoginActivity extends BaseActivity
|
|||
Timber.d("NodeFragment placed");
|
||||
}
|
||||
|
||||
void startSettingsFragment() {
|
||||
replaceFragment(new SettingsFragment(), null, null);
|
||||
Timber.d("SettingsFragment placed");
|
||||
}
|
||||
|
||||
void replaceFragment(Fragment newFragment, String stackName, Bundle extras) {
|
||||
if (extras != null) {
|
||||
newFragment.setArguments(extras);
|
||||
|
@ -1089,61 +1087,6 @@ public class LoginActivity extends BaseActivity
|
|||
}
|
||||
}
|
||||
|
||||
public void onChangeLocale() {
|
||||
final ArrayList<Locale> availableLocales = LocaleHelper.getAvailableLocales(LoginActivity.this);
|
||||
Collections.sort(availableLocales, (locale1, locale2) -> {
|
||||
String localeString1 = LocaleHelper.getDisplayName(locale1, true);
|
||||
String localeString2 = LocaleHelper.getDisplayName(locale2, true);
|
||||
return localeString1.compareTo(localeString2);
|
||||
});
|
||||
|
||||
String[] localeDisplayNames = new String[1 + availableLocales.size()];
|
||||
localeDisplayNames[0] = getString(R.string.language_system_default);
|
||||
for (int i = 1; i < localeDisplayNames.length; i++) {
|
||||
localeDisplayNames[i] = LocaleHelper.getDisplayName(availableLocales.get(i - 1), true);
|
||||
}
|
||||
|
||||
int currentLocaleIndex = 0;
|
||||
String currentLocaleTag = LocaleHelper.getPreferredLanguageTag(LoginActivity.this);
|
||||
if (!currentLocaleTag.isEmpty()) {
|
||||
Locale currentLocale = Locale.forLanguageTag(currentLocaleTag);
|
||||
String currentLocaleName = LocaleHelper.getDisplayName(currentLocale, true);
|
||||
currentLocaleIndex = Arrays.asList(localeDisplayNames).indexOf(currentLocaleName);
|
||||
if (currentLocaleIndex < 0) currentLocaleIndex = 0;
|
||||
}
|
||||
|
||||
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(LoginActivity.this);
|
||||
builder.setTitle(getString(R.string.menu_language));
|
||||
builder.setSingleChoiceItems(localeDisplayNames, currentLocaleIndex, (dialog, i) -> {
|
||||
dialog.dismiss();
|
||||
|
||||
LocaleHelper.setAndSaveLocale(this,
|
||||
(i == 0) ? "" : availableLocales.get(i - 1).toLanguageTag());
|
||||
startActivity(getIntent().addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK));
|
||||
});
|
||||
builder.show();
|
||||
}
|
||||
|
||||
public void onChangeTheme() {
|
||||
final DayNightMode currentDayNightSetting = DayNightMode.getValue(AppCompatDelegate.getDefaultNightMode());
|
||||
// selection will be empty if UNKNOWN
|
||||
|
||||
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(LoginActivity.this);
|
||||
builder.setTitle(getString(R.string.menu_daynight));
|
||||
|
||||
String[] modeNames = getResources().getStringArray(R.array.daynight_themes);
|
||||
|
||||
builder.setSingleChoiceItems(modeNames, currentDayNightSetting.ordinal(), (dialog, i) -> {
|
||||
dialog.dismiss();
|
||||
final DayNightMode mode = DayNightMode.values()[i];
|
||||
if (currentDayNightSetting != mode) {
|
||||
NightmodeHelper.setAndSavePreferredNightmode(LoginActivity.this, mode);
|
||||
LoginActivity.this.recreate();
|
||||
}
|
||||
});
|
||||
builder.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
Fragment f = getSupportFragmentManager().findFragmentById(R.id.fragment_container);
|
||||
|
@ -1192,9 +1135,6 @@ public class LoginActivity extends BaseActivity
|
|||
} else if (id == R.id.action_details_changepw) {
|
||||
onWalletChangePassword();
|
||||
return true;
|
||||
} else if (id == R.id.action_license_info) {
|
||||
AboutFragment.display(getSupportFragmentManager());
|
||||
return true;
|
||||
} else if (id == R.id.action_help_list) {
|
||||
HelpFragment.display(getSupportFragmentManager(), R.string.help_list);
|
||||
return true;
|
||||
|
@ -1208,18 +1148,6 @@ public class LoginActivity extends BaseActivity
|
|||
((NodeFragment) f).restoreDefaultNodes();
|
||||
}
|
||||
return true;
|
||||
} else if (id == R.id.action_privacy_policy) {
|
||||
PrivacyFragment.display(getSupportFragmentManager());
|
||||
return true;
|
||||
} else if (id == R.id.action_language) {
|
||||
onChangeLocale();
|
||||
return true;
|
||||
} else if (id == R.id.action_theme) {
|
||||
onChangeTheme();
|
||||
return true;
|
||||
} else if (id == R.id.action_restore) {
|
||||
onWalletRestore();
|
||||
return true;
|
||||
} else if (id == R.id.action_ledger_seed) {
|
||||
Fragment f = getSupportFragmentManager().findFragmentById(R.id.fragment_container);
|
||||
if (f instanceof GenerateFragment) {
|
||||
|
@ -1333,7 +1261,8 @@ public class LoginActivity extends BaseActivity
|
|||
registerReceiver(usbPermissionReceiver, new IntentFilter(ACTION_USB_PERMISSION));
|
||||
usbManager.requestPermission(device,
|
||||
PendingIntent.getBroadcast(this, 0,
|
||||
new Intent(ACTION_USB_PERMISSION), 0));
|
||||
new Intent(ACTION_USB_PERMISSION),
|
||||
Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ? PendingIntent.FLAG_IMMUTABLE : 0));
|
||||
}
|
||||
} else {
|
||||
Timber.d("no ledger device found");
|
||||
|
|
|
@ -38,7 +38,6 @@ import android.widget.Toast;
|
|||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
|
@ -53,6 +52,7 @@ import com.m2049r.xmrwallet.util.KeyStoreHelper;
|
|||
import com.m2049r.xmrwallet.util.NetCipherHelper;
|
||||
import com.m2049r.xmrwallet.util.NodePinger;
|
||||
import com.m2049r.xmrwallet.util.Notice;
|
||||
import com.m2049r.xmrwallet.util.ThemeHelper;
|
||||
import com.m2049r.xmrwallet.widget.Toolbar;
|
||||
|
||||
import java.io.File;
|
||||
|
@ -143,7 +143,7 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
|
|||
super.onResume();
|
||||
Timber.d("onResume() %s", activityCallback.getFavouriteNodes().size());
|
||||
activityCallback.setTitle(null);
|
||||
activityCallback.setToolbarButton(Toolbar.BUTTON_CREDITS);
|
||||
activityCallback.setToolbarButton(Toolbar.BUTTON_SETTINGS);
|
||||
activityCallback.showNet();
|
||||
showNetwork();
|
||||
//activityCallback.runOnNetCipher(this::pingSelectedNode);
|
||||
|
@ -163,12 +163,14 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
|
|||
fabView = view.findViewById(R.id.fabView);
|
||||
fabKey = view.findViewById(R.id.fabKey);
|
||||
fabSeed = view.findViewById(R.id.fabSeed);
|
||||
fabImport = view.findViewById(R.id.fabImport);
|
||||
fabLedger = view.findViewById(R.id.fabLedger);
|
||||
|
||||
fabNewL = view.findViewById(R.id.fabNewL);
|
||||
fabViewL = view.findViewById(R.id.fabViewL);
|
||||
fabKeyL = view.findViewById(R.id.fabKeyL);
|
||||
fabSeedL = view.findViewById(R.id.fabSeedL);
|
||||
fabImportL = view.findViewById(R.id.fabImportL);
|
||||
fabLedgerL = view.findViewById(R.id.fabLedgerL);
|
||||
|
||||
fab_pulse = AnimationUtils.loadAnimation(getContext(), R.anim.fab_pulse);
|
||||
|
@ -183,6 +185,7 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
|
|||
fabView.setOnClickListener(this);
|
||||
fabKey.setOnClickListener(this);
|
||||
fabSeed.setOnClickListener(this);
|
||||
fabImport.setOnClickListener(this);
|
||||
fabLedger.setOnClickListener(this);
|
||||
fabScreen.setOnClickListener(this);
|
||||
|
||||
|
@ -294,9 +297,9 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
|
|||
}
|
||||
|
||||
private boolean isFabOpen = false;
|
||||
private FloatingActionButton fab, fabNew, fabView, fabKey, fabSeed, fabLedger;
|
||||
private FrameLayout fabScreen;
|
||||
private RelativeLayout fabNewL, fabViewL, fabKeyL, fabSeedL, fabLedgerL;
|
||||
private FloatingActionButton fab, fabNew, fabView, fabKey, fabSeed, fabImport, fabLedger;
|
||||
private RelativeLayout fabScreen;
|
||||
private RelativeLayout fabNewL, fabViewL, fabKeyL, fabSeedL, fabImportL, fabLedgerL;
|
||||
private Animation fab_open, fab_close, rotate_forward, rotate_backward, fab_open_screen, fab_close_screen;
|
||||
private Animation fab_pulse;
|
||||
|
||||
|
@ -321,6 +324,8 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
|
|||
fabKey.setClickable(false);
|
||||
fabSeedL.startAnimation(fab_close);
|
||||
fabSeed.setClickable(false);
|
||||
fabImportL.startAnimation(fab_close);
|
||||
fabImport.setClickable(false);
|
||||
}
|
||||
isFabOpen = false;
|
||||
} else { // open the fab
|
||||
|
@ -333,6 +338,7 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
|
|||
fabViewL.setVisibility(View.GONE);
|
||||
fabKeyL.setVisibility(View.GONE);
|
||||
fabSeedL.setVisibility(View.GONE);
|
||||
fabImportL.setVisibility(View.GONE);
|
||||
|
||||
fabLedgerL.startAnimation(fab_open);
|
||||
fabLedger.setClickable(true);
|
||||
|
@ -342,6 +348,7 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
|
|||
fabViewL.setVisibility(View.VISIBLE);
|
||||
fabKeyL.setVisibility(View.VISIBLE);
|
||||
fabSeedL.setVisibility(View.VISIBLE);
|
||||
fabImportL.setVisibility(View.VISIBLE);
|
||||
|
||||
fabNewL.startAnimation(fab_open);
|
||||
fabNew.setClickable(true);
|
||||
|
@ -351,6 +358,8 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
|
|||
fabKey.setClickable(true);
|
||||
fabSeedL.startAnimation(fab_open);
|
||||
fabSeed.setClickable(true);
|
||||
fabImportL.startAnimation(fab_open);
|
||||
fabImport.setClickable(true);
|
||||
}
|
||||
isFabOpen = true;
|
||||
}
|
||||
|
@ -375,6 +384,9 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
|
|||
} else if (id == R.id.fabSeed) {
|
||||
animateFAB();
|
||||
activityCallback.onAddWallet(GenerateFragment.TYPE_SEED);
|
||||
} else if (id == R.id.fabImport) {
|
||||
animateFAB();
|
||||
activityCallback.onWalletRestore();
|
||||
} else if (id == R.id.fabLedger) {
|
||||
Timber.d("FAB_LEDGER");
|
||||
animateFAB();
|
||||
|
@ -403,8 +415,8 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
|
|||
private void setSubtext(String status) {
|
||||
final Context ctx = getContext();
|
||||
final Spanned text = Html.fromHtml(ctx.getString(R.string.status,
|
||||
Integer.toHexString(ContextCompat.getColor(ctx, R.color.monerujoGreen) & 0xFFFFFF),
|
||||
Integer.toHexString(ContextCompat.getColor(ctx, R.color.monerujoBackground) & 0xFFFFFF),
|
||||
Integer.toHexString(ThemeHelper.getThemedColor(ctx, R.attr.positiveColor) & 0xFFFFFF),
|
||||
Integer.toHexString(ThemeHelper.getThemedColor(ctx, android.R.attr.colorBackground) & 0xFFFFFF),
|
||||
status, ""));
|
||||
tvNodeInfo.setText(text);
|
||||
}
|
||||
|
|
|
@ -46,10 +46,7 @@ import android.widget.Toast;
|
|||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.ShareActionProvider;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.core.content.FileProvider;
|
||||
import androidx.core.view.MenuItemCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
|
@ -89,6 +86,7 @@ public class ReceiveFragment extends Fragment {
|
|||
private ImageView ivQrCodeFull;
|
||||
private EditText etDummy;
|
||||
private ImageButton bCopyAddress;
|
||||
private MenuItem shareItem;
|
||||
|
||||
private Wallet wallet = null;
|
||||
private boolean isMyWallet = false;
|
||||
|
@ -128,6 +126,7 @@ public class ReceiveFragment extends Fragment {
|
|||
evAmount.setOnNewAmountListener(xmr -> {
|
||||
Timber.d("new amount = %s", xmr);
|
||||
generateQr();
|
||||
if (shareRequested && (xmr != null)) share();
|
||||
});
|
||||
|
||||
evAmount.setOnFailedExchangeListener(() -> {
|
||||
|
@ -211,39 +210,38 @@ public class ReceiveFragment extends Fragment {
|
|||
setSharedElementEnterTransition(transform);
|
||||
}
|
||||
|
||||
private ShareActionProvider shareActionProvider;
|
||||
private boolean shareRequested = false;
|
||||
|
||||
@Override
|
||||
public void onCreateOptionsMenu(@NonNull Menu menu, final MenuInflater inflater) {
|
||||
inflater.inflate(R.menu.receive_menu, menu);
|
||||
super.onCreateOptionsMenu(menu, inflater);
|
||||
|
||||
// Locate MenuItem with ShareActionProvider
|
||||
MenuItem item = menu.findItem(R.id.menu_item_share);
|
||||
|
||||
// Fetch and store ShareActionProvider
|
||||
shareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(item);
|
||||
|
||||
shareActionProvider.setOnShareTargetSelectedListener(new ShareActionProvider.OnShareTargetSelectedListener() {
|
||||
@Override
|
||||
public boolean onShareTargetSelected(ShareActionProvider shareActionProvider, Intent intent) {
|
||||
saveQrCode(); // save it only if we need it
|
||||
return false;
|
||||
shareItem = menu.findItem(R.id.menu_item_share);
|
||||
shareItem.setOnMenuItemClickListener(item -> {
|
||||
if (shareRequested) return true;
|
||||
shareRequested = true;
|
||||
if (!qrValid) {
|
||||
evAmount.doExchange();
|
||||
} else {
|
||||
share();
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
private void setShareIntent() {
|
||||
if (shareActionProvider != null) {
|
||||
if (qrValid) {
|
||||
shareActionProvider.setShareIntent(getShareIntent());
|
||||
} else {
|
||||
shareActionProvider.setShareIntent(null);
|
||||
}
|
||||
private void share() {
|
||||
shareRequested = false;
|
||||
if (saveQrCode()) {
|
||||
final Intent sendIntent = getSendIntent();
|
||||
if (sendIntent != null)
|
||||
startActivity(Intent.createChooser(sendIntent, null));
|
||||
} else {
|
||||
Toast.makeText(getActivity(), getString(R.string.message_qr_failed), Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
|
||||
private void saveQrCode() {
|
||||
private boolean saveQrCode() {
|
||||
if (!qrValid) throw new IllegalStateException("trying to save null qr code!");
|
||||
|
||||
File cachePath = new File(getActivity().getCacheDir(), "images");
|
||||
|
@ -255,33 +253,35 @@ public class ReceiveFragment extends Fragment {
|
|||
Bitmap qrBitmap = ((BitmapDrawable) ivQrCode.getDrawable()).getBitmap();
|
||||
qrBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
|
||||
stream.close();
|
||||
return true;
|
||||
} catch (IOException ex) {
|
||||
Timber.e(ex);
|
||||
// make sure we don't share an old qr code
|
||||
if (!png.delete()) throw new IllegalStateException("cannot delete old qr code");
|
||||
// if we manage to delete it, the URI points to nothing and the user gets a toast with the error
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private Intent getShareIntent() {
|
||||
File imagePath = new File(getActivity().getCacheDir(), "images");
|
||||
private Intent getSendIntent() {
|
||||
File imagePath = new File(requireActivity().getCacheDir(), "images");
|
||||
File png = new File(imagePath, "QR.png");
|
||||
Uri contentUri = FileProvider.getUriForFile(getActivity(),
|
||||
BuildConfig.APPLICATION_ID + ".fileprovider", png);
|
||||
Uri contentUri = FileProvider.getUriForFile(requireActivity(), BuildConfig.APPLICATION_ID + ".fileprovider", png);
|
||||
if (contentUri != null) {
|
||||
Intent shareIntent = new Intent();
|
||||
shareIntent.setAction(Intent.ACTION_SEND);
|
||||
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); // temp permission for receiving app to read this file
|
||||
shareIntent.setDataAndType(contentUri, getActivity().getContentResolver().getType(contentUri));
|
||||
shareIntent.setTypeAndNormalize("image/png");
|
||||
shareIntent.putExtra(Intent.EXTRA_STREAM, contentUri);
|
||||
shareIntent.putExtra(Intent.EXTRA_TEXT, bcData.getUriString());
|
||||
if (bcData != null)
|
||||
shareIntent.putExtra(Intent.EXTRA_TEXT, bcData.getUriString());
|
||||
return shareIntent;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
void copyAddress() {
|
||||
Helper.clipBoardCopy(Objects.requireNonNull(getActivity()), getString(R.string.label_copy_address), subaddress.getAddress());
|
||||
Helper.clipBoardCopy(requireActivity(), getString(R.string.label_copy_address), subaddress.getAddress());
|
||||
Toast.makeText(getActivity(), getString(R.string.message_copy_address), Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
|
@ -291,7 +291,6 @@ public class ReceiveFragment extends Fragment {
|
|||
if (qrValid) {
|
||||
ivQrCode.setImageBitmap(null);
|
||||
qrValid = false;
|
||||
setShareIntent();
|
||||
if (isLoaded)
|
||||
tvQrCode.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
@ -300,7 +299,6 @@ public class ReceiveFragment extends Fragment {
|
|||
void setQR(Bitmap qr) {
|
||||
ivQrCode.setImageBitmap(qr);
|
||||
qrValid = true;
|
||||
setShareIntent();
|
||||
tvQrCode.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
|
@ -462,8 +460,8 @@ public class ReceiveFragment extends Fragment {
|
|||
subaddress = newSubaddress;
|
||||
final Context context = getContext();
|
||||
Spanned label = Html.fromHtml(context.getString(R.string.receive_subaddress,
|
||||
Integer.toHexString(ContextCompat.getColor(context, R.color.monerujoGreen) & 0xFFFFFF),
|
||||
Integer.toHexString(ContextCompat.getColor(context, R.color.monerujoBackground) & 0xFFFFFF),
|
||||
Integer.toHexString(ThemeHelper.getThemedColor(context, R.attr.positiveColor) & 0xFFFFFF),
|
||||
Integer.toHexString(ThemeHelper.getThemedColor(context, android.R.attr.colorBackground) & 0xFFFFFF),
|
||||
subaddress.getDisplayLabel(), subaddress.getAddress()));
|
||||
tvAddress.setText(label);
|
||||
generateQr();
|
||||
|
|
|
@ -66,11 +66,7 @@ public abstract class SecureActivity extends AppCompatActivity {
|
|||
|
||||
Locale locale = LocaleHelper.getPreferredLocale(this);
|
||||
if (locale != null) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
||||
config.setLocale(locale);
|
||||
} else {
|
||||
config.locale = locale;
|
||||
}
|
||||
config.setLocale(locale);
|
||||
}
|
||||
return config;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,125 @@
|
|||
package com.m2049r.xmrwallet;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.StyleRes;
|
||||
import androidx.preference.ListPreference;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import com.m2049r.xmrwallet.dialog.AboutFragment;
|
||||
import com.m2049r.xmrwallet.dialog.CreditsFragment;
|
||||
import com.m2049r.xmrwallet.dialog.PrivacyFragment;
|
||||
import com.m2049r.xmrwallet.util.DayNightMode;
|
||||
import com.m2049r.xmrwallet.util.LocaleHelper;
|
||||
import com.m2049r.xmrwallet.util.NightmodeHelper;
|
||||
import com.m2049r.xmrwallet.util.ThemeHelper;
|
||||
import com.m2049r.xmrwallet.widget.Toolbar;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Locale;
|
||||
|
||||
import timber.log.Timber;
|
||||
|
||||
public class SettingsFragment extends PreferenceFragmentCompat
|
||||
implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
setPreferencesFromResource(R.xml.root_preferences, rootKey);
|
||||
|
||||
findPreference(getString(R.string.about_info)).setOnPreferenceClickListener(preference -> {
|
||||
AboutFragment.display(getParentFragmentManager());
|
||||
return true;
|
||||
});
|
||||
findPreference(getString(R.string.privacy_info)).setOnPreferenceClickListener(preference -> {
|
||||
PrivacyFragment.display(getParentFragmentManager());
|
||||
return true;
|
||||
});
|
||||
findPreference(getString(R.string.credits_info)).setOnPreferenceClickListener(preference -> {
|
||||
CreditsFragment.display(getParentFragmentManager());
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||
if (key.equals(getString(R.string.preferred_locale))) {
|
||||
activity.recreate();
|
||||
} else if (key.equals(getString(R.string.preferred_nightmode))) {
|
||||
NightmodeHelper.setNightMode(DayNightMode.valueOf(sharedPreferences.getString(key, "AUTO")));
|
||||
} else if (key.equals(getString(R.string.preferred_theme))) {
|
||||
ThemeHelper.setTheme((Activity) activity, sharedPreferences.getString(key, "Classic"));
|
||||
activity.recreate();
|
||||
}
|
||||
}
|
||||
|
||||
private SettingsFragment.Listener activity;
|
||||
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
if (context instanceof SettingsFragment.Listener) {
|
||||
activity = (SettingsFragment.Listener) context;
|
||||
} else {
|
||||
throw new ClassCastException(context + " must implement Listener");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
Timber.d("onResume()");
|
||||
activity.setSubtitle(getString(R.string.menu_settings));
|
||||
activity.setToolbarButton(Toolbar.BUTTON_BACK);
|
||||
populateLanguages();
|
||||
PreferenceManager.getDefaultSharedPreferences(requireContext())
|
||||
.registerOnSharedPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
PreferenceManager.getDefaultSharedPreferences(requireContext())
|
||||
.unregisterOnSharedPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
public interface Listener {
|
||||
void setToolbarButton(int type);
|
||||
|
||||
void setSubtitle(String title);
|
||||
|
||||
void recreate();
|
||||
|
||||
void setTheme(@StyleRes final int resId);
|
||||
}
|
||||
|
||||
public void populateLanguages() {
|
||||
ListPreference language = findPreference(getString(R.string.preferred_locale));
|
||||
assert language != null;
|
||||
|
||||
final ArrayList<Locale> availableLocales = LocaleHelper.getAvailableLocales(requireContext());
|
||||
Collections.sort(availableLocales, (locale1, locale2) -> {
|
||||
String localeString1 = LocaleHelper.getDisplayName(locale1, true);
|
||||
String localeString2 = LocaleHelper.getDisplayName(locale2, true);
|
||||
return localeString1.compareTo(localeString2);
|
||||
});
|
||||
|
||||
String[] localeDisplayNames = new String[1 + availableLocales.size()];
|
||||
localeDisplayNames[0] = getString(R.string.language_system_default);
|
||||
for (int i = 1; i < localeDisplayNames.length; i++) {
|
||||
localeDisplayNames[i] = LocaleHelper.getDisplayName(availableLocales.get(i - 1), true);
|
||||
}
|
||||
language.setEntries(localeDisplayNames);
|
||||
|
||||
String[] languageTags = new String[1 + availableLocales.size()];
|
||||
languageTags[0] = "";
|
||||
for (int i = 1; i < languageTags.length; i++) {
|
||||
languageTags[i] = availableLocales.get(i - 1).toLanguageTag();
|
||||
}
|
||||
language.setEntryValues(languageTags);
|
||||
}
|
||||
}
|
|
@ -35,7 +35,6 @@ import android.widget.TextView;
|
|||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.google.android.material.transition.MaterialContainerTransform;
|
||||
|
@ -220,8 +219,8 @@ public class TxFragment extends Fragment {
|
|||
final Context ctx = getContext();
|
||||
Spanned label = Html.fromHtml(ctx.getString(R.string.tx_account_formatted,
|
||||
info.accountIndex, info.addressIndex,
|
||||
Integer.toHexString(ContextCompat.getColor(ctx, R.color.monerujoGreen) & 0xFFFFFF),
|
||||
Integer.toHexString(ContextCompat.getColor(ctx, R.color.monerujoBackground) & 0xFFFFFF),
|
||||
Integer.toHexString(ThemeHelper.getThemedColor(ctx, R.attr.positiveColor) & 0xFFFFFF),
|
||||
Integer.toHexString(ThemeHelper.getThemedColor(ctx, android.R.attr.colorBackground) & 0xFFFFFF),
|
||||
subaddress.getDisplayLabel()));
|
||||
tvAccount.setText(label);
|
||||
tvAccount.setOnClickListener(v -> activityCallback.showSubaddress(v, info.addressIndex));
|
||||
|
@ -266,13 +265,13 @@ public class TxFragment extends Fragment {
|
|||
if (info.isFailed) {
|
||||
tvTxAmount.setText(getString(R.string.tx_list_amount_failed, Wallet.getDisplayAmount(info.amount)));
|
||||
tvTxFee.setText(getString(R.string.tx_list_failed_text));
|
||||
setTxColour(ContextCompat.getColor(getContext(), R.color.tx_failed));
|
||||
setTxColour(ThemeHelper.getThemedColor(getContext(), R.attr.neutralColor));
|
||||
} else if (info.isPending) {
|
||||
setTxColour(ContextCompat.getColor(getContext(), R.color.tx_pending));
|
||||
setTxColour(ThemeHelper.getThemedColor(getContext(), R.attr.neutralColor));
|
||||
} else if (info.direction == TransactionInfo.Direction.Direction_In) {
|
||||
setTxColour(ContextCompat.getColor(getContext(), R.color.tx_plus));
|
||||
setTxColour(ThemeHelper.getThemedColor(getContext(), R.attr.positiveColor));
|
||||
} else {
|
||||
setTxColour(ContextCompat.getColor(getContext(), R.color.tx_minus));
|
||||
setTxColour(ThemeHelper.getThemedColor(getContext(), R.attr.negativeColor));
|
||||
}
|
||||
Set<String> destinations = new HashSet<>();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
|
|
@ -356,6 +356,7 @@ public class WalletActivity extends BaseActivity implements WalletFragment.Liste
|
|||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
Timber.d("onCreate()");
|
||||
ThemeHelper.setPreferred(this);
|
||||
super.onCreate(savedInstanceState);
|
||||
if (savedInstanceState != null) {
|
||||
// activity restarted
|
||||
|
@ -385,7 +386,7 @@ public class WalletActivity extends BaseActivity implements WalletFragment.Liste
|
|||
case Toolbar.BUTTON_CLOSE:
|
||||
finish();
|
||||
break;
|
||||
case Toolbar.BUTTON_CREDITS:
|
||||
case Toolbar.BUTTON_SETTINGS:
|
||||
Toast.makeText(WalletActivity.this, getString(R.string.label_credits), Toast.LENGTH_SHORT).show();
|
||||
case Toolbar.BUTTON_NONE:
|
||||
default:
|
||||
|
@ -940,6 +941,7 @@ public class WalletActivity extends BaseActivity implements WalletFragment.Liste
|
|||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||
Timber.d("onRequestPermissionsResult()");
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||
if (requestCode == Helper.PERMISSIONS_REQUEST_CAMERA) { // If request is cancelled, the result arrays are empty.
|
||||
if (grantResults.length > 0
|
||||
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||
|
|
|
@ -52,6 +52,7 @@ import com.m2049r.xmrwallet.service.exchange.api.ExchangeCallback;
|
|||
import com.m2049r.xmrwallet.service.exchange.api.ExchangeRate;
|
||||
import com.m2049r.xmrwallet.util.Helper;
|
||||
import com.m2049r.xmrwallet.util.ServiceHelper;
|
||||
import com.m2049r.xmrwallet.util.ThemeHelper;
|
||||
import com.m2049r.xmrwallet.widget.Toolbar;
|
||||
|
||||
import java.text.NumberFormat;
|
||||
|
@ -111,7 +112,8 @@ public class WalletFragment extends Fragment
|
|||
llBalance = view.findViewById(R.id.llBalance);
|
||||
flExchange = view.findViewById(R.id.flExchange);
|
||||
((ProgressBar) view.findViewById(R.id.pbExchange)).getIndeterminateDrawable().
|
||||
setColorFilter(getResources().getColor(R.color.progress_circle),
|
||||
setColorFilter(
|
||||
ThemeHelper.getThemedColor(getContext(), R.attr.colorPrimaryVariant),
|
||||
android.graphics.PorterDuff.Mode.MULTIPLY);
|
||||
|
||||
tvProgress = view.findViewById(R.id.tvProgress);
|
||||
|
|
|
@ -22,6 +22,7 @@ import android.content.res.Configuration;
|
|||
import android.os.Build;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
|
||||
import com.m2049r.xmrwallet.model.NetworkType;
|
||||
import com.m2049r.xmrwallet.util.LocaleHelper;
|
||||
|
@ -35,7 +36,7 @@ public class XmrWalletApplication extends Application {
|
|||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
|
||||
FragmentManager.enableNewStateManager(false);
|
||||
if (BuildConfig.DEBUG) {
|
||||
Timber.plant(new Timber.DebugTree());
|
||||
}
|
||||
|
|
|
@ -267,14 +267,14 @@ public class NodeInfo extends Node {
|
|||
public void showInfo(TextView view, String info, boolean isError) {
|
||||
final Context ctx = view.getContext();
|
||||
final Spanned text = Html.fromHtml(ctx.getString(R.string.status,
|
||||
Integer.toHexString(ContextCompat.getColor(ctx, R.color.monerujoGreen) & 0xFFFFFF),
|
||||
Integer.toHexString(ContextCompat.getColor(ctx, R.color.monerujoBackground) & 0xFFFFFF),
|
||||
Integer.toHexString(ThemeHelper.getThemedColor(ctx, R.attr.positiveColor) & 0xFFFFFF),
|
||||
Integer.toHexString(ThemeHelper.getThemedColor(ctx, android.R.attr.colorBackground) & 0xFFFFFF),
|
||||
(hostAddress.isOnion() ? " .onion " : ""), " " + info));
|
||||
view.setText(text);
|
||||
if (isError)
|
||||
view.setTextColor(ThemeHelper.getThemedColor(ctx, R.attr.colorError));
|
||||
else
|
||||
view.setTextColor(ThemeHelper.getThemedColor(ctx, R.attr.colorPrimary));
|
||||
view.setTextColor(ThemeHelper.getThemedColor(ctx, android.R.attr.textColorSecondary));
|
||||
}
|
||||
|
||||
public void showInfo(TextView view) {
|
||||
|
|
|
@ -40,6 +40,7 @@ import com.m2049r.xmrwallet.service.shift.sideshift.api.SideShiftApi;
|
|||
import com.m2049r.xmrwallet.service.shift.sideshift.network.SideShiftApiImpl;
|
||||
import com.m2049r.xmrwallet.util.Helper;
|
||||
import com.m2049r.xmrwallet.util.ServiceHelper;
|
||||
import com.m2049r.xmrwallet.util.ThemeHelper;
|
||||
|
||||
import java.text.NumberFormat;
|
||||
import java.util.Locale;
|
||||
|
@ -212,19 +213,27 @@ public class SendBtcSuccessWizardFragment extends SendWizardFragment {
|
|||
if (status.isError()) {
|
||||
tvXmrToStatus.setText(getString(R.string.info_send_xmrto_error, status.toString()));
|
||||
statusResource = R.drawable.ic_error_red_24dp;
|
||||
pbXmrto.getIndeterminateDrawable().setColorFilter(0xff8b0000, android.graphics.PorterDuff.Mode.MULTIPLY);
|
||||
pbXmrto.getIndeterminateDrawable().setColorFilter(
|
||||
ThemeHelper.getThemedColor(getContext(), android.R.attr.colorError),
|
||||
android.graphics.PorterDuff.Mode.MULTIPLY);
|
||||
} else if (status.isSent() || status.isPaid()) {
|
||||
tvXmrToStatus.setText(getString(R.string.info_send_xmrto_sent, btcData.getBtcSymbol()));
|
||||
statusResource = R.drawable.ic_success_green_24dp;
|
||||
pbXmrto.getIndeterminateDrawable().setColorFilter(0xFF417505, android.graphics.PorterDuff.Mode.MULTIPLY);
|
||||
statusResource = R.drawable.ic_success;
|
||||
pbXmrto.getIndeterminateDrawable().setColorFilter(
|
||||
ThemeHelper.getThemedColor(getContext(), R.attr.positiveColor),
|
||||
android.graphics.PorterDuff.Mode.MULTIPLY);
|
||||
} else if (status.isWaiting()) {
|
||||
tvXmrToStatus.setText(getString(R.string.info_send_xmrto_unpaid));
|
||||
statusResource = R.drawable.ic_pending_orange_24dp;
|
||||
pbXmrto.getIndeterminateDrawable().setColorFilter(0xFFFF6105, android.graphics.PorterDuff.Mode.MULTIPLY);
|
||||
statusResource = R.drawable.ic_pending;
|
||||
pbXmrto.getIndeterminateDrawable().setColorFilter(
|
||||
ThemeHelper.getThemedColor(getContext(), R.attr.neutralColor),
|
||||
android.graphics.PorterDuff.Mode.MULTIPLY);
|
||||
} else if (status.isPending()) {
|
||||
tvXmrToStatus.setText(getString(R.string.info_send_xmrto_paid));
|
||||
statusResource = R.drawable.ic_pending_orange_24dp;
|
||||
pbXmrto.getIndeterminateDrawable().setColorFilter(0xFFFF6105, android.graphics.PorterDuff.Mode.MULTIPLY);
|
||||
statusResource = R.drawable.ic_pending;
|
||||
pbXmrto.getIndeterminateDrawable().setColorFilter(
|
||||
ThemeHelper.getThemedColor(getContext(), R.attr.neutralColor),
|
||||
android.graphics.PorterDuff.Mode.MULTIPLY);
|
||||
} else {
|
||||
throw new IllegalStateException("status is broken: " + status.toString());
|
||||
}
|
||||
|
|
|
@ -55,7 +55,6 @@ import com.m2049r.xmrwallet.widget.DotBar;
|
|||
import com.m2049r.xmrwallet.widget.Toolbar;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.Objects;
|
||||
|
||||
import timber.log.Timber;
|
||||
|
||||
|
@ -202,14 +201,14 @@ public class SendFragment extends Fragment
|
|||
CharSequence nextLabel = pagerAdapter.getPageTitle(position + 1);
|
||||
bNext.setText(nextLabel);
|
||||
if (nextLabel != null) {
|
||||
bNext.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_navigate_next_white_24dp, 0);
|
||||
bNext.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_navigate_next, 0);
|
||||
} else {
|
||||
bNext.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
|
||||
}
|
||||
CharSequence prevLabel = pagerAdapter.getPageTitle(position - 1);
|
||||
bPrev.setText(prevLabel);
|
||||
if (prevLabel != null) {
|
||||
bPrev.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_navigate_prev_white_24dp, 0, 0, 0);
|
||||
bPrev.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_navigate_prev, 0, 0, 0);
|
||||
} else {
|
||||
bPrev.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
|
||||
}
|
||||
|
|
|
@ -23,7 +23,6 @@ import android.view.ViewGroup;
|
|||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
@ -230,21 +229,21 @@ public class NodeInfoAdapter extends RecyclerView.Adapter<NodeInfoAdapter.ViewHo
|
|||
|
||||
static public int getPingIcon(NodeInfo nodeInfo) {
|
||||
if (nodeInfo.isUnauthorized()) {
|
||||
return R.drawable.ic_wifi_lock_black_24dp;
|
||||
return R.drawable.ic_wifi_lock;
|
||||
}
|
||||
if (nodeInfo.isValid()) {
|
||||
final double ping = nodeInfo.getResponseTime();
|
||||
if (ping < NodeInfo.PING_GOOD) {
|
||||
return R.drawable.ic_signal_wifi_4_bar_24dp;
|
||||
return R.drawable.ic_wifi_4_bar;
|
||||
} else if (ping < NodeInfo.PING_MEDIUM) {
|
||||
return R.drawable.ic_signal_wifi_3_bar_24dp;
|
||||
return R.drawable.ic_wifi_3_bar;
|
||||
} else if (ping < NodeInfo.PING_BAD) {
|
||||
return R.drawable.ic_signal_wifi_2_bar_24dp;
|
||||
return R.drawable.ic_wifi_2_bar;
|
||||
} else {
|
||||
return R.drawable.ic_signal_wifi_1_bar_24dp;
|
||||
return R.drawable.ic_wifi_1_bar;
|
||||
}
|
||||
} else {
|
||||
return R.drawable.ic_signal_wifi_off_24dp;
|
||||
return R.drawable.ic_wifi_off;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -36,6 +36,7 @@ import com.m2049r.xmrwallet.data.Crypto;
|
|||
import com.m2049r.xmrwallet.data.UserNotes;
|
||||
import com.m2049r.xmrwallet.model.TransactionInfo;
|
||||
import com.m2049r.xmrwallet.util.Helper;
|
||||
import com.m2049r.xmrwallet.util.ThemeHelper;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
|
@ -67,10 +68,10 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo
|
|||
|
||||
public TransactionInfoAdapter(Context context, OnInteractionListener listener) {
|
||||
this.context = context;
|
||||
inboundColour = ContextCompat.getColor(context, R.color.tx_plus);
|
||||
outboundColour = ContextCompat.getColor(context, R.color.tx_minus);
|
||||
pendingColour = ContextCompat.getColor(context, R.color.tx_pending);
|
||||
failedColour = ContextCompat.getColor(context, R.color.tx_failed);
|
||||
inboundColour = ThemeHelper.getThemedColor(context, R.attr.positiveColor);
|
||||
outboundColour = ThemeHelper.getThemedColor(context, R.attr.negativeColor);
|
||||
pendingColour = ThemeHelper.getThemedColor(context, R.attr.neutralColor);
|
||||
failedColour = ThemeHelper.getThemedColor(context, R.attr.neutralColor);
|
||||
infoItems = new ArrayList<>();
|
||||
this.listener = listener;
|
||||
Calendar cal = Calendar.getInstance();
|
||||
|
@ -253,8 +254,8 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo
|
|||
tvPaymentId.setText(info);
|
||||
} else {
|
||||
Spanned label = Html.fromHtml(context.getString(R.string.tx_details_notes,
|
||||
Integer.toHexString(ContextCompat.getColor(context, R.color.monerujoGreen) & 0xFFFFFF),
|
||||
Integer.toHexString(ContextCompat.getColor(context, R.color.monerujoBackground) & 0xFFFFFF),
|
||||
Integer.toHexString(ThemeHelper.getThemedColor(context, R.attr.positiveColor) & 0xFFFFFF),
|
||||
Integer.toHexString(ThemeHelper.getThemedColor(context, android.R.attr.colorBackground) & 0xFFFFFF),
|
||||
tag, info.isEmpty() ? "" : (" " + info)));
|
||||
tvPaymentId.setText(label);
|
||||
}
|
||||
|
|
|
@ -568,7 +568,8 @@ public class WalletService extends Service {
|
|||
|
||||
private void startNotfication() {
|
||||
Intent notificationIntent = new Intent(this, WalletActivity.class);
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent,
|
||||
Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ? PendingIntent.FLAG_IMMUTABLE : 0);
|
||||
|
||||
String channelId = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ? createNotificationChannel() : "";
|
||||
Notification notification = new NotificationCompat.Builder(this, channelId)
|
||||
|
|
|
@ -395,7 +395,7 @@ public class Helper {
|
|||
final TextView tvOpenPrompt = promptsView.findViewById(R.id.tvOpenPrompt);
|
||||
final Drawable icFingerprint = context.getDrawable(R.drawable.ic_fingerprint);
|
||||
final Drawable icError = context.getDrawable(R.drawable.ic_error_red_36dp);
|
||||
final Drawable icInfo = context.getDrawable(R.drawable.ic_info_green_36dp);
|
||||
final Drawable icInfo = context.getDrawable(R.drawable.ic_info_white_24dp);
|
||||
|
||||
final boolean fingerprintAuthCheck = FingerprintHelper.isFingerPassValid(context, wallet);
|
||||
|
||||
|
|
|
@ -27,7 +27,6 @@ import java.util.ArrayList;
|
|||
import java.util.Locale;
|
||||
|
||||
public class LocaleHelper {
|
||||
private static final String PREFERRED_LOCALE_KEY = "preferred_locale";
|
||||
private static Locale SYSTEM_DEFAULT_LOCALE = Locale.getDefault();
|
||||
|
||||
public static ArrayList<Locale> getAvailableLocales(Context context) {
|
||||
|
@ -93,12 +92,13 @@ public class LocaleHelper {
|
|||
|
||||
public static String getPreferredLanguageTag(Context context) {
|
||||
return PreferenceManager.getDefaultSharedPreferences(context)
|
||||
.getString(PREFERRED_LOCALE_KEY, "");
|
||||
.getString("preferred_locale", "");
|
||||
// cannot access getString here as it's done BEFORE string locale is set
|
||||
}
|
||||
|
||||
@SuppressLint("ApplySharedPref")
|
||||
private static void savePreferredLangaugeTag(Context context, String locale) {
|
||||
PreferenceManager.getDefaultSharedPreferences(context).edit()
|
||||
.putString(PREFERRED_LOCALE_KEY, locale).commit();
|
||||
.putString(context.getString(R.string.preferred_locale), locale).commit();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,32 +16,37 @@
|
|||
|
||||
package com.m2049r.xmrwallet.util;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.preference.PreferenceManager;
|
||||
|
||||
import androidx.appcompat.app.AppCompatDelegate;
|
||||
|
||||
public class NightmodeHelper {
|
||||
private static final String PREFERRED_NIGHTMODE_KEY = "preferred_nightmode";
|
||||
import com.m2049r.xmrwallet.R;
|
||||
|
||||
public class NightmodeHelper {
|
||||
public static DayNightMode getPreferredNightmode(Context context) {
|
||||
return DayNightMode.valueOf(PreferenceManager.getDefaultSharedPreferences(context)
|
||||
.getString(PREFERRED_NIGHTMODE_KEY, "UNKNOWN"));
|
||||
.getString(context.getString(R.string.preferred_nightmode), "UNKNOWN"));
|
||||
}
|
||||
|
||||
public static void setPreferredNightmode(Context context) {
|
||||
final DayNightMode mode = DayNightMode.valueOf(PreferenceManager.getDefaultSharedPreferences(context)
|
||||
.getString(PREFERRED_NIGHTMODE_KEY, "UNKNOWN"));
|
||||
if (mode == DayNightMode.UNKNOWN) setAndSavePreferredNightmode(context, DayNightMode.AUTO);
|
||||
setNightMode(mode);
|
||||
.getString(context.getString(R.string.preferred_nightmode), "UNKNOWN"));
|
||||
if (mode == DayNightMode.UNKNOWN)
|
||||
setAndSavePreferredNightmode(context, DayNightMode.AUTO);
|
||||
else
|
||||
setNightMode(mode);
|
||||
}
|
||||
|
||||
public static void setAndSavePreferredNightmode(Context context, DayNightMode mode) {
|
||||
PreferenceManager.getDefaultSharedPreferences(context).edit()
|
||||
.putString(PREFERRED_NIGHTMODE_KEY, mode.name()).apply();
|
||||
.putString(context.getString(R.string.preferred_nightmode), mode.name()).apply();
|
||||
setNightMode(mode);
|
||||
}
|
||||
|
||||
@SuppressLint("WrongConstant")
|
||||
public static void setNightMode(DayNightMode mode) {
|
||||
AppCompatDelegate.setDefaultNightMode(mode.getNightMode());
|
||||
}
|
||||
|
|
|
@ -98,12 +98,7 @@ public class Notice {
|
|||
|
||||
final FragmentManager fragmentManager =
|
||||
((FragmentActivity) context).getSupportFragmentManager();
|
||||
ll.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
HelpFragment.display(fragmentManager, helpResId);
|
||||
}
|
||||
});
|
||||
ll.setOnClickListener(v -> HelpFragment.display(fragmentManager, helpResId));
|
||||
|
||||
ImageButton ib = ll.findViewById(R.id.ibClose);
|
||||
ib.setOnClickListener(new View.OnClickListener() {
|
||||
|
|
|
@ -127,6 +127,18 @@ public class RestoreHeight {
|
|||
blockheight.put("2021-01-01", 2264584L);
|
||||
blockheight.put("2021-02-01", 2286892L);
|
||||
blockheight.put("2021-03-01", 2307079L);
|
||||
blockheight.put("2021-04-01", 2329385L);
|
||||
blockheight.put("2021-05-01", 2351004L);
|
||||
blockheight.put("2021-06-01", 2373306L);
|
||||
blockheight.put("2021-07-01", 2394882L);
|
||||
blockheight.put("2021-08-01", 2417162L);
|
||||
blockheight.put("2021-09-01", 2439490L);
|
||||
blockheight.put("2021-10-01", 2461020L);
|
||||
blockheight.put("2021-11-01", 2483377L);
|
||||
blockheight.put("2021-12-01", 2504932L);
|
||||
blockheight.put("2022-01-01", 2527316L);
|
||||
blockheight.put("2022-02-01", 2549605L);
|
||||
blockheight.put("2022-03-01", 2569711L);
|
||||
}
|
||||
|
||||
public long getHeight(String date) {
|
||||
|
|
|
@ -16,11 +16,16 @@
|
|||
|
||||
package com.m2049r.xmrwallet.util;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.TypedValue;
|
||||
|
||||
import androidx.annotation.ColorInt;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.m2049r.xmrwallet.R;
|
||||
|
||||
public class ThemeHelper {
|
||||
static public int getThemedResourceId(Context ctx, int attrId) {
|
||||
|
@ -39,4 +44,22 @@ public class ThemeHelper {
|
|||
else
|
||||
return Color.BLACK;
|
||||
}
|
||||
|
||||
public static void setTheme(@NonNull Activity activity, @NonNull String theme) {
|
||||
switch (theme) {
|
||||
case "Classic":
|
||||
activity.setTheme(R.style.MyMaterialThemeClassic);
|
||||
break;
|
||||
case "Oled":
|
||||
activity.setTheme(R.style.MyMaterialThemeOled);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public static void setPreferred(Activity activity) {
|
||||
final String theme = PreferenceManager.getDefaultSharedPreferences(activity)
|
||||
.getString(activity.getString(R.string.preferred_theme), "Classic");
|
||||
setTheme(activity, theme);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ import com.m2049r.xmrwallet.service.exchange.api.ExchangeCallback;
|
|||
import com.m2049r.xmrwallet.service.exchange.api.ExchangeRate;
|
||||
import com.m2049r.xmrwallet.util.Helper;
|
||||
import com.m2049r.xmrwallet.util.ServiceHelper;
|
||||
import com.m2049r.xmrwallet.util.ThemeHelper;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
@ -224,7 +225,7 @@ public class ExchangeEditText extends LinearLayout {
|
|||
|
||||
// make progress circle gray
|
||||
pbExchange.getIndeterminateDrawable().
|
||||
setColorFilter(getResources().getColor(R.color.progress_circle),
|
||||
setColorFilter(ThemeHelper.getThemedColor(getContext(), R.attr.colorPrimaryVariant),
|
||||
android.graphics.PorterDuff.Mode.MULTIPLY);
|
||||
|
||||
sCurrencyA.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
||||
|
|
|
@ -46,7 +46,7 @@ public class Toolbar extends MaterialToolbar {
|
|||
ImageView toolbarImage;
|
||||
TextView toolbarTitle;
|
||||
TextView toolbarSubtitle;
|
||||
ImageButton bCredits;
|
||||
ImageButton bSettings;
|
||||
|
||||
public Toolbar(Context context) {
|
||||
super(context);
|
||||
|
@ -88,12 +88,10 @@ public class Toolbar extends MaterialToolbar {
|
|||
|
||||
toolbarTitle = findViewById(R.id.toolbarTitle);
|
||||
toolbarSubtitle = findViewById(R.id.toolbarSubtitle);
|
||||
bCredits = findViewById(R.id.bCredits);
|
||||
bCredits.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
if (onButtonListener != null) {
|
||||
onButtonListener.onButton(buttonType);
|
||||
}
|
||||
bSettings = findViewById(R.id.bSettings);
|
||||
bSettings.setOnClickListener(v -> {
|
||||
if (onButtonListener != null) {
|
||||
onButtonListener.onButton(buttonType);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -117,37 +115,37 @@ public class Toolbar extends MaterialToolbar {
|
|||
public final static int BUTTON_NONE = 0;
|
||||
public final static int BUTTON_BACK = 1;
|
||||
public final static int BUTTON_CLOSE = 2;
|
||||
public final static int BUTTON_CREDITS = 3;
|
||||
public final static int BUTTON_SETTINGS = 3;
|
||||
public final static int BUTTON_CANCEL = 4;
|
||||
|
||||
int buttonType = BUTTON_CREDITS;
|
||||
int buttonType = BUTTON_SETTINGS;
|
||||
|
||||
public void setButton(int type) {
|
||||
switch (type) {
|
||||
case BUTTON_BACK:
|
||||
Timber.d("BUTTON_BACK");
|
||||
bCredits.setImageResource(R.drawable.ic_arrow_back_white_24dp);
|
||||
bCredits.setVisibility(View.VISIBLE);
|
||||
bSettings.setImageResource(R.drawable.ic_arrow_back);
|
||||
bSettings.setVisibility(View.VISIBLE);
|
||||
break;
|
||||
case BUTTON_CLOSE:
|
||||
Timber.d("BUTTON_CLOSE");
|
||||
bCredits.setImageResource(R.drawable.ic_close_white_24dp);
|
||||
bCredits.setVisibility(View.VISIBLE);
|
||||
bSettings.setImageResource(R.drawable.ic_close_white_24dp);
|
||||
bSettings.setVisibility(View.VISIBLE);
|
||||
break;
|
||||
case BUTTON_CREDITS:
|
||||
Timber.d("BUTTON_CREDITS");
|
||||
bCredits.setImageResource(R.drawable.ic_favorite_white_24dp);
|
||||
bCredits.setVisibility(View.VISIBLE);
|
||||
case BUTTON_SETTINGS:
|
||||
Timber.d("BUTTON_SETTINGS");
|
||||
bSettings.setImageResource(R.drawable.ic_settings);
|
||||
bSettings.setVisibility(View.VISIBLE);
|
||||
break;
|
||||
case BUTTON_CANCEL:
|
||||
Timber.d("BUTTON_CANCEL");
|
||||
bCredits.setImageResource(R.drawable.ic_close_white_24dp);
|
||||
bCredits.setVisibility(View.VISIBLE);
|
||||
bSettings.setImageResource(R.drawable.ic_close_white_24dp);
|
||||
bSettings.setVisibility(View.VISIBLE);
|
||||
break;
|
||||
case BUTTON_NONE:
|
||||
default:
|
||||
Timber.d("BUTTON_NONE");
|
||||
bCredits.setVisibility(View.INVISIBLE);
|
||||
bSettings.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
buttonType = type;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="?attr/colorPrimary" android:state_enabled="true"/>
|
||||
<item android:color="?attr/favouriteColor" android:state_enabled="true"/>
|
||||
<item android:color="?attr/colorPrimaryVariant"/>
|
||||
</selector>
|
||||
|
|
|
@ -13,10 +13,10 @@
|
|||
android:startY="74.0"
|
||||
android:type="linear">
|
||||
<item
|
||||
android:color="@color/monerujoPink"
|
||||
android:color="?colorSecondary"
|
||||
android:offset="0.0" />
|
||||
<item
|
||||
android:color="@color/monerujoOrange"
|
||||
android:color="?colorError"
|
||||
android:offset="1.0" />
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
|
|
|
@ -17,10 +17,10 @@
|
|||
android:startY="58.0"
|
||||
android:type="linear">
|
||||
<item
|
||||
android:color="@color/monerujoPink"
|
||||
android:color="?colorSecondary"
|
||||
android:offset="0.0" />
|
||||
<item
|
||||
android:color="@color/monerujoOrange"
|
||||
android:color="?colorError"
|
||||
android:offset="1.0" />
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="32dp"
|
||||
android:height="32dp"
|
||||
android:viewportWidth="32"
|
||||
android:viewportHeight="32">
|
||||
<path
|
||||
android:fillColor="?colorPrimary"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M16,16m-16,0a16,16 0,1 1,32 0a16,16 0,1 1,-32 0" />
|
||||
<path
|
||||
android:fillColor="?android:colorBackground"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M23.189,14.02c0.314,-2.096 -1.283,-3.223 -3.465,-3.975l0.708,-2.84 -1.728,-0.43 -0.69,2.765c-0.454,-0.114 -0.92,-0.22 -1.385,-0.326l0.695,-2.783L15.596,6l-0.708,2.839c-0.376,-0.086 -0.746,-0.17 -1.104,-0.26l0.002,-0.009 -2.384,-0.595 -0.46,1.846s1.283,0.294 1.256,0.312c0.7,0.175 0.826,0.638 0.805,1.006l-0.806,3.235c0.048,0.012 0.11,0.03 0.18,0.057l-0.183,-0.045 -1.13,4.532c-0.086,0.212 -0.303,0.531 -0.793,0.41 0.018,0.025 -1.256,-0.313 -1.256,-0.313l-0.858,1.978 2.25,0.561c0.418,0.105 0.828,0.215 1.231,0.318l-0.715,2.872 1.727,0.43 0.708,-2.84c0.472,0.127 0.93,0.245 1.378,0.357l-0.706,2.828 1.728,0.43 0.715,-2.866c2.948,0.558 5.164,0.333 6.097,-2.333 0.752,-2.146 -0.037,-3.385 -1.588,-4.192 1.13,-0.26 1.98,-1.003 2.207,-2.538zM19.239,19.558c-0.533,2.147 -4.148,0.986 -5.32,0.695l0.95,-3.805c1.172,0.293 4.929,0.872 4.37,3.11zM19.774,13.989c-0.487,1.953 -3.495,0.96 -4.47,0.717l0.86,-3.45c0.975,0.243 4.118,0.696 3.61,2.733z" />
|
||||
</vector>
|
|
@ -0,0 +1,15 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="32dp"
|
||||
android:height="32dp"
|
||||
android:viewportWidth="32"
|
||||
android:viewportHeight="32">
|
||||
<path
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M16,16m-16,0a16,16 0,1 1,32 0a16,16 0,1 1,-32 0" />
|
||||
<path
|
||||
android:fillColor="?android:colorBackground"
|
||||
android:pathData="M19.086,8.004H11.81l-0.602,3.367 6.562,0.01c3.231,0 4.19,1.173 4.159,3.12 -0.014,0.998 -0.449,2.686 -0.633,3.23 -0.497,1.46 -1.521,3.122 -5.359,3.117l-6.378,-0.004 -0.602,3.371h7.257c2.559,0 3.649,-0.299 4.8,-0.83 2.554,-1.178 4.075,-3.701 4.686,-6.994 0.906,-4.9 -0.224,-8.387 -6.615,-8.387z" />
|
||||
<path
|
||||
android:fillColor="?android:colorBackground"
|
||||
android:pathData="M15.807,15.798c0.237,-0.985 0.312,-1.38 0.312,-1.38H8.673c-1.904,0 -2.176,1.24 -2.357,1.99 -0.237,0.981 -0.312,1.381 -0.312,1.381h7.447c1.903,0 2.175,-1.24 2.356,-1.991z" />
|
||||
</vector>
|
|
@ -0,0 +1,14 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="32dp"
|
||||
android:height="32dp"
|
||||
android:viewportWidth="32"
|
||||
android:viewportHeight="32">
|
||||
<path
|
||||
android:fillColor="?colorPrimary"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M16,16m-16,0a16,16 0,1 1,32 0a16,16 0,1 1,-32 0" />
|
||||
<path
|
||||
android:fillColor="?android:colorBackground"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M13.248,14.61h4.314v2.286h-4.314v4.818h2.721c1.077,0 1.958,-0.145 2.644,-0.437 0.686,-0.291 1.224,-0.694 1.615,-1.21a4.4,4.4 0,0 0,0.796 -1.815,11.4 11.4,0 0,0 0.21,-2.252 11.4,11.4 0,0 0,-0.21 -2.252,4.396 4.396,0 0,0 -0.796,-1.815c-0.391,-0.516 -0.93,-0.919 -1.615,-1.21 -0.686,-0.292 -1.567,-0.437 -2.644,-0.437h-2.721v4.325zM10.482,16.896L9,16.896v-2.285h1.482L10.482,8h6.549c1.21,0 2.257,0.21 3.142,0.627 0.885,0.419 1.607,0.99 2.168,1.715 0.56,0.724 0.977,1.572 1.25,2.543 0.273,0.971 0.409,2.01 0.409,3.115a11.47,11.47 0,0 1,-0.41 3.115c-0.272,0.97 -0.689,1.819 -1.25,2.543 -0.56,0.725 -1.282,1.296 -2.167,1.715 -0.885,0.418 -1.933,0.627 -3.142,0.627h-6.549v-7.104z" />
|
||||
</vector>
|
|
@ -0,0 +1,38 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="32dp"
|
||||
android:height="32dp"
|
||||
android:viewportWidth="32"
|
||||
android:viewportHeight="32">
|
||||
<path
|
||||
android:fillColor="?colorPrimary"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M16,16m-16,0a16,16 0,1 1,32 0a16,16 0,1 1,-32 0" />
|
||||
<path
|
||||
android:fillAlpha="0.602"
|
||||
android:fillColor="?android:colorBackground"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M16.498,4v8.87l7.497,3.35z" />
|
||||
<path
|
||||
android:fillColor="?android:colorBackground"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M16.498,4L9,16.22l7.498,-3.35z" />
|
||||
<path
|
||||
android:fillAlpha="0.602"
|
||||
android:fillColor="?android:colorBackground"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M16.498,21.968v6.027L24,17.616z" />
|
||||
<path
|
||||
android:fillColor="?android:colorBackground"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M16.498,27.995v-6.028L9,17.616z" />
|
||||
<path
|
||||
android:fillAlpha="0.2"
|
||||
android:fillColor="?android:colorBackground"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M16.498,20.573l7.497,-4.353 -7.497,-3.348z" />
|
||||
<path
|
||||
android:fillAlpha="0.602"
|
||||
android:fillColor="?android:colorBackground"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M9,16.22l7.498,4.353v-7.701z" />
|
||||
</vector>
|
|
@ -0,0 +1,14 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="32dp"
|
||||
android:height="32dp"
|
||||
android:viewportWidth="32"
|
||||
android:viewportHeight="32">
|
||||
<path
|
||||
android:fillColor="?colorPrimary"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M16,16m-16,0a16,16 0,1 1,32 0a16,16 0,1 1,-32 0" />
|
||||
<path
|
||||
android:fillColor="?android:colorBackground"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M10.427,19.214L9,19.768l0.688,-2.759 1.444,-0.58L13.213,8h5.129l-1.519,6.196 1.41,-0.571 -0.68,2.75 -1.427,0.571 -0.848,3.483H23L22.127,24H9.252z" />
|
||||
</vector>
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/monerujoBackground" />
|
||||
<padding
|
||||
android:bottom="8dp"
|
||||
android:left="8dp"
|
||||
|
@ -9,7 +8,7 @@
|
|||
android:top="8dp" />
|
||||
<stroke
|
||||
android:width="2dp"
|
||||
android:color="#FF979797"
|
||||
android:color="?colorPrimaryVariant"
|
||||
android:dashGap="8dp"
|
||||
android:dashWidth="8dp" />
|
||||
</shape>
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/gradient_all" />
|
||||
<item
|
||||
android:height="?attr/actionBarSize"
|
||||
android:drawable="@drawable/texture_cash" />
|
||||
</layer-list>
|
|
@ -1,7 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/gradient_street" />
|
||||
<item
|
||||
android:height="?attr/actionBarSize"
|
||||
android:drawable="@drawable/texture_cash" />
|
||||
</layer-list>
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/monerujoReceive" />
|
||||
<solid android:color="?attr/positiveColor" />
|
||||
</shape>
|
|
@ -3,7 +3,7 @@
|
|||
android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="-90"
|
||||
android:endColor="@color/gradientBottom"
|
||||
android:startColor="@color/gradientTop"
|
||||
android:endColor="?attr/gradientBottomColor"
|
||||
android:startColor="?attr/gradientTopColor"
|
||||
android:type="linear" />
|
||||
</shape>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
android:shape="oval">
|
||||
<gradient
|
||||
android:angle="135"
|
||||
android:endColor="@color/gradientBottom"
|
||||
android:startColor="@color/gradientTop"
|
||||
android:endColor="?attr/gradientBottomColor"
|
||||
android:startColor="?attr/gradientTopColor"
|
||||
android:type="linear" />
|
||||
</shape>
|
|
@ -3,7 +3,7 @@
|
|||
android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="45"
|
||||
android:endColor="@color/moneroStreetA"
|
||||
android:startColor="@color/moneroStreetB"
|
||||
android:endColor="?attr/streetColorA"
|
||||
android:startColor="?attr/streetColorB"
|
||||
android:type="linear" />
|
||||
</shape>
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="45"
|
||||
android:endColor="@color/moneroStreetA"
|
||||
android:startColor="@color/moneroStreetB"
|
||||
android:endColor="?attr/streetColorA"
|
||||
android:startColor="?attr/streetColorB"
|
||||
android:type="linear" />
|
||||
<corners android:radius="56dp" />
|
||||
</shape>
|
|
@ -1,5 +1,10 @@
|
|||
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||
android:viewportHeight="24.0" android:viewportWidth="24.0"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#FF000000" android:pathData="M21,18v1c0,1.1 -0.9,2 -2,2L5,21c-1.11,0 -2,-0.9 -2,-2L3,5c0,-1.1 0.89,-2 2,-2h14c1.1,0 2,0.9 2,2v1h-9c-1.11,0 -2,0.9 -2,2v8c0,1.1 0.89,2 2,2h9zM12,16h10L22,8L12,8v8zM16,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"/>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="#FFFFFF"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M21,18v1c0,1.1 -0.9,2 -2,2L5,21c-1.11,0 -2,-0.9 -2,-2L3,5c0,-1.1 0.89,-2 2,-2h14c1.1,0 2,0.9 2,2v1h-9c-1.11,0 -2,0.9 -2,2v8c0,1.1 0.89,2 2,2h9zM12,16h10L22,8L12,8v8zM16,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z" />
|
||||
</vector>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FFffffff"
|
||||
android:fillColor="#000"
|
||||
android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
|
||||
</vector>
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportWidth="20.0"
|
||||
android:viewportHeight="20.0">
|
||||
<path
|
||||
android:fillColor="?colorPrimaryVariant"
|
||||
android:fillColor="#000"
|
||||
android:pathData="M11,5L9,5L9,9L5,9L5,11L9,11L9,15L11,15L11,11L15,11L15,9L11,9L11,5L11,5ZM10,0C4.5,0 0,4.5 0,10C0,15.5 4.5,20 10,20C15.5,20 20,15.5 20,10C20,4.5 15.5,0 10,0L10,0ZM10,18C5.6,18 2,14.4 2,10C2,5.6 5.6,2 10,2C14.4,2 18,5.6 18,10C18,14.4 14.4,18 10,18L10,18Z" />
|
||||
</vector>
|
|
@ -1,9 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="20.0"
|
||||
android:viewportWidth="20.0">
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:pathData="M11,5L9,5L9,9L5,9L5,11L9,11L9,15L11,15L11,11L15,11L15,9L11,9L11,5L11,5ZM10,0C4.5,0 0,4.5 0,10C0,15.5 4.5,20 10,20C15.5,20 20,15.5 20,10C20,4.5 15.5,0 10,0L10,0ZM10,18C5.6,18 2,14.4 2,10C2,5.6 5.6,2 10,2C14.4,2 18,5.6 18,10C18,14.4 14.4,18 10,18L10,18Z" />
|
||||
</vector>
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
<path
|
||||
android:fillColor="@color/gradientLeft"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M18.6,6.62c-1.44,0 -2.8,0.56 -3.77,1.53L12,10.66 10.48,12h0.01L7.8,14.39c-0.64,0.64 -1.49,0.99 -2.4,0.99 -1.87,0 -3.39,-1.51 -3.39,-3.38S3.53,8.62 5.4,8.62c0.91,0 1.76,0.35 2.44,1.03l1.13,1 1.51,-1.34L9.22,8.2C8.2,7.18 6.84,6.62 5.4,6.62 2.42,6.62 0,9.04 0,12s2.42,5.38 5.4,5.38c1.44,0 2.8,-0.56 3.77,-1.53l2.83,-2.5 0.01,0.01L13.52,12h-0.01l2.69,-2.39c0.64,-0.64 1.49,-0.99 2.4,-0.99 1.87,0 3.39,1.51 3.39,3.38s-1.52,3.38 -3.39,3.38c-0.9,0 -1.76,-0.35 -2.44,-1.03l-1.14,-1.01 -1.51,1.34 1.27,1.12c1.02,1.01 2.37,1.57 3.82,1.57 2.98,0 5.4,-2.41 5.4,-5.38s-2.42,-5.37 -5.4,-5.37z" />
|
||||
</vector>
|
|
@ -1,9 +1,10 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z" />
|
||||
</vector>
|
|
@ -1,10 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="?colorPrimaryVariant"
|
||||
android:pathData="M12,2C6.47,2 2,6.47 2,12s4.47,10 10,10 10,-4.47 10,-10S17.53,2 12,2zM17,15.59L15.59,17 12,13.41 8.41,17 7,15.59 10.59,12 7,8.41 8.41,7 12,10.59 15.59,7 17,8.41 13.41,12 17,15.59z" />
|
||||
</vector>
|
|
@ -1,10 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M19,19H5V5h7V3H5c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2v-7h-2v7zM14,3v2h3.59l-9.83,9.83 1.41,1.41L19,6.41V10h2V3h-7z"/>
|
||||
</vector>
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportHeight="74.0"
|
||||
android:viewportWidth="74.0">
|
||||
<path
|
||||
android:fillColor="@color/monerujoPink"
|
||||
android:fillColor="?colorSecondary"
|
||||
android:pathData="M21.83,29.97L16.65,35.15L33.3,51.8L70.3,14.8L65.12,9.62L33.3,41.44L21.83,29.97L21.83,29.97ZM66.6,37C66.6,53.28 53.28,66.6 37,66.6C20.72,66.6 7.4,53.28 7.4,37C7.4,20.72 20.72,7.4 37,7.4C39.96,7.4 42.55,7.77 45.14,8.51L51.06,2.59C46.62,1.11 41.81,0 37,0C16.65,0 0,16.65 0,37C0,57.35 16.65,74 37,74C57.35,74 74,57.35 74,37L66.6,37L66.6,37Z" />
|
||||
</vector>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
android:viewportHeight="58.0"
|
||||
android:viewportWidth="58.0">
|
||||
<path
|
||||
android:fillColor="@color/monerujoPink"
|
||||
android:fillColor="?colorSecondary"
|
||||
android:pathData="M17.11,23.49L13.05,27.55L26.1,40.6L55.1,11.6L51.04,7.54L26.1,32.48L17.11,23.49L17.11,23.49ZM52.2,29C52.2,41.76 41.76,52.2 29,52.2C16.24,52.2 5.8,41.76 5.8,29C5.8,16.24 16.24,5.8 29,5.8C31.32,5.8 33.35,6.09 35.38,6.67L40.02,2.03C36.54,0.87 32.77,0 29,0C13.05,0 0,13.05 0,29C0,44.95 13.05,58 29,58C44.95,58 58,44.95 58,29L52.2,29L52.2,29Z"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeWidth="1" />
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z" />
|
||||
</vector>
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?attr/toolbarTextColor"
|
||||
android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
|
||||
</vector>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
android:translateX="0.000000"
|
||||
android:translateY="+7.000000">
|
||||
<path
|
||||
android:fillColor="@color/monerujoGreen"
|
||||
android:fillColor="?attr/positiveColor"
|
||||
android:pathData="M17.6,1.4L16.2,0L9.9,6.3L11.3,7.7L17.6,1.4L17.6,1.4ZM21.8,0L11.3,10.6L7.1,6.4L5.7,7.8L11.3,13.4L23.3,1.4L21.8,0L21.8,0ZM0,7.8L5.6,13.4L7,12L1.4,6.4L0,7.8L0,7.8Z" />
|
||||
</group>
|
||||
</vector>
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
<path
|
||||
android:fillColor="#ff8b0000"
|
||||
android:fillColor="?colorError"
|
||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM17,13L7,13v-2h10v2z" />
|
||||
</vector>
|
||||
|
|
|
@ -2,18 +2,11 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="29dp"
|
||||
android:height="17dp"
|
||||
android:viewportHeight="17"
|
||||
android:viewportWidth="29">
|
||||
|
||||
<group
|
||||
android:translateX="-219.000000"
|
||||
android:translateY="-74.000000">
|
||||
<group
|
||||
android:translateX="219.000000"
|
||||
android:translateY="74.000000">
|
||||
<path
|
||||
android:fillColor="#FEFEFE"
|
||||
android:pathData="M14.4474298,13.6840973 C11.5770468,13.6840973 9.24995106,11.3571559
|
||||
android:viewportWidth="29"
|
||||
android:viewportHeight="17">
|
||||
<path
|
||||
android:fillColor="#FEFEFE"
|
||||
android:pathData="M14.4474298,13.6840973 C11.5770468,13.6840973 9.24995106,11.3571559
|
||||
9.24995106,8.48677287 C9.24995106,5.61623564 11.5770468,3.28929415
|
||||
14.4474298,3.28929415 C17.3178128,3.28929415 19.6449085,5.61623564
|
||||
19.6449085,8.48677287 C19.6449085,11.3571559 17.3178128,13.6840973
|
||||
|
@ -22,7 +15,5 @@
|
|||
8.23695638,16.9734378 14.4474298,16.9734378 C20.6579032,16.9734378
|
||||
26.0676372,13.5494324 28.8948287,8.48692713 C26.0676372,3.42395904
|
||||
20.6579032,-0.0000463 14.4474298,-0.0000463"
|
||||
android:strokeWidth="1" />
|
||||
</group>
|
||||
</group>
|
||||
android:strokeWidth="1" />
|
||||
</vector>
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="@color/gradientRight"
|
||||
android:fillColor="?attr/favouriteColor"
|
||||
android:pathData="M12,21.35l-1.45,-1.32C5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3c1.74,0 3.41,0.81 4.5,2.09C13.09,3.81 14.76,3 16.5,3 19.58,3 22,5.42 22,8.5c0,3.78 -3.4,6.86 -8.55,11.54L12,21.35z"/>
|
||||
</vector>
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="@color/gradientRight"
|
||||
android:fillColor="?attr/favouriteColor"
|
||||
android:pathData="M16.5,3c-1.74,0 -3.41,0.81 -4.5,2.09C10.91,3.81 9.24,3 7.5,3 4.42,3 2,5.42 2,8.5c0,3.78 3.4,6.86 8.55,11.54L12,21.35l1.45,-1.32C18.6,15.36 22,12.28 22,8.5 22,5.42 19.58,3 16.5,3zM12.1,18.55l-0.1,0.1 -0.1,-0.1C7.14,14.24 4,11.39 4,8.5 4,6.5 5.5,5 7.5,5c1.54,0 3.04,0.99 3.57,2.36h1.87C13.46,5.99 14.96,5 16.5,5c2,0 3.5,1.5 3.5,3.5 0,2.89 -3.14,5.74 -7.9,10.05z"/>
|
||||
</vector>
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:pathData="M12,21.35l-1.45,-1.32C5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3c1.74,0 3.41,0.81 4.5,2.09C13.09,3.81 14.76,3 16.5,3 19.58,3 22,5.42 22,8.5c0,3.78 -3.4,6.86 -8.55,11.54L12,21.35z" />
|
||||
</vector>
|
|
@ -5,21 +5,21 @@
|
|||
android:viewportHeight="36.0">
|
||||
|
||||
<path
|
||||
android:fillColor="@color/monerujoGreen"
|
||||
android:fillColor="?attr/positiveColor"
|
||||
android:pathData="M18,18m -18, 0a 18, 18 0 1, 0 36, 0a 18, 18 0 1, 0 -36, 0" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="m23.815,10.47c-0.08,0 -0.16,-0.02 -0.23,-0.06c-1.92,-0.99 -3.58,-1.41 -5.57,-1.41c-1.98,0 -3.86,0.47 -5.57,1.41c-0.24,0.13 -0.54,0.04 -0.68,-0.2c-0.13,-0.24 -0.04,-0.55 0.2,-0.68c1.86,-1.01 3.9,-1.53 6.05,-1.53c2.13,0 3.99,0.47 6.03,1.52c0.25,0.13 0.34,0.43 0.21,0.67c-0.09,0.18 -0.26,0.28 -0.44,0.28z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="m9.505,15.72c-0.1,0 -0.2,-0.03 -0.29,-0.09c-0.23,-0.16 -0.28,-0.47 -0.12,-0.7c0.99,-1.4 2.25,-2.5 3.75,-3.27c3.14,-1.62 7.16,-1.63 10.31,-0.01c1.5,0.77 2.76,1.86 3.75,3.25c0.16,0.22 0.11,0.54 -0.12,0.7c-0.23,0.16 -0.54,0.11 -0.7,-0.12c-0.9,-1.26 -2.04,-2.25 -3.39,-2.94c-2.87,-1.47 -6.54,-1.47 -9.4,0.01c-1.36,0.7 -2.5,1.7 -3.4,2.96c-0.08,0.14 -0.23,0.21 -0.39,0.21z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="m15.755,27.79c-0.13,0 -0.26,-0.05 -0.35,-0.15c-0.87,-0.87 -1.34,-1.43 -2.01,-2.64c-0.69,-1.23 -1.05,-2.73 -1.05,-4.34c0,-2.97 2.54,-5.39 5.66,-5.39s5.66,2.42 5.66,5.39c0,0.28 -0.22,0.5 -0.5,0.5s-0.5,-0.22 -0.5,-0.5c0,-2.42 -2.09,-4.39 -4.66,-4.39c-2.57,0 -4.66,1.97 -4.66,4.39c0,1.44 0.32,2.77 0.93,3.85c0.64,1.15 1.08,1.64 1.85,2.42c0.19,0.2 0.19,0.51 0,0.71c-0.11,0.1 -0.24,0.15 -0.37,0.15z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="m22.925,25.94c-1.19,0 -2.24,-0.3 -3.1,-0.89c-1.49,-1.01 -2.38,-2.65 -2.38,-4.39c0,-0.28 0.22,-0.5 0.5,-0.5s0.5,0.22 0.5,0.5c0,1.41 0.72,2.74 1.94,3.56c0.71,0.48 1.54,0.71 2.54,0.71c0.24,0 0.64,-0.03 1.04,-0.1c0.27,-0.05 0.53,0.13 0.58,0.41c0.05,0.27 -0.13,0.53 -0.41,0.58c-0.57,0.11 -1.07,0.12 -1.21,0.12z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="m20.915,28c-0.04,0 -0.09,-0.01 -0.13,-0.02c-1.59,-0.44 -2.63,-1.03 -3.72,-2.1c-1.4,-1.39 -2.17,-3.24 -2.17,-5.22c0,-1.62 1.38,-2.94 3.08,-2.94c1.7,0 3.08,1.32 3.08,2.94c0,1.07 0.93,1.94 2.08,1.94s2.08,-0.87 2.08,-1.94c0,-3.77 -3.25,-6.83 -7.25,-6.83c-2.84,0 -5.44,1.58 -6.61,4.03c-0.39,0.81 -0.59,1.76 -0.59,2.8c0,0.78 0.07,2.01 0.67,3.61c0.1,0.26 -0.03,0.55 -0.29,0.64c-0.26,0.1 -0.55,-0.04 -0.64,-0.29c-0.49,-1.31 -0.73,-2.61 -0.73,-3.96c0,-1.2 0.23,-2.29 0.68,-3.24c1.33,-2.79 4.28,-4.6 7.51,-4.6c4.55,0 8.25,3.51 8.25,7.83c0,1.62 -1.38,2.94 -3.08,2.94s-3.08,-1.32 -3.08,-2.94c0,-1.07 -0.93,-1.94 -2.08,-1.94s-2.08,0.87 -2.08,1.94c0,1.71 0.66,3.31 1.87,4.51c0.95,0.94 1.86,1.46 3.27,1.85c0.27,0.07 0.42,0.35 0.35,0.61c-0.05,0.23 -0.26,0.38 -0.47,0.38z" />
|
||||
</vector>
|
|
@ -1,9 +1,10 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13,19h-2v-2h2v2zM15.07,11.25l-0.9,0.92C13.45,12.9 13,13.5 13,15h-2v-0.5c0,-1.1 0.45,-2.1 1.17,-2.83l1.24,-1.26c0.37,-0.36 0.59,-0.86 0.59,-1.41 0,-1.1 -0.9,-2 -2,-2s-2,0.9 -2,2L8,9c0,-2.21 1.79,-4 4,-4s4,1.79 4,4c0,0.88 -0.36,1.68 -0.93,2.25z" />
|
||||
</vector>
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M6,2c-1.1,0 -1.99,0.9 -1.99,2L4,20c0,1.1 0.89,2 1.99,2L18,22c1.1,0 2,-0.9 2,-2L20,8l-6,-6L6,2zM13,9L13,3.5L18.5,9L13,9z" />
|
||||
</vector>
|
|
@ -1,12 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="36dp"
|
||||
android:height="36dp"
|
||||
android:viewportWidth="36"
|
||||
android:viewportHeight="36">
|
||||
<path
|
||||
android:fillColor="@color/monerujoGreen"
|
||||
android:pathData="M18,18m -18, 0a 18, 18 0 1, 0 36, 0a 18, 18 0 1, 0 -36, 0" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:pathData="m16.665,8.415001l2.67,0l0,2.67l-2.67,0l0,-2.67zm0,6.5l2.67,0l0,12.67l-2.67,0l0,-12.67z" />
|
||||
</vector>
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?attr/toolbarTextColor"
|
||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zm1,15h-2v-6h2v6zm0,-8h-2V7h2v2z" />
|
||||
</vector>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
android:translateX="219.000000"
|
||||
android:translateY="136.000000">
|
||||
<path
|
||||
android:fillColor="#FEFEFE"
|
||||
android:fillColor="#000"
|
||||
android:pathData="M6.29687258,9.00290326 C4.95784407,9.00290326 3.87228646,7.88216454
|
||||
3.87228646,6.49992511 C3.87228646,5.11783546 4.95784407,3.99709674
|
||||
6.29687258,3.99709674 C7.63604617,3.99709674 8.72160379,5.11783546
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#fff"
|
||||
android:pathData="M19,19H5V5h7V3H5c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2v-7h-2v7zM14,3v2h3.59l-9.83,9.83 1.41,1.41L19,6.41V10h2V3h-7z" />
|
||||
</vector>
|
|
@ -4,23 +4,26 @@
|
|||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<path
|
||||
android:pathData="M0,0h108v108h-108z"
|
||||
android:strokeWidth="0.3"
|
||||
android:fillColor="#fff"
|
||||
android:strokeColor="#000"/>
|
||||
<path
|
||||
android:pathData="M0,0h108v108h-108z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startY="41.11"
|
||||
android:startX="54"
|
||||
android:endY="85.99"
|
||||
android:endX="54"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#FFF26222"/>
|
||||
<item android:offset="1" android:color="#FFED1A5B"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:fillColor="#fff"
|
||||
android:pathData="M0,0h108v108h-108z"
|
||||
android:strokeWidth="0.3"
|
||||
android:strokeColor="#000" />
|
||||
<path android:pathData="M0,0h108v108h-108z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:endX="54"
|
||||
android:endY="85.99"
|
||||
android:startX="54"
|
||||
android:startY="41.11"
|
||||
android:type="linear">
|
||||
<item
|
||||
android:color="#FFF26222"
|
||||
android:offset="0" />
|
||||
<item
|
||||
android:color="#FFED1A5B"
|
||||
android:offset="1" />
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
</vector>
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<path
|
||||
android:pathData="M62.76,39.37a11.13,11.13 0,0 0,-8.86 4.39,11.13 11.13,0 0,0 -15.42,-2.25V40H33.89V67.87h4.59V50.53a6.57,6.57 0,1 1,13.13 0V67.87H56.2V50.53a6.57,6.57 0,1 1,13.13 0V67.87a6.57,6.57 0,0 1,-6.57 6.56V79A11.17,11.17 0,0 0,73.92 67.87V49.28h-0.07A11.17,11.17 0,0 0,62.76 39.37Z"
|
||||
android:fillColor="#fff"/>
|
||||
<path
|
||||
android:pathData="M71.62,33.07m-2.38,0a2.38,2.38 0,1 1,4.76 0a2.38,2.38 0,1 1,-4.76 0"
|
||||
android:fillColor="#fff"/>
|
||||
<path
|
||||
android:fillColor="#fff"
|
||||
android:pathData="M62.76,39.37a11.13,11.13 0,0 0,-8.86 4.39,11.13 11.13,0 0,0 -15.42,-2.25V40H33.89V67.87h4.59V50.53a6.57,6.57 0,1 1,13.13 0V67.87H56.2V50.53a6.57,6.57 0,1 1,13.13 0V67.87a6.57,6.57 0,0 1,-6.57 6.56V79A11.17,11.17 0,0 0,73.92 67.87V49.28h-0.07A11.17,11.17 0,0 0,62.76 39.37Z" />
|
||||
<path
|
||||
android:fillColor="#fff"
|
||||
android:pathData="M71.62,33.07m-2.38,0a2.38,2.38 0,1 1,4.76 0a2.38,2.38 0,1 1,-4.76 0" />
|
||||
</vector>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="8.36dp"
|
||||
android:viewportHeight="184.59"
|
||||
android:viewportWidth="529.82">
|
||||
android:viewportWidth="529.82"
|
||||
android:viewportHeight="184.59">
|
||||
<path
|
||||
android:fillColor="#fff"
|
||||
android:pathData="M517.82,0h-48a99.43,99.43 0,0 1,60 63.84L529.82,12A12,12 0,0 0,517.82 0Z" />
|
||||
|
|
|
@ -1,33 +1,34 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="135dp"
|
||||
android:height="48dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="304"
|
||||
android:viewportHeight="108">
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?attr/toolbarTextColor"
|
||||
android:pathData="M73.46,65.14q-4.72,-4.87 -4.73,-12.84t5,-12.87a16.9,16.9 0,0 1,12.38 -4.91,16.89 16.89,0 0,1 12.4,4.92q5,4.92 5,12.84a16.89,16.89 0,0 1,-5.15 12.83A17.57,17.57 0,0 1,85.64 70,16.23 16.23,0 0,1 73.46,65.14ZM85.64,65.33A11.51,11.51 0,0 0,94 61.85q3.54,-3.48 3.54,-9.61t-3.38,-9.58a11.08,11.08 0,0 0,-8.24 -3.44,10.71 10.71,0 0,0 -8.11,3.44q-3.25,3.45 -3.26,9.61t3.13,9.61A10.29,10.29 0,0 0,85.64 65.33Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?attr/toolbarTextColor"
|
||||
android:pathData="M161.3,70a15.84,15.84 0,0 1,-12 -4.88q-4.62,-4.88 -4.63,-12.9t4.7,-12.87a16.22,16.22 0,0 1,12.18 -4.85q7.48,0 12,4.6a16,16 0,0 1,4.51 11.77,20.16 20.16,0 0,1 -0.25,3.38H150.46a11.8,11.8 0,0 0,3.22 8.11,10.32 10.32,0 0,0 7.61,3 10.62,10.62 0,0 0,5.92 -1.57,9.23 9.23,0 0,0 3.54,-4.13h6.14a15.73,15.73 0,0 1,-5.61 7.45A16.33,16.33 0,0 1,161.3 70ZM169,42.16a11.23,11.23 0,0 0,-15.16 -0.06,11.68 11.68,0 0,0 -3.32,8h21.61A10.68,10.68 0,0 0,169 42.19Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?attr/toolbarTextColor"
|
||||
android:pathData="M266.06,65.14q-4.72,-4.87 -4.73,-12.84t4.95,-12.87a18.09,18.09 0,0 1,24.8 0q5,4.92 5,12.85a16.9,16.9 0,0 1,-5.17 12.84A17.61,17.61 0,0 1,278.27 70,16.2 16.2,0 0,1 266.06,65.14ZM278.24,65.33a11.51,11.51 0,0 0,8.36 -3.48q3.54,-3.48 3.54,-9.61t-3.38,-9.58a11.08,11.08 0,0 0,-8.24 -3.44,10.71 10.71,0 0,0 -8.11,3.44q-3.26,3.45 -3.26,9.61t3.13,9.61a10.27,10.27 0,0 0,8 3.45Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?attr/toolbarTextColor"
|
||||
android:pathData="M229.94,35.37V55.59a7.65,7.65 0,0 1,-1.8 4.93c-0.17,0.19 -0.35,0.38 -0.54,0.56a0.52,0.52 0,0 1,-0.11 0.1,6.14 6.14,0 0,1 -0.47,0.42l-0.18,0.13c-0.15,0.11 -0.3,0.22 -0.46,0.32l-0.22,0.13 -0.46,0.25 -0.25,0.12 -0.48,0.2 -0.27,0.1 -0.5,0.14 -0.28,0.08c-0.18,0 -0.37,0.06 -0.55,0.09l-0.26,0a7.55,7.55 0,0 1,-0.83 0,8.67 8.67,0 0,1 -0.89,-0.06l-0.27,0a6,6 0,0 1,-0.61 -0.12l-0.28,-0.07 -0.6,-0.2 -0.23,-0.08a7.92,7.92 0,0 1,-0.78 -0.37h0c-0.24,-0.14 -0.48,-0.29 -0.71,-0.45l-0.18,-0.14a6.4,6.4 0,0 1,-0.5 -0.41l-0.18,-0.16c-0.17,-0.16 -0.33,-0.32 -0.48,-0.49l-0.11,-0.13a6.12,6.12 0,0 1,-0.53 -0.7,7.6 7.6,0 0,1 -1.29,-4.24V35.37h-5.36V54.55l0.06,0.05c0,0.33 -0.06,0.66 -0.06,1A12.92,12.92 0,0 0,212 63.5c0.13,0.17 0.28,0.32 0.41,0.48h0l0.06,0.07h0a12.46,12.46 0,0 0,0.87 0.91l0,0h0l0,0c0.3,0.27 0.6,0.54 0.92,0.79l0.07,0 0.12,0.09c0.3,0.22 0.6,0.43 0.92,0.63l0.1,0.07 0.23,0.12 0.15,0.09h0L216,67l0.35,0.21 0.13,0.06 0.16,0.07 0.08,0 0.18,0.07 0.38,0.17 0.34,0.15 0.28,0.1h0l0.08,0 0.15,0 0.14,0.06h0l0.13,0 0.32,0.09 0.22,0.06 0.26,0.07 0.14,0 0.14,0 0.31,0.07h0l0.47,0.07 0.14,0 0.16,0 0.19,0h0.25a12.33,12.33 0,0 0,2.43 0h0.25l0.19,0 0.16,0 0.14,0 0.47,-0.07h0l0.31,-0.07 0.14,0 0.14,0 0.26,-0.07 0.21,-0.06c0.11,0 0.22,0 0.33,-0.09l0.13,0h0l0.17,-0.07 0.12,0 0.08,0h0l0.28,-0.1 0.11,0 0.67,-0.29 0.12,0 0.08,0 0.16,-0.07 0.13,-0.06c0.21,-0.11 0.41,-0.25 0.62,-0.37l0.23,-0.12 0.1,-0.07c0.32,-0.2 0.62,-0.41 0.92,-0.63l0.12,-0.09 0.07,0c0.32,-0.25 0.62,-0.52 0.92,-0.79l0.05,0h0l0,0c0.3,-0.29 0.59,-0.59 0.87,-0.91h0l0.06,-0.07h0c0.13,-0.16 0.28,-0.31 0.41,-0.48a12.92,12.92 0,0 0,2.69 -7.9c0,-0.34 0,-0.67 -0.06,-1 0,0 0,0 0.06,-0.05V35.37Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?attr/toolbarTextColor"
|
||||
android:pathData="M248.67,26.69m-2.77,0a2.77,2.77 0,1 1,5.54 0a2.77,2.77 0,1 1,-5.54 0" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?attr/toolbarTextColor"
|
||||
android:pathData="M246,34.24V68.61a7.66,7.66 0,0 1,-7.65 7.65v5.36a13,13 0,0 0,13 -13V34.24Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?attr/toolbarTextColor"
|
||||
android:pathData="M192.06,69.46V48.38a7.67,7.67 0,0 1,7.66 -7.66V35.37a13,13 0,0 0,-13 13V69.46Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?attr/toolbarTextColor"
|
||||
android:pathData="M116.59,68.6V48.38a7.65,7.65 0,0 1,1.8 -4.93c0.17,-0.19 0.34,-0.38 0.53,-0.56l0.11,-0.1a4.81,4.81 0,0 1,0.48 -0.42l0.17,-0.13 0.47,-0.32 0.21,-0.13c0.15,-0.09 0.31,-0.17 0.47,-0.25a1.92,1.92 0,0 1,0.25 -0.12l0.47,-0.2 0.28,-0.1 0.49,-0.14 0.29,-0.08c0.18,0 0.36,-0.06 0.55,-0.09l0.25,0a7.55,7.55 0,0 1,0.83 -0.05c0.3,0 0.6,0 0.9,0.06l0.26,0a6,6 0,0 1,0.61 0.12l0.29,0.07 0.59,0.2 0.23,0.08a7,7 0,0 1,0.78 0.37h0c0.25,0.14 0.48,0.29 0.72,0.45l0.17,0.14a6.54,6.54 0,0 1,0.51 0.41l0.17,0.16c0.17,0.16 0.33,0.32 0.48,0.49a0.69,0.69 0,0 1,0.11 0.13,7.4 7.4,0 0,1 1.82,4.94V68.6h5.36V49.42l-0.06,-0.05c0,-0.33 0.06,-0.66 0.06,-1a12.92,12.92 0,0 0,-2.69 -7.9,6.12 6.12,0 0,0 -0.41,-0.48h0l-0.06,-0.07h0a10.65,10.65 0,0 0,-0.87 -0.91l0,0h0l0,-0.05c-0.29,-0.27 -0.6,-0.54 -0.92,-0.79l-0.07,0L132,38c-0.3,-0.22 -0.6,-0.44 -0.92,-0.63l-0.1,-0.07 -0.22,-0.12 -0.15,-0.09h0l-0.13,-0.06 -0.35,-0.21 -0.13,-0.06 -0.16,-0.07 -0.07,0 -0.19,-0.07 -0.37,-0.17 -0.35,-0.15 -0.28,-0.1h0l-0.09,0 -0.14,0 -0.14,-0.06h0l-0.13,0c-0.11,0 -0.22,-0.06 -0.33,-0.09a1.41,1.41 0,0 0,-0.22 -0.06l-0.25,-0.07 -0.14,0 -0.14,0 -0.32,-0.07h0l-0.47,-0.07 -0.13,0 -0.16,0 -0.2,0h-0.24c-0.4,0 -0.81,-0.06 -1.22,-0.06s-0.82,0 -1.22,0.06h-0.24l-0.2,0 -0.16,0 -0.13,0 -0.47,0.07h0l-0.32,0.07 -0.14,0 -0.14,0 -0.25,0.07a1.41,1.41 0,0 0,-0.22 0.06c-0.11,0 -0.22,0 -0.33,0.09l-0.13,0h0l-0.17,0.07 -0.11,0 -0.09,0h0l-0.28,0.1 -0.11,0.05 -0.68,0.29 -0.12,0 -0.08,0 -0.15,0.07 -0.13,0.06c-0.22,0.11 -0.42,0.25 -0.63,0.37l-0.23,0.12 -0.09,0.07a10,10 0,0 0,-0.92 0.63l-0.12,0.09 -0.07,0c-0.32,0.25 -0.63,0.52 -0.93,0.79l0,0.05h0l0,0a12.33,12.33 0,0 0,-0.86 0.91h0l-0.06,0.07h0a6.12,6.12 0,0 0,-0.41 0.48,12.92 12.92,0 0,0 -2.69,7.9c0,0.34 0,0.67 0.06,1l-0.06,0.05V68.6Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?attr/toolbarTextColor"
|
||||
android:pathData="M46.46,34.21a13.35,13.35 0,0 0,-10.63 5.22,13.34 13.34,0 0,0 -18.47,-2.75V34.85l-5.5,0 -0.12,33.4 5.51,0 0.07,-20.77a7.86,7.86 0,0 1,15.72 0.05L33,68.3l5.5,0 0.07,-20.77a7.86,7.86 0,0 1,15.72 0.05L54.2,68.38a7.87,7.87 0,0 1,-7.89 7.83v5.5A13.37,13.37 0,0 0,59.7 68.39l0.08,-22.26h0A13.47,13.47 0,0 0,46.46 34.21Z" />
|
||||
</vector>
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
android:viewportWidth="256"
|
||||
android:viewportHeight="256">
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M127.998,0C57.318,0 0,57.317 0,127.999c0,14.127 2.29,27.716 6.518,40.43H44.8V60.733l83.2,83.2 83.198,-83.2v107.695h38.282c4.231,-12.714 6.521,-26.303 6.521,-40.43C256,57.314 198.681,0 127.998,0" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M108.867,163.062l-36.31,-36.311v67.765H18.623c22.47,36.863 63.051,61.48 109.373,61.48s86.907,-24.617 109.374,-61.48h-53.933V126.75l-36.31,36.31 -19.13,19.129 -19.128,-19.128h-0.002z" />
|
||||
</vector>
|
||||
|
|
|
@ -2,18 +2,12 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="512dp"
|
||||
android:height="512dp"
|
||||
android:viewportHeight="1270"
|
||||
android:viewportWidth="1270">
|
||||
android:viewportWidth="1270"
|
||||
android:viewportHeight="1270">
|
||||
|
||||
<group
|
||||
android:translateX="146"
|
||||
android:translateY="0">
|
||||
<!--path
|
||||
android:fillColor="#ff6600"
|
||||
android:pathData="M-146,-73 L-146,1197
|
||||
L 1270,1197
|
||||
L 1270,-73
|
||||
Z" /-->
|
||||
<group
|
||||
android:scaleY="-1"
|
||||
android:translateX="-103"
|
||||
|
@ -23,14 +17,14 @@
|
|||
android:translateX="1013.0865"
|
||||
android:translateY="153.4532">
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?attr/toolbarTextColor"
|
||||
android:pathData="m 0,0 c 19.062,0 35.203,6.594 48.406,19.797 13.188,13.187 19.797,29.328 19.797,48.391 0,19.062 -6.609,35.203 -19.797,48.406 -13.203,13.187 -29.156,19.797 -47.859,19.797 -18.703,0 -34.656,-6.61 -47.844,-19.797 C -60.5,103.391 -67.094,87.25 -67.094,68.188 c 0,-19.063 6.406,-35.204 19.25,-48.391 C -35.016,6.594 -19.062,0 0,0" />
|
||||
</group>
|
||||
<group
|
||||
android:translateX="1000"
|
||||
android:translateY="0">
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="?attr/toolbarTextColor"
|
||||
android:pathData="m 0,0 c -44.734,44.359 -101.083,66.547 -169.27,66.547 -48.406,0 -91.424,-11.563 -129.19,-34.656 -37.781,-23.094 -67.626,-55.172 -89.626,-96.235 -19.063,42.532 -47.282,74.969 -84.688,97.344 -37.407,22.359 -79.233,33.547 -125.421,33.547 -90.203,0 -155.936,-35.938 -196.936,-107.797 v 98.157 h -101 v -604 h 101 v 340.843 c 0,60.859 14.881,107.062 44.584,138.594 29.703,31.531 70.425,47.312 122.129,47.312 51.687,0 92.073,-15.781 121.417,-47.312 29.328,-31.532 43.87,-77.735 43.87,-138.594 v -340.843 h 99 v 340.843 c 0,60.859 14.983,107.062 44.686,138.594 29.703,31.531 70.288,47.312 121.632,47.312 51.328,0 91.638,-15.781 121.341,-47.312 29.687,-31.532 44.341,-77.735 44.341,-138.594 v -341 l -0.76,-129.797 c 0,-26.406 -5.245,-45.453 -16.605,-56.828 -11.375,-11.359 -30.543,-17.218 -58.418,-17.218 h -43.217 v -82 h 63.03 c 104.125,0 154.97,51.921 154.97,156.046 v 129.797 357.5 C 66.869,-107.625 44.734,-44.375 0,0" />
|
||||
</group>
|
||||
</group>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="?colorOnSurface"
|
||||
android:pathData="M10,6L8.59,7.41 13.17,12l-4.58,4.59L10,18l6,-6z" />
|
|
@ -1,9 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
<path
|
||||
android:fillColor="?colorOnSurface"
|
||||
android:pathData="M10,6L8.59,7.41 13.17,12l-4.58,4.59L10,18l6,-6z" />
|
||||
</vector>
|
|
@ -2,18 +2,11 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="29dp"
|
||||
android:height="29dp"
|
||||
android:viewportHeight="29"
|
||||
android:viewportWidth="29">
|
||||
|
||||
<group
|
||||
android:translateX="-219.000000"
|
||||
android:translateY="-7.000000">
|
||||
<group
|
||||
android:translateX="219.000000"
|
||||
android:translateY="7.000000">
|
||||
<path
|
||||
android:fillColor="#FEFEFE"
|
||||
android:pathData="M11.0476403,8.86547314 C10.1626979,9.41441547 9.41459398,10.1624996
|
||||
android:viewportWidth="29"
|
||||
android:viewportHeight="29">
|
||||
<path
|
||||
android:fillColor="#FEFEFE"
|
||||
android:pathData="M11.0476403,8.86547314 C10.1626979,9.41441547 9.41459398,10.1624996
|
||||
8.86563718,11.047619 L3.4524022,5.63432651 L5.63440531,3.45238095
|
||||
L11.0476403,8.86547314 Z M14.8450352,7.41694052 C14.2508096,7.41694052
|
||||
13.6733955,7.47975215 13.1190689,7.5952381 L13.1190689,0 L16.5714498,0
|
||||
|
@ -35,7 +28,5 @@ L23.36578,25.547619 L17.9524022,20.1345269 Z M14.8450352,21.5830595
|
|||
C15.4394849,21.5830595 16.0168991,21.5200491 16.5714498,21.4047619
|
||||
L16.5714498,29 L13.1190689,29 L13.1190689,21.4047619 C13.6733955,21.5200491
|
||||
14.2508096,21.5830595 14.8450352,21.5830595 Z"
|
||||
android:strokeWidth="1" />
|
||||
</group>
|
||||
</group>
|
||||
android:strokeWidth="1" />
|
||||
</vector>
|
|
@ -1,9 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="?attr/colorPrimary"
|
||||
android:fillColor="?android:textColorSecondary"
|
||||
android:pathData="M20,2L4,2c-1.1,0 -2,0.9 -2,2v16c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM20,20L4,20L4,4h16v16zM18,6h-5c-1.1,0 -2,0.9 -2,2v2.28c-0.6,0.35 -1,0.98 -1,1.72 0,1.1 0.9,2 2,2s2,-0.9 2,-2c0,-0.74 -0.4,-1.38 -1,-1.72L13,8h3v8L8,16L8,8h2L10,6L6,6v12h12L18,6z" />
|
||||
</vector>
|
|
@ -1,9 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="@color/monerujoGive"
|
||||
android:fillColor="?attr/neutralColor"
|
||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM6.5,9L10,5.5 13.5,9L11,9v4L9,13L9,9L6.5,9zM17.5,15L14,18.5 10.5,15L13,15v-4h2v4h2.5z" />
|
||||
</vector>
|
|
@ -1,9 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="@color/btn_color_selector"
|
||||
android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z" />
|
||||
</vector>
|
|
@ -1,9 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="?attr/colorPrimary"
|
||||
android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z" />
|
||||
</vector>
|
|
@ -5,17 +5,17 @@
|
|||
android:viewportHeight="6.3500004">
|
||||
<path
|
||||
android:pathData="m4.518,3.147c0.341,-0.341 0.45,-0.827 0.327,-1.26 -0.433,-0.123 -0.919,-0.014 -1.26,0.327 -0.341,0.341 -0.45,0.827 -0.327,1.26 0.433,0.123 0.919,0.014 1.26,-0.328"
|
||||
android:fillColor="#ffffff"/>
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="m2.731,2.214c-0.341,-0.341 -0.826,-0.45 -1.26,-0.327 -0.123,0.433 -0.014,0.919 0.327,1.26 0.341,0.341 0.827,0.45 1.26,0.328 0.123,-0.433 0.014,-0.919 -0.327,-1.26"
|
||||
android:fillColor="#ffffff"/>
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="M3.064,2.185l0.206,0l0,3.126l-0.206,0z"
|
||||
android:fillColor="#ffffff"/>
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="m4.18,5.357c0,-0.549 -0.445,-0.994 -0.994,-0.994 -0.549,0 -0.994,0.445 -0.994,0.994 0,0.549 0.445,0.994 0.994,0.994 0.549,0 0.994,-0.445 0.994,-0.994"
|
||||
android:fillColor="#ffffff"/>
|
||||
android:fillColor="#000"/>
|
||||
<path
|
||||
android:pathData="m3.834,1.123c0,-0.482 -0.266,-0.903 -0.659,-1.123 -0.393,0.22 -0.659,0.64 -0.659,1.123 -0,0.483 0.266,0.903 0.659,1.123 0.393,-0.22 0.659,-0.64 0.659,-1.123"
|
||||
android:fillColor="#ffffff"/>
|
||||
android:fillColor="#000"/>
|
||||
</vector>
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M19.14,12.94c0.04,-0.3 0.06,-0.61 0.06,-0.94c0,-0.32 -0.02,-0.64 -0.07,-0.94l2.03,-1.58c0.18,-0.14 0.23,-0.41 0.12,-0.61l-1.92,-3.32c-0.12,-0.22 -0.37,-0.29 -0.59,-0.22l-2.39,0.96c-0.5,-0.38 -1.03,-0.7 -1.62,-0.94L14.4,2.81c-0.04,-0.24 -0.24,-0.41 -0.48,-0.41h-3.84c-0.24,0 -0.43,0.17 -0.47,0.41L9.25,5.35C8.66,5.59 8.12,5.92 7.63,6.29L5.24,5.33c-0.22,-0.08 -0.47,0 -0.59,0.22L2.74,8.87C2.62,9.08 2.66,9.34 2.86,9.48l2.03,1.58C4.84,11.36 4.8,11.69 4.8,12s0.02,0.64 0.07,0.94l-2.03,1.58c-0.18,0.14 -0.23,0.41 -0.12,0.61l1.92,3.32c0.12,0.22 0.37,0.29 0.59,0.22l2.39,-0.96c0.5,0.38 1.03,0.7 1.62,0.94l0.36,2.54c0.05,0.24 0.24,0.41 0.48,0.41h3.84c0.24,0 0.44,-0.17 0.47,-0.41l0.36,-2.54c0.59,-0.24 1.13,-0.56 1.62,-0.94l2.39,0.96c0.22,0.08 0.47,0 0.59,-0.22l1.92,-3.32c0.12,-0.22 0.07,-0.47 -0.12,-0.61L19.14,12.94zM12,15.6c-1.98,0 -3.6,-1.62 -3.6,-3.6s1.62,-3.6 3.6,-3.6s3.6,1.62 3.6,3.6S13.98,15.6 12,15.6z" />
|
||||
</vector>
|
|
@ -1,9 +1,10 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="@color/monerujoToolbarText"
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92 1.61,0 2.92,-1.31 2.92,-2.92s-1.31,-2.92 -2.92,-2.92z" />
|
||||
</vector>
|
|
@ -4,9 +4,9 @@
|
|||
android:viewportWidth="80.52"
|
||||
android:viewportHeight="80.46">
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:pathData="M66.07,9.67A40,40 0,0 0,9.69 66.11Z" />>
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M66.07,9.67A40,40 0,0 0,9.69 66.11Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M13.92,70.34a40,40 0,0 0,56.45 -56.5Z" />
|
||||
</vector>
|
||||
|
|
|
@ -4,45 +4,45 @@
|
|||
android:viewportWidth="648"
|
||||
android:viewportHeight="80">
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M65.94,9.56A40,40 0,0 0,9.56 66Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M13.79,70.23a40,40 0,0 0,56.45 -56.5Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M144.75,28a9.12,9.12 0,0 0,-1 -4.48A8.81,8.81 0,0 0,141 20.29a14.14,14.14 0,0 0,-4 -1.95,15.61 15.61,0 0,0 -4.84,-0.68 15.34,15.34 0,0 0,-4.24 0.58,11.88 11.88,0 0,0 -3.55,1.66 7.15,7.15 0,0 0,-2.47 2.63,7.26 7.26,0 0,0 -0.88,3.61v0.49a7.11,7.11 0,0 0,0.88 3.7A6.91,6.91 0,0 0,124.53 33,19 19,0 0,0 129,34.82a58.17,58.17 0,0 0,6.31 1.27C140.9,37 145,38.52 147.61,41a12.31,12.31 0,0 1,3.94 9.66v0.87a16,16 0,0 1,-1.18 6.25,13.23 13.23,0 0,1 -3.55,4.87 17,17 0,0 1,-5.72 3.22,24.6 24.6,0 0,1 -8,1.17A26.21,26.21 0,0 1,124 65.54a18,18 0,0 1,-6.6 -4.1,18.51 18.51,0 0,1 -4.05,-6.14A21.41,21.41 0,0 1,112 47.59V45.35h6.41V47.2c0,4.68 1.28,8.1 3.85,10.44s6.11,3.51 10.75,3.51c4,0 7,-0.88 9,-2.63a8.82,8.82 0,0 0,3 -6.93V51.1a7.26,7.26 0,0 0,-3 -6.33q-3.12,-2.21 -10.06,-3.22a38.07,38.07 0,0 1,-7.3 -1.66,17.24 17.24,0 0,1 -5.53,-2.83 13.62,13.62 0,0 1,-3.55 -4.29,13.48 13.48,0 0,1 -1.18,-5.85V26a11.87,11.87 0,0 1,1.28 -5.65,13.37 13.37,0 0,1 3.65,-4.49A16.94,16.94 0,0 1,124.92 13a26.31,26.31 0,0 1,15.19 0.29,21.17 21.17,0 0,1 6,3.41 14.69,14.69 0,0 1,5 11.12V31h-6.41V28Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M161.91,12.68h33.93v5.85H182.13V59.59h13.71v5.85H161.91V59.59h13.71v-41H161.91Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M207.78,12.68h17.56q9.91,0 14.5,4.68c3,3.12 4.53,8.1 4.53,14.92L244.37,45.84c0,6.82 -1.48,11.8 -4.53,14.92s-7.89,4.68 -14.5,4.68L207.78,65.44L207.78,59.49h4.54L212.32,18.63h-4.54ZM224.45,59.68a22.74,22.74 0,0 0,6.11 -0.69,9.73 9.73,0 0,0 4.24,-2.34 9.43,9.43 0,0 0,2.47 -4.39,26.62 26.62,0 0,0 0.79,-6.82L238.06,32.77a26.2,26.2 0,0 0,-0.79 -6.83,10 10,0 0,0 -2.47,-4.38 9.73,9.73 0,0 0,-4.24 -2.34,22.26 22.26,0 0,0 -6.11,-0.69h-5.62L218.83,59.59h5.62Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M256.21,12.68h32.35v5.85H262.62V36.09h25.55v5.85H262.62V59.59h26.43v5.85H256.21Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M331.67,28a9.12,9.12 0,0 0,-1 -4.48,8.81 8.81,0 0,0 -2.76,-3.22 14.2,14.2 0,0 0,-4.05 -1.95,15.55 15.55,0 0,0 -4.83,-0.68 15.34,15.34 0,0 0,-4.24 0.58,11.77 11.77,0 0,0 -3.55,1.66 7.07,7.07 0,0 0,-2.47 2.63,7.26 7.26,0 0,0 -0.89,3.61v0.49a7.11,7.11 0,0 0,0.89 3.7A6.91,6.91 0,0 0,311.45 33a19,19 0,0 0,4.44 1.85,58.17 58.17,0 0,0 6.31,1.27c5.62,0.87 9.76,2.43 12.33,4.87a12.31,12.31 0,0 1,3.94 9.66v0.87a16,16 0,0 1,-1.18 6.25,13.23 13.23,0 0,1 -3.55,4.87A17,17 0,0 1,328 65.83,24.64 24.64,0 0,1 320,67 26.21,26.21 0,0 1,311 65.54a18.09,18.09 0,0 1,-6.61 -4.1,18.63 18.63,0 0,1 -4,-6.14 21.41,21.41 0,0 1,-1.38 -7.71V45.35h6.41V47.2c0,4.68 1.28,8.1 3.85,10.44s6.11,3.51 10.75,3.51c3.94,0 7,-0.88 9,-2.63A8.8,8.8 0,0 0,332 51.59V51.1a7.24,7.24 0,0 0,-3.06 -6.33q-3.11,-2.21 -10.06,-3.22a38,38 0,0 1,-7.29 -1.66A17.24,17.24 0,0 1,306 37.06a13.62,13.62 0,0 1,-3.55 -4.29,13.48 13.48,0 0,1 -1.18,-5.85V26a11.87,11.87 0,0 1,1.28 -5.65,13.37 13.37,0 0,1 3.65,-4.49A16.94,16.94 0,0 1,311.84 13a26.31,26.31 0,0 1,15.19 0.29,21.17 21.17,0 0,1 6,3.41 14.69,14.69 0,0 1,5 11.12V31h-6.41Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M348,12.68h6.41V36.09h22.79V12.68h6.41V65.54h-6.41V42H354.45V65.63H348Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M395.68,12.68h33.93v5.85H415.9V59.59h13.71v5.85H395.68V59.59h13.71v-41H395.68Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M443.23,12.68h32.84v5.85H449.64V36.09h25.94v5.85H449.64v23.6h-6.41V12.68Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M487.32,12.68H524.9v5.85H509.32v47H502.9V18.63H487.32V12.68Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M537.33,61.34a4.74,4.74 0,0 1,1.58 -3.7,5 5,0 0,1 3.74,-1.56A5.36,5.36 0,0 1,548 61.34a4.76,4.76 0,0 1,-1.58 3.71,5 5,0 0,1 -3.75,1.56 4.86,4.86 0,0 1,-3.74 -1.56A4.76,4.76 0,0 1,537.33 61.34Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M595.82,52.47H572.94l-3.85,13.16h-6.91l16.08,-52.95h12l16.17,52.86h-6.9ZM583.89,15.41l-9.28,31.11H594l-9.27,-31.11Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M614.07,12.68H648v5.85H634.29V59.59H648v5.85H614.07V59.59h13.71v-41H614.07Z" />
|
||||
</vector>
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportWidth="85.43"
|
||||
android:viewportHeight="85.43">
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M43.37,4.22a38.5,38.5 0,1 0,38.5 38.49A38.54,38.54 0,0 0,43.37 4.22ZM17.51,36.9c0,-3.91 2.77,-9.74 10.42,-9.74S38.35,33 38.35,36.9a3.5,3.5 0,0 1,-7 0c-0.06,-1.8 -1.22,-2.74 -3.42,-2.74 -3.09,0 -3.42,1.92 -3.42,2.74a3.5,3.5 0,0 1,-7 0ZM65,50.11c-1.14,5.82 -7.12,16.83 -21.59,16.83s-20.45,-11 -21.59,-16.83a3.5,3.5 0,0 1,3.44 -4.17L61.53,45.94a3.5,3.5 0,0 1,2.7 1.27A3.46,3.46 0,0 1,65 50.11ZM65.78,40.4a3.5,3.5 0,0 1,-3.5 -3.5c-0.07,-1.8 -1.22,-2.74 -3.42,-2.74 -3.09,0 -3.43,1.92 -3.43,2.74a3.5,3.5 0,0 1,-7 0c0,-3.91 2.78,-9.74 10.43,-9.74S69.24,33 69.24,36.9A3.5,3.5 0,0 1,65.74 40.4Z" />
|
||||
</vector>
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
android:viewportWidth="85.43"
|
||||
android:viewportHeight="85.43">
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M77.39,26A38.49,38.49 0,0 0,8 26Z" />
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M79.54,33c-2.3,8.19 -9.06,14.12 -17.06,14.12S47.73,41.19 45.43,33L41.34,33C39,41.19 31.93,47.12 23.63,47.12S8.31,41.19 5.92,33L5.46,33A38.5,38.5 0,1 0,80 33ZM34.65,63.54L12.24,63.54C20,51.84 29.09,49 32.86,48.34a8.44,8.44 0,0 1,1.6 -0.21h0.19a7.71,7.71 0,0 1,0 15.42ZM50.42,63.54a7.71,7.71 0,0 1,0 -15.42h0.19a8.34,8.34 0,0 1,1.6 0.21c3.78,0.68 12.87,3.5 20.62,15.2Z" />
|
||||
</vector>
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportWidth="85.43"
|
||||
android:viewportHeight="85.43">
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M42.8,4.22A38.5,38.5 0,1 0,81.29 42.71,38.54 38.54,0 0,0 42.8,4.22ZM58.21,28.5a5.29,5.29 0,1 1,-5.28 5.28A5.28,5.28 0,0 1,58.21 28.5ZM27.39,28.5a5.29,5.29 0,1 1,-5.29 5.28A5.28,5.28 0,0 1,27.39 28.5ZM64.39,50.11c-1.14,5.82 -7.12,16.83 -21.59,16.83s-20.45,-11 -21.59,-16.83a3.5,3.5 0,1 1,6.87 -1.34c0.23,1.12 2.68,11.17 14.72,11.17 12.39,0 14.63,-10.72 14.72,-11.17a3.5,3.5 0,1 1,6.87 1.34Z" />
|
||||
</vector>
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportWidth="85.43"
|
||||
android:viewportHeight="85.43">
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M42.71,4.22a38.5,38.5 0,1 0,38.5 38.49A38.54,38.54 0,0 0,42.71 4.22ZM22,33.78a5.28,5.28 0,1 1,5.28 5.29A5.27,5.27 0,0 1,22 33.78ZM58.83,53.78L28,60.24a3.5,3.5 0,0 1,-1.44 -6.85L57.4,46.9a3.5,3.5 0,0 1,1.45 6.85ZM58.11,39.1a5.29,5.29 0,1 1,5.28 -5.29A5.29,5.29 0,0 1,58.13 39.07Z" />
|
||||
</vector>
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportWidth="85.43"
|
||||
android:viewportHeight="85.43">
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M42.84,4.22a38.5,38.5 0,1 0,38.5 38.49A38.54,38.54 0,0 0,42.84 4.22ZM22.15,33.78a5.28,5.28 0,1 1,5.28 5.29A5.27,5.27 0,0 1,22.15 33.78ZM58.26,56.84L27.43,56.84a3.5,3.5 0,0 1,0 -7L58.26,49.84a3.5,3.5 0,0 1,0 7ZM58.26,39.07a5.29,5.29 0,1 1,5.28 -5.29A5.29,5.29 0,0 1,58.26 39.07Z" />
|
||||
</vector>
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportWidth="85.43"
|
||||
android:viewportHeight="85.43">
|
||||
<path
|
||||
android:fillColor="@color/monerujoPrimary"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M44.89,4.22A38.5,38.5 0,1 0,83.38 42.71,38.54 38.54,0 0,0 44.89,4.22ZM19,30.66a3.5,3.5 0,0 1,7 0c0.07,1.8 1.22,2.74 3.42,2.74 3.09,0 3.43,-1.91 3.43,-2.74a3.5,3.5 0,0 1,7 0c0,3.92 -2.78,9.74 -10.43,9.74S19,34.58 19,30.66ZM65.31,60.29a3.44,3.44 0,0 1,-2 0.65,3.49 3.49,0 0,1 -2.86,-1.47 18.77,18.77 0,0 0,-31.09 0,3.5 3.5,0 0,1 -5.71,-4.06A26.25,26.25 0,0 1,44.89 44.22,26.25 26.25,0 0,1 66.14,55.41 3.5,3.5 0,0 1,65.31 60.29ZM60.31,40.4c-7.65,0 -10.42,-5.82 -10.42,-9.74a3.5,3.5 0,1 1,7 0c0.06,1.8 1.22,2.74 3.42,2.74 3.09,0 3.42,-1.91 3.42,-2.74a3.5,3.5 0,1 1,7 0C70.75,34.58 68,40.4 60.33,40.4Z" />
|
||||
</vector>
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
<path
|
||||
android:fillColor="@color/monerujoGreen"
|
||||
android:fillColor="?attr/positiveColor"
|
||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM10,17l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z" />
|
||||
</vector>
|
|
@ -5,9 +5,9 @@
|
|||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillAlpha=".3"
|
||||
android:fillColor="@color/wifi"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M12.01,21.49L23.64,7c-0.45,-0.34 -4.93,-4 -11.64,-4C5.28,3 0.81,6.66 0.36,7l11.63,14.49 0.01,0.01 0.01,-0.01z" />
|
||||
<path
|
||||
android:fillColor="@color/wifi"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M6.67,14.86L12,21.49v0.01l0.01,-0.01 5.33,-6.63C17.06,14.65 15.03,13 12,13s-5.06,1.65 -5.33,1.86z" />
|
||||
</vector>
|
|
@ -5,9 +5,9 @@
|
|||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillAlpha=".3"
|
||||
android:fillColor="@color/wifi"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M12.01,21.49L23.64,7c-0.45,-0.34 -4.93,-4 -11.64,-4C5.28,3 0.81,6.66 0.36,7l11.63,14.49 0.01,0.01 0.01,-0.01z" />
|
||||
<path
|
||||
android:fillColor="@color/wifi"
|
||||
android:fillColor="?colorPrimary"
|
||||
android:pathData="M4.79,12.52l7.2,8.98H12l0.01,-0.01 7.2,-8.98C18.85,12.24 16.1,10 12,10s-6.85,2.24 -7.21,2.52z" />
|
||||
</vector>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue