From 1b87bc0417cc8489bf8f592e4e0ca42cf5759889 Mon Sep 17 00:00:00 2001 From: Kr328 <39107975+Kr328@users.noreply.github.com> Date: Tue, 10 Dec 2019 22:35:31 +0800 Subject: [PATCH] finish activity on import successfully --- .../kr328/clash/CreateProfileActivity.kt | 19 +++++++++++++++---- .../github/kr328/clash/ImportFileActivity.kt | 5 +++++ .../github/kr328/clash/ImportUrlActivity.kt | 5 +++++ 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/github/kr328/clash/CreateProfileActivity.kt b/app/src/main/java/com/github/kr328/clash/CreateProfileActivity.kt index a04ecc4..1330088 100644 --- a/app/src/main/java/com/github/kr328/clash/CreateProfileActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/CreateProfileActivity.kt @@ -1,5 +1,6 @@ package com.github.kr328.clash +import android.app.Activity import android.content.Context import android.content.Intent import android.os.Bundle @@ -23,6 +24,7 @@ class CreateProfileActivity : BaseActivity() { R.string.clash_new_profile_url_summary ) ) + private const val IMPORT_REQUEST_CODE = 1024 } class Adapter(private val context: Context) : BaseAdapter() { @@ -51,6 +53,15 @@ class CreateProfileActivity : BaseActivity() { } } + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + if ( requestCode == IMPORT_REQUEST_CODE && resultCode == Activity.RESULT_OK ) { + finish() + return + } + + super.onActivityResult(requestCode, resultCode, data) + } + data class AdapterData(val icon: Int, val title: Int, val summary: Int) override fun onCreate(savedInstanceState: Bundle?) { @@ -64,19 +75,19 @@ class CreateProfileActivity : BaseActivity() { setOnItemClickListener { _, _, index, _ -> when (index) { 0 -> { - startActivity( + startActivityForResult( Intent( this@CreateProfileActivity, ImportFileActivity::class.java - ) + ), IMPORT_REQUEST_CODE ) } 1 -> { - startActivity( + startActivityForResult( Intent( this@CreateProfileActivity, ImportUrlActivity::class.java - ) + ), IMPORT_REQUEST_CODE ) } } diff --git a/app/src/main/java/com/github/kr328/clash/ImportFileActivity.kt b/app/src/main/java/com/github/kr328/clash/ImportFileActivity.kt index 8452a66..3cbc521 100644 --- a/app/src/main/java/com/github/kr328/clash/ImportFileActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/ImportFileActivity.kt @@ -1,5 +1,6 @@ package com.github.kr328.clash +import android.app.Activity import android.content.Intent import android.net.Uri import android.os.Bundle @@ -50,6 +51,8 @@ class ImportFileActivity : BaseActivity() { checkAndInsert() } } + + setResult(Activity.RESULT_CANCELED) } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { @@ -123,6 +126,8 @@ class ImportFileActivity : BaseActivity() { ) } + setResult(Activity.RESULT_OK) + finish() } catch (e: Exception) { Snackbar.make( diff --git a/app/src/main/java/com/github/kr328/clash/ImportUrlActivity.kt b/app/src/main/java/com/github/kr328/clash/ImportUrlActivity.kt index bafb711..50072da 100644 --- a/app/src/main/java/com/github/kr328/clash/ImportUrlActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/ImportUrlActivity.kt @@ -1,5 +1,6 @@ package com.github.kr328.clash +import android.app.Activity import android.content.Intent import android.os.Bundle import android.view.View @@ -58,6 +59,8 @@ class ImportUrlActivity : BaseActivity() { (elements[1] as FormAdapter.TextType).content = intent.data?.getQueryParameter("url") ?: "" } + + setResult(Activity.RESULT_CANCELED) } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { @@ -123,6 +126,8 @@ class ImportUrlActivity : BaseActivity() { } runOnUiThread { + setResult(Activity.RESULT_OK) + finish() } }