Allow user to use any QR code scanner and remove unused resources
This commit is contained in:
@@ -8,8 +8,6 @@
|
||||
|
||||
<uses-feature android:name="android.hardware.touchscreen"
|
||||
android:required="false"/>
|
||||
<uses-feature android:name="android.hardware.camera"
|
||||
android:required="false"/>
|
||||
<uses-feature android:name="android.hardware.nfc"
|
||||
android:required="false"/>
|
||||
<uses-feature android:name="android.software.leanback"
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
<include layout="@layout/toolbar_light_dark" />
|
||||
<me.dm7.barcodescanner.zxing.ZXingScannerView android:id="@+id/scanner"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"/>
|
||||
</LinearLayout>
|
||||
@@ -87,7 +87,6 @@
|
||||
<string name="add_profile_dialog">シャドーソックスにプロファイルを追加しますか</string>
|
||||
<string name="add_profile_methods_scan_qr_code">QRコードを読み取る</string>
|
||||
<string name="add_profile_methods_manual_settings">手動でセットアップ</string>
|
||||
<string name="add_profile_scanner_permission_required">QRコードを読み取るにはカメラの使用権限が必要です。</string>
|
||||
|
||||
<string-array name="route_entry">
|
||||
<item>すべて</item>
|
||||
|
||||
@@ -108,7 +108,6 @@
|
||||
<string name="add_profile_dialog">Добавить этот Профиль Shadowsocks?</string>
|
||||
<string name="add_profile_methods_scan_qr_code">Сканировать QR код</string>
|
||||
<string name="add_profile_methods_manual_settings">Настройка вручную</string>
|
||||
<string name="add_profile_scanner_permission_required">Разрешение камеры требуется для сканирования QR код.</string>
|
||||
<string name="copy_url">Копировать URL</string>
|
||||
<plurals name="removed">
|
||||
<item quantity="one">Удалён</item>
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
<string name="add_profile_dialog">为影梭添加此配置文件?</string>
|
||||
<string name="add_profile_methods_scan_qr_code">扫描二维码</string>
|
||||
<string name="add_profile_methods_manual_settings">手动设置</string>
|
||||
<string name="add_profile_scanner_permission_required">扫描二维码需要相机权限。</string>
|
||||
<string name="add_profile_scanner_not_installed">请安装任意兼容 ZXing 的二维码扫描应用。</string>
|
||||
|
||||
<string-array name="route_entry">
|
||||
<item>全局</item>
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
<string name="add_profile_dialog">為 Shadowsocks 新增此設定檔?</string>
|
||||
<string name="add_profile_methods_scan_qr_code">掃描 QR 碼</string>
|
||||
<string name="add_profile_methods_manual_settings">手動設定</string>
|
||||
<string name="add_profile_scanner_permission_required">掃描 QR 碼需要相機權限。</string>
|
||||
<string name="add_profile_scanner_not_installed">請安裝任何兼容 ZXing 的 QR 碼掃描應用程式。</string>
|
||||
|
||||
<string-array name="route_entry">
|
||||
<item>全域</item>
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
<string name="add_profile_dialog">Add this Shadowsocks Profile?</string>
|
||||
<string name="add_profile_methods_scan_qr_code">Scan QR code</string>
|
||||
<string name="add_profile_methods_manual_settings">Manual Settings</string>
|
||||
<string name="add_profile_scanner_permission_required">Camera permission is required for scanning QR code.</string>
|
||||
<string name="add_profile_scanner_not_installed">Please install any ZXing-compliant QR code scanning app.</string>
|
||||
<string name="copy_url">Copy URL</string>
|
||||
<plurals name="removed">
|
||||
<item quantity="one">Removed</item>
|
||||
|
||||
@@ -22,7 +22,9 @@ package com.github.shadowsocks
|
||||
|
||||
import java.util.GregorianCalendar
|
||||
|
||||
import android.app.Activity
|
||||
import android.content._
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.support.v7.widget.RecyclerView.ViewHolder
|
||||
import android.support.v7.widget._
|
||||
@@ -306,18 +308,23 @@ final class ProfilesFragment extends ToolbarFragment with Toolbar.OnMenuItemClic
|
||||
}
|
||||
|
||||
override def onActivityResult(requestCode: Int, resultCode: Int, data: Intent): Unit = requestCode match {
|
||||
case REQUEST_SCAN_QR_CODE =>
|
||||
case REQUEST_SCAN_QR_CODE => if (resultCode == Activity.RESULT_OK) {
|
||||
val contents = data.getStringExtra("SCAN_RESULT")
|
||||
if (!TextUtils.isEmpty(contents)) Parser.findAll(contents).foreach(app.profileManager.createProfile)
|
||||
}
|
||||
case _ => super.onActivityResult(resultCode, resultCode, data)
|
||||
}
|
||||
|
||||
def onMenuItemClick(item: MenuItem): Boolean = item.getItemId match {
|
||||
case R.id.action_scan_qr_code =>
|
||||
startActivityForResult(new Intent("com.google.zxing.client.android.SCAN")
|
||||
try startActivityForResult(new Intent("com.google.zxing.client.android.SCAN")
|
||||
.addCategory(Intent.CATEGORY_DEFAULT)
|
||||
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_DOCUMENT),
|
||||
REQUEST_SCAN_QR_CODE)
|
||||
REQUEST_SCAN_QR_CODE) catch {
|
||||
case _: ActivityNotFoundException =>
|
||||
Toast.makeText(getActivity, R.string.add_profile_scanner_not_installed, Toast.LENGTH_LONG).show()
|
||||
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=tw.com.quickmark")))
|
||||
}
|
||||
true
|
||||
case R.id.action_import =>
|
||||
if (clipboard.hasPrimaryClip) {
|
||||
|
||||
Reference in New Issue
Block a user