From e7d2dec952fc2bc61675550bee5f7b53241b5bee Mon Sep 17 00:00:00 2001 From: Mygod Date: Sun, 18 Dec 2016 00:03:26 +0800 Subject: [PATCH] Don't navigate up if scanning was cancelled --- src/main/AndroidManifest.xml | 2 +- .../github/shadowsocks/ScannerActivity.scala | 17 ++++++----------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index 95c4bbf7..681de87b 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -74,7 +74,7 @@ android:name=".ShadowsocksRunnerActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:excludeFromRecents="true" - android:taskAffinity="" + android:taskAffinity="" android:launchMode="singleTask"/> navigateUp()) + toolbar.setNavigationIcon(R.drawable.ic_navigation_close) + toolbar.setNavigationOnClickListener(_ => finish()) scannerView = findViewById(R.id.scanner).asInstanceOf[ZXingScannerView] if (Build.VERSION.SDK_INT >= 25) getSystemService(classOf[ShortcutManager]).reportShortcutUsed("scan") } @@ -98,7 +91,9 @@ class ScannerActivity extends AppCompatActivity with ZXingScannerView.ResultHand val uri = rawResult.getText if (!TextUtils.isEmpty(uri)) Parser.findAll(uri).foreach(app.profileManager.createProfile) - navigateUp() + val intent = getParentActivityIntent + if (shouldUpRecreateTask(intent) || isTaskRoot) + TaskStackBuilder.create(this).addNextIntentWithParentStack(intent).startActivities() + else finish() } } -