mirror of
https://github.com/MetaCubeX/ClashMetaForAndroid.git
synced 2025-02-26 03:33:14 +03:00
add qr scanner
This commit is contained in:
parent
a9b10acac2
commit
166778ea53
@ -24,6 +24,8 @@ dependencies {
|
||||
implementation(libs.androidx.coordinator)
|
||||
implementation(libs.androidx.recyclerview)
|
||||
implementation(libs.google.material)
|
||||
implementation("com.google.android.gms:play-services-code-scanner:16.1.0")
|
||||
|
||||
}
|
||||
|
||||
tasks.getByName("clean", type = Delete::class) {
|
||||
|
@ -193,5 +193,9 @@
|
||||
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<meta-data
|
||||
android:name="com.google.mlkit.vision.DEPENDENCIES"
|
||||
android:value="barcode_ui"/>
|
||||
</application>
|
||||
</manifest>
|
||||
|
@ -46,6 +46,10 @@ class NewProfileActivity : BaseActivity<NewProfileDesign>() {
|
||||
create(Profile.Type.File, name)
|
||||
is ProfileProvider.Url ->
|
||||
create(Profile.Type.Url, name)
|
||||
is ProfileProvider.QR -> {
|
||||
val url = "https://sub1.smallstrawberry.com/api/v1/client/subscribe?token=30d90424070ef1159ed206b3481ecc88"
|
||||
create(Profile.Type.Url, name,url)
|
||||
}
|
||||
is ProfileProvider.External -> {
|
||||
val data = p.get()
|
||||
|
||||
@ -137,7 +141,7 @@ class NewProfileActivity : BaseActivity<NewProfileDesign>() {
|
||||
ProfileProvider.External(name.toString(), summary.toString(), icon, intent)
|
||||
}
|
||||
|
||||
listOf(ProfileProvider.File(self), ProfileProvider.Url(self)) + providers
|
||||
listOf(ProfileProvider.File(self), ProfileProvider.Url(self),ProfileProvider.QR(self)) + providers
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -25,6 +25,14 @@ sealed class ProfileProvider {
|
||||
get() = context.getDrawableCompat(R.drawable.ic_baseline_cloud_download)
|
||||
}
|
||||
|
||||
class QR(private val context: Context) : ProfileProvider() {
|
||||
override val name: String
|
||||
get() = context.getString(R.string.qr)
|
||||
override val summary: String
|
||||
get() = context.getString(R.string.import_from_qr)
|
||||
override val icon: Drawable?
|
||||
get() = context.getDrawableCompat(R.drawable.baseline_qr_code_scanner)
|
||||
}
|
||||
class External(
|
||||
override val name: String,
|
||||
override val summary: String,
|
||||
|
@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path android:fillColor="@android:color/white" android:pathData="M9.5,6.5v3h-3v-3H9.5M11,5H5v6h6V5L11,5zM9.5,14.5v3h-3v-3H9.5M11,13H5v6h6V13L11,13zM17.5,6.5v3h-3v-3H17.5M19,5h-6v6h6V5L19,5zM13,13h1.5v1.5H13V13zM14.5,14.5H16V16h-1.5V14.5zM16,13h1.5v1.5H16V13zM13,16h1.5v1.5H13V16zM14.5,17.5H16V19h-1.5V17.5zM16,16h1.5v1.5H16V16zM17.5,14.5H19V16h-1.5V14.5zM17.5,17.5H19V19h-1.5V17.5zM22,7h-2V4h-3V2h5V7zM22,22v-5h-2v3h-3v2H22zM2,22h5v-2H4v-3H2V22zM2,2v5h2V4h3V2H2z"/>
|
||||
|
||||
</vector>
|
@ -32,6 +32,7 @@
|
||||
<string name="import_from_file">ファイルからインポート</string>
|
||||
<string name="url">URL</string>
|
||||
<string name="import_from_url">URLからインポート</string>
|
||||
<string name="import_from_qr">QRコードからインポート</string>
|
||||
<string name="external">外部入力</string>
|
||||
<string name="format_type_unsaved">%s (未保存)</string>
|
||||
<string name="application_broken">アプリが破損しています</string>
|
||||
|
@ -33,6 +33,7 @@
|
||||
<string name="url">URL</string>
|
||||
<string name="import_from_url">URL에서 가져오기</string>
|
||||
<string name="external">외부</string>
|
||||
<string name="import_from_qr">QR코드에서 가져오기</string>
|
||||
<string name="format_type_unsaved">%s (저장되지 않음)</string>
|
||||
<string name="application_broken">앱 오류</string>
|
||||
<string name="application_crashed">앱 중지</string>
|
||||
|
@ -41,6 +41,7 @@
|
||||
<string name="url">URL</string>
|
||||
<string name="import_from_url">Импорт из URL</string>
|
||||
<string name="external">Внешний</string>
|
||||
<string name="import_from_qr">Импорт из QR-кода</string>
|
||||
<string name="format_type_unsaved">%s (не сохранён)</string>
|
||||
|
||||
<string name="application_broken">Приложение сломано</string>
|
||||
|
@ -42,6 +42,7 @@
|
||||
<string name="import_from_file">從文件導入</string>
|
||||
<string name="import_from_url">從 URL 導入</string>
|
||||
<string name="interface_">界面</string>
|
||||
<string name="import_from_qr">從二維碼導入</string>
|
||||
<string name="invalid_url">無效的 URL</string>
|
||||
<string name="launch_name">Clash Meta</string>
|
||||
<string name="logcat">Logcat</string>
|
||||
|
@ -41,6 +41,7 @@
|
||||
<string name="history">歷史</string>
|
||||
<string name="import_from_file">從檔案匯入</string>
|
||||
<string name="import_from_url">從 URL 匯入</string>
|
||||
<string name="import_from_qr">從二維碼導入</string>
|
||||
<string name="interface_">介面</string>
|
||||
<string name="invalid_url">無效 URL</string>
|
||||
<string name="launch_name">Clash Meta</string>
|
||||
|
@ -41,6 +41,7 @@
|
||||
<string name="history">历史</string>
|
||||
<string name="import_from_file">从文件导入</string>
|
||||
<string name="import_from_url">从 URL 导入</string>
|
||||
<string name="import_from_qr">从二维码导入</string>
|
||||
<string name="interface_">界面</string>
|
||||
<string name="invalid_url">无效的 URL</string>
|
||||
<string name="launch_name">Clash Meta</string>
|
||||
|
@ -39,7 +39,9 @@
|
||||
<string name="file">File</string>
|
||||
<string name="import_from_file">Import from File</string>
|
||||
<string name="url">URL</string>
|
||||
<string name="qr" translatable="false">QR</string>
|
||||
<string name="import_from_url">Import from URL</string>
|
||||
<string name="import_from_qr">Import from QR</string>
|
||||
<string name="external">External</string>
|
||||
<string name="format_type_unsaved">%s (Unsaved)</string>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user