浏览代码

Added round icon + added shortcuts (#732)

* Added round icon + added shortcuts

* Moved values to companion
Bram van de Kerkhof 8 年之前
父节点
当前提交
4ebb3a894d
共有 28 个文件被更改,包括 186 次插入4 次删除
  1. 35 0
      app/build.gradle
  2. 3 0
      app/src/main/AndroidManifest.xml
  3. 14 1
      app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
  4. 二进制
      app/src/main/res/drawable-hdpi/application_logo_144dp.png
  5. 二进制
      app/src/main/res/drawable-hdpi/tachiyomi_circle.png
  6. 二进制
      app/src/main/res/drawable-mdpi/application_logo_144dp.png
  7. 二进制
      app/src/main/res/drawable-mdpi/tachiyomi_circle.png
  8. 二进制
      app/src/main/res/drawable-xhdpi/application_logo_144dp.png
  9. 二进制
      app/src/main/res/drawable-xhdpi/tachiyomi_circle.png
  10. 二进制
      app/src/main/res/drawable-xxhdpi/application_logo_144dp.png
  11. 二进制
      app/src/main/res/drawable-xxhdpi/tachiyomi_circle.png
  12. 二进制
      app/src/main/res/drawable-xxxhdpi/application_logo_144dp.png
  13. 二进制
      app/src/main/res/drawable-xxxhdpi/tachiyomi_circle.png
  14. 2 2
      app/src/main/res/drawable/branded_logo.xml
  15. 二进制
      app/src/main/res/drawable/branded_logo_icon.png
  16. 二进制
      app/src/main/res/drawable/icon.png
  17. 19 0
      app/src/main/res/drawable/sc_book_48dp.xml
  18. 19 0
      app/src/main/res/drawable/sc_explore_48dp.xml
  19. 19 0
      app/src/main/res/drawable/sc_glasses_48dp.xml
  20. 19 0
      app/src/main/res/drawable/sc_update_48dp.xml
  21. 1 1
      app/src/main/res/layout/navigation_header.xml
  22. 二进制
      app/src/main/res/mipmap-hdpi/ic_launcher_round.png
  23. 二进制
      app/src/main/res/mipmap-mdpi/ic_launcher_round.png
  24. 二进制
      app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
  25. 二进制
      app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
  26. 二进制
      app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
  27. 4 0
      app/src/main/res/values/strings.xml
  28. 51 0
      app/src/main/res/xml-v25/shortcuts.xml

+ 35 - 0
app/build.gradle

@@ -224,3 +224,38 @@ buildscript {
 repositories {
     mavenCentral()
 }
+
+// add support for placeholders in resource files
+//https://code.google.com/p/android/issues/detail?id=69224
+def replacePlaceholdersInFile(basePath, fileName, placeholders) {
+    def file = new File(basePath, fileName);
+
+    if (!file.exists()) {
+        logger.quiet("Unable to replace placeholders in " + file.toString() + ". File cannot be found.")
+        return;
+    }
+
+    logger.debug("Replacing placeholders in " + file.toString())
+    logger.debug("Placeholders: " + placeholders.toString())
+
+    def content = file.getText('UTF-8')
+
+    placeholders.each { entry ->
+        content = content.replaceAll("\\\$\\{${entry.key}\\}", entry.value)
+    }
+
+    file.write(content, 'UTF-8')
+}
+
+afterEvaluate {
+    android.applicationVariants.all { variant ->
+        variant.outputs.each { output ->
+            output.processResources.doFirst {
+                // prepare placeholder map from manifestPlaceholders including applicationId placeholder
+                def placeholders = variant.mergedFlavor.manifestPlaceholders + [applicationId: variant.applicationId]
+
+                replacePlaceholdersInFile(resDir, 'xml-v25/shortcuts.xml', placeholders)
+            }
+        }
+    }
+}

+ 3 - 0
app/src/main/AndroidManifest.xml

@@ -19,6 +19,7 @@
         android:allowBackup="true"
         android:hardwareAccelerated="true"
         android:icon="@mipmap/ic_launcher"
+        android:roundIcon="@mipmap/ic_launcher_round"
         android:label="@string/app_name"
         android:largeHeap="true"
         android:theme="@style/Theme.Tachiyomi">
@@ -28,6 +29,8 @@
 
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
+            <meta-data android:name="android.app.shortcuts"
+                android:resource="@xml/shortcuts"/>
         </activity>
         <activity
             android:name=".ui.manga.MangaActivity"

+ 14 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt

@@ -78,11 +78,19 @@ class MainActivity : BaseActivity() {
 
         if (savedState == null) {
             // Set start screen
-            setSelectedDrawerItem(startScreenId)
+            when(intent.action){
+                SHORTCUT_LIBRARY -> setSelectedDrawerItem(R.id.nav_drawer_library)
+                SHORTCUT_RECENTLY_UPDATED -> setSelectedDrawerItem(R.id.nav_drawer_recent_updates)
+                SHORTCUT_RECENTLY_READ -> setSelectedDrawerItem(R.id.nav_drawer_recently_read)
+                SHORTCUT_CATALOGUES -> setSelectedDrawerItem(R.id.nav_drawer_catalogues)
+                else ->  setSelectedDrawerItem(startScreenId)
+            }
 
             // Show changelog if needed
             ChangelogDialogFragment.show(this, preferences, supportFragmentManager)
         }
+
+
     }
 
     override fun onOptionsItemSelected(item: MenuItem): Boolean {
@@ -143,5 +151,10 @@ class MainActivity : BaseActivity() {
 
     companion object {
         private const val REQUEST_OPEN_SETTINGS = 200
+        // Shortcut actions
+        private const val SHORTCUT_LIBRARY = "eu.kanade.tachiyomi.SHOW_LIBRARY"
+        private const val SHORTCUT_RECENTLY_UPDATED = "eu.kanade.tachiyomi.SHOW_RECENTLY_UPDATED"
+        private const val SHORTCUT_RECENTLY_READ = "eu.kanade.tachiyomi.RECENTLY_READ"
+        private const val SHORTCUT_CATALOGUES = "eu.kanade.tachiyomi.SHOW_CATALOGUES"
     }
 }

二进制
app/src/main/res/drawable-hdpi/application_logo_144dp.png


二进制
app/src/main/res/drawable-hdpi/tachiyomi_circle.png


二进制
app/src/main/res/drawable-mdpi/application_logo_144dp.png


二进制
app/src/main/res/drawable-mdpi/tachiyomi_circle.png


二进制
app/src/main/res/drawable-xhdpi/application_logo_144dp.png


二进制
app/src/main/res/drawable-xhdpi/tachiyomi_circle.png


二进制
app/src/main/res/drawable-xxhdpi/application_logo_144dp.png


二进制
app/src/main/res/drawable-xxhdpi/tachiyomi_circle.png


二进制
app/src/main/res/drawable-xxxhdpi/application_logo_144dp.png


二进制
app/src/main/res/drawable-xxxhdpi/tachiyomi_circle.png


+ 2 - 2
app/src/main/res/drawable/branded_logo.xml

@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"
             android:opacity="opaque">
-    <item android:drawable="@color/background_material_light"/>
+    <item android:drawable="@color/material_grey_50"/>
     <item>
         <bitmap
-            android:src="@drawable/application_logo_144dp"
+            android:src="@drawable/branded_logo_icon"
             android:gravity="center"/>
     </item>
 </layer-list>

二进制
app/src/main/res/drawable/branded_logo_icon.png


二进制
app/src/main/res/drawable/icon.png


+ 19 - 0
app/src/main/res/drawable/sc_book_48dp.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="48dp"
+    android:height="48dp"
+    android:viewportHeight="48"
+    android:viewportWidth="48">
+
+    <path
+        android:fillColor="@color/backgroundLight"
+        android:pathData="M24,24m-22,0a22,22 0,1 1,44 0a22,22 0,1 1,-44 0" />
+
+    <group
+        android:translateX="12"
+        android:translateY="12">
+        <path
+            android:fillColor="@color/colorPrimary"
+            android:pathData="M18,2H6c-1.1,0 -2,0.9 -2,2v16c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2V4c0,-1.1 -0.9,-2 -2,-2zM6,4h5v8l-2.5,-1.5L6,12V4z" />
+    </group>
+</vector>

+ 19 - 0
app/src/main/res/drawable/sc_explore_48dp.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="48dp"
+    android:height="48dp"
+    android:viewportHeight="48"
+    android:viewportWidth="48">
+
+    <path
+        android:fillColor="@color/backgroundLight"
+        android:pathData="M24,24m-22,0a22,22 0,1 1,44 0a22,22 0,1 1,-44 0" />
+
+    <group
+        android:translateX="12"
+        android:translateY="12">
+        <path
+            android:fillColor="@color/colorPrimary"
+            android:pathData="M12,10.9c-0.61,0 -1.1,0.49 -1.1,1.1s0.49,1.1 1.1,1.1c0.61,0 1.1,-0.49 1.1,-1.1s-0.49,-1.1 -1.1,-1.1zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM14.19,14.19L6,18l3.81,-8.19L18,6l-3.81,8.19z" />
+    </group>
+</vector>

+ 19 - 0
app/src/main/res/drawable/sc_glasses_48dp.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="48dp"
+    android:height="48dp"
+    android:viewportHeight="48"
+    android:viewportWidth="48">
+
+    <path
+        android:fillColor="@color/backgroundLight"
+        android:pathData="M24,24m-22,0a22,22 0,1 1,44 0a22,22 0,1 1,-44 0" />
+
+    <group
+        android:translateX="12"
+        android:translateY="12">
+        <path
+            android:fillColor="@color/colorPrimary"
+            android:pathData="M3,10C2.76,10 2.55,10.09 2.41,10.25C2.27,10.4 2.21,10.62 2.24,10.86L2.74,13.85C2.82,14.5 3.4,15 4,15H7C7.64,15 8.36,14.44 8.5,13.82L9.56,10.63C9.6,10.5 9.57,10.31 9.5,10.19C9.39,10.07 9.22,10 9,10H3M7,17H4C2.38,17 0.96,15.74 0.76,14.14L0.26,11.15C0.15,10.3 0.39,9.5 0.91,8.92C1.43,8.34 2.19,8 3,8H9C9.83,8 10.58,8.35 11.06,8.96C11.17,9.11 11.27,9.27 11.35,9.45C11.78,9.36 12.22,9.36 12.64,9.45C12.72,9.27 12.82,9.11 12.94,8.96C13.41,8.35 14.16,8 15,8H21C21.81,8 22.57,8.34 23.09,8.92C23.6,9.5 23.84,10.3 23.74,11.11L23.23,14.18C23.04,15.74 21.61,17 20,17H17C15.44,17 13.92,15.81 13.54,14.3L12.64,11.59C12.26,11.31 11.73,11.31 11.35,11.59L10.43,14.37C10.07,15.82 8.56,17 7,17M15,10C14.78,10 14.61,10.07 14.5,10.19C14.42,10.31 14.4,10.5 14.45,10.7L15.46,13.75C15.64,14.44 16.36,15 17,15H20C20.59,15 21.18,14.5 21.25,13.89L21.76,10.82C21.79,10.62 21.73,10.4 21.59,10.25C21.45,10.09 21.24,10 21,10H15Z" />
+    </group>
+</vector>

+ 19 - 0
app/src/main/res/drawable/sc_update_48dp.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="48dp"
+    android:height="48dp"
+    android:viewportHeight="48"
+    android:viewportWidth="48">
+
+    <path
+        android:fillColor="@color/backgroundLight"
+        android:pathData="M24,24m-22,0a22,22 0,1 1,44 0a22,22 0,1 1,-44 0" />
+
+    <group
+        android:translateX="12"
+        android:translateY="12">
+        <path
+            android:fillColor="@color/colorPrimary"
+            android:pathData="M21,10.12h-6.78l2.74,-2.82c-2.73,-2.7 -7.15,-2.8 -9.88,-0.1 -2.73,2.71 -2.73,7.08 0,9.79 2.73,2.71 7.15,2.71 9.88,0C18.32,15.65 19,14.08 19,12.1h2c0,1.98 -0.88,4.55 -2.64,6.29 -3.51,3.48 -9.21,3.48 -12.72,0 -3.5,-3.47 -3.53,-9.11 -0.02,-12.58 3.51,-3.47 9.14,-3.47 12.65,0L21,3v7.12zM12.5,8v4.25l3.5,2.08 -0.72,1.21L11,13V8h1.5z" />
+    </group>
+</vector>

+ 1 - 1
app/src/main/res/layout/navigation_header.xml

@@ -17,6 +17,6 @@
         android:layout_marginLeft="16dp"
         android:layout_marginTop="@dimen/navigation_drawer_header_margin"
         android:scaleType="centerCrop"
-        android:src="@drawable/icon"/>
+        android:src="@drawable/tachiyomi_circle"/>
 
 </FrameLayout>

二进制
app/src/main/res/mipmap-hdpi/ic_launcher_round.png


二进制
app/src/main/res/mipmap-mdpi/ic_launcher_round.png


二进制
app/src/main/res/mipmap-xhdpi/ic_launcher_round.png


二进制
app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png


二进制
app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png


+ 4 - 0
app/src/main/res/values/strings.xml

@@ -89,6 +89,10 @@
     <string name="deleting">Deleting…</string>
     <string name="loading">Loading…</string>
 
+    <!-- Shortcuts-->
+    <string name="app_not_available">Application not available</string>
+    <string name="short_recent_updates">Updates</string>
+
     <!-- Preferences -->
       <!-- Subsections -->
     <string name="pref_category_general">General</string>

+ 51 - 0
app/src/main/res/xml-v25/shortcuts.xml

@@ -0,0 +1,51 @@
+<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <shortcut
+        android:enabled="true"
+        android:icon="@drawable/sc_book_48dp"
+        android:shortcutDisabledMessage="@string/app_not_available"
+        android:shortcutId="show_library"
+        android:shortcutLongLabel="@string/label_library"
+        android:shortcutShortLabel="@string/label_library">
+        <intent
+            android:action="eu.kanade.tachiyomi.SHOW_LIBRARY"
+            android:targetClass="eu.kanade.tachiyomi.ui.main.MainActivity"
+            android:targetPackage="${applicationId}" />
+    </shortcut>
+    <shortcut
+        android:enabled="true"
+        android:icon="@drawable/sc_update_48dp"
+        android:shortcutDisabledMessage="@string/app_not_available"
+        android:shortcutId="show_recently_updated"
+        android:shortcutLongLabel="@string/label_recent_updates"
+        android:shortcutShortLabel="@string/short_recent_updates">
+        <intent
+            android:action="eu.kanade.tachiyomi.SHOW_RECENTLY_UPDATED"
+            android:targetClass="eu.kanade.tachiyomi.ui.main.MainActivity"
+            android:targetPackage="${applicationId}" />
+    </shortcut>
+    <shortcut
+        android:enabled="true"
+        android:icon="@drawable/sc_glasses_48dp"
+        android:shortcutDisabledMessage="@string/app_not_available"
+        android:shortcutId="show_recently_read"
+        android:shortcutLongLabel="@string/label_recent_manga"
+        android:shortcutShortLabel="@string/label_recent_manga">
+        <intent
+            android:action="eu.kanade.tachiyomi.SHOW_RECENTLY_READ"
+            android:targetClass="eu.kanade.tachiyomi.ui.main.MainActivity"
+            android:targetPackage="${applicationId}" />
+    </shortcut>
+    <shortcut
+        android:enabled="true"
+        android:icon="@drawable/sc_explore_48dp"
+        android:shortcutDisabledMessage="@string/app_not_available"
+        android:shortcutId="show_catalogues"
+        android:shortcutLongLabel="@string/label_catalogues"
+        android:shortcutShortLabel="@string/label_catalogues">
+        <intent
+            android:action="eu.kanade.tachiyomi.SHOW_CATALOGUES"
+            android:targetClass="eu.kanade.tachiyomi.ui.main.MainActivity"
+            android:targetPackage="${applicationId}" />
+    </shortcut>
+</shortcuts>