properly handle SHOW_ALARMS intent

This commit is contained in:
tibbi 2018-03-12 17:10:17 +01:00
parent f399a3506a
commit b2441efee4
4 changed files with 27 additions and 7 deletions

View File

@ -28,6 +28,11 @@
<category android:name="android.intent.category.LAUNCHER"/> <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter> </intent-filter>
<intent-filter>
<action android:name="android.intent.action.SHOW_ALARMS"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity> </activity>
<activity <activity

View File

@ -10,6 +10,7 @@ import com.simplemobiletools.clock.BuildConfig
import com.simplemobiletools.clock.R import com.simplemobiletools.clock.R
import com.simplemobiletools.clock.adapters.ViewPagerAdapter import com.simplemobiletools.clock.adapters.ViewPagerAdapter
import com.simplemobiletools.clock.extensions.config import com.simplemobiletools.clock.extensions.config
import com.simplemobiletools.clock.helpers.OPEN_TAB
import com.simplemobiletools.clock.helpers.TABS_COUNT import com.simplemobiletools.clock.helpers.TABS_COUNT
import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.LICENSE_NUMBER_PICKER import com.simplemobiletools.commons.helpers.LICENSE_NUMBER_PICKER
@ -103,7 +104,9 @@ class MainActivity : SimpleActivity() {
main_tabs_holder.getTabAt(it)?.select() main_tabs_holder.getTabAt(it)?.select()
} }
viewpager.currentItem = config.lastUsedViewPagerPage val tabToOpen = intent.getIntExtra(OPEN_TAB, config.lastUsedViewPagerPage)
intent.removeExtra(OPEN_TAB)
viewpager.currentItem = tabToOpen
viewpager.offscreenPageLimit = TABS_COUNT - 1 viewpager.offscreenPageLimit = TABS_COUNT - 1
main_tabs_holder.onTabSelectionChanged( main_tabs_holder.onTabSelectionChanged(
tabUnselectedAction = { tabUnselectedAction = {
@ -115,20 +118,19 @@ class MainActivity : SimpleActivity() {
} }
) )
setupTabColors() setupTabColors(tabToOpen)
} }
private fun setupTabColors() { private fun setupTabColors(lastUsedTab: Int) {
val lastUsedPage = config.lastUsedViewPagerPage
main_tabs_holder.apply { main_tabs_holder.apply {
background = ColorDrawable(config.backgroundColor) background = ColorDrawable(config.backgroundColor)
setSelectedTabIndicatorColor(getAdjustedPrimaryColor()) setSelectedTabIndicatorColor(getAdjustedPrimaryColor())
getTabAt(lastUsedPage)?.apply { getTabAt(lastUsedTab)?.apply {
select() select()
icon?.applyColorFilter(getAdjustedPrimaryColor()) icon?.applyColorFilter(getAdjustedPrimaryColor())
} }
getInactiveTabIndexes(lastUsedPage).forEach { getInactiveTabIndexes(lastUsedTab).forEach {
getTabAt(it)?.icon?.applyColorFilter(config.textColor) getTabAt(it)?.icon?.applyColorFilter(config.textColor)
} }
} }

View File

@ -1,11 +1,21 @@
package com.simplemobiletools.clock.activities package com.simplemobiletools.clock.activities
import android.content.Intent import android.content.Intent
import com.simplemobiletools.clock.helpers.OPEN_TAB
import com.simplemobiletools.clock.helpers.TAB_ALARM
import com.simplemobiletools.commons.activities.BaseSplashActivity import com.simplemobiletools.commons.activities.BaseSplashActivity
class SplashActivity : BaseSplashActivity() { class SplashActivity : BaseSplashActivity() {
override fun initActivity() { override fun initActivity() {
startActivity(Intent(this, MainActivity::class.java)) when {
intent?.action == "android.intent.action.SHOW_ALARMS" -> {
Intent(this, MainActivity::class.java).apply {
putExtra(OPEN_TAB, TAB_ALARM)
startActivity(this)
}
}
else -> startActivity(Intent(this, MainActivity::class.java))
}
finish() finish()
} }
} }

View File

@ -26,6 +26,9 @@ const val DEFAULT_MAX_TIMER_REMINDER_SECS = 60
const val OPEN_APP_INTENT_ID = 9998 const val OPEN_APP_INTENT_ID = 9998
const val TIMER_NOTIF_ID = 9999 const val TIMER_NOTIF_ID = 9999
const val OPEN_TAB = "open_tab"
const val TAB_ALARM = 1
const val SORT_BY_LAP = 1 const val SORT_BY_LAP = 1
const val SORT_BY_LAP_TIME = 2 const val SORT_BY_LAP_TIME = 2
const val SORT_BY_TOTAL_TIME = 4 const val SORT_BY_TOTAL_TIME = 4