- Fixed delayed loading when skipped loading is toggled
This commit is contained in:
Hamza417
2023-07-09 22:07:38 +05:30
parent 282e58864d
commit cff7bb7d85
16 changed files with 120 additions and 54 deletions

2
.idea/compiler.xml generated
View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="11" />
<bytecodeTargetLevel target="17" />
</component>
</project>

6
.idea/kotlinc.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinJpsPluginSettings">
<option name="version" value="1.8.0" />
</component>
</project>

2
.idea/misc.xml generated
View File

@ -430,7 +430,7 @@
</map>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="Python 3.10 (venv)" project-jdk-type="Python SDK" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="jbr-17" project-jdk-type="JavaSDK" />
<component name="ProjectType">
<option name="id" value="Android" />
</component>

View File

@ -12,6 +12,7 @@ android {
buildFeatures {
viewBinding false
aidl true
}
defaultConfig {
@ -97,12 +98,12 @@ android {
compileOptions {
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_11
jvmTarget = JavaVersion.VERSION_17
}
ndkVersion '25.2.9519653'
@ -151,6 +152,7 @@ dependencies {
implementation 'androidx.viewpager2:viewpager2:1.1.0-beta02'
implementation 'androidx.dynamicanimation:dynamicanimation-ktx:1.0.0-alpha03'
implementation "androidx.security:security-crypto:1.1.0-alpha06"
implementation 'androidx.core:core-splashscreen:1.0.1'
// Google
implementation 'com.google.android.material:material:1.9.0'

View File

@ -444,7 +444,7 @@
android:documentLaunchMode="intoExisting"
android:exported="true"
android:icon="@mipmap/ic_audio_player"
android:label="Inure Mini Player"
android:label="@string/audio_player"
android:roundIcon="@mipmap/ic_audio_player_round"
android:theme="@style/Inure.Transparent"
android:windowSoftInputMode="adjustResize">

View File

@ -13,45 +13,66 @@
<br>
<sub>(Current Version)</sub>
<h2>Build86</h2>
<h2>Build87</h2>
<!-- Write change logs here -->
<h4>User Interface</h4>
<ul>
<li>Added new animation in various panel.</li>
<li>Added app icon in <b>Notes Editor</b> panel.</li>
<li><b>App Info</b> grid layout can be now be adjusted separately for each layouts.</li>
<li>Added option to change text size in <b>Notes Editor</b>.</li>
<li>Added <i>Share</i> in <b>Notes</b> panel.</li>
<li>Added tooltips popup on various buttons of the app.</li>
</ul>
<h4>Bug Fixes</h4>
<ul>
<li>Fixed <b>App Information loading indefinitely.</b></li>
<li>Fixed empty batch checklist.</li>
<li>Fixed showing permission switch dialog when app is not installed.</li>
<li>Fixed various issues with <b>Installer</b>.</li>
<li>Fixed delayed loading when skipped loading is toggled.</li>
<li>Fixed same warning showing two times on <b>Splash Screen</b>.</li>
</ul>
<h4>Improvements</h4>
<h4>Changes</h4>
<ul>
<li>Improved <i>Inure Theme Engine</i>.</li>
<li>Improved app's animation framework.</li>
</ul>
<h4>Removed</h4>
<ul>
<li>Removed JSON spans option from <b>Notes Editor</b>.</li>
<li>Changed <i>Inure Mini Player</i> to <i>Audio Player</i>.</li>
</ul>
<br>
<br>
<div class="wrap-collapsible">
<input class="toggle" id="build_86" type="checkbox">
<label class="lbl-toggle" for="build_86">Build86</label>
<div class="collapsible-content">
<div class="content-inner">
<h4>User Interface</h4>
<ul>
<li>Added new animation in various panel.</li>
<li>Added app icon in <b>Notes Editor</b> panel.</li>
<li><b>App Info</b> grid layout can be now be adjusted separately for each layouts.
</li>
<li>Added option to change text size in <b>Notes Editor</b>.</li>
<li>Added <i>Share</i> in <b>Notes</b> panel.</li>
<li>Added tooltips popup on various buttons of the app.</li>
</ul>
<h4>Bug Fixes</h4>
<ul>
<li>Fixed <b>App Information loading indefinitely.</b></li>
<li>Fixed empty batch checklist.</li>
<li>Fixed showing permission switch dialog when app is not installed.</li>
<li>Fixed various issues with <b>Installer</b>.</li>
</ul>
<h4>Improvements</h4>
<ul>
<li>Improved <i>Inure Theme Engine</i>.</li>
<li>Improved app's animation framework.</li>
</ul>
<h4>Removed</h4>
<ul>
<li>Removed JSON spans option from <b>Notes Editor</b>.</li>
</ul>
</div>
</div>
</div>
<div class="wrap-collapsible">
<input class="toggle" id="build_85" type="checkbox">
<label class="lbl-toggle" for="build_85">Build85</label>

View File

@ -19,13 +19,30 @@ import app.simple.inure.constants.Warnings
import app.simple.inure.crash.CrashReporter
import app.simple.inure.decorations.theme.ThemeCoordinatorLayout
import app.simple.inure.extensions.activities.BaseActivity
import app.simple.inure.preferences.*
import app.simple.inure.preferences.AppearancePreferences
import app.simple.inure.preferences.DevelopmentPreferences
import app.simple.inure.preferences.MainPreferences
import app.simple.inure.preferences.MusicPreferences
import app.simple.inure.preferences.TrialPreferences
import app.simple.inure.terminal.Term
import app.simple.inure.themes.manager.Theme
import app.simple.inure.themes.manager.ThemeManager
import app.simple.inure.themes.manager.ThemeUtils
import app.simple.inure.ui.launcher.SplashScreen
import app.simple.inure.ui.panels.*
import app.simple.inure.ui.panels.Analytics
import app.simple.inure.ui.panels.Apps
import app.simple.inure.ui.panels.Batch
import app.simple.inure.ui.panels.DeviceInfo
import app.simple.inure.ui.panels.Home
import app.simple.inure.ui.panels.MostUsed
import app.simple.inure.ui.panels.Music
import app.simple.inure.ui.panels.Notes
import app.simple.inure.ui.panels.Preferences
import app.simple.inure.ui.panels.RecentlyInstalled
import app.simple.inure.ui.panels.RecentlyUpdated
import app.simple.inure.ui.panels.Search
import app.simple.inure.ui.panels.Statistics
import app.simple.inure.ui.panels.Uninstalled
import app.simple.inure.ui.viewers.AudioPlayerPager
import app.simple.inure.util.ActivityUtils.getTopFragment
import app.simple.inure.util.AppUtils
@ -36,7 +53,8 @@ import app.simple.inure.util.Logger
import app.simple.inure.util.NullSafety.isNull
import com.topjohnwu.superuser.ipc.RootService
import java.time.ZonedDateTime
import java.util.*
import java.util.Calendar
import java.util.TimeZone
class MainActivity : BaseActivity() {
@ -76,6 +94,7 @@ class MainActivity : BaseActivity() {
.addToBackStack("analytics")
.commit()
}
ShortcutConstants.APPS_ACTION -> {
openHome()
supportFragmentManager.beginTransaction()
@ -84,6 +103,7 @@ class MainActivity : BaseActivity() {
.addToBackStack("apps")
.commit()
}
ShortcutConstants.BATCH_ACTION -> {
openHome()
supportFragmentManager.beginTransaction()
@ -92,6 +112,7 @@ class MainActivity : BaseActivity() {
.addToBackStack("batch")
.commit()
}
ShortcutConstants.MOST_USED_ACTION -> {
openHome()
supportFragmentManager.beginTransaction()
@ -100,6 +121,7 @@ class MainActivity : BaseActivity() {
.addToBackStack("most_used")
.commit()
}
ShortcutConstants.NOTES_ACTION -> {
openHome()
supportFragmentManager.beginTransaction()
@ -108,6 +130,7 @@ class MainActivity : BaseActivity() {
.addToBackStack("notes")
.commit()
}
ShortcutConstants.RECENTLY_INSTALLED_ACTION -> {
openHome()
supportFragmentManager.beginTransaction()
@ -116,6 +139,7 @@ class MainActivity : BaseActivity() {
.addToBackStack("recently_installed")
.commit()
}
ShortcutConstants.RECENTLY_UPDATED_ACTION -> {
openHome()
supportFragmentManager.beginTransaction()
@ -124,11 +148,13 @@ class MainActivity : BaseActivity() {
.addToBackStack("recently_updated")
.commit()
}
ShortcutConstants.TERMINAL_ACTION -> {
openHome()
startActivity(Intent(this, Term::class.java))
finish()
}
ShortcutConstants.UNINSTALLED_ACTION -> {
openHome()
supportFragmentManager.beginTransaction()
@ -137,6 +163,7 @@ class MainActivity : BaseActivity() {
.addToBackStack("uninstalled")
.commit()
}
ShortcutConstants.USAGE_STATS_ACTION -> {
openHome()
supportFragmentManager.beginTransaction()
@ -145,6 +172,7 @@ class MainActivity : BaseActivity() {
.addToBackStack("stats")
.commit()
}
ShortcutConstants.PREFERENCES_ACTION -> {
openHome()
supportFragmentManager.beginTransaction()
@ -153,6 +181,7 @@ class MainActivity : BaseActivity() {
.addToBackStack("preferences")
.commit()
}
ShortcutConstants.SEARCH_ACTION -> {
openHome()
supportFragmentManager.beginTransaction()
@ -161,6 +190,7 @@ class MainActivity : BaseActivity() {
.addToBackStack("search")
.commit()
}
ShortcutConstants.MUSIC_ACTION -> {
openHome()
supportFragmentManager.beginTransaction()
@ -169,6 +199,7 @@ class MainActivity : BaseActivity() {
.addToBackStack("music")
.commit()
}
ShortcutConstants.AUDIO_PLAYER_ACTION -> {
if (supportFragmentManager.findFragmentByTag("audio_player_pager") == null) {
supportFragmentManager.beginTransaction()
@ -193,6 +224,7 @@ class MainActivity : BaseActivity() {
.commit()
}
}
"open_device_info" -> {
openHome()
supportFragmentManager.beginTransaction()
@ -201,6 +233,7 @@ class MainActivity : BaseActivity() {
.addToBackStack("device_info")
.commit()
}
IntentConstants.ACTION_UNLOCK -> {
if (packageManager.isPackageInstalled(AppUtils.unlockerPackageName)) {
if (TrialPreferences.isFullVersion()) {
@ -233,6 +266,7 @@ class MainActivity : BaseActivity() {
.commit()
}
}
else -> {
if (AppUtils.isBetaFlavor()) {
supportFragmentManager.beginTransaction()

View File

@ -1,6 +1,7 @@
package app.simple.inure.constants
object BundleConstants {
const val skip = "skip"
const val state = "state"
const val size = "size"
const val keywords: String = "keywords"

View File

@ -53,6 +53,5 @@ class AppIconModule : AppGlideModule() {
override fun registerComponents(context: Context, glide: Glide, registry: Registry) {
registry.append(AppIcon::class.java, Bitmap::class.java, AppIconLoader.Factory())
//registry.append(AppGraphicsModel::class.java, InputStream::class.java, AppGraphicsLoader.Factory())
}
}

View File

@ -105,7 +105,7 @@ object BehaviourPreferences {
SharedPreferences.getSharedPreferences().edit().putBoolean(skipLoading, boolean).apply()
}
fun isSkipLoadingMainScreenState(): Boolean {
fun isSkipLoading(): Boolean {
return SharedPreferences.getSharedPreferences().getBoolean(skipLoading, false)
}

View File

@ -20,6 +20,7 @@ import androidx.lifecycle.lifecycleScope
import androidx.localbroadcastmanager.content.LocalBroadcastManager
import app.simple.inure.R
import app.simple.inure.apk.utils.PackageUtils.isPackageInstalled
import app.simple.inure.constants.BundleConstants
import app.simple.inure.constants.Misc
import app.simple.inure.constants.Warnings
import app.simple.inure.crash.CrashReporter
@ -75,6 +76,7 @@ class SplashScreen : ScopedFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
startPostponedEnterTransition()
intentFilter.addAction(DataLoaderService.APPS_LOADED)
intentFilter.addAction(DataLoaderService.UNINSTALLED_APPS_LOADED)
@ -103,8 +105,6 @@ class SplashScreen : ScopedFragment() {
}
}
startPostponedEnterTransition()
icon = view.findViewById(R.id.imageView)
loaderImageView = view.findViewById(R.id.loader)
daysLeft = view.findViewById(R.id.days_left)
@ -115,7 +115,7 @@ class SplashScreen : ScopedFragment() {
icon.startAnimation(AnimationUtils.loadAnimation(requireContext(), R.anim.app_icon_animation))
}
if (BehaviourPreferences.isSkipLoadingMainScreenState()) {
if (BehaviourPreferences.isSkipLoading()) {
loaderImageView.alpha = 0F
}
@ -130,20 +130,23 @@ class SplashScreen : ScopedFragment() {
}
when {
MainPreferences.isDisclaimerAgreed().invert() -> {
MainPreferences.isDisclaimerAgreed().invert() -> { // First check if disclaimer is agreed
openFragmentSlide(Disclaimer.newInstance())
}
requireArguments().getBoolean("skip") -> {
requireArguments().getBoolean(BundleConstants.skip) -> { // Second check if setup is skipped
startLoaderService()
}
!checkForPermission() -> {
if (SetupPreferences.isDontShowAgain()) {
if (SetupPreferences.isDontShowAgain()) { // If setup not skipped open setup
startLoaderService()
} else {
openFragmentSlide(Setup.newInstance())
}
}
else -> {
else -> { // Load all data
startLoaderService()
}
}
@ -277,14 +280,13 @@ class SplashScreen : ScopedFragment() {
openApp()
}
if (BehaviourPreferences.isSkipLoadingMainScreenState()) {
openFragmentArc(Home.newInstance(), icon)
if (BehaviourPreferences.isSkipLoading()) {
openApp()
}
}
private fun openApp() {
if (BehaviourPreferences.isSkipLoadingMainScreenState()) return
if (isEverythingLoaded()) {
if (isEverythingLoaded() || BehaviourPreferences.isSkipLoading()) {
if (MainPreferences.getLaunchCount() % 7 == 0 && StatusBarHeight.isLandscape(requireContext()).invert() && AppUtils.isPlayFlavor()) {
if (MainPreferences.isShowRateReminder()) {
requireActivity().supportFragmentManager.beginTransaction()
@ -416,7 +418,7 @@ class SplashScreen : ScopedFragment() {
companion object {
fun newInstance(skip: Boolean): SplashScreen {
val args = Bundle()
args.putBoolean("skip", skip)
args.putBoolean(BundleConstants.skip, skip)
val fragment = SplashScreen()
fragment.arguments = args
return fragment

View File

@ -64,7 +64,7 @@ class BehaviourScreen : ScopedFragment() {
transition.setChecked(BehaviourPreferences.isTransitionOn())
animations.setChecked(BehaviourPreferences.isArcAnimationOn())
marquee.setChecked(BehaviourPreferences.isMarqueeOn())
skipLoading.setChecked(BehaviourPreferences.isSkipLoadingMainScreenState())
skipLoading.setChecked(BehaviourPreferences.isSkipLoading())
setTransitionType()
setArcType()

View File

@ -10,7 +10,6 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.viewModelScope
import app.simple.inure.apk.utils.PackageUtils
import app.simple.inure.constants.SortConstant
import app.simple.inure.constants.Warnings
import app.simple.inure.extensions.viewmodels.RootShizukuViewModel
import app.simple.inure.models.BatteryOptimizationModel
import app.simple.inure.preferences.BatteryOptimizationPreferences
@ -264,7 +263,6 @@ class BatteryOptimizationViewModel(application: Application) : RootShizukuViewMo
}
override fun onShellDenied() {
warning.postValue(Warnings.getNoRootConnectionWarning())
batteryOptimizationData.postValue(ArrayList())
}

View File

@ -6,7 +6,7 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:7.4.2'
classpath 'com.android.tools.build:gradle:8.0.0'
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0'
classpath "com.autonomousapps:dependency-analysis-gradle-plugin:1.18.0"

View File

@ -19,4 +19,7 @@ android.useAndroidX=true
android.enableJetifier=true
# Kotlin code style for this project: "official" or "obsolete":
kotlin.code.style=official
org.gradle.unsafe.configuration-cache=true
org.gradle.unsafe.configuration-cache=true
android.defaults.buildfeatures.buildconfig=true
android.nonTransitiveRClass=false
android.nonFinalResIds=false

View File

@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=cb87f222c5585bd46838ad4db78463a5c5f3d336e5e2b98dc7c0c586527351c2
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists