From 2292dade60206d26fc0b035fd6264607321f7db7 Mon Sep 17 00:00:00 2001 From: Fahim Salam Chowdhury Date: Fri, 10 Mar 2023 14:25:46 +0600 Subject: [PATCH 1/7] 6691-s-fix-lint-N issue: https://gitlab.e.foundation/e/backlog/-/issues/6691 --- app/src/main/AndroidManifest.xml | 26 +++++--- .../FileObservers/RecursiveFileObserver.java | 8 +-- .../e/drive/activity/AccountsActivity.java | 6 +- .../AbstractContentScanner.java | 5 +- .../contentScanner/RemoteFileLister.java | 2 +- .../database/FailedSyncPrefsManager.java | 6 +- .../fileFilters/AppSettingsFileFilter.java | 4 +- .../drive/fileFilters/NoCacheFileFilter.java | 3 +- .../e/drive/models/SyncedFolder.java | 2 +- .../e/drive/services/InitializerService.java | 3 +- .../e/drive/services/ObserverService.java | 6 +- .../foundation/e/drive/utils/CommonUtils.java | 22 +++---- .../e/drive/utils/DavClientProvider.java | 14 ++-- .../drive/utils/ServiceExceptionHandler.java | 2 + .../e/drive/widgets/EDriveWidget.java | 2 +- .../e/drive/work/PeriodicWorker.java | 7 +- app/src/main/res/drawable/ic_arrow_back.xml | 23 ------- app/src/main/res/layout/activity_accounts.xml | 35 ++++++---- app/src/main/res/layout/e_drive_widget.xml | 54 +++++++++++----- .../main/res/layout/e_drive_widget_light.xml | 61 ++++++++++++------ .../main/res/layout/e_drive_widget_login.xml | 10 ++- .../res/layout/e_drive_widget_login_light.xml | 10 ++- .../main/res/mipmap-anydpi-v26/ic_eelo.xml | 5 -- .../res/mipmap-anydpi-v26/ic_eelo_round.xml | 5 -- app/src/main/res/mipmap-hdpi/ic_eelo.png | Bin 2701 -> 0 bytes .../res/mipmap-hdpi/ic_eelo_foreground.png | Bin 5266 -> 0 bytes .../main/res/mipmap-hdpi/ic_eelo_round.png | Bin 4835 -> 0 bytes app/src/main/res/mipmap-mdpi/ic_eelo.png | Bin 1757 -> 0 bytes .../res/mipmap-mdpi/ic_eelo_foreground.png | Bin 2507 -> 0 bytes .../main/res/mipmap-mdpi/ic_eelo_round.png | Bin 2936 -> 0 bytes app/src/main/res/mipmap-xhdpi/ic_eelo.png | Bin 3541 -> 0 bytes .../res/mipmap-xhdpi/ic_eelo_foreground.png | Bin 6033 -> 0 bytes .../main/res/mipmap-xhdpi/ic_eelo_round.png | Bin 6674 -> 0 bytes app/src/main/res/mipmap-xxhdpi/ic_eelo.png | Bin 6383 -> 0 bytes .../res/mipmap-xxhdpi/ic_eelo_foreground.png | Bin 14137 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_eelo_round.png | Bin 11771 -> 0 bytes app/src/main/res/mipmap-xxxhdpi/ic_eelo.png | Bin 9722 -> 0 bytes .../res/mipmap-xxxhdpi/ic_eelo_foreground.png | Bin 8548 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_eelo_round.png | Bin 17628 -> 0 bytes app/src/main/res/values-de/strings.xml | 11 ++-- app/src/main/res/values-es/strings.xml | 7 +- app/src/main/res/values-eu/strings.xml | 1 - app/src/main/res/values-fr/strings.xml | 7 +- app/src/main/res/values-it/strings.xml | 7 +- app/src/main/res/values-nl/strings.xml | 7 +- app/src/main/res/values-ru/strings.xml | 7 +- app/src/main/res/values/colors.xml | 6 -- app/src/main/res/values/dimens.xml | 4 -- app/src/main/res/values/strings.xml | 14 ++-- app/src/main/res/values/style.xml | 6 +- app/src/main/res/xml/e_drive_widget_info.xml | 2 +- .../contentScanner/RemoteFileListerTest.java | 2 +- lint.xml | 3 + 53 files changed, 204 insertions(+), 201 deletions(-) delete mode 100644 app/src/main/res/drawable/ic_arrow_back.xml delete mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_eelo.xml delete mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_eelo_round.xml delete mode 100644 app/src/main/res/mipmap-hdpi/ic_eelo.png delete mode 100644 app/src/main/res/mipmap-hdpi/ic_eelo_foreground.png delete mode 100644 app/src/main/res/mipmap-hdpi/ic_eelo_round.png delete mode 100644 app/src/main/res/mipmap-mdpi/ic_eelo.png delete mode 100644 app/src/main/res/mipmap-mdpi/ic_eelo_foreground.png delete mode 100644 app/src/main/res/mipmap-mdpi/ic_eelo_round.png delete mode 100644 app/src/main/res/mipmap-xhdpi/ic_eelo.png delete mode 100644 app/src/main/res/mipmap-xhdpi/ic_eelo_foreground.png delete mode 100644 app/src/main/res/mipmap-xhdpi/ic_eelo_round.png delete mode 100644 app/src/main/res/mipmap-xxhdpi/ic_eelo.png delete mode 100644 app/src/main/res/mipmap-xxhdpi/ic_eelo_foreground.png delete mode 100644 app/src/main/res/mipmap-xxhdpi/ic_eelo_round.png delete mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_eelo.png delete mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_eelo_foreground.png delete mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_eelo_round.png delete mode 100644 app/src/main/res/values/dimens.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1c47ced4..791b9321 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,7 +6,8 @@ - + @@ -22,7 +23,8 @@ + android:protectionLevel="signature" + tools:ignore="ReservedSystemPermission" /> + android:label="@string/my_cloud_account"> @@ -60,25 +62,29 @@ android:authorities="foundation.e.drive.providers.MediasSyncProvider" android:enabled="true" android:exported="true" - android:label="@string/account_setting_media_sync" /> + android:label="@string/account_setting_media_sync" + tools:ignore="ExportedContentProvider" /> + android:label="@string/account_setting_app_sync" + tools:ignore="ExportedContentProvider" /> + android:label="@string/account_setting_metered_network" + tools:ignore="ExportedContentProvider" /> + android:exported="true" + tools:ignore="ExportedService"> @@ -86,7 +92,8 @@ + android:exported="true" + tools:ignore="ExportedService"> @@ -106,7 +113,8 @@ + android:exported="true" + tools:ignore="ExportedReceiver"> diff --git a/app/src/main/java/foundation/e/drive/FileObservers/RecursiveFileObserver.java b/app/src/main/java/foundation/e/drive/FileObservers/RecursiveFileObserver.java index acd32bba..38d6f881 100644 --- a/app/src/main/java/foundation/e/drive/FileObservers/RecursiveFileObserver.java +++ b/app/src/main/java/foundation/e/drive/FileObservers/RecursiveFileObserver.java @@ -26,7 +26,7 @@ import foundation.e.drive.models.SyncedFolder; */ public class RecursiveFileObserver extends FileObserver { private final HashMap observers = new HashMap<>(); - private static final FileFilter WATCHABLE_DIRECTORIES_FILTER = new FileFilter() { + protected static final FileFilter WATCHABLE_DIRECTORIES_FILTER = new FileFilter() { @Override public boolean accept(File file) { return file.isDirectory() && !file.getName().startsWith("."); @@ -64,7 +64,7 @@ public class RecursiveFileObserver extends FileObserver { notify(event, file); } - private void notify(int event, File file) { + protected void notify(int event, File file) { if (listener != null) { listener.onEvent(event & FileObserver.ALL_EVENTS, file); } @@ -102,7 +102,7 @@ public class RecursiveFileObserver extends FileObserver { * Start watching a single file * @param path */ - private void startWatching(String path) { + protected void startWatching(String path) { synchronized (observers) { FileObserver observer = observers.remove(path); if (observer != null) { @@ -127,7 +127,7 @@ public class RecursiveFileObserver extends FileObserver { * Stop watching a single file * @param path */ - private void stopWatching(String path) { + protected void stopWatching(String path) { synchronized (observers) { FileObserver observer = observers.remove(path); if (observer != null) { diff --git a/app/src/main/java/foundation/e/drive/activity/AccountsActivity.java b/app/src/main/java/foundation/e/drive/activity/AccountsActivity.java index 47c45896..2bbe8839 100644 --- a/app/src/main/java/foundation/e/drive/activity/AccountsActivity.java +++ b/app/src/main/java/foundation/e/drive/activity/AccountsActivity.java @@ -98,7 +98,7 @@ public class AccountsActivity extends AppCompatActivity { totalShownQuota = CommonUtils.humanReadableByteCountBin(totalQuotaLong); } } catch (NumberFormatException ignored) { - Timber.i("Bad totalQuotaLong " + totalQuota); + Timber.i("Bad totalQuotaLong %s", totalQuota); } try { @@ -107,7 +107,7 @@ public class AccountsActivity extends AppCompatActivity { usedShownQuota = CommonUtils.humanReadableByteCountBin(usedQuotaLong); } } catch (NumberFormatException ignore) { - Timber.i("Bad usedQuotaLong " + usedQuota); + Timber.i("Bad usedQuotaLong %s", usedQuota); } binding.plan.setText(getString(R.string.free_plan, totalShownQuota)); @@ -158,7 +158,7 @@ public class AccountsActivity extends AppCompatActivity { Glide.with(this) .load(client.getBaseUri() + NON_OFFICIAL_AVATAR_PATH + client.getCredentials().getUsername() + "/" + 300) - .error(R.mipmap.ic_eelo_foreground) + .error(R.drawable.ic_murena_eel) .into(binding.avatar); binding.avatar.setVisibility(View.VISIBLE); } diff --git a/app/src/main/java/foundation/e/drive/contentScanner/AbstractContentScanner.java b/app/src/main/java/foundation/e/drive/contentScanner/AbstractContentScanner.java index 4917c25e..a84584db 100644 --- a/app/src/main/java/foundation/e/drive/contentScanner/AbstractContentScanner.java +++ b/app/src/main/java/foundation/e/drive/contentScanner/AbstractContentScanner.java @@ -9,6 +9,8 @@ package foundation.e.drive.contentScanner; import android.content.Context; +import androidx.annotation.NonNull; + import com.owncloud.android.lib.resources.files.FileUtils; import java.util.HashMap; @@ -46,7 +48,8 @@ public abstract class AbstractContentScanner { * @param fileStates SyncedFileState representing already known files * @return HashMap with SynceFileState ID as the key and SyncRequest instance as the value */ - public final HashMap scanContent(List fileList, List fileStates) { + @NonNull + public final HashMap scanContent(@NonNull List fileList, @NonNull List fileStates) { fileStates.removeIf(p -> p.isMediaType() && p.getName().startsWith(".")); //ignore hidden medias from db FileLoop: for (final T file : fileList) { diff --git a/app/src/main/java/foundation/e/drive/contentScanner/RemoteFileLister.java b/app/src/main/java/foundation/e/drive/contentScanner/RemoteFileLister.java index 440548e9..aec41b8e 100644 --- a/app/src/main/java/foundation/e/drive/contentScanner/RemoteFileLister.java +++ b/app/src/main/java/foundation/e/drive/contentScanner/RemoteFileLister.java @@ -30,7 +30,7 @@ import foundation.e.drive.utils.CommonUtils; * @author vincent Bourgmayer */ public class RemoteFileLister extends AbstractFileLister { - private OwnCloudClient client; + protected OwnCloudClient client; public RemoteFileLister(@NonNull List directories, @NonNull OwnCloudClient client) { super(directories); diff --git a/app/src/main/java/foundation/e/drive/database/FailedSyncPrefsManager.java b/app/src/main/java/foundation/e/drive/database/FailedSyncPrefsManager.java index e901661e..b2d54e82 100644 --- a/app/src/main/java/foundation/e/drive/database/FailedSyncPrefsManager.java +++ b/app/src/main/java/foundation/e/drive/database/FailedSyncPrefsManager.java @@ -49,18 +49,18 @@ public class FailedSyncPrefsManager { preferences.edit() .putInt(getFailureCounterKey(fileStateId), failure_counter) .putLong(getFailureTimeKey(fileStateId), timestamp) - .commit(); + .apply(); } public void clearPreferences() { - preferences.edit().clear().commit(); + preferences.edit().clear().apply(); } public void removeDataForFile(int fileStateId) { preferences.edit() .remove(getFailureCounterKey(fileStateId)) .remove(getFailureTimeKey(fileStateId)) - .commit(); + .apply(); } private String getFailureCounterKey(int fileStateId) { return fileStateId + FAILURE_COUNTER_KEY; diff --git a/app/src/main/java/foundation/e/drive/fileFilters/AppSettingsFileFilter.java b/app/src/main/java/foundation/e/drive/fileFilters/AppSettingsFileFilter.java index 054ff25d..35409857 100644 --- a/app/src/main/java/foundation/e/drive/fileFilters/AppSettingsFileFilter.java +++ b/app/src/main/java/foundation/e/drive/fileFilters/AppSettingsFileFilter.java @@ -11,6 +11,7 @@ package foundation.e.drive.fileFilters; import java.io.File; import java.io.FileFilter; +import java.util.Locale; /** * @author Vincent Bourgmayer @@ -21,7 +22,6 @@ class AppSettingsFileFilter implements FileFilter { public boolean accept(File pathname) { return pathname.isFile() || (pathname.isDirectory() - && !pathname.getName().toLowerCase().contains("cache")); - + && !pathname.getName().toLowerCase(Locale.getDefault()).contains("cache")); } } diff --git a/app/src/main/java/foundation/e/drive/fileFilters/NoCacheFileFilter.java b/app/src/main/java/foundation/e/drive/fileFilters/NoCacheFileFilter.java index 6b93dd0b..60a36ca4 100644 --- a/app/src/main/java/foundation/e/drive/fileFilters/NoCacheFileFilter.java +++ b/app/src/main/java/foundation/e/drive/fileFilters/NoCacheFileFilter.java @@ -9,6 +9,7 @@ package foundation.e.drive.fileFilters; import java.io.File; import java.io.FileFilter; +import java.util.Locale; /** * @author Vincent Bourgmayer @@ -16,6 +17,6 @@ import java.io.FileFilter; class NoCacheFileFilter implements FileFilter { @Override public boolean accept(File pathname) { - return ( ! pathname.getName().toLowerCase().contains("cache") ); + return ( ! pathname.getName().toLowerCase(Locale.getDefault()).contains("cache") ); } } diff --git a/app/src/main/java/foundation/e/drive/models/SyncedFolder.java b/app/src/main/java/foundation/e/drive/models/SyncedFolder.java index b160bf3f..a80c80c6 100644 --- a/app/src/main/java/foundation/e/drive/models/SyncedFolder.java +++ b/app/src/main/java/foundation/e/drive/models/SyncedFolder.java @@ -72,7 +72,7 @@ public class SyncedFolder implements Parcelable { * Constructor from a parcel * @param in The parcel containing data to build the object */ - private SyncedFolder(Parcel in){ + protected SyncedFolder(Parcel in){ this.id = in.readInt(); this.libelle = in.readString(); this.localFolder = in.readString(); diff --git a/app/src/main/java/foundation/e/drive/services/InitializerService.java b/app/src/main/java/foundation/e/drive/services/InitializerService.java index 6b310f49..16c8ce4d 100644 --- a/app/src/main/java/foundation/e/drive/services/InitializerService.java +++ b/app/src/main/java/foundation/e/drive/services/InitializerService.java @@ -11,6 +11,7 @@ package foundation.e.drive.services; import android.accounts.Account; import android.accounts.AccountManager; +import android.annotation.SuppressLint; import android.app.Service; import android.content.Context; import android.content.Intent; @@ -123,7 +124,7 @@ public class InitializerService extends Service { this.syncedFolders = new ArrayList<>(); for(int i=-1, size = categories.size(); ++i < size;) { - final String DEVICE_SPECIFIC_PATH = PATH_SEPARATOR+"Devices"+PATH_SEPARATOR+ Build.BRAND+"_"+ Build.MODEL+"_" + @SuppressLint("HardwareIds") final String DEVICE_SPECIFIC_PATH = PATH_SEPARATOR+"Devices"+PATH_SEPARATOR+ Build.BRAND+"_"+ Build.MODEL+"_" + Build.SERIAL; switch (categories.get(i)) { case "Images": diff --git a/app/src/main/java/foundation/e/drive/services/ObserverService.java b/app/src/main/java/foundation/e/drive/services/ObserverService.java index 46b351bf..842faebe 100644 --- a/app/src/main/java/foundation/e/drive/services/ObserverService.java +++ b/app/src/main/java/foundation/e/drive/services/ObserverService.java @@ -82,7 +82,7 @@ public class ObserverService extends Service implements OnRemoteOperationListene }; private Handler handler; private HandlerThread handlerThread; - private boolean forcedSync = false; + protected boolean forcedSync = false; /* Lifecycle Methods */ @Override @@ -133,7 +133,7 @@ public class ObserverService extends Service implements OnRemoteOperationListene * not been done * @return false if at least one condition is false */ - private boolean checkStartCondition(final SharedPreferences prefs, final boolean forcedSync) { + protected boolean checkStartCondition(final SharedPreferences prefs, final boolean forcedSync) { Timber.d("checkStartCondition()"); if (mAccount == null) { @@ -186,7 +186,7 @@ public class ObserverService extends Service implements OnRemoteOperationListene * Start to bind this service to OperationManagerService or start scan if binding is already set. * Method to factorise code that is called from different place */ - private void begin(){ + protected void begin(){ this.isWorking = true; clearCachedFile(); deleteOldestCrashlogs(); diff --git a/app/src/main/java/foundation/e/drive/utils/CommonUtils.java b/app/src/main/java/foundation/e/drive/utils/CommonUtils.java index 9a6ba862..5060557c 100644 --- a/app/src/main/java/foundation/e/drive/utils/CommonUtils.java +++ b/app/src/main/java/foundation/e/drive/utils/CommonUtils.java @@ -205,7 +205,7 @@ public abstract class CommonUtils { public static String getMimeType(File file) { final String mimetype = MimeTypeMap.getSingleton() .getMimeTypeFromExtension( - MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(file).toString()).toLowerCase()); + MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(file).toString()).toLowerCase(Locale.getDefault())); if (mimetype == null) { return "*/*"; } @@ -312,17 +312,15 @@ public abstract class CommonUtils { public static void createNotificationChannel(Context context) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - final CharSequence name = context.getString(R.string.notif_channel_name); - final String description = context.getString(R.string.notif_channel_description); - int importance = NotificationManager.IMPORTANCE_DEFAULT; - final NotificationChannel channel = new NotificationChannel(AppConstants.notificationChannelID, name, importance); - channel.setDescription(description); - // Register the channel with the system; you can't change the importance - // or other notification behaviors after this - final NotificationManager notificationManager = context.getSystemService(NotificationManager.class); - notificationManager.createNotificationChannel(channel); - } + final CharSequence name = context.getString(R.string.notif_channel_name); + final String description = context.getString(R.string.notif_channel_description); + int importance = NotificationManager.IMPORTANCE_DEFAULT; + final NotificationChannel channel = new NotificationChannel(AppConstants.notificationChannelID, name, importance); + channel.setDescription(description); + // Register the channel with the system; you can't change the importance + // or other notification behaviors after this + final NotificationManager notificationManager = context.getSystemService(NotificationManager.class); + notificationManager.createNotificationChannel(channel); } public static void copyToClipboard(Uri data, Context context, String label) { diff --git a/app/src/main/java/foundation/e/drive/utils/DavClientProvider.java b/app/src/main/java/foundation/e/drive/utils/DavClientProvider.java index 6c88038f..8e27d88a 100644 --- a/app/src/main/java/foundation/e/drive/utils/DavClientProvider.java +++ b/app/src/main/java/foundation/e/drive/utils/DavClientProvider.java @@ -28,7 +28,10 @@ import timber.log.Timber; * @author Vincent Bourgmayer */ public class DavClientProvider { - private DavClientProvider (){ + + private final static DavClientProvider instance = new DavClientProvider(); + + private DavClientProvider() { Timber.tag(DavClientProvider.class.getSimpleName()); } @@ -87,16 +90,9 @@ public class DavClientProvider { return AccountManager.get(ctx).getPassword(account); } - /** Holder */ - private static class DavClientHolder - { - /** Instance unique non préinitialisée */ - private final static DavClientProvider instance = new DavClientProvider(); - } - /** Point d'accès pour l'instance unique du singleton */ public static DavClientProvider getInstance() { - return DavClientHolder.instance; + return instance; } } diff --git a/app/src/main/java/foundation/e/drive/utils/ServiceExceptionHandler.java b/app/src/main/java/foundation/e/drive/utils/ServiceExceptionHandler.java index 24074649..545c8526 100644 --- a/app/src/main/java/foundation/e/drive/utils/ServiceExceptionHandler.java +++ b/app/src/main/java/foundation/e/drive/utils/ServiceExceptionHandler.java @@ -7,6 +7,7 @@ * http://www.gnu.org/licenses/gpl.html */ package foundation.e.drive.utils; +import android.annotation.SuppressLint; import android.app.Service; import android.os.Environment; @@ -42,6 +43,7 @@ public class ServiceExceptionHandler implements UncaughtExceptionHandler{ defaultUEH = Thread.getDefaultUncaughtExceptionHandler(); } + @SuppressLint("SetWorldReadable") @Override public void uncaughtException(Thread t, Throwable exception) { diff --git a/app/src/main/java/foundation/e/drive/widgets/EDriveWidget.java b/app/src/main/java/foundation/e/drive/widgets/EDriveWidget.java index a9b88e7d..95dc57dd 100644 --- a/app/src/main/java/foundation/e/drive/widgets/EDriveWidget.java +++ b/app/src/main/java/foundation/e/drive/widgets/EDriveWidget.java @@ -56,7 +56,7 @@ public class EDriveWidget extends AppWidgetProvider { private static final String COPY_ALIAS = "copy_alias"; private static final String DARK_TEXT_KEY = "foundation.e.blisslauncher.WIDGET_OPTION_DARK_TEXT"; private static boolean showAlias = false; - private static boolean isNetworkAvailable = false; + protected static boolean isNetworkAvailable = false; private static boolean isDarkText = false; private final Calendar calender = Calendar.getInstance(); private final SimpleDateFormat sdf = new SimpleDateFormat("HH:mm", Locale.getDefault()); diff --git a/app/src/main/java/foundation/e/drive/work/PeriodicWorker.java b/app/src/main/java/foundation/e/drive/work/PeriodicWorker.java index fb485654..99642ac5 100644 --- a/app/src/main/java/foundation/e/drive/work/PeriodicWorker.java +++ b/app/src/main/java/foundation/e/drive/work/PeriodicWorker.java @@ -20,6 +20,7 @@ import androidx.work.WorkManager; import androidx.work.Worker; import androidx.work.WorkerParameters; +import java.util.ArrayList; import java.util.List; /** @@ -39,9 +40,9 @@ public class PeriodicWorker extends Worker { public Result doWork() { final WorkManager workManager = WorkManager.getInstance(getApplicationContext()); - final List workRequestsLists = List.of( - WorkRequestFactory.getOneTimeWorkRequest(ONE_TIME_APP_LIST, null), - WorkRequestFactory.getOneTimeWorkRequest(ONE_TIME_FULL_SCAN, null)); + final List workRequestsLists = new ArrayList<>(); + workRequestsLists.add(WorkRequestFactory.getOneTimeWorkRequest(ONE_TIME_APP_LIST, null)); + workRequestsLists.add(WorkRequestFactory.getOneTimeWorkRequest(ONE_TIME_FULL_SCAN, null)); workManager.beginUniqueWork(FullScanWorker.UNIQUE_WORK_NAME, ExistingWorkPolicy.KEEP, workRequestsLists) .enqueue(); diff --git a/app/src/main/res/drawable/ic_arrow_back.xml b/app/src/main/res/drawable/ic_arrow_back.xml deleted file mode 100644 index 6c6a4b74..00000000 --- a/app/src/main/res/drawable/ic_arrow_back.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_accounts.xml b/app/src/main/res/layout/activity_accounts.xml index 1de0b968..ba9378f4 100644 --- a/app/src/main/res/layout/activity_accounts.xml +++ b/app/src/main/res/layout/activity_accounts.xml @@ -1,6 +1,7 @@ @@ -28,7 +29,6 @@ app:layout_constraintTop_toBottomOf="@id/toolbar"> + app:layout_constraintTop_toBottomOf="@id/avatar" + tools:targetApi="p" /> + app:layout_constraintTop_toBottomOf="@id/name" + tools:targetApi="p" /> + app:layout_constraintTop_toBottomOf="@id/email" + tools:targetApi="p" /> + app:layout_constraintTop_toBottomOf="@id/progress" + tools:targetApi="p" /> + app:layout_constraintTop_toBottomOf="@id/progress" + tools:targetApi="p" /> + app:strokeColor="@color/colorAccent" + tools:targetApi="p" /> + app:layout_constraintTop_toBottomOf="@id/header" + tools:targetApi="p" /> + android:textSize="16sp" + tools:targetApi="p" /> + android:textStyle="bold" + tools:targetApi="p" /> + android:textStyle="bold" + tools:targetApi="p" /> + android:textSize="16sp" + android:textIsSelectable="false" + tools:targetApi="p" /> + app:tint="@color/widget_text_color2" + android:contentDescription="@string/settings_title" /> + android:textSize="16sp" + tools:ignore="RelativeOverlap" + android:textIsSelectable="false" + tools:targetApi="p" /> + android:textSize="16sp" + tools:ignore="RelativeOverlap" + app:drawableEndCompat="@drawable/ic_keyboard_arrow_down" + tools:targetApi="p" /> + android:textSize="16sp" + android:textIsSelectable="false" + tools:targetApi="p" /> + android:textSize="16sp" + app:drawableEndCompat="@drawable/ic_clipboard" + tools:targetApi="p" /> + android:visibility="gone" + app:drawableEndCompat="@drawable/ic_arrow_up" + tools:targetApi="p" /> + android:textSize="11sp" + android:textIsSelectable="false" + tools:targetApi="p" /> + android:textSize="12sp" + tools:targetApi="p" /> + android:textSize="14sp" + tools:targetApi="p" /> + android:textSize="14sp" + android:textIsSelectable="false" + tools:targetApi="p" />