A fork of Simple Time Tracker with WearOS support. (Now integrated upstream)
0

Configure Feed

Select the types of activity you want to include in your feed.

add some shortcuts

razeeman (Feb 12, 2022, 5:48 PM +0300) e641ddb6 f7549998

+174 -4
+4
app/src/main/AndroidManifest.xml
··· 17 17 <action android:name="android.intent.action.MAIN" /> 18 18 <category android:name="android.intent.category.LAUNCHER" /> 19 19 </intent-filter> 20 + 21 + <meta-data 22 + android:name="android.app.shortcuts" 23 + android:resource="@xml/shortcuts" /> 20 24 </activity> 21 25 </application> 22 26
+49
app/src/debug/res/xml/shortcuts.xml
··· 1 + <!-- There is also a release version, difference only in targetPackage --> 2 + <shortcuts xmlns:android="http://schemas.android.com/apk/res/android" 3 + xmlns:tools="http://schemas.android.com/tools"> 4 + <shortcut 5 + android:enabled="true" 6 + android:icon="@drawable/ic_tab_records" 7 + android:shortcutId="recordsTab" 8 + android:shortcutShortLabel="@string/shortcut_navigation_records" 9 + tools:targetApi="n_mr1"> 10 + <intent 11 + android:action="android.intent.action.VIEW" 12 + android:targetClass="com.example.util.simpletimetracker.ui.MainActivity" 13 + android:targetPackage="com.razeeman.util.simpletimetracker.debug"> 14 + <extra 15 + android:name="shortcutNavigationTab" 16 + android:value="recordsTab" /> 17 + </intent> 18 + </shortcut> 19 + <shortcut 20 + android:enabled="true" 21 + android:icon="@drawable/ic_tab_statistics" 22 + android:shortcutId="statisticsTab" 23 + android:shortcutShortLabel="@string/shortcut_navigation_statistics" 24 + tools:targetApi="n_mr1"> 25 + <intent 26 + android:action="android.intent.action.VIEW" 27 + android:targetClass="com.example.util.simpletimetracker.ui.MainActivity" 28 + android:targetPackage="com.razeeman.util.simpletimetracker.debug"> 29 + <extra 30 + android:name="shortcutNavigationTab" 31 + android:value="statisticsTab" /> 32 + </intent> 33 + </shortcut> 34 + <shortcut 35 + android:enabled="true" 36 + android:icon="@drawable/ic_tab_settings" 37 + android:shortcutId="settingsTab" 38 + android:shortcutShortLabel="@string/shortcut_navigation_settings" 39 + tools:targetApi="n_mr1"> 40 + <intent 41 + android:action="android.intent.action.VIEW" 42 + android:targetClass="com.example.util.simpletimetracker.ui.MainActivity" 43 + android:targetPackage="com.razeeman.util.simpletimetracker.debug"> 44 + <extra 45 + android:name="shortcutNavigationTab" 46 + android:value="settingsTab" /> 47 + </intent> 48 + </shortcut> 49 + </shortcuts>
+49
app/src/main/res/xml/shortcuts.xml
··· 1 + <!-- There is also a debug version, difference only in targetPackage --> 2 + <shortcuts xmlns:android="http://schemas.android.com/apk/res/android" 3 + xmlns:tools="http://schemas.android.com/tools"> 4 + <shortcut 5 + android:enabled="true" 6 + android:icon="@drawable/ic_tab_records" 7 + android:shortcutId="recordsTab" 8 + android:shortcutShortLabel="@string/shortcut_navigation_records" 9 + tools:targetApi="n_mr1"> 10 + <intent 11 + android:action="android.intent.action.VIEW" 12 + android:targetClass="com.example.util.simpletimetracker.ui.MainActivity" 13 + android:targetPackage="com.razeeman.util.simpletimetracker"> 14 + <extra 15 + android:name="shortcutNavigationTab" 16 + android:value="recordsTab" /> 17 + </intent> 18 + </shortcut> 19 + <shortcut 20 + android:enabled="true" 21 + android:icon="@drawable/ic_tab_statistics" 22 + android:shortcutId="statisticsTab" 23 + android:shortcutShortLabel="@string/shortcut_navigation_statistics" 24 + tools:targetApi="n_mr1"> 25 + <intent 26 + android:action="android.intent.action.VIEW" 27 + android:targetClass="com.example.util.simpletimetracker.ui.MainActivity" 28 + android:targetPackage="com.razeeman.util.simpletimetracker"> 29 + <extra 30 + android:name="shortcutNavigationTab" 31 + android:value="statisticsTab" /> 32 + </intent> 33 + </shortcut> 34 + <shortcut 35 + android:enabled="true" 36 + android:icon="@drawable/ic_tab_settings" 37 + android:shortcutId="settingsTab" 38 + android:shortcutShortLabel="@string/shortcut_navigation_settings" 39 + tools:targetApi="n_mr1"> 40 + <intent 41 + android:action="android.intent.action.VIEW" 42 + android:targetClass="com.example.util.simpletimetracker.ui.MainActivity" 43 + android:targetPackage="com.razeeman.util.simpletimetracker"> 44 + <extra 45 + android:name="shortcutNavigationTab" 46 + android:value="settingsTab" /> 47 + </intent> 48 + </shortcut> 49 + </shortcuts>
+5
core/src/main/res/values-de/strings.xml
··· 291 291 <string name="imageGroupNotification">Benachrichtigung</string> 292 292 <string name="imageGroupToggle">Umschalten</string> 293 293 294 + <!-- Shortcuts --> 295 + <string name="shortcut_navigation_records">Einträge</string> 296 + <string name="shortcut_navigation_statistics">Statistiken</string> 297 + <string name="shortcut_navigation_settings">Einstellungen</string> 298 + 294 299 </resources>
+5
core/src/main/res/values-es/strings.xml
··· 291 291 <string name="imageGroupNotification">Notificación</string> 292 292 <string name="imageGroupToggle">Conexiónes</string> 293 293 294 + <!-- Shortcuts --> 295 + <string name="shortcut_navigation_records">Registros</string> 296 + <string name="shortcut_navigation_statistics">Estadísticas</string> 297 + <string name="shortcut_navigation_settings">Ajustes</string> 298 + 294 299 </resources>
+5
core/src/main/res/values-in/strings.xml
··· 291 291 <string name="imageGroupNotification">Notifikasi</string> 292 292 <string name="imageGroupToggle">Beralih</string> 293 293 294 + <!-- Shortcuts --> 295 + <string name="shortcut_navigation_records">Rekor</string> 296 + <string name="shortcut_navigation_statistics">Statistik</string> 297 + <string name="shortcut_navigation_settings">Pengaturan</string> 298 + 294 299 </resources>
+5
core/src/main/res/values-it/strings.xml
··· 291 291 <string name="imageGroupNotification">Notifica</string> 292 292 <string name="imageGroupToggle">Attiva/disattiva</string> 293 293 294 + <!-- Shortcuts --> 295 + <string name="shortcut_navigation_records">Registrazioni</string> 296 + <string name="shortcut_navigation_statistics">Statistiche</string> 297 + <string name="shortcut_navigation_settings">Impostazioni</string> 298 + 294 299 </resources>
+5
core/src/main/res/values-ru/strings.xml
··· 291 291 <string name="imageGroupNotification">Оповещение</string> 292 292 <string name="imageGroupToggle">Переключатель</string> 293 293 294 + <!-- Shortcuts --> 295 + <string name="shortcut_navigation_records">Записи</string> 296 + <string name="shortcut_navigation_statistics">Статистика</string> 297 + <string name="shortcut_navigation_settings">Настройки</string> 298 + 294 299 </resources>
+5
core/src/main/res/values-sv/strings.xml
··· 291 291 <string name="imageGroupNotification">Notifikation</string> 292 292 <string name="imageGroupToggle">Växla</string> 293 293 294 + <!-- Shortcuts --> 295 + <string name="shortcut_navigation_records">Händelser</string> 296 + <string name="shortcut_navigation_statistics">Statistik</string> 297 + <string name="shortcut_navigation_settings">Inställningar</string> 298 + 294 299 </resources>
+9 -4
core/src/main/res/values-tr/strings.xml
··· 226 226 <string name="statistics_detail_tag_split_hint">Etiket dağılımı</string> 227 227 228 228 <plurals name="statistics_detail_times_tracked"> 229 - <item quantity="zero">Kayıt</item> 229 + <!-- <item quantity="zero">Kayıt</item>--> 230 230 <item quantity="one">Kayıt</item> 231 - <item quantity="two">Kayıt</item> 232 - <item quantity="few">Kayıt</item> 233 - <item quantity="many">Kayıt</item> 231 + <!-- <item quantity="two">Kayıt</item>--> 232 + <!-- <item quantity="few">Kayıt</item>--> 233 + <!-- <item quantity="many">Kayıt</item>--> 234 234 <item quantity="other">Kayıt</item> 235 235 </plurals> 236 236 ··· 290 290 <string name="imageGroupNavigation">Navigasyon</string> 291 291 <string name="imageGroupNotification">Bildirim</string> 292 292 <string name="imageGroupToggle">Durum</string> 293 + 294 + <!-- Shortcuts --> 295 + <string name="shortcut_navigation_records">Kayıtlar</string> 296 + <string name="shortcut_navigation_statistics">İstatistik</string> 297 + <string name="shortcut_navigation_settings">Ayarlar</string> 293 298 294 299 </resources>
+5
core/src/main/res/values-uk/strings.xml
··· 291 291 <string name="imageGroupNotification">Сповіщення</string> 292 292 <string name="imageGroupToggle">Перемикач</string> 293 293 294 + <!-- Shortcuts --> 295 + <string name="shortcut_navigation_records">Записи</string> 296 + <string name="shortcut_navigation_statistics">Статистика</string> 297 + <string name="shortcut_navigation_settings">Налаштування</string> 298 + 294 299 </resources>
+5
core/src/main/res/values-zh/strings.xml
··· 291 291 <string name="imageGroupNotification">通知</string> 292 292 <string name="imageGroupToggle">标记</string> 293 293 294 + <!-- Shortcuts --> 295 + <string name="shortcut_navigation_records">记录</string> 296 + <string name="shortcut_navigation_statistics">统计数据</string> 297 + <string name="shortcut_navigation_settings">设置</string> 298 + 294 299 </resources>
+5
core/src/main/res/values/strings.xml
··· 291 291 <string name="imageGroupNotification">Notification</string> 292 292 <string name="imageGroupToggle">Toggle</string> 293 293 294 + <!-- Shortcuts --> 295 + <string name="shortcut_navigation_records">Records</string> 296 + <string name="shortcut_navigation_statistics">Statistics</string> 297 + <string name="shortcut_navigation_settings">Settings</string> 298 + 294 299 </resources>
+18
features/feature_main/src/main/java/com/example/util/simpletimetracker/feature_main/view/MainFragment.kt
··· 46 46 47 47 override fun initUi() { 48 48 setupPager() 49 + checkForShortcutNavigation() 49 50 } 50 51 51 52 override fun initViewModel() = with(binding) { ··· 88 89 }) 89 90 } 90 91 92 + private fun checkForShortcutNavigation() = with(binding) { 93 + val extras = activity?.intent?.extras 94 + 95 + when (extras?.getString(SHORTCUT_NAVIGATION_KEY)) { 96 + SHORTCUT_NAVIGATION_RECORDS -> mainPager.setCurrentItem(1, true) 97 + SHORTCUT_NAVIGATION_STATISTICS -> mainPager.setCurrentItem(2, true) 98 + SHORTCUT_NAVIGATION_SETTINGS -> mainPager.setCurrentItem(3, true) 99 + } 100 + } 101 + 91 102 private fun getColorFilter(@AttrRes attrRes: Int): ColorFilter? { 92 103 return BlendModeColorFilterCompat.createBlendModeColorFilterCompat( 93 104 requireContext().getThemedAttr(attrRes), 94 105 BlendModeCompat.SRC_IN 95 106 ) 107 + } 108 + 109 + companion object { 110 + private const val SHORTCUT_NAVIGATION_KEY = "shortcutNavigationTab" 111 + private const val SHORTCUT_NAVIGATION_RECORDS = "recordsTab" 112 + private const val SHORTCUT_NAVIGATION_STATISTICS = "statisticsTab" 113 + private const val SHORTCUT_NAVIGATION_SETTINGS = "settingsTab" 96 114 } 97 115 }