From 872098a04e09855d641b4bd7e9faad3bc7ec7207 Mon Sep 17 00:00:00 2001 From: Yogesh Choudhary Paliyal Date: Sat, 14 Jan 2023 17:16:37 +0530 Subject: [PATCH] create common application class, fix fab styling (#287) * create common application class, fix fab styling * fix: remove unused imports and add last line * fix: spotless issues * common application changes --- app/build.gradle | 7 ---- app/src/main/AndroidManifest.xml | 6 +-- .../yogeshpaliyal/keypass/MyApplication.kt | 33 ++-------------- .../main/res/layout/activity_dashboard.xml | 6 +-- app/src/main/res/layout/fragment_detail.xml | 1 - build.gradle | 2 - common/build.gradle | 5 +++ common/src/main/AndroidManifest.xml | 11 +++++- .../common/CommonMyApplication.kt | 38 +++++++++++++++++++ keypasscompose/build.gradle | 1 - 10 files changed, 61 insertions(+), 49 deletions(-) create mode 100644 common/src/main/java/com/yogeshpaliyal/common/CommonMyApplication.kt diff --git a/app/build.gradle b/app/build.gradle index 32880bef..68626a27 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -80,13 +80,6 @@ dependencies { implementation 'androidx.preference:preference-ktx:1.2.0' - - // ViewModel - implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" - // LiveData - implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version" - implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version" - implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version" implementation "androidx.navigation:navigation-ui-ktx:$navigation_version" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 12f75668..b3b3912a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -61,11 +61,7 @@ - + \ No newline at end of file diff --git a/app/src/main/java/com/yogeshpaliyal/keypass/MyApplication.kt b/app/src/main/java/com/yogeshpaliyal/keypass/MyApplication.kt index 06802a79..0578c2c6 100644 --- a/app/src/main/java/com/yogeshpaliyal/keypass/MyApplication.kt +++ b/app/src/main/java/com/yogeshpaliyal/keypass/MyApplication.kt @@ -1,15 +1,9 @@ package com.yogeshpaliyal.keypass -import android.app.Application import android.content.Intent -import android.util.Log -import androidx.hilt.work.HiltWorkerFactory -import androidx.work.Configuration -import com.google.android.material.color.DynamicColors +import com.yogeshpaliyal.common.CommonMyApplication import com.yogeshpaliyal.keypass.ui.CrashActivity import dagger.hilt.android.HiltAndroidApp -import javax.inject.Inject -import kotlin.system.exitProcess /* * @author Yogesh Paliyal @@ -18,28 +12,9 @@ import kotlin.system.exitProcess * created on 22-01-2021 22:41 */ @HiltAndroidApp -class MyApplication : Application(), Configuration.Provider { +class MyApplication : CommonMyApplication() { - @Inject - lateinit var workerFactory: HiltWorkerFactory - - override fun onCreate() { - super.onCreate() - Thread.setDefaultUncaughtExceptionHandler { thread, throwable -> - Log.d("MyApplication", "crashed ") - val intent = CrashActivity.getIntent(this, throwable.localizedMessage) - intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK - startActivity(intent) - exitProcess(1) - } - - DynamicColors.applyToActivitiesIfAvailable(this) - } - - override fun getWorkManagerConfiguration(): Configuration { - return Configuration.Builder() - .setMinimumLoggingLevel(android.util.Log.INFO) - .setWorkerFactory(workerFactory) - .build() + override fun getCrashActivityIntent(throwable: Throwable): Intent { + return CrashActivity.getIntent(this, throwable.localizedMessage) } } diff --git a/app/src/main/res/layout/activity_dashboard.xml b/app/src/main/res/layout/activity_dashboard.xml index 4396e9cc..7d99c79e 100644 --- a/app/src/main/res/layout/activity_dashboard.xml +++ b/app/src/main/res/layout/activity_dashboard.xml @@ -81,8 +81,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" - app:fabAlignmentMode="center" app:fabCradleMargin="@dimen/bottom_app_bar_fab_cradle_margin" + app:menuAlignmentMode="start" app:fabCradleRoundedCornerRadius="@dimen/bottom_app_bar_fab_cradle_corner_radius" app:hideOnScroll="true" app:menu="@menu/bottom_app_bar" @@ -93,8 +93,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_anchor="@id/bottomAppBar" - app:srcCompat="@drawable/asl_add_save" - app:shapeAppearanceOverlay="@style/ShapeAppearance.KeyPass.Cirle"/> + app:fabAnchorMode="embed" + app:srcCompat="@drawable/asl_add_save"/> diff --git a/app/src/main/res/layout/fragment_detail.xml b/app/src/main/res/layout/fragment_detail.xml index 8f025bb9..ac248174 100644 --- a/app/src/main/res/layout/fragment_detail.xml +++ b/app/src/main/res/layout/fragment_detail.xml @@ -210,7 +210,6 @@ android:layout_height="wrap_content" android:layout_marginEnd="@dimen/grid_2" app:layout_anchor="@id/bottomAppBar" - app:shapeAppearanceOverlay="@style/ShapeAppearance.KeyPass.Cirle" app:srcCompat="@drawable/ic_round_done_24" /> diff --git a/build.gradle b/build.gradle index 7cf52085..1099ad70 100644 --- a/build.gradle +++ b/build.gradle @@ -7,8 +7,6 @@ buildscript { room_version = "2.5.0" navigation_version = '2.5.3' ext.hilt_version = '2.44.2' - compose_version = '1.0.1' - } repositories { google() diff --git a/common/build.gradle b/common/build.gradle index 47b9d8e8..cb12df7a 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -75,4 +75,9 @@ dependencies { api "androidx.biometric:biometric:1.1.0" + // ViewModel + api "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" + // LiveData + api "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version" + } diff --git a/common/src/main/AndroidManifest.xml b/common/src/main/AndroidManifest.xml index 17ae9a0e..3c6c31a1 100644 --- a/common/src/main/AndroidManifest.xml +++ b/common/src/main/AndroidManifest.xml @@ -1,5 +1,14 @@ + package="com.yogeshpaliyal.common" + xmlns:tools="http://schemas.android.com/tools"> + + + + \ No newline at end of file diff --git a/common/src/main/java/com/yogeshpaliyal/common/CommonMyApplication.kt b/common/src/main/java/com/yogeshpaliyal/common/CommonMyApplication.kt new file mode 100644 index 00000000..d3b98b6e --- /dev/null +++ b/common/src/main/java/com/yogeshpaliyal/common/CommonMyApplication.kt @@ -0,0 +1,38 @@ +package com.yogeshpaliyal.common + +import android.app.Application +import android.content.Intent +import android.util.Log +import androidx.hilt.work.HiltWorkerFactory +import androidx.work.Configuration +import com.google.android.material.color.DynamicColors +import javax.inject.Inject +import kotlin.system.exitProcess + +abstract class CommonMyApplication : Application(), Configuration.Provider { + + @Inject + lateinit var workerFactory: HiltWorkerFactory + + abstract fun getCrashActivityIntent(throwable: Throwable): Intent + + override fun onCreate() { + super.onCreate() + Thread.setDefaultUncaughtExceptionHandler { thread, throwable -> + Log.d("MyApplication", "crashed ") + val intent = getCrashActivityIntent(throwable) + intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK + startActivity(intent) + exitProcess(1) + } + + DynamicColors.applyToActivitiesIfAvailable(this) + } + + override fun getWorkManagerConfiguration(): Configuration { + return Configuration.Builder() + .setMinimumLoggingLevel(android.util.Log.INFO) + .setWorkerFactory(workerFactory) + .build() + } +} diff --git a/keypasscompose/build.gradle b/keypasscompose/build.gradle index 95ab98d3..4bd62453 100644 --- a/keypasscompose/build.gradle +++ b/keypasscompose/build.gradle @@ -62,7 +62,6 @@ dependencies { implementation "androidx.compose.ui:ui:1.3.3" implementation "androidx.compose.material:material:1.3.1" implementation "androidx.compose.ui:ui-tooling-preview:1.3.3" - implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1' implementation 'androidx.activity:activity-compose:1.5.1' androidTestImplementation "androidx.compose.ui:ui-test-junit4:1.3.3" debugImplementation "androidx.compose.ui:ui-tooling:1.3.2"