Skip to content

Commit d46fbe1

Browse files
committed
QuickPass 2.0 beta 4.2
- Duration of animation adjusted - Added back buttons - Smooth transitions through screens - Settings update -- Auto asking permission for writing to storage -- New icons for export/import -- Tips for export/import now always available - Translation updated - All new main screen -- Smooth panel for all passwords -- Statistic copied to main screen - Optimization for some constructions - Fixes - Libraries updated (10/10/20)
1 parent ef24c9c commit d46fbe1

File tree

9 files changed

+99
-28
lines changed

9 files changed

+99
-28
lines changed

app/src/main/java/com/mikhailgrigorev/quickpass/EditPassActivity.kt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,7 @@ import androidx.appcompat.app.AppCompatActivity
1818
import androidx.appcompat.app.AppCompatDelegate
1919
import androidx.core.content.ContextCompat
2020
import com.google.android.material.chip.Chip
21-
import kotlinx.android.synthetic.main.activity_account.*
2221
import kotlinx.android.synthetic.main.activity_edit_pass.*
23-
import kotlinx.android.synthetic.main.activity_edit_pass.accountAvatar
24-
import kotlinx.android.synthetic.main.activity_edit_pass.accountAvatarText
25-
import kotlinx.android.synthetic.main.activity_edit_pass.back
26-
import kotlinx.android.synthetic.main.activity_edit_pass.helloTextId
27-
import kotlinx.android.synthetic.main.activity_edit_pass.timeLimit
2822
import java.text.SimpleDateFormat
2923
import java.util.*
3024

@@ -450,7 +444,12 @@ class EditPassActivity : AppCompatActivity() {
450444
val intent = Intent(this, PasswordViewActivity::class.java)
451445
intent.putExtra("login", login)
452446
intent.putExtra("passName", newNameField.text.toString())
453-
startActivity(intent)
447+
val sharedPref = getSharedPreferences(_preferenceFile, Context.MODE_PRIVATE)
448+
with(sharedPref.edit()) {
449+
putString("__PASSNAME", newNameField.text.toString())
450+
commit()
451+
}
452+
setResult(1, intent)
454453
finish()
455454
}
456455
}

