Ver código fonte

Fix tile service / shortcuts

世界 4 anos atrás
pai
commit
1563e5e5c2

+ 1 - 0
.idea/dictionaries/sekai.xml

@@ -11,6 +11,7 @@
       <w>nekohasekai</w>
       <w>obfs</w>
       <w>quic</w>
+      <w>sagernet</w>
       <w>shadowsocks</w>
       <w>shadowsocksr</w>
       <w>snackbar</w>

+ 23 - 8
app/src/main/AndroidManifest.xml

@@ -57,13 +57,19 @@
 
         <activity
             android:name="io.nekohasekai.sagernet.ui.MainActivity"
-            android:label="@string/app_name"
-            android:theme="@style/Theme.SagerNet">
+            android:label="@string/app_name">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
 
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
+            <intent-filter>
+                <action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES" />
+            </intent-filter>
+
+            <meta-data
+                android:name="android.app.shortcuts"
+                android:resource="@xml/shortcuts" />
         </activity>
         <activity
             android:name="io.nekohasekai.sagernet.ui.VpnRequestActivity"
@@ -78,27 +84,36 @@
         <activity android:name="io.nekohasekai.sagernet.ui.profile.VLESSSettingsActivity" />
         <activity android:name="io.nekohasekai.sagernet.ui.profile.TrojanSettingsActivity" />
 
+        <activity
+            android:name=".QuickToggleShortcut"
+            android:label="@string/quick_toggle"
+            android:theme="@android:style/Theme.Translucent.NoTitleBar"
+            android:launchMode="singleTask"
+            android:excludeFromRecents="true"
+            android:taskAffinity=""
+            android:process=":bg">
+            <intent-filter>
+                <action android:name="android.intent.action.CREATE_SHORTCUT" />
+            </intent-filter>
+        </activity>
         <activity
             android:name="io.nekohasekai.sagernet.ui.AppManagerActivity"
             android:excludeFromRecents="true"
             android:label="@string/proxied_apps"
             android:launchMode="singleTask"
-            android:parentActivityName=".ui.MainActivity"
-            android:theme="@style/Theme.SagerNet" />
+            android:parentActivityName=".ui.MainActivity" />
         <activity
             android:name="io.nekohasekai.sagernet.ui.ScannerActivity"
             android:excludeFromRecents="true"
             android:label="@string/add_profile_methods_scan_qr_code"
             android:launchMode="singleTask"
             android:parentActivityName="io.nekohasekai.sagernet.ui.MainActivity"
-            android:screenOrientation="locked"
-            android:theme="@style/Theme.SagerNet" />
+            android:screenOrientation="locked"/>
         <activity
             android:name="io.nekohasekai.sagernet.ui.LicenseActivity"
             android:label="@string/oss_licenses"
             android:launchMode="singleTask"
-            android:parentActivityName="io.nekohasekai.sagernet.ui.MainActivity"
-            android:theme="@style/Theme.SagerNet" />
+            android:parentActivityName="io.nekohasekai.sagernet.ui.MainActivity" />
 
         <service
             android:name="io.nekohasekai.sagernet.bg.ProxyService"

+ 2 - 3
app/src/main/java/io/nekohasekai/sagernet/QuickToggleShortcut.kt

@@ -20,11 +20,11 @@
 
 package io.nekohasekai.sagernet
 
+import android.app.Activity
 import android.content.Intent
 import android.content.pm.ShortcutManager
 import android.os.Build
 import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
 import androidx.core.content.getSystemService
 import androidx.core.content.pm.ShortcutInfoCompat
 import androidx.core.content.pm.ShortcutManagerCompat
@@ -34,8 +34,7 @@ import io.nekohasekai.sagernet.bg.BaseService
 import io.nekohasekai.sagernet.bg.SagerConnection
 
 @Suppress("DEPRECATION")
-@Deprecated("This shortcut is inefficient and should be superseded by TileService for API 24+.")
-class QuickToggleShortcut : AppCompatActivity(), SagerConnection.Callback {
+class QuickToggleShortcut : Activity(), SagerConnection.Callback {
     private val connection = SagerConnection()
 
     override fun onCreate(savedInstanceState: Bundle?) {

+ 1 - 1
app/src/main/res/drawable/ic_qu_shadowsocks_foreground.xml

@@ -6,6 +6,6 @@
 
     <path
         android:name="path"
-        android:fillColor="?colorPrimary"
+        android:fillColor="@color/color_primary"
         android:pathData="M 21.25 2.28 L 17.55 18.55 L 9.26 15.89 L 16.58 7.16 L 6.83 15.37 L 0 12.8 L 21.25 2.28 ZM 9.45 17.56 L 12.09 18.41 L 9.46 22 L 9.45 17.56 Z" />
 </vector>

+ 1 - 9
app/src/main/res/xml/http_preferences.xml

@@ -28,15 +28,7 @@
             app:icon="@drawable/ic_settings_password"
             app:key="serverPassword"
             app:title="@string/password_opt" />
-        <SwitchPreference
-            app:icon="@drawable/ic_baseline_https_24"
-            app:key="serverTLS"
-            app:title="@string/tls" />
-        <EditTextPreference
-            app:icon="@drawable/ic_action_copyright"
-            app:key="serverSNI"
-            app:title="@string/sni"
-            app:useSimpleSummaryProvider="true" />
+
     </PreferenceCategory>
 
 

+ 2 - 2
app/src/main/res/xml/shortcuts.xml

@@ -8,7 +8,7 @@
         <intent
             android:action="android.intent.action.MAIN"
             android:targetClass="io.nekohasekai.sagernet.QuickToggleShortcut"
-            android:targetPackage="${applicationId}" />
+            android:targetPackage="io.nekohasekai.sagernet" />
     </shortcut>
     <shortcut
         android:icon="@drawable/ic_qu_camera_launcher"
@@ -18,6 +18,6 @@
         <intent
             android:action="android.intent.action.MAIN"
             android:targetClass="io.nekohasekai.sagernet.ui.ScannerActivity"
-            android:targetPackage="${applicationId}" />
+            android:targetPackage="io.nekohasekai.sagernet" />
     </shortcut>
 </shortcuts>