Skip to content

Commit

Permalink
Merge pull request #70 from Efimj/feature/crash-screen
Browse files Browse the repository at this point in the history
Feature/crash screen
  • Loading branch information
Efimj committed Jul 18, 2024
2 parents 96375cd + 9a7ef16 commit 1ed6d54
Show file tree
Hide file tree
Showing 26 changed files with 8,699 additions and 4,629 deletions.
1 change: 1 addition & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ android {

dependencies {
implementation(libs.androidx.profileinstaller)
implementation(libs.androidx.activity)
"baselineProfile"(project(":baselineprofile"))
coreLibraryDesugaring(libs.desugaring)
implementation(libs.androidx.core.ktx)
Expand Down
136 changes: 65 additions & 71 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,7 @@
tools:targetApi="tiramisu">
<profileable
android:shell="true"
tools:targetApi="34" />

<!-- provider for share image -->
tools:targetApi="34" /> <!-- provider for share image -->
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.file_provider"
Expand All @@ -39,28 +37,23 @@
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_path" />
</provider>

<!-- pin widget receiver -->
</provider> <!-- pin widget receiver -->
<receiver
android:name=".widgets.services.PinWidgetReceiver"
android:enabled="true"
android:exported="true" />

<!-- widget receiver -->
android:exported="true" /> <!-- widget receiver -->
<receiver
android:name=".widgets.services.NoteWidgetReceiver"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>

<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/note_widget_info" />
</receiver>

<!-- notification receiver -->
</receiver> <!-- notification receiver -->
<receiver
android:name=".services.notification.NotificationReceiver"
android:enabled="true"
Expand All @@ -73,26 +66,26 @@
<action android:name="android.app.action.SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED" />
</intent-filter>
</receiver>

<!-- share receiver activity -->
<!-- crash activity -->
<activity android:name=".crash.CrashActivity" />
<!-- share receiver activity -->
<activity
android:name=".activity.ShareReceiverActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.SEND" />

<category android:name="android.intent.category.DEFAULT" />

<data android:mimeType="text/plain" />
</intent-filter>
</activity>

<!-- widget config activity -->
<!-- widget config activity -->
<activity
android:name=".widgets.config.ConfigWidgetActivity"
android:imeOptions="actionSend|flagNoEnterAction"
android:theme="@style/Theme.Application"
android:windowSoftInputMode="adjustResize" />

<!-- startup activity -->
android:windowSoftInputMode="adjustResize" /> <!-- startup activity -->
<activity
android:name=".activity.StartupActivity"
android:enabled="true"
Expand All @@ -104,8 +97,7 @@
android:name="android.app.lib_name"
android:value="" />
</activity>

<!-- moin activity -->
<!-- moin activity -->
<activity
android:name=".activity.MainActivity"
android:enabled="true"
Expand All @@ -116,180 +108,182 @@
<meta-data
android:name="android.app.lib_name"
android:value="" />

<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<!-- activity's for any icons-->
<activity-alias
android:name=".ClassicWhiteLauncher"
android:name=".MaterialLauncher"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_classic_white_launcher"
android:icon="@mipmap/ic_material_launcher"
android:noHistory="true"
android:roundIcon="@mipmap/ic_classic_white_launcher_round"
android:roundIcon="@mipmap/ic_material_launcher_round"
android:targetActivity=".activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

<activity-alias
android:name=".LoveLauncher"
android:name=".StrawberryLauncher"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_love_launcher"
android:icon="@mipmap/ic_strawberry_launcher"
android:noHistory="true"
android:roundIcon="@mipmap/ic_love_launcher_round"
android:roundIcon="@mipmap/ic_strawberry_launcher_round"
android:targetActivity=".activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

<activity-alias
android:name=".RocketLauncher"
android:name=".PlumLauncher"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_rocket_launcher"
android:icon="@mipmap/ic_plum_launcher"
android:noHistory="true"
android:roundIcon="@mipmap/ic_rocket_launcher_round"
android:roundIcon="@mipmap/ic_plum_launcher_round"
android:targetActivity=".activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

<activity-alias
android:name=".MoneyLauncher"
android:name=".MangoLauncher"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_money_launcher"
android:icon="@mipmap/ic_mango_launcher"
android:noHistory="true"
android:roundIcon="@mipmap/ic_money_launcher_round"
android:roundIcon="@mipmap/ic_mango_launcher_round"
android:targetActivity=".activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

<activity-alias
android:name=".StarLauncher"
android:name=".AvocadoLauncher"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_star_launcher"
android:icon="@mipmap/ic_avocado_launcher"
android:noHistory="true"
android:roundIcon="@mipmap/ic_star_launcher_round"
android:roundIcon="@mipmap/ic_avocado_launcher_round"
android:targetActivity=".activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

<activity-alias
android:name=".NightLauncher"
android:name=".BlueberryLauncher"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_night_launcher"
android:icon="@mipmap/ic_blueberry_launcher"
android:noHistory="true"
android:roundIcon="@mipmap/ic_night_launcher_round"
android:roundIcon="@mipmap/ic_blueberry_launcher_round"
android:targetActivity=".activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

<activity-alias
android:name=".BlueberryLauncher"
android:name=".NightLauncher"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_blueberry_launcher"
android:icon="@mipmap/ic_night_launcher"
android:noHistory="true"
android:roundIcon="@mipmap/ic_blueberry_launcher_round"
android:roundIcon="@mipmap/ic_night_launcher_round"
android:targetActivity=".activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

<activity-alias
android:name=".AvocadoLauncher"
android:name=".StarLauncher"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_avocado_launcher"
android:icon="@mipmap/ic_star_launcher"
android:noHistory="true"
android:roundIcon="@mipmap/ic_avocado_launcher_round"
android:roundIcon="@mipmap/ic_star_launcher_round"
android:targetActivity=".activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

<activity-alias
android:name=".MangoLauncher"
android:name=".MoneyLauncher"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_mango_launcher"
android:icon="@mipmap/ic_money_launcher"
android:noHistory="true"
android:roundIcon="@mipmap/ic_mango_launcher_round"
android:roundIcon="@mipmap/ic_money_launcher_round"
android:targetActivity=".activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

<activity-alias
android:name=".PlumLauncher"
android:name=".RocketLauncher"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_plum_launcher"
android:icon="@mipmap/ic_rocket_launcher"
android:noHistory="true"
android:roundIcon="@mipmap/ic_plum_launcher_round"
android:roundIcon="@mipmap/ic_rocket_launcher_round"
android:targetActivity=".activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

<activity-alias
android:name=".StrawberryLauncher"
android:name=".LoveLauncher"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_strawberry_launcher"
android:icon="@mipmap/ic_love_launcher"
android:noHistory="true"
android:roundIcon="@mipmap/ic_strawberry_launcher_round"
android:roundIcon="@mipmap/ic_love_launcher_round"
android:targetActivity=".activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

</activity-alias> <!-- activity's for any icons -->
<activity-alias
android:name=".MaterialLauncher"
android:name=".ClassicWhiteLauncher"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_material_launcher"
android:icon="@mipmap/ic_classic_white_launcher"
android:noHistory="true"
android:roundIcon="@mipmap/ic_material_launcher_round"
android:roundIcon="@mipmap/ic_classic_white_launcher_round"
android:targetActivity=".activity.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>

</application>

</manifest>
8 changes: 7 additions & 1 deletion app/src/main/java/com/jobik/shkiper/activity/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import com.jobik.shkiper.NotepadApplication
import com.jobik.shkiper.SharedPreferencesKeys
import com.jobik.shkiper.SharedPreferencesKeys.OnboardingFinishedData
import com.jobik.shkiper.crash.CrashActivity
import com.jobik.shkiper.crash.GlobalExceptionHandler
import com.jobik.shkiper.navigation.Screen
import com.jobik.shkiper.screens.layout.AppLayout
import com.jobik.shkiper.services.billing.BillingService
Expand Down Expand Up @@ -58,8 +60,12 @@ open class MainActivity : ComponentActivity() {
enableEdgeToEdge()
installSplashScreen()
super.onCreate(savedInstanceState)
adjustFontSize(SettingsManager.settings.fontScale)
actionBar?.hide()
adjustFontSize(SettingsManager.settings.fontScale)
GlobalExceptionHandler.initialize(
applicationContext = applicationContext,
activityToBeLaunched = CrashActivity::class.java,
)

// Billing APIs are all handled in the this lifecycle observer.
billingClientLifecycle = (application as NotepadApplication).billingClientLifecycle
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.ui.Modifier
import com.jobik.shkiper.crash.CrashActivity
import com.jobik.shkiper.crash.GlobalExceptionHandler
import com.jobik.shkiper.database.data.note.NoteMongoRepository
import com.jobik.shkiper.database.models.Note
import com.jobik.shkiper.helpers.IntentHelper
Expand Down Expand Up @@ -40,6 +42,10 @@ class ShareReceiverActivity : AppCompatActivity() {
enableEdgeToEdge()
super.onCreate(savedInstanceState)
actionBar?.hide()
GlobalExceptionHandler.initialize(
applicationContext = applicationContext,
activityToBeLaunched = CrashActivity::class.java,
)

SettingsManager.init(this)
adjustFontSize(SettingsManager.settings.fontScale)
Expand Down
Loading

0 comments on commit 1ed6d54

Please sign in to comment.