app/src/main/java/com/mikhailgrigorev/quickpass/LoginActivity.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ class LoginActivity : AppCompatActivity() {
2929

3030
override fun onCreate(savedInstanceState: Bundle?) {
3131
val pref = getSharedPreferences(_preferenceFile, Context.MODE_PRIVATE)
32+
33+
with(pref.edit()) {
34+
putInt("__BS", com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_COLLAPSED)
35+
apply()
36+
}
3237
when(pref.getString(_keyTheme, "none")){
3338
"yes" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
3439
"no" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)

app/src/main/java/com/mikhailgrigorev/quickpass/NewPasswordActivity.kt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,13 @@ class NewPasswordActivity : AppCompatActivity() {
340340

341341
}
342342

343+
back.setOnClickListener {
344+
val intent = Intent()
345+
intent.putExtra("login", login)
346+
setResult(1, intent)
347+
finish()
348+
}
349+
343350
savePass.setOnClickListener {
344351
val pdbHelper = PasswordsDataBaseHelper(this, login)
345352
val passDataBase = pdbHelper.writableDatabase
@@ -391,11 +398,9 @@ class NewPasswordActivity : AppCompatActivity() {
391398
override fun onKeyUp(keyCode: Int, msg: KeyEvent?): Boolean {
392399
when (keyCode) {
393400
KeyEvent.KEYCODE_BACK -> {
394-
val intent = Intent(this, PassGenActivity::class.java)
401+
val intent = Intent()
395402
intent.putExtra("login", login)
396-
startActivity(intent)
397-
this.overridePendingTransition(R.anim.right_in,
398-
R.anim.right_out)
403+
setResult(1, intent)
399404
finish()
400405
}
401406
}

app/src/main/java/com/mikhailgrigorev/quickpass/PassGenActivity.kt

Lines changed: 40 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,18 @@ import androidx.core.content.ContextCompat
3131
import androidx.recyclerview.widget.LinearLayoutManager
3232
import com.google.android.material.bottomsheet.BottomSheetBehavior
3333
import com.google.android.material.chip.Chip
34+
import kotlinx.android.synthetic.main.activity_edit_pass.*
3435
import kotlinx.android.synthetic.main.activity_pass_gen.*
36+
import kotlinx.android.synthetic.main.activity_pass_gen.accountAvatar
37+
import kotlinx.android.synthetic.main.activity_pass_gen.accountAvatarText
38+
import kotlinx.android.synthetic.main.activity_pass_gen.cardPass
39+
import kotlinx.android.synthetic.main.activity_pass_gen.genPasswordId
40+
import kotlinx.android.synthetic.main.activity_pass_gen.genPasswordIdField
41+
import kotlinx.android.synthetic.main.activity_pass_gen.generatePassword
42+
import kotlinx.android.synthetic.main.activity_pass_gen.helloTextId
43+
import kotlinx.android.synthetic.main.activity_pass_gen.lengthToggle
44+
import kotlinx.android.synthetic.main.activity_pass_gen.passSettings
45+
import kotlinx.android.synthetic.main.activity_pass_gen.seekBar
3546
import java.util.*
3647
import kotlin.collections.ArrayList
3748
import kotlin.math.abs
@@ -1063,8 +1074,7 @@ class PassGenActivity : AppCompatActivity() {
10631074
intent.putExtra("useNumbers", useNumbers)
10641075
intent.putExtra("useSymbols", useSymbols)
10651076
intent.putExtra("length", length)
1066-
startActivity(intent)
1067-
finish()
1077+
startActivityForResult(intent, 1)
10681078
}
10691079

10701080

@@ -1077,8 +1087,7 @@ class PassGenActivity : AppCompatActivity() {
10771087
intent.putExtra("useNumbers", useNumbers)
10781088
intent.putExtra("useSymbols", useSymbols)
10791089
intent.putExtra("length", length)
1080-
startActivity(intent)
1081-
finish()
1090+
startActivityForResult(intent, 1)
10821091
}
10831092

10841093
// получение вью нижнего экрана
@@ -1091,14 +1100,29 @@ class PassGenActivity : AppCompatActivity() {
10911100
val bottomSheetBehavior = BottomSheetBehavior.from(llBottomSheet)
10921101

10931102
// настройка состояний нижнего экрана
1094-
bottomSheetBehavior.state = BottomSheetBehavior.STATE_COLLAPSED
1103+
//bottomSheetBehavior.state = BottomSheetBehavior.STATE_COLLAPSED
1104+
1105+
bottomSheetBehavior.state = getSharedPreferences(_preferenceFile, Context.MODE_PRIVATE)
1106+
.getInt("__BS", BottomSheetBehavior.STATE_COLLAPSED)
1107+
menu_up.animate().rotation(180F * bottomSheetBehavior.state).setDuration(0).start()
1108+
1109+
searchPassField.clearFocus()
1110+
searchPassField.hideKeyboard()
10951111

10961112
expand.setOnClickListener {
10971113
bottomSheetBehavior.state = BottomSheetBehavior.STATE_COLLAPSED
1114+
with(sharedPref.edit()) {
1115+
putInt("__BS", BottomSheetBehavior.STATE_COLLAPSED)
1116+
apply()
1117+
}
10981118
}
10991119

11001120
menu_up.setOnClickListener {
11011121
bottomSheetBehavior.state = BottomSheetBehavior.STATE_EXPANDED
1122+
with(sharedPref.edit()) {
1123+
putInt("__BS", BottomSheetBehavior.STATE_EXPANDED)
1124+
apply()
1125+
}
11021126
}
11031127

11041128
// настройка максимальной высоты
@@ -1110,6 +1134,10 @@ class PassGenActivity : AppCompatActivity() {
11101134
// настройка колбэков при изменениях
11111135
bottomSheetBehavior.setBottomSheetCallback(object : BottomSheetBehavior.BottomSheetCallback() {
11121136
override fun onStateChanged(bottomSheet: View, newState: Int) {
1137+
with(sharedPref.edit()) {
1138+
putInt("__BS", newState)
1139+
apply()
1140+
}
11131141
}
11141142

11151143
override fun onSlide(bottomSheet: View, slideOffset: Float) {
@@ -1208,6 +1236,11 @@ class PassGenActivity : AppCompatActivity() {
12081236
val intent = Intent(this, PasswordViewActivity::class.java)
12091237
var isPass = false
12101238
intent.putExtra("login", login)
1239+
val sharedPref = getSharedPreferences(_preferenceFile, Context.MODE_PRIVATE)
1240+
with(sharedPref.edit()) {
1241+
putString("__PASSNAME", passwordsG[position].first)
1242+
commit()
1243+
}
12111244
intent.putExtra("passName", passwordsG[position].first)
12121245
var str = getString(R.string.sameParts) + " "
12131246
var j = 0
@@ -1225,8 +1258,7 @@ class PassGenActivity : AppCompatActivity() {
12251258
intent.putExtra("sameWith", str)
12261259
else
12271260
intent.putExtra("sameWith", "none")
1228-
startActivity(intent)
1229-
finish()
1261+
startActivityForResult(intent, 1)
12301262
}
12311263

12321264
private fun Context.toast(message: String)=
@@ -1520,4 +1552,5 @@ class PassGenActivity : AppCompatActivity() {
15201552
}
15211553
}
15221554

1555+
15231556
}

app/src/main/java/com/mikhailgrigorev/quickpass/PasswordViewActivity.kt

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ class PasswordViewActivity : AppCompatActivity() {
6060
if(newLogin != login)
6161
login = newLogin.toString()
6262
passName = args?.get("passName").toString()
63+
val newPass = getSharedPreferences(_preferenceFile, Context.MODE_PRIVATE).getString("__PASSNAME", passName)
64+
if(newPass != passName)
65+
passName = newPass.toString()
6366

6467

6568

@@ -302,7 +305,13 @@ class PasswordViewActivity : AppCompatActivity() {
302305
}
303306

304307

305-
308+
back.setOnClickListener {
309+
val intent = Intent()
310+
intent.putExtra("login", login)
311+
intent.putExtra("passName", passName)
312+
setResult(1, intent)
313+
finish()
314+
}
306315

307316
editButton.setOnClickListener {
308317
val intent = Intent(this, EditPassActivity::class.java)
@@ -349,12 +358,10 @@ class PasswordViewActivity : AppCompatActivity() {
349358
override fun onKeyUp(keyCode: Int, msg: KeyEvent?): Boolean {
350359
when (keyCode) {
351360
KeyEvent.KEYCODE_BACK -> {
352-
val intent = Intent(this, PassGenActivity::class.java)
361+
val intent = Intent()
353362
intent.putExtra("login", login)
354-
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
355-
startActivity(intent)
356-
this.overridePendingTransition(R.anim.right_in,
357-
R.anim.right_out)
363+
intent.putExtra("passName", passName)
364+
setResult(1, intent)
358365
finish()
359366
}
360367
}

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,17 @@
4141
android:layout_height="wrap_content"
4242
android:hint="@string/add_some_description" />
4343
</com.google.android.material.textfield.TextInputLayout>
44+
<ImageView
45+
android:id="@+id/back"
46+
android:layout_width="wrap_content"
47+
android:layout_height="wrap_content"
48+
android:layout_marginStart="20dp"
49+
android:contentDescription="@string/back"
50+
app:layout_constraintBottom_toBottomOf="@+id/helloTextId"
51+
app:layout_constraintStart_toStartOf="parent"
52+
app:layout_constraintTop_toTopOf="@+id/helloTextId"
53+
app:srcCompat="@drawable/arrow_left"
54+
app:tint="@color/black" />
4455

4556
<TextView
4657
android:id="@+id/helloTextId"
@@ -51,7 +62,7 @@
5162
android:text="@string/add_new_password"
5263
android:textColor="@color/textDark"
5364
android:textSize="24sp"
54-
app:layout_constraintStart_toStartOf="parent"
65+
app:layout_constraintStart_toEndOf="@+id/back"
5566
app:layout_constraintTop_toTopOf="parent" />
5667

5768

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,17 @@
230230
android:inputType="textPassword"
231231
android:longClickable="false" />
232232
</com.google.android.material.textfield.TextInputLayout>
233+
<ImageView
234+
android:id="@+id/back"
235+
android:layout_width="wrap_content"
236+
android:layout_height="wrap_content"
237+
android:layout_marginStart="20dp"
238+
android:contentDescription="@string/back"
239+
app:layout_constraintBottom_toBottomOf="@+id/helloTextId"
240+
app:layout_constraintStart_toStartOf="parent"
241+
app:layout_constraintTop_toTopOf="@+id/helloTextId"
242+
app:srcCompat="@drawable/arrow_left"
243+
app:tint="@color/black" />
233244

234245
<TextView
235246
android:id="@+id/helloTextId"
@@ -240,7 +251,7 @@
240251
android:text="@string/view_password"
241252
android:textColor="@color/textDark"
242253
android:textSize="24sp"
243-
app:layout_constraintStart_toStartOf="parent"
254+
app:layout_constraintStart_toEndOf="@+id/back"
244255
app:layout_constraintTop_toTopOf="parent" />
245256

246257
<androidx.cardview.widget.CardView

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
<string name="upperCaseLetters">ABC…</string>
5454
<string name="noRules">нужно выбрать как минимум 1 правило</string>
5555
<string name="passCopied">Пароль скопирован в буфер обмена</string>
56-
<string name="add_new_password">Добавить новый пароль</string>
56+
<string name="add_new_password">Добавить пароль</string>
5757
<string name="name_your_password">Введите имя пароля</string>
5858
<string name="_2fa">2FA</string>
5959
<string name="set_time_limit">Лимит времени</string>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
<string name="generate">+</string>
5353
<string name="passCopied">Password was copied to clipboard</string>
5454
<string name="noRules">You should choose at least 1 rule</string>
55-
<string name="add_new_password">Add new password</string>
55+
<string name="add_new_password">Add password</string>
5656
<string name="name_your_password">Name your password</string>
5757
<string name="_2fa">2FA</string>
5858
<string name="set_time_limit">Set time limit</string>

0 commit comments

Comments
 (0)