From f1275cbc38f1819c852f810905c300ae8f64bba4 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 21 Mar 2018 17:36:53 -0400 Subject: Update buildsdk (#808) * Update changelog * Add build sdk check * Remove play store affiliate * Ignore Overdraw * Remove theme background * Add back for transparent * Fix restart button --- app/src/main/AndroidManifest.xml | 26 +++++------------ .../main/kotlin/com/pitchedapps/frost/FrostApp.kt | 6 ++++ .../kotlin/com/pitchedapps/frost/StartActivity.kt | 31 +++++++++++++++++++- .../pitchedapps/frost/activities/AboutActivity.kt | 1 - .../frost/activities/BaseMainActivity.kt | 14 ++------- .../pitchedapps/frost/activities/LoginActivity.kt | 2 +- .../kotlin/com/pitchedapps/frost/settings/Debug.kt | 1 - app/src/main/res/layout/activity_invalid_sdk.xml | 34 ++++++++++++++++++++++ app/src/main/res/values/strings_errors.xml | 1 + .../main/res/values/strings_pref_experimental.xml | 2 +- app/src/main/res/values/styles.xml | 4 +++ app/src/main/res/xml/frost_changelog.xml | 8 +++++ 12 files changed, 94 insertions(+), 36 deletions(-) create mode 100644 app/src/main/res/layout/activity_invalid_sdk.xml (limited to 'app') diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 10b062c8..f95e6f62 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -23,7 +23,7 @@ android:label="@string/frost_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" - android:theme="@style/FrostTheme.Splash"> + android:theme="@style/FrostTheme"> + android:label="@string/frost_name" /> - - - + + + @@ -142,9 +135,7 @@ - + - + android:value="83cf680ed01a6fda10fe497d1c0962bb" /> \ No newline at end of file diff --git a/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt b/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt index 16e23d53..118f7eac 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/FrostApp.kt @@ -7,6 +7,7 @@ import android.net.Uri import android.os.Bundle import android.widget.ImageView import ca.allanwang.kau.logging.KL +import ca.allanwang.kau.utils.buildIsLollipopAndUp import com.bugsnag.android.Bugsnag import com.bumptech.glide.request.RequestOptions import com.bumptech.glide.signature.ApplicationVersionSignature @@ -51,6 +52,11 @@ class FrostApp : Application() { .build()) override fun onCreate() { + if (!buildIsLollipopAndUp) { // not supported + super.onCreate() + return + } + FlowManager.init(FlowConfig.Builder(this) .withDatabase(CookiesDb.NAME, CookiesDb::class) .withDatabase(FbTabsDb.NAME, FbTabsDb::class) diff --git a/app/src/main/kotlin/com/pitchedapps/frost/StartActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/StartActivity.kt index c0f4eb85..54a48112 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/StartActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/StartActivity.kt @@ -1,9 +1,16 @@ package com.pitchedapps.frost import android.content.Intent +import android.graphics.Color +import android.os.Build import android.os.Bundle +import android.widget.ImageView +import android.widget.TextView import ca.allanwang.kau.internal.KauBaseActivity +import ca.allanwang.kau.utils.buildIsLollipopAndUp +import ca.allanwang.kau.utils.setIcon import ca.allanwang.kau.utils.startActivity +import com.mikepenz.google_material_typeface_library.GoogleMaterial import com.pitchedapps.frost.activities.LoginActivity import com.pitchedapps.frost.activities.MainActivity import com.pitchedapps.frost.activities.SelectorActivity @@ -13,6 +20,7 @@ import com.pitchedapps.frost.utils.EXTRA_COOKIES import com.pitchedapps.frost.utils.L import com.pitchedapps.frost.utils.Prefs import com.pitchedapps.frost.utils.launchNewTask +import java.util.* /** * Created by Allan Wang on 2017-05-28. @@ -21,6 +29,12 @@ class StartActivity : KauBaseActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + + if (!buildIsLollipopAndUp) { // not supported + showInvalidSdkView() + return + } + FbCookie.switchBackUser { loadFbCookiesAsync { val cookies = ArrayList(it) @@ -30,7 +44,7 @@ class StartActivity : KauBaseActivity() { if (Prefs.userId != -1L) startActivity(intentBuilder = { putParcelableArrayListExtra(EXTRA_COOKIES, cookies) - flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK + flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP }) else launchNewTask(cookies) @@ -38,5 +52,20 @@ class StartActivity : KauBaseActivity() { launchNewTask() } } + + } + + private fun showInvalidSdkView() { + setContentView(R.layout.activity_invalid_sdk) + findViewById(R.id.invalid_icon) + .setIcon(GoogleMaterial.Icon.gmd_adb, -1, Color.WHITE) + + findViewById(R.id.invalid_text).apply { + try { + text = String.format(getString(R.string.error_sdk), Build.VERSION.SDK_INT) + } catch (e: IllegalFormatException) { + setText(R.string.error_sdk) + } + } } } \ No newline at end of file diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/AboutActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/AboutActivity.kt index 8e6677f9..ce306acc 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/AboutActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/AboutActivity.kt @@ -18,7 +18,6 @@ import com.mikepenz.aboutlibraries.entity.License import com.mikepenz.community_material_typeface_library.CommunityMaterial import com.mikepenz.fastadapter.IItem import com.mikepenz.fastadapter.items.AbstractItem -import com.mikepenz.google_material_typeface_library.GoogleMaterial import com.mikepenz.iconics.typeface.IIcon import com.pitchedapps.frost.BuildConfig import com.pitchedapps.frost.R diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt index 8b584112..21bc2354 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/BaseMainActivity.kt @@ -2,9 +2,6 @@ package com.pitchedapps.frost.activities import android.annotation.SuppressLint import android.app.ActivityOptions -import android.app.AlarmManager -import android.app.PendingIntent -import android.content.Context import android.content.Intent import android.content.res.ColorStateList import android.graphics.PointF @@ -356,15 +353,8 @@ abstract class BaseMainActivity : BaseActivity(), MainActivityContract, if (resultCode and REQUEST_RESTART_APPLICATION > 0) { //completely restart application L.d { "Restart Application Requested" } val intent = packageManager.getLaunchIntentForPackage(packageName) - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK) - val pending = PendingIntent.getActivity(this, 666, intent, PendingIntent.FLAG_CANCEL_CURRENT) - val alarm = getSystemService(Context.ALARM_SERVICE) as AlarmManager - if (buildIsMarshmallowAndUp) - alarm.setExactAndAllowWhileIdle(AlarmManager.RTC, System.currentTimeMillis() + 100, pending) - else - alarm.setExact(AlarmManager.RTC, System.currentTimeMillis() + 100, pending) - finish() - System.exit(0) + Intent.makeRestartActivityTask(intent.component) + Runtime.getRuntime().exit(0) return } if (resultCode and REQUEST_RESTART > 0) return restart() diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/LoginActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/LoginActivity.kt index 9afca21e..7e989fc6 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/LoginActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/LoginActivity.kt @@ -89,7 +89,7 @@ class LoginActivity : BaseActivity() { } textview.text = String.format(getString(R.string.welcome), name) textview.fadeIn() - frostEvent("Login" , "success" to true ) + frostEvent("Login", "success" to true) /* * The user may have logged into an account that is already in the database * We will let the db handle duplicates and load it now after the new account has been saved diff --git a/app/src/main/kotlin/com/pitchedapps/frost/settings/Debug.kt b/app/src/main/kotlin/com/pitchedapps/frost/settings/Debug.kt index 5dc0edab..7ca7d778 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/settings/Debug.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/settings/Debug.kt @@ -12,7 +12,6 @@ import com.pitchedapps.frost.activities.SettingsActivity.Companion.ACTIVITY_REQU import com.pitchedapps.frost.debugger.OfflineWebsite import com.pitchedapps.frost.facebook.FB_URL_BASE import com.pitchedapps.frost.facebook.FbCookie -import com.pitchedapps.frost.facebook.FbItem import com.pitchedapps.frost.parsers.FrostParser import com.pitchedapps.frost.parsers.MessageParser import com.pitchedapps.frost.parsers.NotifParser diff --git a/app/src/main/res/layout/activity_invalid_sdk.xml b/app/src/main/res/layout/activity_invalid_sdk.xml new file mode 100644 index 00000000..dba1375b --- /dev/null +++ b/app/src/main/res/layout/activity_invalid_sdk.xml @@ -0,0 +1,34 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings_errors.xml b/app/src/main/res/values/strings_errors.xml index 71d147f7..9988fca4 100644 --- a/app/src/main/res/values/strings_errors.xml +++ b/app/src/main/res/values/strings_errors.xml @@ -9,4 +9,5 @@ An error occurred. Failed to load video An error occurred when fetching notifications + Your device\'s SDK (%d) is incompatible. Frost only supports Lollipop (SDK 21) and above \ No newline at end of file diff --git a/app/src/main/res/values/strings_pref_experimental.xml b/app/src/main/res/values/strings_pref_experimental.xml index 10c66f99..9ccf5577 100644 --- a/app/src/main/res/values/strings_pref_experimental.xml +++ b/app/src/main/res/values/strings_pref_experimental.xml @@ -9,5 +9,5 @@ Verbose Logging Enable verbose logging to help with crash reports. Logging will only be sent once an error is encountered, so repeat the issue to notify the dev. This will automatically be disabled if the app restarts. Restart Frost - Crashlytics will only submit logs when a crash occurs or if errors are found and the app is restarted. Clicking here will restart the app and flush whatever issues are currently found. + Launch a cold restart for the application. \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index ab893b3a..0faa00ab 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -4,6 +4,8 @@ @color/facebook_blue @color/facebook_blue_dark @android:color/white + @null + @null adjustResize @@ -16,6 +18,8 @@ @color/facebook_blue @color/facebook_blue_dark @android:color/black + @null + @null adjustResize diff --git a/app/src/main/res/xml/frost_changelog.xml b/app/src/main/res/xml/frost_changelog.xml index de90da73..2ee85a35 100644 --- a/app/src/main/res/xml/frost_changelog.xml +++ b/app/src/main/res/xml/frost_changelog.xml @@ -6,6 +6,14 @@ --> + + + + + + + + -- cgit v1.2.3