* Support multiple colour themes
* Fix sharing
* Add settings
* Fantastic UI tweaks
This commit is contained in:
m2049r 2022-03-09 19:10:30 +01:00 committed by GitHub
parent 7b96baeca7
commit cdb29bbc2e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
174 changed files with 1419 additions and 755 deletions

View File

@ -1,15 +1,15 @@
apply plugin: 'com.android.application' apply plugin: 'com.android.application'
android { android {
compileSdkVersion 30 compileSdkVersion 31
buildToolsVersion '30.0.3' buildToolsVersion '30.0.3'
ndkVersion '17.2.4988734' ndkVersion '17.2.4988734'
defaultConfig { defaultConfig {
applicationId "com.m2049r.xmrwallet" applicationId "com.m2049r.xmrwallet"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 30 targetSdkVersion 31
versionCode 1301 versionCode 1303
versionName "2.3.1 'Doménikos'" versionName "2.3.3 'Baldaŭ'"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
externalNativeBuild { externalNativeBuild {
cmake { cmake {
@ -120,38 +120,39 @@ static def getId(name) {
} }
dependencies { dependencies {
implementation 'androidx.core:core:1.6.0' implementation 'androidx.core:core:1.7.0'
implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1' implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.1' 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 'me.dm7.barcodescanner:zxing:1.9.8'
implementation "com.squareup.okhttp3:okhttp:4.9.0" implementation "com.squareup.okhttp3:okhttp:4.9.3"
implementation "io.github.rburgst:okhttp-digest:2.5" implementation "io.github.rburgst:okhttp-digest:2.6"
implementation "com.jakewharton.timber:timber:4.7.1" implementation "com.jakewharton.timber:timber:5.0.1"
implementation 'info.guardianproject.netcipher:netcipher:2.1.0' implementation 'info.guardianproject.netcipher:netcipher:2.1.0'
//implementation 'info.guardianproject.netcipher:netcipher-okhttp3:2.1.0' //implementation 'info.guardianproject.netcipher:netcipher-okhttp3:2.1.0'
implementation fileTree(dir: 'libs/classes', include: ['*.jar']) 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 'dnsjava:dnsjava:2.1.9'
implementation 'org.jitsi:dnssecjava:1.2.0' 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' implementation 'com.github.brnunes:swipeablerecyclerview:1.0.2'
//noinspection GradleDependency //noinspection GradleDependency
testImplementation "junit:junit:$rootProject.ext.junitVersion" testImplementation "junit:junit:4.13.2"
testImplementation "org.mockito:mockito-all:$rootProject.ext.mockitoVersion" testImplementation "org.mockito:mockito-all:1.10.19"
testImplementation "com.squareup.okhttp3:mockwebserver:4.9.0" testImplementation "com.squareup.okhttp3:mockwebserver:4.9.3"
testImplementation 'org.json:json:20180813' testImplementation 'org.json:json:20211205'
testImplementation 'net.jodah:concurrentunit:0.4.4' testImplementation 'net.jodah:concurrentunit:0.4.6'
compileOnly 'org.projectlombok:lombok:1.18.16' compileOnly 'org.projectlombok:lombok:1.18.22'
annotationProcessor 'org.projectlombok:lombok:1.18.16' annotationProcessor 'org.projectlombok:lombok:1.18.22'
} }

View File

@ -18,7 +18,6 @@
<intent> <intent>
<action android:name="org.torproject.android.intent.action.STATUS" /> <action android:name="org.torproject.android.intent.action.STATUS" />
</intent> </intent>
<intent> <intent>
<action android:name="org.torproject.android.REQUEST_HS_PORT" /> <action android:name="org.torproject.android.REQUEST_HS_PORT" />
</intent> </intent>
@ -36,15 +35,17 @@
android:label="@string/app_name" android:label="@string/app_name"
android:preserveLegacyExternalStorage="true" android:preserveLegacyExternalStorage="true"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/MyMaterialTheme" android:theme="@style/MyMaterialThemeClassic"
android:usesCleartextTraffic="true"> android:usesCleartextTraffic="true">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:configChanges="orientation|keyboardHidden|uiMode" android:configChanges="orientation|keyboardHidden|uiMode"
android:exported="true"
android:launchMode="singleTop" android:launchMode="singleTop"
android:screenOrientation="portrait"> android:screenOrientation="portrait">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity> </activity>
@ -56,24 +57,25 @@
android:screenOrientation="behind" /> android:screenOrientation="behind" />
<activity <activity
android:name=".LoginActivity" android:name=".LoginActivity"
android:configChanges="orientation|keyboardHidden|uiMode" android:configChanges="orientation|keyboardHidden"
android:exported="true"
android:label="@string/app_name" android:label="@string/app_name"
android:launchMode="singleTop" android:launchMode="singleTop"
android:screenOrientation="locked"> android:screenOrientation="locked">
<intent-filter> <intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter> </intent-filter>
<intent-filter android:label="@string/app_name"> <intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
<data android:scheme="monero" /> <data android:scheme="monero" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.BROWSABLE" />
</intent-filter> </intent-filter>
<intent-filter android:label="@string/app_name"> <intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
<data android:scheme="bitcoin" /> <data android:scheme="bitcoin" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
@ -106,4 +108,5 @@
android:resource="@xml/filepaths" /> android:resource="@xml/filepaths" />
</provider> </provider>
</application> </application>
</manifest> </manifest>

View File

@ -27,6 +27,7 @@ import android.nfc.NfcAdapter;
import android.nfc.Tag; import android.nfc.Tag;
import android.nfc.tech.Ndef; import android.nfc.tech.Ndef;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
@ -180,7 +181,7 @@ public class BaseActivity extends SecureActivity
return; return;
nfcPendingIntent = PendingIntent.getActivity(this, 0, nfcPendingIntent = PendingIntent.getActivity(this, 0,
new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 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) { private void processNfcIntent(Intent intent) {

View File

@ -36,7 +36,6 @@ import android.view.WindowManager;
import android.view.inputmethod.EditorInfo; import android.view.inputmethod.EditorInfo;
import android.widget.Button; import android.widget.Button;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
@ -58,7 +57,6 @@ import com.m2049r.xmrwallet.widget.Toolbar;
import java.io.File; import java.io.File;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Objects;
import timber.log.Timber; import timber.log.Timber;
@ -299,10 +297,10 @@ public class GenerateFragment extends Fragment {
if (etSeedOffset.getVisibility() == View.VISIBLE) { if (etSeedOffset.getVisibility() == View.VISIBLE) {
etSeedOffset.getEditText().getText().clear(); etSeedOffset.getEditText().getText().clear();
etSeedOffset.setVisibility(View.GONE); 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 { } else {
etSeedOffset.setVisibility(View.VISIBLE); 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(); etSeedOffset.requestFocusFromTouch();
} }
} }

View File

@ -46,7 +46,6 @@ import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import com.google.android.material.dialog.MaterialAlertDialogBuilder; 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.switchmaterial.SwitchMaterial;
import com.google.android.material.textfield.TextInputLayout; import com.google.android.material.textfield.TextInputLayout;
import com.m2049r.xmrwallet.ledger.Ledger; import com.m2049r.xmrwallet.ledger.Ledger;
@ -200,10 +199,10 @@ public class GenerateReviewFragment extends Fragment {
void toggleAdvancedInfo() { void toggleAdvancedInfo() {
if (llAdvancedInfo.getVisibility() == View.VISIBLE) { if (llAdvancedInfo.getVisibility() == View.VISIBLE) {
llAdvancedInfo.setVisibility(View.GONE); 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 { } else {
llAdvancedInfo.setVisibility(View.VISIBLE); 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)); scrollview.post(() -> scrollview.fullScroll(ScrollView.FOCUS_DOWN));
} }
} }
@ -212,10 +211,10 @@ public class GenerateReviewFragment extends Fragment {
if (etSeedOffset.getVisibility() == View.VISIBLE) { if (etSeedOffset.getVisibility() == View.VISIBLE) {
etSeedOffset.getEditText().getText().clear(); etSeedOffset.getEditText().getText().clear();
etSeedOffset.setVisibility(View.GONE); 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 { } else {
etSeedOffset.setVisibility(View.VISIBLE); 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(); etSeedOffset.requestFocusFromTouch();
} }
} }

View File

@ -26,6 +26,7 @@ import android.content.SharedPreferences;
import android.hardware.usb.UsbDevice; import android.hardware.usb.UsbDevice;
import android.hardware.usb.UsbManager; import android.hardware.usb.UsbManager;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@ -39,7 +40,6 @@ import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction; 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.DefaultNodes;
import com.m2049r.xmrwallet.data.Node; import com.m2049r.xmrwallet.data.Node;
import com.m2049r.xmrwallet.data.NodeInfo; import com.m2049r.xmrwallet.data.NodeInfo;
import com.m2049r.xmrwallet.dialog.AboutFragment;
import com.m2049r.xmrwallet.dialog.CreditsFragment; import com.m2049r.xmrwallet.dialog.CreditsFragment;
import com.m2049r.xmrwallet.dialog.HelpFragment; import com.m2049r.xmrwallet.dialog.HelpFragment;
import com.m2049r.xmrwallet.dialog.PrivacyFragment;
import com.m2049r.xmrwallet.ledger.Ledger; import com.m2049r.xmrwallet.ledger.Ledger;
import com.m2049r.xmrwallet.ledger.LedgerProgressDialog; import com.m2049r.xmrwallet.ledger.LedgerProgressDialog;
import com.m2049r.xmrwallet.model.NetworkType; import com.m2049r.xmrwallet.model.NetworkType;
import com.m2049r.xmrwallet.model.Wallet; import com.m2049r.xmrwallet.model.Wallet;
import com.m2049r.xmrwallet.model.WalletManager; import com.m2049r.xmrwallet.model.WalletManager;
import com.m2049r.xmrwallet.service.WalletService; import com.m2049r.xmrwallet.service.WalletService;
import com.m2049r.xmrwallet.util.DayNightMode;
import com.m2049r.xmrwallet.util.Helper; import com.m2049r.xmrwallet.util.Helper;
import com.m2049r.xmrwallet.util.KeyStoreHelper; import com.m2049r.xmrwallet.util.KeyStoreHelper;
import com.m2049r.xmrwallet.util.LegacyStorageHelper; import com.m2049r.xmrwallet.util.LegacyStorageHelper;
import com.m2049r.xmrwallet.util.LocaleHelper;
import com.m2049r.xmrwallet.util.MoneroThreadPoolExecutor; import com.m2049r.xmrwallet.util.MoneroThreadPoolExecutor;
import com.m2049r.xmrwallet.util.NetCipherHelper; import com.m2049r.xmrwallet.util.NetCipherHelper;
import com.m2049r.xmrwallet.util.NightmodeHelper;
import com.m2049r.xmrwallet.util.ThemeHelper; import com.m2049r.xmrwallet.util.ThemeHelper;
import com.m2049r.xmrwallet.util.ZipBackup; import com.m2049r.xmrwallet.util.ZipBackup;
import com.m2049r.xmrwallet.util.ZipRestore; import com.m2049r.xmrwallet.util.ZipRestore;
@ -77,12 +72,8 @@ import java.io.FileInputStream;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.nio.channels.FileChannel; import java.nio.channels.FileChannel;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.Collections;
import java.util.HashSet; import java.util.HashSet;
import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@ -90,7 +81,8 @@ import timber.log.Timber;
public class LoginActivity extends BaseActivity public class LoginActivity extends BaseActivity
implements LoginFragment.Listener, GenerateFragment.Listener, 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 GENERATE_STACK = "gen";
private static final String NODES_PREFS_NAME = "nodes"; private static final String NODES_PREFS_NAME = "nodes";
@ -293,6 +285,7 @@ public class LoginActivity extends BaseActivity
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
Timber.d("onCreate()"); Timber.d("onCreate()");
ThemeHelper.setPreferred(this);
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login); setContentView(R.layout.activity_login);
@ -308,8 +301,8 @@ public class LoginActivity extends BaseActivity
case Toolbar.BUTTON_CLOSE: case Toolbar.BUTTON_CLOSE:
finish(); finish();
break; break;
case Toolbar.BUTTON_CREDITS: case Toolbar.BUTTON_SETTINGS:
CreditsFragment.display(getSupportFragmentManager()); startSettingsFragment();
break; break;
case Toolbar.BUTTON_NONE: case Toolbar.BUTTON_NONE:
break; break;
@ -785,6 +778,11 @@ public class LoginActivity extends BaseActivity
Timber.d("NodeFragment placed"); Timber.d("NodeFragment placed");
} }
void startSettingsFragment() {
replaceFragment(new SettingsFragment(), null, null);
Timber.d("SettingsFragment placed");
}
void replaceFragment(Fragment newFragment, String stackName, Bundle extras) { void replaceFragment(Fragment newFragment, String stackName, Bundle extras) {
if (extras != null) { if (extras != null) {
newFragment.setArguments(extras); 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 @Override
public void onBackPressed() { public void onBackPressed() {
Fragment f = getSupportFragmentManager().findFragmentById(R.id.fragment_container); 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) { } else if (id == R.id.action_details_changepw) {
onWalletChangePassword(); onWalletChangePassword();
return true; return true;
} else if (id == R.id.action_license_info) {
AboutFragment.display(getSupportFragmentManager());
return true;
} else if (id == R.id.action_help_list) { } else if (id == R.id.action_help_list) {
HelpFragment.display(getSupportFragmentManager(), R.string.help_list); HelpFragment.display(getSupportFragmentManager(), R.string.help_list);
return true; return true;
@ -1208,18 +1148,6 @@ public class LoginActivity extends BaseActivity
((NodeFragment) f).restoreDefaultNodes(); ((NodeFragment) f).restoreDefaultNodes();
} }
return true; 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) { } else if (id == R.id.action_ledger_seed) {
Fragment f = getSupportFragmentManager().findFragmentById(R.id.fragment_container); Fragment f = getSupportFragmentManager().findFragmentById(R.id.fragment_container);
if (f instanceof GenerateFragment) { if (f instanceof GenerateFragment) {
@ -1333,7 +1261,8 @@ public class LoginActivity extends BaseActivity
registerReceiver(usbPermissionReceiver, new IntentFilter(ACTION_USB_PERMISSION)); registerReceiver(usbPermissionReceiver, new IntentFilter(ACTION_USB_PERMISSION));
usbManager.requestPermission(device, usbManager.requestPermission(device,
PendingIntent.getBroadcast(this, 0, 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 { } else {
Timber.d("no ledger device found"); Timber.d("no ledger device found");

View File

@ -38,7 +38,6 @@ import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.RecyclerView; 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.NetCipherHelper;
import com.m2049r.xmrwallet.util.NodePinger; import com.m2049r.xmrwallet.util.NodePinger;
import com.m2049r.xmrwallet.util.Notice; import com.m2049r.xmrwallet.util.Notice;
import com.m2049r.xmrwallet.util.ThemeHelper;
import com.m2049r.xmrwallet.widget.Toolbar; import com.m2049r.xmrwallet.widget.Toolbar;
import java.io.File; import java.io.File;
@ -143,7 +143,7 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
super.onResume(); super.onResume();
Timber.d("onResume() %s", activityCallback.getFavouriteNodes().size()); Timber.d("onResume() %s", activityCallback.getFavouriteNodes().size());
activityCallback.setTitle(null); activityCallback.setTitle(null);
activityCallback.setToolbarButton(Toolbar.BUTTON_CREDITS); activityCallback.setToolbarButton(Toolbar.BUTTON_SETTINGS);
activityCallback.showNet(); activityCallback.showNet();
showNetwork(); showNetwork();
//activityCallback.runOnNetCipher(this::pingSelectedNode); //activityCallback.runOnNetCipher(this::pingSelectedNode);
@ -163,12 +163,14 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
fabView = view.findViewById(R.id.fabView); fabView = view.findViewById(R.id.fabView);
fabKey = view.findViewById(R.id.fabKey); fabKey = view.findViewById(R.id.fabKey);
fabSeed = view.findViewById(R.id.fabSeed); fabSeed = view.findViewById(R.id.fabSeed);
fabImport = view.findViewById(R.id.fabImport);
fabLedger = view.findViewById(R.id.fabLedger); fabLedger = view.findViewById(R.id.fabLedger);
fabNewL = view.findViewById(R.id.fabNewL); fabNewL = view.findViewById(R.id.fabNewL);
fabViewL = view.findViewById(R.id.fabViewL); fabViewL = view.findViewById(R.id.fabViewL);
fabKeyL = view.findViewById(R.id.fabKeyL); fabKeyL = view.findViewById(R.id.fabKeyL);
fabSeedL = view.findViewById(R.id.fabSeedL); fabSeedL = view.findViewById(R.id.fabSeedL);
fabImportL = view.findViewById(R.id.fabImportL);
fabLedgerL = view.findViewById(R.id.fabLedgerL); fabLedgerL = view.findViewById(R.id.fabLedgerL);
fab_pulse = AnimationUtils.loadAnimation(getContext(), R.anim.fab_pulse); fab_pulse = AnimationUtils.loadAnimation(getContext(), R.anim.fab_pulse);
@ -183,6 +185,7 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
fabView.setOnClickListener(this); fabView.setOnClickListener(this);
fabKey.setOnClickListener(this); fabKey.setOnClickListener(this);
fabSeed.setOnClickListener(this); fabSeed.setOnClickListener(this);
fabImport.setOnClickListener(this);
fabLedger.setOnClickListener(this); fabLedger.setOnClickListener(this);
fabScreen.setOnClickListener(this); fabScreen.setOnClickListener(this);
@ -294,9 +297,9 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
} }
private boolean isFabOpen = false; private boolean isFabOpen = false;
private FloatingActionButton fab, fabNew, fabView, fabKey, fabSeed, fabLedger; private FloatingActionButton fab, fabNew, fabView, fabKey, fabSeed, fabImport, fabLedger;
private FrameLayout fabScreen; private RelativeLayout fabScreen;
private RelativeLayout fabNewL, fabViewL, fabKeyL, fabSeedL, fabLedgerL; 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_open, fab_close, rotate_forward, rotate_backward, fab_open_screen, fab_close_screen;
private Animation fab_pulse; private Animation fab_pulse;
@ -321,6 +324,8 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
fabKey.setClickable(false); fabKey.setClickable(false);
fabSeedL.startAnimation(fab_close); fabSeedL.startAnimation(fab_close);
fabSeed.setClickable(false); fabSeed.setClickable(false);
fabImportL.startAnimation(fab_close);
fabImport.setClickable(false);
} }
isFabOpen = false; isFabOpen = false;
} else { // open the fab } else { // open the fab
@ -333,6 +338,7 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
fabViewL.setVisibility(View.GONE); fabViewL.setVisibility(View.GONE);
fabKeyL.setVisibility(View.GONE); fabKeyL.setVisibility(View.GONE);
fabSeedL.setVisibility(View.GONE); fabSeedL.setVisibility(View.GONE);
fabImportL.setVisibility(View.GONE);
fabLedgerL.startAnimation(fab_open); fabLedgerL.startAnimation(fab_open);
fabLedger.setClickable(true); fabLedger.setClickable(true);
@ -342,6 +348,7 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
fabViewL.setVisibility(View.VISIBLE); fabViewL.setVisibility(View.VISIBLE);
fabKeyL.setVisibility(View.VISIBLE); fabKeyL.setVisibility(View.VISIBLE);
fabSeedL.setVisibility(View.VISIBLE); fabSeedL.setVisibility(View.VISIBLE);
fabImportL.setVisibility(View.VISIBLE);
fabNewL.startAnimation(fab_open); fabNewL.startAnimation(fab_open);
fabNew.setClickable(true); fabNew.setClickable(true);
@ -351,6 +358,8 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
fabKey.setClickable(true); fabKey.setClickable(true);
fabSeedL.startAnimation(fab_open); fabSeedL.startAnimation(fab_open);
fabSeed.setClickable(true); fabSeed.setClickable(true);
fabImportL.startAnimation(fab_open);
fabImport.setClickable(true);
} }
isFabOpen = true; isFabOpen = true;
} }
@ -375,6 +384,9 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
} else if (id == R.id.fabSeed) { } else if (id == R.id.fabSeed) {
animateFAB(); animateFAB();
activityCallback.onAddWallet(GenerateFragment.TYPE_SEED); activityCallback.onAddWallet(GenerateFragment.TYPE_SEED);
} else if (id == R.id.fabImport) {
animateFAB();
activityCallback.onWalletRestore();
} else if (id == R.id.fabLedger) { } else if (id == R.id.fabLedger) {
Timber.d("FAB_LEDGER"); Timber.d("FAB_LEDGER");
animateFAB(); animateFAB();
@ -403,8 +415,8 @@ public class LoginFragment extends Fragment implements WalletInfoAdapter.OnInter
private void setSubtext(String status) { private void setSubtext(String status) {
final Context ctx = getContext(); final Context ctx = getContext();
final Spanned text = Html.fromHtml(ctx.getString(R.string.status, final Spanned text = Html.fromHtml(ctx.getString(R.string.status,
Integer.toHexString(ContextCompat.getColor(ctx, R.color.monerujoGreen) & 0xFFFFFF), Integer.toHexString(ThemeHelper.getThemedColor(ctx, R.attr.positiveColor) & 0xFFFFFF),
Integer.toHexString(ContextCompat.getColor(ctx, R.color.monerujoBackground) & 0xFFFFFF), Integer.toHexString(ThemeHelper.getThemedColor(ctx, android.R.attr.colorBackground) & 0xFFFFFF),
status, "")); status, ""));
tvNodeInfo.setText(text); tvNodeInfo.setText(text);
} }

View File

@ -46,10 +46,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.widget.ShareActionProvider;
import androidx.core.content.ContextCompat;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
import androidx.core.view.MenuItemCompat;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import com.google.android.material.textfield.TextInputLayout; import com.google.android.material.textfield.TextInputLayout;
@ -89,6 +86,7 @@ public class ReceiveFragment extends Fragment {
private ImageView ivQrCodeFull; private ImageView ivQrCodeFull;
private EditText etDummy; private EditText etDummy;
private ImageButton bCopyAddress; private ImageButton bCopyAddress;
private MenuItem shareItem;
private Wallet wallet = null; private Wallet wallet = null;
private boolean isMyWallet = false; private boolean isMyWallet = false;
@ -128,6 +126,7 @@ public class ReceiveFragment extends Fragment {
evAmount.setOnNewAmountListener(xmr -> { evAmount.setOnNewAmountListener(xmr -> {
Timber.d("new amount = %s", xmr); Timber.d("new amount = %s", xmr);
generateQr(); generateQr();
if (shareRequested && (xmr != null)) share();
}); });
evAmount.setOnFailedExchangeListener(() -> { evAmount.setOnFailedExchangeListener(() -> {
@ -211,39 +210,38 @@ public class ReceiveFragment extends Fragment {
setSharedElementEnterTransition(transform); setSharedElementEnterTransition(transform);
} }
private ShareActionProvider shareActionProvider; private boolean shareRequested = false;
@Override @Override
public void onCreateOptionsMenu(@NonNull Menu menu, final MenuInflater inflater) { public void onCreateOptionsMenu(@NonNull Menu menu, final MenuInflater inflater) {
inflater.inflate(R.menu.receive_menu, menu); inflater.inflate(R.menu.receive_menu, menu);
super.onCreateOptionsMenu(menu, inflater); super.onCreateOptionsMenu(menu, inflater);
// Locate MenuItem with ShareActionProvider shareItem = menu.findItem(R.id.menu_item_share);
MenuItem item = menu.findItem(R.id.menu_item_share); shareItem.setOnMenuItemClickListener(item -> {
if (shareRequested) return true;
// Fetch and store ShareActionProvider shareRequested = true;
shareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(item); if (!qrValid) {
evAmount.doExchange();
shareActionProvider.setOnShareTargetSelectedListener(new ShareActionProvider.OnShareTargetSelectedListener() { } else {
@Override share();
public boolean onShareTargetSelected(ShareActionProvider shareActionProvider, Intent intent) {
saveQrCode(); // save it only if we need it
return false;
} }
return true;
}); });
} }
private void setShareIntent() { private void share() {
if (shareActionProvider != null) { shareRequested = false;
if (qrValid) { if (saveQrCode()) {
shareActionProvider.setShareIntent(getShareIntent()); final Intent sendIntent = getSendIntent();
} else { if (sendIntent != null)
shareActionProvider.setShareIntent(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!"); if (!qrValid) throw new IllegalStateException("trying to save null qr code!");
File cachePath = new File(getActivity().getCacheDir(), "images"); File cachePath = new File(getActivity().getCacheDir(), "images");
@ -255,33 +253,35 @@ public class ReceiveFragment extends Fragment {
Bitmap qrBitmap = ((BitmapDrawable) ivQrCode.getDrawable()).getBitmap(); Bitmap qrBitmap = ((BitmapDrawable) ivQrCode.getDrawable()).getBitmap();
qrBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); qrBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
stream.close(); stream.close();
return true;
} catch (IOException ex) { } catch (IOException ex) {
Timber.e(ex); Timber.e(ex);
// make sure we don't share an old qr code // make sure we don't share an old qr code
if (!png.delete()) throw new IllegalStateException("cannot delete 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 // 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() { private Intent getSendIntent() {
File imagePath = new File(getActivity().getCacheDir(), "images"); File imagePath = new File(requireActivity().getCacheDir(), "images");
File png = new File(imagePath, "QR.png"); File png = new File(imagePath, "QR.png");
Uri contentUri = FileProvider.getUriForFile(getActivity(), Uri contentUri = FileProvider.getUriForFile(requireActivity(), BuildConfig.APPLICATION_ID + ".fileprovider", png);
BuildConfig.APPLICATION_ID + ".fileprovider", png);
if (contentUri != null) { if (contentUri != null) {
Intent shareIntent = new Intent(); Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND); shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); // temp permission for receiving app to read this file 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_STREAM, contentUri);
shareIntent.putExtra(Intent.EXTRA_TEXT, bcData.getUriString()); if (bcData != null)
shareIntent.putExtra(Intent.EXTRA_TEXT, bcData.getUriString());
return shareIntent; return shareIntent;
} }
return null; return null;
} }
void copyAddress() { 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(); Toast.makeText(getActivity(), getString(R.string.message_copy_address), Toast.LENGTH_SHORT).show();
} }
@ -291,7 +291,6 @@ public class ReceiveFragment extends Fragment {
if (qrValid) { if (qrValid) {
ivQrCode.setImageBitmap(null); ivQrCode.setImageBitmap(null);
qrValid = false; qrValid = false;
setShareIntent();
if (isLoaded) if (isLoaded)
tvQrCode.setVisibility(View.VISIBLE); tvQrCode.setVisibility(View.VISIBLE);
} }
@ -300,7 +299,6 @@ public class ReceiveFragment extends Fragment {
void setQR(Bitmap qr) { void setQR(Bitmap qr) {
ivQrCode.setImageBitmap(qr); ivQrCode.setImageBitmap(qr);
qrValid = true; qrValid = true;
setShareIntent();
tvQrCode.setVisibility(View.GONE); tvQrCode.setVisibility(View.GONE);
} }
@ -462,8 +460,8 @@ public class ReceiveFragment extends Fragment {
subaddress = newSubaddress; subaddress = newSubaddress;
final Context context = getContext(); final Context context = getContext();
Spanned label = Html.fromHtml(context.getString(R.string.receive_subaddress, Spanned label = Html.fromHtml(context.getString(R.string.receive_subaddress,
Integer.toHexString(ContextCompat.getColor(context, R.color.monerujoGreen) & 0xFFFFFF), Integer.toHexString(ThemeHelper.getThemedColor(context, R.attr.positiveColor) & 0xFFFFFF),
Integer.toHexString(ContextCompat.getColor(context, R.color.monerujoBackground) & 0xFFFFFF), Integer.toHexString(ThemeHelper.getThemedColor(context, android.R.attr.colorBackground) & 0xFFFFFF),
subaddress.getDisplayLabel(), subaddress.getAddress())); subaddress.getDisplayLabel(), subaddress.getAddress()));
tvAddress.setText(label); tvAddress.setText(label);
generateQr(); generateQr();

View File

@ -66,11 +66,7 @@ public abstract class SecureActivity extends AppCompatActivity {
Locale locale = LocaleHelper.getPreferredLocale(this); Locale locale = LocaleHelper.getPreferredLocale(this);
if (locale != null) { if (locale != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { config.setLocale(locale);
config.setLocale(locale);
} else {
config.locale = locale;
}
} }
return config; return config;
} }

View File

@ -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);
}
}

View File

@ -35,7 +35,6 @@ import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import com.google.android.material.transition.MaterialContainerTransform; import com.google.android.material.transition.MaterialContainerTransform;
@ -220,8 +219,8 @@ public class TxFragment extends Fragment {
final Context ctx = getContext(); final Context ctx = getContext();
Spanned label = Html.fromHtml(ctx.getString(R.string.tx_account_formatted, Spanned label = Html.fromHtml(ctx.getString(R.string.tx_account_formatted,
info.accountIndex, info.addressIndex, info.accountIndex, info.addressIndex,
Integer.toHexString(ContextCompat.getColor(ctx, R.color.monerujoGreen) & 0xFFFFFF), Integer.toHexString(ThemeHelper.getThemedColor(ctx, R.attr.positiveColor) & 0xFFFFFF),
Integer.toHexString(ContextCompat.getColor(ctx, R.color.monerujoBackground) & 0xFFFFFF), Integer.toHexString(ThemeHelper.getThemedColor(ctx, android.R.attr.colorBackground) & 0xFFFFFF),
subaddress.getDisplayLabel())); subaddress.getDisplayLabel()));
tvAccount.setText(label); tvAccount.setText(label);
tvAccount.setOnClickListener(v -> activityCallback.showSubaddress(v, info.addressIndex)); tvAccount.setOnClickListener(v -> activityCallback.showSubaddress(v, info.addressIndex));
@ -266,13 +265,13 @@ public class TxFragment extends Fragment {
if (info.isFailed) { if (info.isFailed) {
tvTxAmount.setText(getString(R.string.tx_list_amount_failed, Wallet.getDisplayAmount(info.amount))); tvTxAmount.setText(getString(R.string.tx_list_amount_failed, Wallet.getDisplayAmount(info.amount)));
tvTxFee.setText(getString(R.string.tx_list_failed_text)); 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) { } 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) { } else if (info.direction == TransactionInfo.Direction.Direction_In) {
setTxColour(ContextCompat.getColor(getContext(), R.color.tx_plus)); setTxColour(ThemeHelper.getThemedColor(getContext(), R.attr.positiveColor));
} else { } else {
setTxColour(ContextCompat.getColor(getContext(), R.color.tx_minus)); setTxColour(ThemeHelper.getThemedColor(getContext(), R.attr.negativeColor));
} }
Set<String> destinations = new HashSet<>(); Set<String> destinations = new HashSet<>();
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();

View File

@ -356,6 +356,7 @@ public class WalletActivity extends BaseActivity implements WalletFragment.Liste
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
Timber.d("onCreate()"); Timber.d("onCreate()");
ThemeHelper.setPreferred(this);
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (savedInstanceState != null) { if (savedInstanceState != null) {
// activity restarted // activity restarted
@ -385,7 +386,7 @@ public class WalletActivity extends BaseActivity implements WalletFragment.Liste
case Toolbar.BUTTON_CLOSE: case Toolbar.BUTTON_CLOSE:
finish(); finish();
break; break;
case Toolbar.BUTTON_CREDITS: case Toolbar.BUTTON_SETTINGS:
Toast.makeText(WalletActivity.this, getString(R.string.label_credits), Toast.LENGTH_SHORT).show(); Toast.makeText(WalletActivity.this, getString(R.string.label_credits), Toast.LENGTH_SHORT).show();
case Toolbar.BUTTON_NONE: case Toolbar.BUTTON_NONE:
default: default:
@ -940,6 +941,7 @@ public class WalletActivity extends BaseActivity implements WalletFragment.Liste
@Override @Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
Timber.d("onRequestPermissionsResult()"); Timber.d("onRequestPermissionsResult()");
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == Helper.PERMISSIONS_REQUEST_CAMERA) { // If request is cancelled, the result arrays are empty. if (requestCode == Helper.PERMISSIONS_REQUEST_CAMERA) { // If request is cancelled, the result arrays are empty.
if (grantResults.length > 0 if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) { && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

View File

@ -52,6 +52,7 @@ import com.m2049r.xmrwallet.service.exchange.api.ExchangeCallback;
import com.m2049r.xmrwallet.service.exchange.api.ExchangeRate; import com.m2049r.xmrwallet.service.exchange.api.ExchangeRate;
import com.m2049r.xmrwallet.util.Helper; import com.m2049r.xmrwallet.util.Helper;
import com.m2049r.xmrwallet.util.ServiceHelper; import com.m2049r.xmrwallet.util.ServiceHelper;
import com.m2049r.xmrwallet.util.ThemeHelper;
import com.m2049r.xmrwallet.widget.Toolbar; import com.m2049r.xmrwallet.widget.Toolbar;
import java.text.NumberFormat; import java.text.NumberFormat;
@ -111,7 +112,8 @@ public class WalletFragment extends Fragment
llBalance = view.findViewById(R.id.llBalance); llBalance = view.findViewById(R.id.llBalance);
flExchange = view.findViewById(R.id.flExchange); flExchange = view.findViewById(R.id.flExchange);
((ProgressBar) view.findViewById(R.id.pbExchange)).getIndeterminateDrawable(). ((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); android.graphics.PorterDuff.Mode.MULTIPLY);
tvProgress = view.findViewById(R.id.tvProgress); tvProgress = view.findViewById(R.id.tvProgress);

View File

@ -22,6 +22,7 @@ import android.content.res.Configuration;
import android.os.Build; import android.os.Build;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.fragment.app.FragmentManager;
import com.m2049r.xmrwallet.model.NetworkType; import com.m2049r.xmrwallet.model.NetworkType;
import com.m2049r.xmrwallet.util.LocaleHelper; import com.m2049r.xmrwallet.util.LocaleHelper;
@ -35,7 +36,7 @@ public class XmrWalletApplication extends Application {
@Override @Override
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
FragmentManager.enableNewStateManager(false);
if (BuildConfig.DEBUG) { if (BuildConfig.DEBUG) {
Timber.plant(new Timber.DebugTree()); Timber.plant(new Timber.DebugTree());
} }

View File

@ -267,14 +267,14 @@ public class NodeInfo extends Node {
public void showInfo(TextView view, String info, boolean isError) { public void showInfo(TextView view, String info, boolean isError) {
final Context ctx = view.getContext(); final Context ctx = view.getContext();
final Spanned text = Html.fromHtml(ctx.getString(R.string.status, final Spanned text = Html.fromHtml(ctx.getString(R.string.status,
Integer.toHexString(ContextCompat.getColor(ctx, R.color.monerujoGreen) & 0xFFFFFF), Integer.toHexString(ThemeHelper.getThemedColor(ctx, R.attr.positiveColor) & 0xFFFFFF),
Integer.toHexString(ContextCompat.getColor(ctx, R.color.monerujoBackground) & 0xFFFFFF), Integer.toHexString(ThemeHelper.getThemedColor(ctx, android.R.attr.colorBackground) & 0xFFFFFF),
(hostAddress.isOnion() ? "&nbsp;.onion&nbsp;&nbsp;" : ""), " " + info)); (hostAddress.isOnion() ? "&nbsp;.onion&nbsp;&nbsp;" : ""), " " + info));
view.setText(text); view.setText(text);
if (isError) if (isError)
view.setTextColor(ThemeHelper.getThemedColor(ctx, R.attr.colorError)); view.setTextColor(ThemeHelper.getThemedColor(ctx, R.attr.colorError));
else else
view.setTextColor(ThemeHelper.getThemedColor(ctx, R.attr.colorPrimary)); view.setTextColor(ThemeHelper.getThemedColor(ctx, android.R.attr.textColorSecondary));
} }
public void showInfo(TextView view) { public void showInfo(TextView view) {

View File

@ -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.service.shift.sideshift.network.SideShiftApiImpl;
import com.m2049r.xmrwallet.util.Helper; import com.m2049r.xmrwallet.util.Helper;
import com.m2049r.xmrwallet.util.ServiceHelper; import com.m2049r.xmrwallet.util.ServiceHelper;
import com.m2049r.xmrwallet.util.ThemeHelper;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.util.Locale; import java.util.Locale;
@ -212,19 +213,27 @@ public class SendBtcSuccessWizardFragment extends SendWizardFragment {
if (status.isError()) { if (status.isError()) {
tvXmrToStatus.setText(getString(R.string.info_send_xmrto_error, status.toString())); tvXmrToStatus.setText(getString(R.string.info_send_xmrto_error, status.toString()));
statusResource = R.drawable.ic_error_red_24dp; 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()) { } else if (status.isSent() || status.isPaid()) {
tvXmrToStatus.setText(getString(R.string.info_send_xmrto_sent, btcData.getBtcSymbol())); tvXmrToStatus.setText(getString(R.string.info_send_xmrto_sent, btcData.getBtcSymbol()));
statusResource = R.drawable.ic_success_green_24dp; statusResource = R.drawable.ic_success;
pbXmrto.getIndeterminateDrawable().setColorFilter(0xFF417505, android.graphics.PorterDuff.Mode.MULTIPLY); pbXmrto.getIndeterminateDrawable().setColorFilter(
ThemeHelper.getThemedColor(getContext(), R.attr.positiveColor),
android.graphics.PorterDuff.Mode.MULTIPLY);
} else if (status.isWaiting()) { } else if (status.isWaiting()) {
tvXmrToStatus.setText(getString(R.string.info_send_xmrto_unpaid)); tvXmrToStatus.setText(getString(R.string.info_send_xmrto_unpaid));
statusResource = R.drawable.ic_pending_orange_24dp; statusResource = R.drawable.ic_pending;
pbXmrto.getIndeterminateDrawable().setColorFilter(0xFFFF6105, android.graphics.PorterDuff.Mode.MULTIPLY); pbXmrto.getIndeterminateDrawable().setColorFilter(
ThemeHelper.getThemedColor(getContext(), R.attr.neutralColor),
android.graphics.PorterDuff.Mode.MULTIPLY);
} else if (status.isPending()) { } else if (status.isPending()) {
tvXmrToStatus.setText(getString(R.string.info_send_xmrto_paid)); tvXmrToStatus.setText(getString(R.string.info_send_xmrto_paid));
statusResource = R.drawable.ic_pending_orange_24dp; statusResource = R.drawable.ic_pending;
pbXmrto.getIndeterminateDrawable().setColorFilter(0xFFFF6105, android.graphics.PorterDuff.Mode.MULTIPLY); pbXmrto.getIndeterminateDrawable().setColorFilter(
ThemeHelper.getThemedColor(getContext(), R.attr.neutralColor),
android.graphics.PorterDuff.Mode.MULTIPLY);
} else { } else {
throw new IllegalStateException("status is broken: " + status.toString()); throw new IllegalStateException("status is broken: " + status.toString());
} }

View File

@ -55,7 +55,6 @@ import com.m2049r.xmrwallet.widget.DotBar;
import com.m2049r.xmrwallet.widget.Toolbar; import com.m2049r.xmrwallet.widget.Toolbar;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
import java.util.Objects;
import timber.log.Timber; import timber.log.Timber;
@ -202,14 +201,14 @@ public class SendFragment extends Fragment
CharSequence nextLabel = pagerAdapter.getPageTitle(position + 1); CharSequence nextLabel = pagerAdapter.getPageTitle(position + 1);
bNext.setText(nextLabel); bNext.setText(nextLabel);
if (nextLabel != null) { 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 { } else {
bNext.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0); bNext.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
} }
CharSequence prevLabel = pagerAdapter.getPageTitle(position - 1); CharSequence prevLabel = pagerAdapter.getPageTitle(position - 1);
bPrev.setText(prevLabel); bPrev.setText(prevLabel);
if (prevLabel != null) { 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 { } else {
bPrev.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0); bPrev.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
} }

View File

@ -23,7 +23,6 @@ import android.view.ViewGroup;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
@ -230,21 +229,21 @@ public class NodeInfoAdapter extends RecyclerView.Adapter<NodeInfoAdapter.ViewHo
static public int getPingIcon(NodeInfo nodeInfo) { static public int getPingIcon(NodeInfo nodeInfo) {
if (nodeInfo.isUnauthorized()) { if (nodeInfo.isUnauthorized()) {
return R.drawable.ic_wifi_lock_black_24dp; return R.drawable.ic_wifi_lock;
} }
if (nodeInfo.isValid()) { if (nodeInfo.isValid()) {
final double ping = nodeInfo.getResponseTime(); final double ping = nodeInfo.getResponseTime();
if (ping < NodeInfo.PING_GOOD) { 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) { } 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) { } else if (ping < NodeInfo.PING_BAD) {
return R.drawable.ic_signal_wifi_2_bar_24dp; return R.drawable.ic_wifi_2_bar;
} else { } else {
return R.drawable.ic_signal_wifi_1_bar_24dp; return R.drawable.ic_wifi_1_bar;
} }
} else { } else {
return R.drawable.ic_signal_wifi_off_24dp; return R.drawable.ic_wifi_off;
} }
} }

View File

@ -36,6 +36,7 @@ import com.m2049r.xmrwallet.data.Crypto;
import com.m2049r.xmrwallet.data.UserNotes; import com.m2049r.xmrwallet.data.UserNotes;
import com.m2049r.xmrwallet.model.TransactionInfo; import com.m2049r.xmrwallet.model.TransactionInfo;
import com.m2049r.xmrwallet.util.Helper; import com.m2049r.xmrwallet.util.Helper;
import com.m2049r.xmrwallet.util.ThemeHelper;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
@ -67,10 +68,10 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo
public TransactionInfoAdapter(Context context, OnInteractionListener listener) { public TransactionInfoAdapter(Context context, OnInteractionListener listener) {
this.context = context; this.context = context;
inboundColour = ContextCompat.getColor(context, R.color.tx_plus); inboundColour = ThemeHelper.getThemedColor(context, R.attr.positiveColor);
outboundColour = ContextCompat.getColor(context, R.color.tx_minus); outboundColour = ThemeHelper.getThemedColor(context, R.attr.negativeColor);
pendingColour = ContextCompat.getColor(context, R.color.tx_pending); pendingColour = ThemeHelper.getThemedColor(context, R.attr.neutralColor);
failedColour = ContextCompat.getColor(context, R.color.tx_failed); failedColour = ThemeHelper.getThemedColor(context, R.attr.neutralColor);
infoItems = new ArrayList<>(); infoItems = new ArrayList<>();
this.listener = listener; this.listener = listener;
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
@ -253,8 +254,8 @@ public class TransactionInfoAdapter extends RecyclerView.Adapter<TransactionInfo
tvPaymentId.setText(info); tvPaymentId.setText(info);
} else { } else {
Spanned label = Html.fromHtml(context.getString(R.string.tx_details_notes, Spanned label = Html.fromHtml(context.getString(R.string.tx_details_notes,
Integer.toHexString(ContextCompat.getColor(context, R.color.monerujoGreen) & 0xFFFFFF), Integer.toHexString(ThemeHelper.getThemedColor(context, R.attr.positiveColor) & 0xFFFFFF),
Integer.toHexString(ContextCompat.getColor(context, R.color.monerujoBackground) & 0xFFFFFF), Integer.toHexString(ThemeHelper.getThemedColor(context, android.R.attr.colorBackground) & 0xFFFFFF),
tag, info.isEmpty() ? "" : ("&nbsp; " + info))); tag, info.isEmpty() ? "" : ("&nbsp; " + info)));
tvPaymentId.setText(label); tvPaymentId.setText(label);
} }

View File

@ -568,7 +568,8 @@ public class WalletService extends Service {
private void startNotfication() { private void startNotfication() {
Intent notificationIntent = new Intent(this, WalletActivity.class); 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() : ""; String channelId = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ? createNotificationChannel() : "";
Notification notification = new NotificationCompat.Builder(this, channelId) Notification notification = new NotificationCompat.Builder(this, channelId)

View File

@ -395,7 +395,7 @@ public class Helper {
final TextView tvOpenPrompt = promptsView.findViewById(R.id.tvOpenPrompt); final TextView tvOpenPrompt = promptsView.findViewById(R.id.tvOpenPrompt);
final Drawable icFingerprint = context.getDrawable(R.drawable.ic_fingerprint); final Drawable icFingerprint = context.getDrawable(R.drawable.ic_fingerprint);
final Drawable icError = context.getDrawable(R.drawable.ic_error_red_36dp); 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); final boolean fingerprintAuthCheck = FingerprintHelper.isFingerPassValid(context, wallet);

View File

@ -27,7 +27,6 @@ import java.util.ArrayList;
import java.util.Locale; import java.util.Locale;
public class LocaleHelper { public class LocaleHelper {
private static final String PREFERRED_LOCALE_KEY = "preferred_locale";
private static Locale SYSTEM_DEFAULT_LOCALE = Locale.getDefault(); private static Locale SYSTEM_DEFAULT_LOCALE = Locale.getDefault();
public static ArrayList<Locale> getAvailableLocales(Context context) { public static ArrayList<Locale> getAvailableLocales(Context context) {
@ -93,12 +92,13 @@ public class LocaleHelper {
public static String getPreferredLanguageTag(Context context) { public static String getPreferredLanguageTag(Context context) {
return PreferenceManager.getDefaultSharedPreferences(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") @SuppressLint("ApplySharedPref")
private static void savePreferredLangaugeTag(Context context, String locale) { private static void savePreferredLangaugeTag(Context context, String locale) {
PreferenceManager.getDefaultSharedPreferences(context).edit() PreferenceManager.getDefaultSharedPreferences(context).edit()
.putString(PREFERRED_LOCALE_KEY, locale).commit(); .putString(context.getString(R.string.preferred_locale), locale).commit();
} }
} }

View File

@ -16,32 +16,37 @@
package com.m2049r.xmrwallet.util; package com.m2049r.xmrwallet.util;
import android.annotation.SuppressLint;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;
import androidx.appcompat.app.AppCompatDelegate; import androidx.appcompat.app.AppCompatDelegate;
public class NightmodeHelper { import com.m2049r.xmrwallet.R;
private static final String PREFERRED_NIGHTMODE_KEY = "preferred_nightmode";
public class NightmodeHelper {
public static DayNightMode getPreferredNightmode(Context context) { public static DayNightMode getPreferredNightmode(Context context) {
return DayNightMode.valueOf(PreferenceManager.getDefaultSharedPreferences(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) { public static void setPreferredNightmode(Context context) {
final DayNightMode mode = DayNightMode.valueOf(PreferenceManager.getDefaultSharedPreferences(context) final DayNightMode mode = DayNightMode.valueOf(PreferenceManager.getDefaultSharedPreferences(context)
.getString(PREFERRED_NIGHTMODE_KEY, "UNKNOWN")); .getString(context.getString(R.string.preferred_nightmode), "UNKNOWN"));
if (mode == DayNightMode.UNKNOWN) setAndSavePreferredNightmode(context, DayNightMode.AUTO); if (mode == DayNightMode.UNKNOWN)
setNightMode(mode); setAndSavePreferredNightmode(context, DayNightMode.AUTO);
else
setNightMode(mode);
} }
public static void setAndSavePreferredNightmode(Context context, DayNightMode mode) { public static void setAndSavePreferredNightmode(Context context, DayNightMode mode) {
PreferenceManager.getDefaultSharedPreferences(context).edit() PreferenceManager.getDefaultSharedPreferences(context).edit()
.putString(PREFERRED_NIGHTMODE_KEY, mode.name()).apply(); .putString(context.getString(R.string.preferred_nightmode), mode.name()).apply();
setNightMode(mode); setNightMode(mode);
} }
@SuppressLint("WrongConstant")
public static void setNightMode(DayNightMode mode) { public static void setNightMode(DayNightMode mode) {
AppCompatDelegate.setDefaultNightMode(mode.getNightMode()); AppCompatDelegate.setDefaultNightMode(mode.getNightMode());
} }

View File

@ -98,12 +98,7 @@ public class Notice {
final FragmentManager fragmentManager = final FragmentManager fragmentManager =
((FragmentActivity) context).getSupportFragmentManager(); ((FragmentActivity) context).getSupportFragmentManager();
ll.setOnClickListener(new View.OnClickListener() { ll.setOnClickListener(v -> HelpFragment.display(fragmentManager, helpResId));
@Override
public void onClick(View v) {
HelpFragment.display(fragmentManager, helpResId);
}
});
ImageButton ib = ll.findViewById(R.id.ibClose); ImageButton ib = ll.findViewById(R.id.ibClose);
ib.setOnClickListener(new View.OnClickListener() { ib.setOnClickListener(new View.OnClickListener() {

View File

@ -127,6 +127,18 @@ public class RestoreHeight {
blockheight.put("2021-01-01", 2264584L); blockheight.put("2021-01-01", 2264584L);
blockheight.put("2021-02-01", 2286892L); blockheight.put("2021-02-01", 2286892L);
blockheight.put("2021-03-01", 2307079L); 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) { public long getHeight(String date) {

View File

@ -16,11 +16,16 @@
package com.m2049r.xmrwallet.util; package com.m2049r.xmrwallet.util;
import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.graphics.Color; import android.graphics.Color;
import android.preference.PreferenceManager;
import android.util.TypedValue; import android.util.TypedValue;
import androidx.annotation.ColorInt; import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
import com.m2049r.xmrwallet.R;
public class ThemeHelper { public class ThemeHelper {
static public int getThemedResourceId(Context ctx, int attrId) { static public int getThemedResourceId(Context ctx, int attrId) {
@ -39,4 +44,22 @@ public class ThemeHelper {
else else
return Color.BLACK; 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);
}
} }

View File

@ -41,6 +41,7 @@ import com.m2049r.xmrwallet.service.exchange.api.ExchangeCallback;
import com.m2049r.xmrwallet.service.exchange.api.ExchangeRate; import com.m2049r.xmrwallet.service.exchange.api.ExchangeRate;
import com.m2049r.xmrwallet.util.Helper; import com.m2049r.xmrwallet.util.Helper;
import com.m2049r.xmrwallet.util.ServiceHelper; import com.m2049r.xmrwallet.util.ServiceHelper;
import com.m2049r.xmrwallet.util.ThemeHelper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@ -224,7 +225,7 @@ public class ExchangeEditText extends LinearLayout {
// make progress circle gray // make progress circle gray
pbExchange.getIndeterminateDrawable(). pbExchange.getIndeterminateDrawable().
setColorFilter(getResources().getColor(R.color.progress_circle), setColorFilter(ThemeHelper.getThemedColor(getContext(), R.attr.colorPrimaryVariant),
android.graphics.PorterDuff.Mode.MULTIPLY); android.graphics.PorterDuff.Mode.MULTIPLY);
sCurrencyA.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { sCurrencyA.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

View File

@ -46,7 +46,7 @@ public class Toolbar extends MaterialToolbar {
ImageView toolbarImage; ImageView toolbarImage;
TextView toolbarTitle; TextView toolbarTitle;
TextView toolbarSubtitle; TextView toolbarSubtitle;
ImageButton bCredits; ImageButton bSettings;
public Toolbar(Context context) { public Toolbar(Context context) {
super(context); super(context);
@ -88,12 +88,10 @@ public class Toolbar extends MaterialToolbar {
toolbarTitle = findViewById(R.id.toolbarTitle); toolbarTitle = findViewById(R.id.toolbarTitle);
toolbarSubtitle = findViewById(R.id.toolbarSubtitle); toolbarSubtitle = findViewById(R.id.toolbarSubtitle);
bCredits = findViewById(R.id.bCredits); bSettings = findViewById(R.id.bSettings);
bCredits.setOnClickListener(new View.OnClickListener() { bSettings.setOnClickListener(v -> {
public void onClick(View v) { if (onButtonListener != null) {
if (onButtonListener != null) { onButtonListener.onButton(buttonType);
onButtonListener.onButton(buttonType);
}
} }
}); });
} }
@ -117,37 +115,37 @@ public class Toolbar extends MaterialToolbar {
public final static int BUTTON_NONE = 0; public final static int BUTTON_NONE = 0;
public final static int BUTTON_BACK = 1; public final static int BUTTON_BACK = 1;
public final static int BUTTON_CLOSE = 2; 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; public final static int BUTTON_CANCEL = 4;
int buttonType = BUTTON_CREDITS; int buttonType = BUTTON_SETTINGS;
public void setButton(int type) { public void setButton(int type) {
switch (type) { switch (type) {
case BUTTON_BACK: case BUTTON_BACK:
Timber.d("BUTTON_BACK"); Timber.d("BUTTON_BACK");
bCredits.setImageResource(R.drawable.ic_arrow_back_white_24dp); bSettings.setImageResource(R.drawable.ic_arrow_back);
bCredits.setVisibility(View.VISIBLE); bSettings.setVisibility(View.VISIBLE);
break; break;
case BUTTON_CLOSE: case BUTTON_CLOSE:
Timber.d("BUTTON_CLOSE"); Timber.d("BUTTON_CLOSE");
bCredits.setImageResource(R.drawable.ic_close_white_24dp); bSettings.setImageResource(R.drawable.ic_close_white_24dp);
bCredits.setVisibility(View.VISIBLE); bSettings.setVisibility(View.VISIBLE);
break; break;
case BUTTON_CREDITS: case BUTTON_SETTINGS:
Timber.d("BUTTON_CREDITS"); Timber.d("BUTTON_SETTINGS");
bCredits.setImageResource(R.drawable.ic_favorite_white_24dp); bSettings.setImageResource(R.drawable.ic_settings);
bCredits.setVisibility(View.VISIBLE); bSettings.setVisibility(View.VISIBLE);
break; break;
case BUTTON_CANCEL: case BUTTON_CANCEL:
Timber.d("BUTTON_CANCEL"); Timber.d("BUTTON_CANCEL");
bCredits.setImageResource(R.drawable.ic_close_white_24dp); bSettings.setImageResource(R.drawable.ic_close_white_24dp);
bCredits.setVisibility(View.VISIBLE); bSettings.setVisibility(View.VISIBLE);
break; break;
case BUTTON_NONE: case BUTTON_NONE:
default: default:
Timber.d("BUTTON_NONE"); Timber.d("BUTTON_NONE");
bCredits.setVisibility(View.INVISIBLE); bSettings.setVisibility(View.INVISIBLE);
} }
buttonType = type; buttonType = type;
} }

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <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"/> <item android:color="?attr/colorPrimaryVariant"/>
</selector> </selector>

View File

@ -13,10 +13,10 @@
android:startY="74.0" android:startY="74.0"
android:type="linear"> android:type="linear">
<item <item
android:color="@color/monerujoPink" android:color="?colorSecondary"
android:offset="0.0" /> android:offset="0.0" />
<item <item
android:color="@color/monerujoOrange" android:color="?colorError"
android:offset="1.0" /> android:offset="1.0" />
</gradient> </gradient>
</aapt:attr> </aapt:attr>

View File

@ -17,10 +17,10 @@
android:startY="58.0" android:startY="58.0"
android:type="linear"> android:type="linear">
<item <item
android:color="@color/monerujoPink" android:color="?colorSecondary"
android:offset="0.0" /> android:offset="0.0" />
<item <item
android:color="@color/monerujoOrange" android:color="?colorError"
android:offset="1.0" /> android:offset="1.0" />
</gradient> </gradient>
</aapt:attr> </aapt:attr>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" <shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"> android:shape="rectangle">
<solid android:color="@color/monerujoBackground" />
<padding <padding
android:bottom="8dp" android:bottom="8dp"
android:left="8dp" android:left="8dp"
@ -9,7 +8,7 @@
android:top="8dp" /> android:top="8dp" />
<stroke <stroke
android:width="2dp" android:width="2dp"
android:color="#FF979797" android:color="?colorPrimaryVariant"
android:dashGap="8dp" android:dashGap="8dp"
android:dashWidth="8dp" /> android:dashWidth="8dp" />
</shape> </shape>

View File

@ -1,7 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/gradient_all" /> <item android:drawable="@drawable/gradient_all" />
<item
android:height="?attr/actionBarSize"
android:drawable="@drawable/texture_cash" />
</layer-list> </layer-list>

View File

@ -1,7 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/gradient_street" /> <item android:drawable="@drawable/gradient_street" />
<item
android:height="?attr/actionBarSize"
android:drawable="@drawable/texture_cash" />
</layer-list> </layer-list>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/monerujoReceive" /> <solid android:color="?attr/positiveColor" />
</shape> </shape>

View File

@ -3,7 +3,7 @@
android:shape="rectangle"> android:shape="rectangle">
<gradient <gradient
android:angle="-90" android:angle="-90"
android:endColor="@color/gradientBottom" android:endColor="?attr/gradientBottomColor"
android:startColor="@color/gradientTop" android:startColor="?attr/gradientTopColor"
android:type="linear" /> android:type="linear" />
</shape> </shape>

View File

@ -3,7 +3,7 @@
android:shape="oval"> android:shape="oval">
<gradient <gradient
android:angle="135" android:angle="135"
android:endColor="@color/gradientBottom" android:endColor="?attr/gradientBottomColor"
android:startColor="@color/gradientTop" android:startColor="?attr/gradientTopColor"
android:type="linear" /> android:type="linear" />
</shape> </shape>

View File

@ -3,7 +3,7 @@
android:shape="rectangle"> android:shape="rectangle">
<gradient <gradient
android:angle="45" android:angle="45"
android:endColor="@color/moneroStreetA" android:endColor="?attr/streetColorA"
android:startColor="@color/moneroStreetB" android:startColor="?attr/streetColorB"
android:type="linear" /> android:type="linear" />
</shape> </shape>

View File

@ -3,8 +3,8 @@
android:shape="rectangle"> android:shape="rectangle">
<gradient <gradient
android:angle="45" android:angle="45"
android:endColor="@color/moneroStreetA" android:endColor="?attr/streetColorA"
android:startColor="@color/moneroStreetB" android:startColor="?attr/streetColorB"
android:type="linear" /> android:type="linear" />
<corners android:radius="56dp" /> <corners android:radius="56dp" />
</shape> </shape>

View File

@ -1,5 +1,10 @@
<vector android:height="24dp" android:tint="#FFFFFF" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportHeight="24.0" android:viewportWidth="24.0" android:width="24dp"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> android:height="24dp"
<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"/> 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> </vector>

View File

@ -1,9 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:viewportWidth="24.0"> android:viewportHeight="24.0">
<path <path
android:fillColor="#FFffffff" android:fillColor="#000"
android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" /> android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
</vector> </vector>

View File

@ -4,6 +4,6 @@
android:viewportWidth="20.0" android:viewportWidth="20.0"
android:viewportHeight="20.0"> android:viewportHeight="20.0">
<path <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" /> 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> </vector>

View File

@ -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>

View File

@ -4,6 +4,6 @@
android:viewportHeight="24.0" android:viewportHeight="24.0"
android:viewportWidth="24.0"> android:viewportWidth="24.0">
<path <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" /> 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> </vector>

View File

@ -1,9 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:viewportHeight="24.0" android:tint="?attr/colorControlNormal"
android:viewportWidth="24.0"> android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path <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" /> android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z" />
</vector> </vector>

View File

@ -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>

View File

@ -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>

View File

@ -4,6 +4,6 @@
android:viewportHeight="74.0" android:viewportHeight="74.0"
android:viewportWidth="74.0"> android:viewportWidth="74.0">
<path <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" /> 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> </vector>

View File

@ -4,7 +4,7 @@
android:viewportHeight="58.0" android:viewportHeight="58.0"
android:viewportWidth="58.0"> android:viewportWidth="58.0">
<path <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: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:strokeColor="#00000000"
android:strokeWidth="1" /> android:strokeWidth="1" />

View File

@ -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>

View File

@ -4,6 +4,6 @@
android:viewportWidth="24.0" android:viewportWidth="24.0"
android:viewportHeight="24.0"> android:viewportHeight="24.0">
<path <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"/> 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> </vector>

View File

@ -7,7 +7,7 @@
android:translateX="0.000000" android:translateX="0.000000"
android:translateY="+7.000000"> android:translateY="+7.000000">
<path <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" /> 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> </group>
</vector> </vector>

View File

@ -4,6 +4,6 @@
android:viewportHeight="24.0" android:viewportHeight="24.0"
android:viewportWidth="24.0"> android:viewportWidth="24.0">
<path <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" /> 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> </vector>

View File

@ -2,18 +2,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="29dp" android:width="29dp"
android:height="17dp" android:height="17dp"
android:viewportHeight="17" android:viewportWidth="29"
android:viewportWidth="29"> android:viewportHeight="17">
<path
<group android:fillColor="#FEFEFE"
android:translateX="-219.000000" android:pathData="M14.4474298,13.6840973 C11.5770468,13.6840973 9.24995106,11.3571559
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
9.24995106,8.48677287 C9.24995106,5.61623564 11.5770468,3.28929415 9.24995106,8.48677287 C9.24995106,5.61623564 11.5770468,3.28929415
14.4474298,3.28929415 C17.3178128,3.28929415 19.6449085,5.61623564 14.4474298,3.28929415 C17.3178128,3.28929415 19.6449085,5.61623564
19.6449085,8.48677287 C19.6449085,11.3571559 17.3178128,13.6840973 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 8.23695638,16.9734378 14.4474298,16.9734378 C20.6579032,16.9734378
26.0676372,13.5494324 28.8948287,8.48692713 C26.0676372,3.42395904 26.0676372,13.5494324 28.8948287,8.48692713 C26.0676372,3.42395904
20.6579032,-0.0000463 14.4474298,-0.0000463" 20.6579032,-0.0000463 14.4474298,-0.0000463"
android:strokeWidth="1" /> android:strokeWidth="1" />
</group>
</group>
</vector> </vector>

View File

@ -4,6 +4,6 @@
android:viewportWidth="24.0" android:viewportWidth="24.0"
android:viewportHeight="24.0"> android:viewportHeight="24.0">
<path <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"/> 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> </vector>

View File

@ -4,6 +4,6 @@
android:viewportWidth="24.0" android:viewportWidth="24.0"
android:viewportHeight="24.0"> android:viewportHeight="24.0">
<path <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"/> 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> </vector>

View File

@ -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>

View File

@ -5,21 +5,21 @@
android:viewportHeight="36.0"> android:viewportHeight="36.0">
<path <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" /> android:pathData="M18,18m -18, 0a 18, 18 0 1, 0 36, 0a 18, 18 0 1, 0 -36, 0" />
<path <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" /> 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 <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" /> 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 <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" /> 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 <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" /> 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 <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" /> 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> </vector>

View File

@ -1,9 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24.0" android:viewportWidth="24.0"
android:viewportHeight="24.0"> android:viewportHeight="24.0">
<path <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" /> 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> </vector>

View File

@ -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>

View File

@ -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>

View File

@ -4,6 +4,6 @@
android:viewportHeight="24.0" android:viewportHeight="24.0"
android:viewportWidth="24.0"> android:viewportWidth="24.0">
<path <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" /> 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> </vector>

View File

@ -12,7 +12,7 @@
android:translateX="219.000000" android:translateX="219.000000"
android:translateY="136.000000"> android:translateY="136.000000">
<path <path
android:fillColor="#FEFEFE" android:fillColor="#000"
android:pathData="M6.29687258,9.00290326 C4.95784407,9.00290326 3.87228646,7.88216454 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 3.87228646,6.49992511 C3.87228646,5.11783546 4.95784407,3.99709674
6.29687258,3.99709674 C7.63604617,3.99709674 8.72160379,5.11783546 6.29687258,3.99709674 C7.63604617,3.99709674 8.72160379,5.11783546

View File

@ -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>

View File

@ -4,23 +4,26 @@
android:height="108dp" android:height="108dp"
android:viewportWidth="108" android:viewportWidth="108"
android:viewportHeight="108"> android:viewportHeight="108">
<path <path
android:pathData="M0,0h108v108h-108z" android:fillColor="#fff"
android:strokeWidth="0.3" android:pathData="M0,0h108v108h-108z"
android:fillColor="#fff" android:strokeWidth="0.3"
android:strokeColor="#000"/> android:strokeColor="#000" />
<path <path android:pathData="M0,0h108v108h-108z">
android:pathData="M0,0h108v108h-108z"> <aapt:attr name="android:fillColor">
<aapt:attr name="android:fillColor"> <gradient
<gradient android:endX="54"
android:startY="41.11" android:endY="85.99"
android:startX="54" android:startX="54"
android:endY="85.99" android:startY="41.11"
android:endX="54" android:type="linear">
android:type="linear"> <item
<item android:offset="0" android:color="#FFF26222"/> android:color="#FFF26222"
<item android:offset="1" android:color="#FFED1A5B"/> android:offset="0" />
</gradient> <item
</aapt:attr> android:color="#FFED1A5B"
</path> android:offset="1" />
</gradient>
</aapt:attr>
</path>
</vector> </vector>

View File

@ -3,10 +3,10 @@
android:height="108dp" android:height="108dp"
android:viewportWidth="108" android:viewportWidth="108"
android:viewportHeight="108"> android:viewportHeight="108">
<path <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"
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 <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"
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> </vector>

View File

@ -1,8 +1,8 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="8.36dp" android:height="8.36dp"
android:viewportHeight="184.59" android:viewportWidth="529.82"
android:viewportWidth="529.82"> android:viewportHeight="184.59">
<path <path
android:fillColor="#fff" 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" /> android:pathData="M517.82,0h-48a99.43,99.43 0,0 1,60 63.84L529.82,12A12,12 0,0 0,517.82 0Z" />

View File

@ -1,33 +1,34 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="135dp" android:width="135dp"
android:height="48dp" android:height="48dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="304" android:viewportWidth="304"
android:viewportHeight="108"> android:viewportHeight="108">
<path <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" /> 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 <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" /> 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 <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" /> 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 <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" /> 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 <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" /> 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 <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" /> 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 <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" /> 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 <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" /> 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 <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" /> 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> </vector>

View File

@ -4,9 +4,9 @@
android:viewportWidth="256" android:viewportWidth="256"
android:viewportHeight="256"> android:viewportHeight="256">
<path <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" /> 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 <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" /> 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> </vector>

View File

@ -2,18 +2,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="512dp" android:width="512dp"
android:height="512dp" android:height="512dp"
android:viewportHeight="1270" android:viewportWidth="1270"
android:viewportWidth="1270"> android:viewportHeight="1270">
<group <group
android:translateX="146" android:translateX="146"
android:translateY="0"> android:translateY="0">
<!--path
android:fillColor="#ff6600"
android:pathData="M-146,-73 L-146,1197
L 1270,1197
L 1270,-73
Z" /-->
<group <group
android:scaleY="-1" android:scaleY="-1"
android:translateX="-103" android:translateX="-103"
@ -23,14 +17,14 @@
android:translateX="1013.0865" android:translateX="1013.0865"
android:translateY="153.4532"> android:translateY="153.4532">
<path <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" /> 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>
<group <group
android:translateX="1000" android:translateX="1000"
android:translateY="0"> android:translateY="0">
<path <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" /> 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>
</group> </group>

View File

@ -1,8 +1,8 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:viewportWidth="24.0"> android:viewportHeight="24.0">
<path <path
android:fillColor="?colorOnSurface" android:fillColor="?colorOnSurface"
android:pathData="M10,6L8.59,7.41 13.17,12l-4.58,4.59L10,18l6,-6z" /> android:pathData="M10,6L8.59,7.41 13.17,12l-4.58,4.59L10,18l6,-6z" />

View File

@ -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>

View File

@ -2,18 +2,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="29dp" android:width="29dp"
android:height="29dp" android:height="29dp"
android:viewportHeight="29" android:viewportWidth="29"
android:viewportWidth="29"> android:viewportHeight="29">
<path
<group android:fillColor="#FEFEFE"
android:translateX="-219.000000" android:pathData="M11.0476403,8.86547314 C10.1626979,9.41441547 9.41459398,10.1624996
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
8.86563718,11.047619 L3.4524022,5.63432651 L5.63440531,3.45238095 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 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 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 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 L16.5714498,29 L13.1190689,29 L13.1190689,21.4047619 C13.6733955,21.5200491
14.2508096,21.5830595 14.8450352,21.5830595 Z" 14.2508096,21.5830595 14.8450352,21.5830595 Z"
android:strokeWidth="1" /> android:strokeWidth="1" />
</group>
</group>
</vector> </vector>

View File

@ -1,9 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:viewportWidth="24.0"> android:viewportHeight="24.0">
<path <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" /> 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> </vector>

View File

@ -1,9 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:viewportWidth="24.0"> android:viewportHeight="24.0">
<path <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" /> 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> </vector>

View File

@ -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>

View File

@ -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>

View File

@ -5,17 +5,17 @@
android:viewportHeight="6.3500004"> android:viewportHeight="6.3500004">
<path <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: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 <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: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 <path
android:pathData="M3.064,2.185l0.206,0l0,3.126l-0.206,0z" android:pathData="M3.064,2.185l0.206,0l0,3.126l-0.206,0z"
android:fillColor="#ffffff"/> android:fillColor="#000"/>
<path <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: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 <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: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> </vector>

View File

@ -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>

View File

@ -1,9 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24.0" android:viewportWidth="24.0"
android:viewportHeight="24.0"> android:viewportHeight="24.0">
<path <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" /> 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> </vector>

View File

@ -4,9 +4,9 @@
android:viewportWidth="80.52" android:viewportWidth="80.52"
android:viewportHeight="80.46"> android:viewportHeight="80.46">
<path <path
android:fillColor="@color/monerujoPrimary" android:fillColor="?colorPrimary"
android:pathData="M66.07,9.67A40,40 0,0 0,9.69 66.11Z" />> android:pathData="M66.07,9.67A40,40 0,0 0,9.69 66.11Z" />
<path <path
android:fillColor="@color/monerujoPrimary" android:fillColor="?colorPrimary"
android:pathData="M13.92,70.34a40,40 0,0 0,56.45 -56.5Z" /> android:pathData="M13.92,70.34a40,40 0,0 0,56.45 -56.5Z" />
</vector> </vector>

View File

@ -4,45 +4,45 @@
android:viewportWidth="648" android:viewportWidth="648"
android:viewportHeight="80"> android:viewportHeight="80">
<path <path
android:fillColor="@color/monerujoPrimary" android:fillColor="?colorPrimary"
android:pathData="M65.94,9.56A40,40 0,0 0,9.56 66Z" /> android:pathData="M65.94,9.56A40,40 0,0 0,9.56 66Z" />
<path <path
android:fillColor="@color/monerujoPrimary" android:fillColor="?colorPrimary"
android:pathData="M13.79,70.23a40,40 0,0 0,56.45 -56.5Z" /> android:pathData="M13.79,70.23a40,40 0,0 0,56.45 -56.5Z" />
<path <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" /> 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 <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" /> android:pathData="M161.91,12.68h33.93v5.85H182.13V59.59h13.71v5.85H161.91V59.59h13.71v-41H161.91Z" />
<path <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" /> 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 <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" /> android:pathData="M256.21,12.68h32.35v5.85H262.62V36.09h25.55v5.85H262.62V59.59h26.43v5.85H256.21Z" />
<path <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" /> 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 <path
android:fillColor="@color/monerujoPrimary" android:fillColor="?colorPrimary"
android:pathData="M348,12.68h6.41V36.09h22.79V12.68h6.41V65.54h-6.41V42H354.45V65.63H348Z" /> android:pathData="M348,12.68h6.41V36.09h22.79V12.68h6.41V65.54h-6.41V42H354.45V65.63H348Z" />
<path <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" /> android:pathData="M395.68,12.68h33.93v5.85H415.9V59.59h13.71v5.85H395.68V59.59h13.71v-41H395.68Z" />
<path <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" /> android:pathData="M443.23,12.68h32.84v5.85H449.64V36.09h25.94v5.85H449.64v23.6h-6.41V12.68Z" />
<path <path
android:fillColor="@color/monerujoPrimary" android:fillColor="?colorPrimary"
android:pathData="M487.32,12.68H524.9v5.85H509.32v47H502.9V18.63H487.32V12.68Z" /> android:pathData="M487.32,12.68H524.9v5.85H509.32v47H502.9V18.63H487.32V12.68Z" />
<path <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" /> 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 <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" /> 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 <path
android:fillColor="@color/monerujoPrimary" android:fillColor="?colorPrimary"
android:pathData="M614.07,12.68H648v5.85H634.29V59.59H648v5.85H614.07V59.59h13.71v-41H614.07Z" /> android:pathData="M614.07,12.68H648v5.85H634.29V59.59H648v5.85H614.07V59.59h13.71v-41H614.07Z" />
</vector> </vector>

View File

@ -4,6 +4,6 @@
android:viewportWidth="85.43" android:viewportWidth="85.43"
android:viewportHeight="85.43"> android:viewportHeight="85.43">
<path <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" /> 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> </vector>

View File

@ -4,9 +4,9 @@
android:viewportWidth="85.43" android:viewportWidth="85.43"
android:viewportHeight="85.43"> android:viewportHeight="85.43">
<path <path
android:fillColor="@color/monerujoPrimary" android:fillColor="?colorPrimary"
android:pathData="M77.39,26A38.49,38.49 0,0 0,8 26Z" /> android:pathData="M77.39,26A38.49,38.49 0,0 0,8 26Z" />
<path <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" /> 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> </vector>

View File

@ -4,6 +4,6 @@
android:viewportWidth="85.43" android:viewportWidth="85.43"
android:viewportHeight="85.43"> android:viewportHeight="85.43">
<path <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" /> 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> </vector>

View File

@ -4,6 +4,6 @@
android:viewportWidth="85.43" android:viewportWidth="85.43"
android:viewportHeight="85.43"> android:viewportHeight="85.43">
<path <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" /> 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> </vector>

View File

@ -4,6 +4,6 @@
android:viewportWidth="85.43" android:viewportWidth="85.43"
android:viewportHeight="85.43"> android:viewportHeight="85.43">
<path <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" /> 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> </vector>

View File

@ -4,6 +4,6 @@
android:viewportWidth="85.43" android:viewportWidth="85.43"
android:viewportHeight="85.43"> android:viewportHeight="85.43">
<path <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" /> 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> </vector>

View File

@ -4,6 +4,6 @@
android:viewportHeight="24.0" android:viewportHeight="24.0"
android:viewportWidth="24.0"> android:viewportWidth="24.0">
<path <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" /> 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> </vector>

View File

@ -5,9 +5,9 @@
android:viewportHeight="24.0"> android:viewportHeight="24.0">
<path <path
android:fillAlpha=".3" 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" /> 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 <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" /> 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> </vector>

View File

@ -5,9 +5,9 @@
android:viewportHeight="24.0"> android:viewportHeight="24.0">
<path <path
android:fillAlpha=".3" 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" /> 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 <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" /> 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> </vector>

Some files were not shown because too many files have changed in this diff Show More