Skip to content
This repository was archived by the owner on Oct 15, 2024. It is now read-only.

Commit 1aa86ba

Browse files
committed
Add key import UI
1 parent e8204c8 commit 1aa86ba

File tree

6 files changed

+41
-1
lines changed

6 files changed

+41
-1
lines changed

app/src/main/java/dev/msfjarvis/aps/ui/onboarding/activity/OnboardingActivity.kt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,30 @@
55

66
package dev.msfjarvis.aps.ui.onboarding.activity
77

8+
import android.content.Context
9+
import android.content.Intent
810
import android.os.Bundle
911
import androidx.appcompat.app.AppCompatActivity
12+
import androidx.fragment.app.commitNow
1013
import dagger.hilt.android.AndroidEntryPoint
1114
import dev.msfjarvis.aps.R
15+
import dev.msfjarvis.aps.ui.onboarding.fragments.GopenpgpKeySelectionFragment
16+
import dev.msfjarvis.aps.ui.onboarding.fragments.WelcomeFragment
1217

1318
@AndroidEntryPoint
1419
class OnboardingActivity : AppCompatActivity(R.layout.activity_onboarding) {
1520

1621
override fun onCreate(savedInstanceState: Bundle?) {
1722
super.onCreate(savedInstanceState)
1823
supportActionBar?.hide()
24+
val import = intent.extras?.getBoolean(KEY_IMPORT) ?: false
25+
supportFragmentManager.commitNow {
26+
if (import) {
27+
replace(R.id.fragment_first_run, GopenpgpKeySelectionFragment.newInstance())
28+
} else {
29+
replace(R.id.fragment_first_run, WelcomeFragment.newInstance())
30+
}
31+
}
1932
}
2033

2134
override fun onBackPressed() {
@@ -25,4 +38,15 @@ class OnboardingActivity : AppCompatActivity(R.layout.activity_onboarding) {
2538
super.onBackPressed()
2639
}
2740
}
41+
42+
companion object {
43+
private const val KEY_IMPORT = "KEY_IMPORT"
44+
45+
fun createKeyImportIntent(context: Context) =
46+
Intent(
47+
context,
48+
OnboardingActivity::class.java,
49+
)
50+
.putExtra(KEY_IMPORT, true)
51+
}
2852
}

app/src/main/java/dev/msfjarvis/aps/ui/onboarding/fragments/WelcomeFragment.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,8 @@ class WelcomeFragment : Fragment(R.layout.fragment_welcome) {
3131
startActivity(Intent(requireContext(), SettingsActivity::class.java))
3232
}
3333
}
34+
35+
companion object {
36+
fun newInstance() = WelcomeFragment()
37+
}
3438
}

app/src/main/java/dev/msfjarvis/aps/ui/settings/PasswordSettings.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,12 @@ import de.Maxr1998.modernpreferences.helpers.editText
1717
import de.Maxr1998.modernpreferences.helpers.onCheckedChange
1818
import de.Maxr1998.modernpreferences.helpers.onClick
1919
import de.Maxr1998.modernpreferences.helpers.onSelectionChange
20+
import de.Maxr1998.modernpreferences.helpers.pref
2021
import de.Maxr1998.modernpreferences.helpers.singleChoice
2122
import de.Maxr1998.modernpreferences.preferences.CheckBoxPreference
2223
import de.Maxr1998.modernpreferences.preferences.choice.SelectionItem
2324
import dev.msfjarvis.aps.R
25+
import dev.msfjarvis.aps.ui.onboarding.activity.OnboardingActivity
2426
import dev.msfjarvis.aps.util.extensions.getString
2527
import dev.msfjarvis.aps.util.extensions.sharedPrefs
2628
import dev.msfjarvis.aps.util.extensions.unsafeLazy
@@ -118,6 +120,14 @@ class PasswordSettings(private val activity: FragmentActivity) : SettingsProvide
118120
summaryRes = R.string.pref_copy_summary
119121
defaultValue = false
120122
}
123+
pref(PreferenceKeys.IMPORT_GPG_KEY) {
124+
titleRes = R.string.pref_import_gpg_key_title
125+
summaryRes = R.string.pref_import_gpg_key_summary
126+
onClick {
127+
activity.startActivity(OnboardingActivity.createKeyImportIntent(activity))
128+
true
129+
}
130+
}
121131
}
122132
}
123133
}

app/src/main/java/dev/msfjarvis/aps/util/settings/PreferenceKeys.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,5 @@ object PreferenceKeys {
8282
const val PROXY_PASSWORD = "proxy_password"
8383

8484
const val REBASE_ON_PULL = "rebase_on_pull"
85+
const val IMPORT_GPG_KEY = "import_gpg_key"
8586
}

app/src/main/res/layout/activity_onboarding.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
<androidx.fragment.app.FragmentContainerView
1313
android:id="@+id/fragment_first_run"
14-
android:name="dev.msfjarvis.aps.ui.onboarding.fragments.WelcomeFragment"
1514
android:layout_width="match_parent"
1615
android:layout_height="match_parent"
1716
android:tag="welcome_fragment" />

app/src/main/res/values/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@
111111
<string name="pref_import_ssh_key_title">Import SSH key</string>
112112
<string name="pref_ssh_keygen_title">Generate SSH key pair</string>
113113
<string name="pref_ssh_see_key_title">View generated public SSH key</string>
114+
<string name="pref_import_gpg_key_title">Import GPG key</string>
115+
<string name="pref_import_gpg_key_summary">Add a GPG key to the internal keyring</string>
114116
<string name="pref_git_delete_repo_title">Delete repository</string>
115117
<string name="pref_dialog_delete_title">Clear repository</string>
116118
<string name="pref_category_general_title">General</string>

0 commit comments

Comments
 (0)