Skip to content

Commit d78e823

Browse files
committed
Allow user to use any QR code scanner and remove unused resources
1 parent 8e46be5 commit d78e823

File tree

8 files changed

+13
-22
lines changed

8 files changed

+13
-22
lines changed

src/main/AndroidManifest.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88

99
<uses-feature android:name="android.hardware.touchscreen"
1010
android:required="false"/>
11-
<uses-feature android:name="android.hardware.camera"
12-
android:required="false"/>
1311
<uses-feature android:name="android.hardware.nfc"
1412
android:required="false"/>
1513
<uses-feature android:name="android.software.leanback"

src/main/res/layout/layout_scanner.xml

Lines changed: 0 additions & 12 deletions
This file was deleted.

src/main/res/values-ja/strings.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@
8787
<string name="add_profile_dialog">シャドーソックスにプロファイルを追加しますか</string>
8888
<string name="add_profile_methods_scan_qr_code">QRコードを読み取る</string>
8989
<string name="add_profile_methods_manual_settings">手動でセットアップ</string>
90-
<string name="add_profile_scanner_permission_required">QRコードを読み取るにはカメラの使用権限が必要です。</string>
9190

9291
<string-array name="route_entry">
9392
<item>すべて</item>

src/main/res/values-ru/strings.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@
108108
<string name="add_profile_dialog">Добавить этот Профиль Shadowsocks?</string>
109109
<string name="add_profile_methods_scan_qr_code">Сканировать QR код</string>
110110
<string name="add_profile_methods_manual_settings">Настройка вручную</string>
111-
<string name="add_profile_scanner_permission_required">Разрешение камеры требуется для сканирования QR код.</string>
112111
<string name="copy_url">Копировать URL</string>
113112
<plurals name="removed">
114113
<item quantity="one">Удалён</item>

src/main/res/values-zh-rCN/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@
9898
<string name="add_profile_dialog">为影梭添加此配置文件?</string>
9999
<string name="add_profile_methods_scan_qr_code">扫描二维码</string>
100100
<string name="add_profile_methods_manual_settings">手动设置</string>
101-
<string name="add_profile_scanner_permission_required">扫描二维码需要相机权限。</string>
101+
<string name="add_profile_scanner_not_installed">请安装任意兼容 ZXing 的二维码扫描应用。</string>
102102

103103
<string-array name="route_entry">
104104
<item>全局</item>

src/main/res/values-zh-rTW/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
<string name="add_profile_dialog">為 Shadowsocks 新增此設定檔?</string>
100100
<string name="add_profile_methods_scan_qr_code">掃描 QR 碼</string>
101101
<string name="add_profile_methods_manual_settings">手動設定</string>
102-
<string name="add_profile_scanner_permission_required">掃描 QR 碼需要相機權限。</string>
102+
<string name="add_profile_scanner_not_installed">請安裝任何兼容 ZXing 的 QR 碼掃描應用程式。</string>
103103

104104
<string-array name="route_entry">
105105
<item>全域</item>

src/main/res/values/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@
127127
<string name="add_profile_dialog">Add this Shadowsocks Profile?</string>
128128
<string name="add_profile_methods_scan_qr_code">Scan QR code</string>
129129
<string name="add_profile_methods_manual_settings">Manual Settings</string>
130-
<string name="add_profile_scanner_permission_required">Camera permission is required for scanning QR code.</string>
130+
<string name="add_profile_scanner_not_installed">Please install any ZXing-compliant QR code scanning app.</string>
131131
<string name="copy_url">Copy URL</string>
132132
<plurals name="removed">
133133
<item quantity="one">Removed</item>

src/main/scala/com/github/shadowsocks/ProfilesFragment.scala

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ package com.github.shadowsocks
2222

2323
import java.util.GregorianCalendar
2424

25+
import android.app.Activity
2526
import android.content._
27+
import android.net.Uri
2628
import android.os.Bundle
2729
import android.support.v7.widget.RecyclerView.ViewHolder
2830
import android.support.v7.widget._
@@ -306,18 +308,23 @@ final class ProfilesFragment extends ToolbarFragment with Toolbar.OnMenuItemClic
306308
}
307309

308310
override def onActivityResult(requestCode: Int, resultCode: Int, data: Intent): Unit = requestCode match {
309-
case REQUEST_SCAN_QR_CODE =>
311+
case REQUEST_SCAN_QR_CODE => if (resultCode == Activity.RESULT_OK) {
310312
val contents = data.getStringExtra("SCAN_RESULT")
311313
if (!TextUtils.isEmpty(contents)) Parser.findAll(contents).foreach(app.profileManager.createProfile)
314+
}
312315
case _ => super.onActivityResult(resultCode, resultCode, data)
313316
}
314317

315318
def onMenuItemClick(item: MenuItem): Boolean = item.getItemId match {
316319
case R.id.action_scan_qr_code =>
317-
startActivityForResult(new Intent("com.google.zxing.client.android.SCAN")
320+
try startActivityForResult(new Intent("com.google.zxing.client.android.SCAN")
318321
.addCategory(Intent.CATEGORY_DEFAULT)
319322
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_DOCUMENT),
320-
REQUEST_SCAN_QR_CODE)
323+
REQUEST_SCAN_QR_CODE) catch {
324+
case _: ActivityNotFoundException =>
325+
Toast.makeText(getActivity, R.string.add_profile_scanner_not_installed, Toast.LENGTH_LONG).show()
326+
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=tw.com.quickmark")))
327+
}
321328
true
322329
case R.id.action_import =>
323330
if (clipboard.hasPrimaryClip) {

0 commit comments

Comments
 (0)