Added saving key state

This commit is contained in:
gdlbo
2022-08-17 21:18:58 +03:00
parent 45015c571f
commit 330793f8bc
@@ -4,6 +4,7 @@ import static ru.vtosters.lite.utils.AndroidUtils.dp2px;
import static ru.vtosters.lite.utils.AndroidUtils.getString;
import static ru.vtosters.lite.utils.AndroidUtils.sendToast;
import static ru.vtosters.lite.utils.LifecycleUtils.getCurrentActivity;
import static ru.vtosters.lite.utils.ThemesUtils.getAlertStyle;
import static ru.vtosters.lite.utils.ThemesUtils.getSTextAttr;
import android.content.Context;
@@ -19,6 +20,7 @@ import com.vk.core.dialogs.alert.VkAlertDialog;
import com.vk.im.engine.models.dialogs.Dialog;
import java.util.List;
import java.util.Objects;
import ru.vtosters.lite.encryption.EncryptProvider;
import ru.vtosters.lite.encryption.base.IMProcessor;
@@ -78,6 +80,8 @@ public class CryptImHook{
public static void hookPref(int peerId){
IMProcessor enabled = null;
String key = null;
for (IMProcessor processor : EncryptProvider.processors) {
if (processor.isUsedToEncrypt(peerId)) {
enabled = processor;
@@ -89,6 +93,14 @@ public class CryptImHook{
return;
}
if (Objects.requireNonNull(enabled).getEncryptionKeyFor(peerId) != null) {
key = enabled.getEncryptionKeyFor(peerId);
}
if (key.equals("VTAesDefault")) {
key = null;
}
Context ctx = getCurrentActivity();
LinearLayout linearLayout = new LinearLayout(ctx);
@@ -102,9 +114,10 @@ public class CryptImHook{
ViewGroup.MarginLayoutParams margin = ((ViewGroup.MarginLayoutParams) editText.getLayoutParams());
margin.setMargins(dp2px(24f), 0, dp2px(24f), 0);
editText.setLayoutParams(margin);
editText.setText(key == null ? "" : key);
IMProcessor finalEnabled = enabled;
new AlertDialog.Builder(ctx)
new AlertDialog.Builder(ctx, getAlertStyle())
.setTitle(getString("encryption_enter_key"))
.setMessage(String.format(getString("encryption_current_algorithm_title"), enabled.getUIName()))
.setView(linearLayout)