aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt')
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt53
1 files changed, 17 insertions, 36 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt b/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt
index 983da6cf..f75f88a4 100644
--- a/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt
+++ b/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt
@@ -1,22 +1,20 @@
package net.lacolaco.smileessence.activity
-import android.app.Activity
import android.app.ActivityManager
import android.content.Intent
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.graphics.drawable.BitmapDrawable
-import android.graphics.drawable.ColorDrawable
import android.net.Uri
import android.os.Bundle
import android.provider.MediaStore
import android.support.v4.view.ViewPager
+import android.support.v7.app.AppCompatActivity
import android.support.v7.graphics.Palette
import android.text.TextUtils
import android.view.Menu
import android.view.MenuItem
import android.view.WindowManager
-import de.keyboardsurfer.android.widget.crouton.Crouton
import kotlinx.android.synthetic.main.layout_main.*
import net.lacolaco.smileessence.Application
import net.lacolaco.smileessence.R
@@ -38,7 +36,7 @@ import java.io.InputStream
import java.net.URL
import java.util.regex.Pattern
-class MainActivity : Activity(), ViewPager.OnPageChangeListener {
+class MainActivity : AppCompatActivity(), ViewPager.OnPageChangeListener {
val world: World by lazy {
val uri = intent.data ?: throw IllegalStateException("[BUG] data not set")
val userIdValue = uri.getQueryParameter("user_id") ?: throw IllegalStateException("[BUG] user_id not set")
@@ -94,8 +92,10 @@ class MainActivity : Activity(), ViewPager.OnPageChangeListener {
private fun setTitle() {
title = String.format("%s / %s", world.account.user.screenName, pagerAdapter.getName(viewPager.currentItem))
val label = getString(R.string.app_name) + " - @" + world.account.user.screenName
- setTaskDescription(ActivityManager.TaskDescription(label, null, world.account.themeColor))
- window.statusBarColor = world.account.themeColor
+ if (android.os.Build.VERSION.SDK_INT >= 21) {
+ setTaskDescription(ActivityManager.TaskDescription(label, null, world.account.themeColor))
+ window.statusBarColor = world.account.themeColor
+ }
launchBg { world.account.syncProfileAndSaveIfNecessary() }
if (!world.account.user.profileImageUrl.startsWith("http"))
@@ -129,7 +129,7 @@ class MainActivity : Activity(), ViewPager.OnPageChangeListener {
val dPalette = bg { Palette.from(bitmap).generate() }
val scaledBitmap = dScaledBitmap.await()
- actionBar.setHomeAsUpIndicator(BitmapDrawable(resources, scaledBitmap))
+ toolbar.navigationIcon = BitmapDrawable(resources, scaledBitmap)
val palette = dPalette.await()
val swatch = if (world.account.useDarkTheme)
@@ -139,11 +139,14 @@ class MainActivity : Activity(), ViewPager.OnPageChangeListener {
if (swatch == null) {
Logger.info("Unable to get a theme color of @${world.account.user.screenName}")
} else {
- actionBar.setBackgroundDrawable(ColorDrawable(swatch.rgb))
- window.statusBarColor = swatch.rgb
- setTaskDescription(ActivityManager.TaskDescription(label, bitmap, swatch.rgb))
+ //actionBar.setBackgroundDrawable(ColorDrawable(swatch.rgb))
+ toolbar.setBackgroundColor(swatch.rgb)
+ if (android.os.Build.VERSION.SDK_INT >= 21) {
+ window.statusBarColor = swatch.rgb
+ setTaskDescription(ActivityManager.TaskDescription(label, bitmap, swatch.rgb))
+ }
world.account.themeColor = swatch.rgb
- launchBg { world.account.save() }
+ //launchBg { world.account.save() }
}
}
}
@@ -229,7 +232,7 @@ class MainActivity : Activity(), ViewPager.OnPageChangeListener {
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
when (requestCode) {
REQUEST_GET_PICTURE_FROM_GALLERY -> {
- if (resultCode != Activity.RESULT_OK) {
+ if (resultCode != RESULT_OK) {
Logger.error(requestCode)
world.notifyError(R.string.notice_select_image_failed)
finish()
@@ -250,9 +253,10 @@ class MainActivity : Activity(), ViewPager.OnPageChangeListener {
val account = world.account
setTheme(if (account.useDarkTheme) R.style.theme_dark else R.style.theme_light)
setContentView(R.layout.layout_main)
+ setSupportActionBar(toolbar)
viewPager.addOnPageChangeListener(this)
- actionBar.setDisplayHomeAsUpEnabled(true)
+ //actionBar.setDisplayHomeAsUpEnabled(true)
// TODO: tab order?
val args = Bundle()
@@ -303,29 +307,6 @@ class MainActivity : Activity(), ViewPager.OnPageChangeListener {
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
}
- override fun onDestroy() {
- Crouton.cancelAllCroutons()
- // Workaround for LeakCanary
- fixCroutonLeak()
- Logger.debug("onDestroy")
- super.onDestroy()
- }
-
- private fun fixCroutonLeak() {
- try {
- val klass = Class.forName("de.keyboardsurfer.android.widget.crouton.DefaultAnimationsBuilder")
- val slideInDownAnimation = klass.getDeclaredField("slideInDownAnimation")
- slideInDownAnimation.isAccessible = true
- slideInDownAnimation.set(null, null)
- val slideOutUpAnimation = klass.getDeclaredField("slideOutUpAnimation")
- slideOutUpAnimation.isAccessible = true
- slideOutUpAnimation.set(null, null)
- } catch (e: Exception) {
- Logger.error("crouton fix error: " + e)
- }
- }
-
-
override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.main, menu)
return true