fixed cringe build update detection
This commit is contained in:
@@ -39,8 +39,7 @@ public class MainActivityInjector {
|
||||
NotificationChannels.createChannels();
|
||||
}
|
||||
|
||||
if(Preferences.isNewBuild() && !ThemesUtils.isMonetTheme() && ThemesManager.canApplyCustomAccent()) {
|
||||
Preferences.updateBuildNumber();
|
||||
if (AndroidUtils.isInstallFromUpdate(activity) && !ThemesUtils.isMonetTheme() && ThemesManager.canApplyCustomAccent()) {
|
||||
updateBinsAndTmpArchive(activity);
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.google.devrel.gmscore.tools.apk.arsc.BinaryResourceFile;
|
||||
import com.vtosters.lite.R;
|
||||
import ru.vtosters.lite.themes.loaders.ResourcesLoader;
|
||||
import ru.vtosters.lite.themes.utils.ArscEditor;
|
||||
import ru.vtosters.lite.utils.AndroidUtils;
|
||||
import ru.vtosters.lite.utils.IOUtils;
|
||||
import ru.vtosters.lite.utils.Preferences;
|
||||
import ru.vtosters.lite.utils.ThemesUtils;
|
||||
@@ -119,7 +120,7 @@ public class ThemesManager {
|
||||
initPaths(app);
|
||||
validateModApk();
|
||||
|
||||
if (!Preferences.isNewBuild() && !ThemesUtils.isMonetTheme() && canApplyCustomAccent()) {
|
||||
if (!AndroidUtils.isInstallFromUpdate(app) && !ThemesUtils.isMonetTheme() && canApplyCustomAccent()) {
|
||||
ResourcesLoader.init(app);
|
||||
ResourcesLoader.load(app, modApk.getAbsolutePath(), false);
|
||||
}
|
||||
|
||||
@@ -200,4 +200,15 @@ public class AndroidUtils {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static boolean isInstallFromUpdate(Context context) {
|
||||
try {
|
||||
long firstInstallTime = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).firstInstallTime;
|
||||
long lastUpdateTime = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).lastUpdateTime;
|
||||
return firstInstallTime != lastUpdateTime;
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -289,16 +289,6 @@ public class Preferences {
|
||||
public static boolean checkupdates() {
|
||||
return !getBoolValue("isRoamingState", false) && isValidSignature() && BuildConfig.BUILD_TYPE.equals("release");
|
||||
}
|
||||
|
||||
public static boolean isNewBuild() {
|
||||
return !getPreferences().getString("build_number", "")
|
||||
.equals(About.getBuildNumber());
|
||||
}
|
||||
|
||||
public static void updateBuildNumber() {
|
||||
getPreferences().edit().putString("build_number", About.getBuildNumber()).commit();
|
||||
}
|
||||
|
||||
public static boolean isValidSignature() {
|
||||
try {
|
||||
return validateAppSignature();
|
||||
|
||||
Reference in New Issue
Block a user