Loading build.gradle +3 −3 Original line number Diff line number Diff line Loading @@ -7,9 +7,9 @@ buildscript { propMinSdkVersion = 16 propTargetSdkVersion = propCompileSdkVersion propVersionCode = 1 propVersionName = '2.41.8' kotlin_version = '1.1.61' support_libs = '27.0.1' propVersionName = '3.0.21' kotlin_version = '1.2.0' support_libs = '27.0.2' } repositories { Loading commons/src/main/AndroidManifest.xml +15 −1 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <manifest package="com.simplemobiletools.commons"/> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.simplemobiletools.commons"> <application> <receiver android:name=".receivers.SharedThemeReceiver" android:exported="true"> <intent-filter> <action android:name="com.simplemobiletools.commons.SHARED_THEME_ACTIVATED"/> <action android:name="com.simplemobiletools.commons.SHARED_THEME_UPDATED"/> </intent-filter> </receiver> </application> </manifest> commons/src/main/kotlin/com/simplemobiletools/commons/activities/AboutActivity.kt +0 −7 Original line number Diff line number Diff line Loading @@ -42,7 +42,6 @@ class AboutActivity : BaseSimpleActivity() { setupDonate() setupFacebook() setupGPlus() setupGruveo() setupCopyright() } Loading Loading @@ -139,12 +138,6 @@ class AboutActivity : BaseSimpleActivity() { } } private fun setupGruveo() { about_gruveo.setOnClickListener { launchViewIntent("https://play.google.com/store/apps/details?id=com.gruveo.gruveo_android") } } private fun setupCopyright() { val versionName = intent.getStringExtra(APP_VERSION_NAME) ?: "" val year = Calendar.getInstance().get(Calendar.YEAR) Loading commons/src/main/kotlin/com/simplemobiletools/commons/activities/BaseSimpleActivity.kt +25 −23 Original line number Diff line number Diff line Loading @@ -3,9 +3,8 @@ package com.simplemobiletools.commons.activities import android.annotation.SuppressLint import android.annotation.TargetApi import android.app.Activity import android.app.ActivityManager import android.content.Intent import android.content.res.Resources import android.graphics.Color import android.graphics.drawable.ColorDrawable import android.net.Uri import android.os.Build Loading @@ -14,10 +13,9 @@ import android.provider.DocumentsContract import android.support.v4.app.ActivityCompat import android.support.v4.util.Pair import android.support.v7.app.AppCompatActivity import android.text.SpannableString import android.text.style.AbsoluteSizeSpan import android.view.Menu import android.text.Html import android.view.MenuItem import android.view.WindowManager import com.simplemobiletools.commons.R import com.simplemobiletools.commons.asynctasks.CopyMoveTask import com.simplemobiletools.commons.dialogs.ConfirmationDialog Loading @@ -33,6 +31,7 @@ open class BaseSimpleActivity : AppCompatActivity() { var copyMoveCallback: (() -> Unit)? = null var actionOnPermission: ((granted: Boolean) -> Unit)? = null var isAskingPermissions = false var useDynamicTheme = true private val GENERIC_PERM_HANDLER = 100 companion object { Loading @@ -40,6 +39,10 @@ open class BaseSimpleActivity : AppCompatActivity() { } override fun onCreate(savedInstanceState: Bundle?) { if (useDynamicTheme) { setTheme(getThemeId()) } super.onCreate(savedInstanceState) if (!packageName.startsWith("com.simplemobiletools.", true)) { if ((0..50).random() == 10 || baseConfig.appRunCount % 100 == 0) { Loading @@ -53,7 +56,10 @@ open class BaseSimpleActivity : AppCompatActivity() { override fun onResume() { super.onResume() if (useDynamicTheme) { setTheme(getThemeId()) updateBackgroundColor() } updateActionbarColor() } Loading Loading @@ -81,27 +87,23 @@ open class BaseSimpleActivity : AppCompatActivity() { fun updateActionbarColor(color: Int = baseConfig.primaryColor) { supportActionBar?.setBackgroundDrawable(ColorDrawable(color)) supportActionBar?.title = Html.fromHtml("<font color='${color.getContrastColor().toHex()}'>${supportActionBar?.title}</font>") updateStatusbarColor(color) if (isLollipopPlus()) { setTaskDescription(ActivityManager.TaskDescription(null, null, color)) } } fun updateStatusbarColor(color: Int) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { val hsv = FloatArray(3) Color.colorToHSV(color, hsv) hsv[2] *= 0.85f window.statusBarColor = Color.HSVToColor(hsv) if (isLollipopPlus()) { window.statusBarColor = color.darkenColor() } } fun updateMenuTextSize(resources: Resources, menu: Menu) { val textSize = resources.getDimension(R.dimen.normal_text_size).toInt() (0 until menu.size()) .map { menu.getItem(it) } .forEach { SpannableString(it.title).apply { setSpan(AbsoluteSizeSpan(textSize, false), 0, length, 0) it.title = this } fun setTranslucentNavigation() { if (isKitkatPlus()) { window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION) } } Loading Loading @@ -215,7 +217,7 @@ open class BaseSimpleActivity : AppCompatActivity() { } private fun startCopyMove(files: ArrayList<File>, destinationFolder: File, isCopyOperation: Boolean, copyPhotoVideoOnly: Boolean) { val pair = Pair<ArrayList<File>, File>(files, destinationFolder) val pair = Pair(files, destinationFolder) CopyMoveTask(this, isCopyOperation, copyPhotoVideoOnly, copyMoveListener).execute(pair) } Loading @@ -238,7 +240,7 @@ open class BaseSimpleActivity : AppCompatActivity() { } } private val copyMoveListener = object : CopyMoveTask.CopyMoveListener { val copyMoveListener = object : CopyMoveTask.CopyMoveListener { override fun copySucceeded(copyOnly: Boolean, copiedAll: Boolean) { if (copyOnly) { toast(if (copiedAll) R.string.copying_success else R.string.copying_success_partial) Loading commons/src/main/kotlin/com/simplemobiletools/commons/activities/BaseSplashActivity.kt 0 → 100644 +35 −0 Original line number Diff line number Diff line package com.simplemobiletools.commons.activities import android.os.Bundle import android.support.v7.app.AppCompatActivity import com.simplemobiletools.commons.extensions.baseConfig import com.simplemobiletools.commons.extensions.getSharedTheme import com.simplemobiletools.commons.extensions.isThankYouInstalled abstract class BaseSplashActivity : AppCompatActivity() { abstract fun initActivity() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if ((baseConfig.appRunCount == 0 || !baseConfig.wasSharedThemeAfterUpdateChecked) && isThankYouInstalled()) { baseConfig.wasSharedThemeAfterUpdateChecked = true getSharedTheme { if (it != null) { baseConfig.apply { wasSharedThemeForced = true isUsingSharedTheme = true wasSharedThemeEverActivated = true textColor = it.textColor backgroundColor = it.backgroundColor primaryColor = it.primaryColor } } initActivity() } } else { initActivity() } } } Loading
build.gradle +3 −3 Original line number Diff line number Diff line Loading @@ -7,9 +7,9 @@ buildscript { propMinSdkVersion = 16 propTargetSdkVersion = propCompileSdkVersion propVersionCode = 1 propVersionName = '2.41.8' kotlin_version = '1.1.61' support_libs = '27.0.1' propVersionName = '3.0.21' kotlin_version = '1.2.0' support_libs = '27.0.2' } repositories { Loading
commons/src/main/AndroidManifest.xml +15 −1 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <manifest package="com.simplemobiletools.commons"/> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.simplemobiletools.commons"> <application> <receiver android:name=".receivers.SharedThemeReceiver" android:exported="true"> <intent-filter> <action android:name="com.simplemobiletools.commons.SHARED_THEME_ACTIVATED"/> <action android:name="com.simplemobiletools.commons.SHARED_THEME_UPDATED"/> </intent-filter> </receiver> </application> </manifest>
commons/src/main/kotlin/com/simplemobiletools/commons/activities/AboutActivity.kt +0 −7 Original line number Diff line number Diff line Loading @@ -42,7 +42,6 @@ class AboutActivity : BaseSimpleActivity() { setupDonate() setupFacebook() setupGPlus() setupGruveo() setupCopyright() } Loading Loading @@ -139,12 +138,6 @@ class AboutActivity : BaseSimpleActivity() { } } private fun setupGruveo() { about_gruveo.setOnClickListener { launchViewIntent("https://play.google.com/store/apps/details?id=com.gruveo.gruveo_android") } } private fun setupCopyright() { val versionName = intent.getStringExtra(APP_VERSION_NAME) ?: "" val year = Calendar.getInstance().get(Calendar.YEAR) Loading
commons/src/main/kotlin/com/simplemobiletools/commons/activities/BaseSimpleActivity.kt +25 −23 Original line number Diff line number Diff line Loading @@ -3,9 +3,8 @@ package com.simplemobiletools.commons.activities import android.annotation.SuppressLint import android.annotation.TargetApi import android.app.Activity import android.app.ActivityManager import android.content.Intent import android.content.res.Resources import android.graphics.Color import android.graphics.drawable.ColorDrawable import android.net.Uri import android.os.Build Loading @@ -14,10 +13,9 @@ import android.provider.DocumentsContract import android.support.v4.app.ActivityCompat import android.support.v4.util.Pair import android.support.v7.app.AppCompatActivity import android.text.SpannableString import android.text.style.AbsoluteSizeSpan import android.view.Menu import android.text.Html import android.view.MenuItem import android.view.WindowManager import com.simplemobiletools.commons.R import com.simplemobiletools.commons.asynctasks.CopyMoveTask import com.simplemobiletools.commons.dialogs.ConfirmationDialog Loading @@ -33,6 +31,7 @@ open class BaseSimpleActivity : AppCompatActivity() { var copyMoveCallback: (() -> Unit)? = null var actionOnPermission: ((granted: Boolean) -> Unit)? = null var isAskingPermissions = false var useDynamicTheme = true private val GENERIC_PERM_HANDLER = 100 companion object { Loading @@ -40,6 +39,10 @@ open class BaseSimpleActivity : AppCompatActivity() { } override fun onCreate(savedInstanceState: Bundle?) { if (useDynamicTheme) { setTheme(getThemeId()) } super.onCreate(savedInstanceState) if (!packageName.startsWith("com.simplemobiletools.", true)) { if ((0..50).random() == 10 || baseConfig.appRunCount % 100 == 0) { Loading @@ -53,7 +56,10 @@ open class BaseSimpleActivity : AppCompatActivity() { override fun onResume() { super.onResume() if (useDynamicTheme) { setTheme(getThemeId()) updateBackgroundColor() } updateActionbarColor() } Loading Loading @@ -81,27 +87,23 @@ open class BaseSimpleActivity : AppCompatActivity() { fun updateActionbarColor(color: Int = baseConfig.primaryColor) { supportActionBar?.setBackgroundDrawable(ColorDrawable(color)) supportActionBar?.title = Html.fromHtml("<font color='${color.getContrastColor().toHex()}'>${supportActionBar?.title}</font>") updateStatusbarColor(color) if (isLollipopPlus()) { setTaskDescription(ActivityManager.TaskDescription(null, null, color)) } } fun updateStatusbarColor(color: Int) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { val hsv = FloatArray(3) Color.colorToHSV(color, hsv) hsv[2] *= 0.85f window.statusBarColor = Color.HSVToColor(hsv) if (isLollipopPlus()) { window.statusBarColor = color.darkenColor() } } fun updateMenuTextSize(resources: Resources, menu: Menu) { val textSize = resources.getDimension(R.dimen.normal_text_size).toInt() (0 until menu.size()) .map { menu.getItem(it) } .forEach { SpannableString(it.title).apply { setSpan(AbsoluteSizeSpan(textSize, false), 0, length, 0) it.title = this } fun setTranslucentNavigation() { if (isKitkatPlus()) { window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION) } } Loading Loading @@ -215,7 +217,7 @@ open class BaseSimpleActivity : AppCompatActivity() { } private fun startCopyMove(files: ArrayList<File>, destinationFolder: File, isCopyOperation: Boolean, copyPhotoVideoOnly: Boolean) { val pair = Pair<ArrayList<File>, File>(files, destinationFolder) val pair = Pair(files, destinationFolder) CopyMoveTask(this, isCopyOperation, copyPhotoVideoOnly, copyMoveListener).execute(pair) } Loading @@ -238,7 +240,7 @@ open class BaseSimpleActivity : AppCompatActivity() { } } private val copyMoveListener = object : CopyMoveTask.CopyMoveListener { val copyMoveListener = object : CopyMoveTask.CopyMoveListener { override fun copySucceeded(copyOnly: Boolean, copiedAll: Boolean) { if (copyOnly) { toast(if (copiedAll) R.string.copying_success else R.string.copying_success_partial) Loading
commons/src/main/kotlin/com/simplemobiletools/commons/activities/BaseSplashActivity.kt 0 → 100644 +35 −0 Original line number Diff line number Diff line package com.simplemobiletools.commons.activities import android.os.Bundle import android.support.v7.app.AppCompatActivity import com.simplemobiletools.commons.extensions.baseConfig import com.simplemobiletools.commons.extensions.getSharedTheme import com.simplemobiletools.commons.extensions.isThankYouInstalled abstract class BaseSplashActivity : AppCompatActivity() { abstract fun initActivity() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if ((baseConfig.appRunCount == 0 || !baseConfig.wasSharedThemeAfterUpdateChecked) && isThankYouInstalled()) { baseConfig.wasSharedThemeAfterUpdateChecked = true getSharedTheme { if (it != null) { baseConfig.apply { wasSharedThemeForced = true isUsingSharedTheme = true wasSharedThemeEverActivated = true textColor = it.textColor backgroundColor = it.backgroundColor primaryColor = it.primaryColor } } initActivity() } } else { initActivity() } } }