diff --git a/TMessagesProj/build.gradle b/TMessagesProj/build.gradle
index 7e5cb63e07..d6771d8979 100644
--- a/TMessagesProj/build.gradle
+++ b/TMessagesProj/build.gradle
@@ -378,7 +378,6 @@ dependencies {
implementation "cn.hutool:hutool-core:5.8.42"
implementation "cn.hutool:hutool-crypto:5.8.42"
implementation 'cn.hutool:hutool-http:5.8.42'
- implementation "com.jakewharton:process-phoenix:3.0.0"
// openpgp
implementation project(":openpgp-api")
diff --git a/TMessagesProj/src/main/AndroidManifest.xml b/TMessagesProj/src/main/AndroidManifest.xml
index f4c625a5a0..bb4535cd26 100644
--- a/TMessagesProj/src/main/AndroidManifest.xml
+++ b/TMessagesProj/src/main/AndroidManifest.xml
@@ -537,6 +537,11 @@
android:taskAffinity="${applicationId}.voip_feedback"
android:excludeFromRecents="true"
android:theme="@style/Theme.TMessages.TransparentWithAlerts"/>
+
dialogIds, int action, Object infoObj
undoImageView.setVisibility(GONE);
undoTextView.setText(LocaleController.getString("ApplyTheme", R.string.ApplyTheme));
- currentCancelRunnable = () -> ProcessPhoenix.triggerRebirth(getContext(), new Intent(getContext(), LaunchActivity.class));
+ currentCancelRunnable = AppRestartHelper::triggerRebirth;
} else if (isTooltipAction()) {
CharSequence infoText = "";
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java
index faccc55d2e..3e59582828 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/LoginActivity.java
@@ -105,7 +105,6 @@
import com.android.billingclient.api.ProductDetails;
import com.android.billingclient.api.Purchase;
import com.android.billingclient.api.QueryProductDetailsParams;
-import com.jakewharton.processphoenix.ProcessPhoenix;
//import com.google.android.gms.auth.api.signin.GoogleSignIn;
//import com.google.android.gms.auth.api.signin.GoogleSignInAccount;
//import com.google.android.gms.auth.api.signin.GoogleSignInClient;
@@ -229,6 +228,7 @@
import tw.nekomimi.nekogram.BackButtonMenuRecent;
import tw.nekomimi.nekogram.NekoConfig;
import tw.nekomimi.nekogram.NekoXConfig;
+import tw.nekomimi.nekogram.helpers.AppRestartHelper;
import tw.nekomimi.nekogram.helpers.PasscodeHelper;
import tw.nekomimi.nekogram.ui.BottomBuilder;
import tw.nekomimi.nekogram.ui.EditTextAutoFill;
@@ -10672,7 +10672,7 @@ public void afterTextChanged(Editable s) {
restart.setTitle(LocaleController.getString(R.string.NekoX));
restart.setMessage(LocaleController.getString(R.string.RestartAppToTakeEffect));
restart.setPositiveButton(LocaleController.getString(R.string.OK), (__, ___) -> {
- ProcessPhoenix.triggerRebirth(getContext(), new Intent(getContext(), LaunchActivity.class));
+ AppRestartHelper.triggerRebirth();
});
restart.show();
return Unit.INSTANCE;
diff --git a/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java
index 26c9e8834e..f3ecdcf979 100644
--- a/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java
+++ b/TMessagesProj/src/main/java/org/telegram/ui/ProfileActivity.java
@@ -125,8 +125,6 @@
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
-import com.jakewharton.processphoenix.ProcessPhoenix;
-
import org.telegram.PhoneFormat.PhoneFormat;
import org.telegram.messenger.AccountInstance;
import org.telegram.messenger.AndroidUtilities;
diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/helpers/AppRestartHelper.java b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/helpers/AppRestartHelper.java
new file mode 100644
index 0000000000..6a5f0b8413
--- /dev/null
+++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/helpers/AppRestartHelper.java
@@ -0,0 +1,47 @@
+package tw.nekomimi.nekogram.helpers;
+
+import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK;
+import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Process;
+
+import org.telegram.messenger.ApplicationLoader;
+import org.telegram.ui.LaunchActivity;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+
+public final class AppRestartHelper extends Activity {
+ private static final String KEY_RESTART_INTENTS = "nagram_restart_intents";
+ private static final String KEY_MAIN_PROCESS_PID = "nagram_main_process_pid";
+
+ public static void triggerRebirth() {
+ Context context = ApplicationLoader.applicationContext;
+ triggerRebirth(context, new Intent(context, LaunchActivity.class));
+ }
+
+ public static void triggerRebirth(Context context, Intent... nextIntents) {
+ nextIntents[0].addFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TASK);
+ Intent intent = new Intent(context, AppRestartHelper.class);
+ intent.addFlags(FLAG_ACTIVITY_NEW_TASK);
+ intent.putParcelableArrayListExtra(KEY_RESTART_INTENTS, new ArrayList<>(Arrays.asList(nextIntents)));
+ intent.putExtra(KEY_MAIN_PROCESS_PID, Process.myPid());
+ context.startActivity(intent);
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ Process.killProcess(getIntent().getIntExtra(KEY_MAIN_PROCESS_PID, -1));
+ ArrayList intents = getIntent().getParcelableArrayListExtra(KEY_RESTART_INTENTS);
+ if (intents != null) {
+ startActivities(intents.toArray(new Intent[0]));
+ finish();
+ Runtime.getRuntime().exit(0);
+ }
+ }
+}
diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/helpers/CloudSettingsHelper.java b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/helpers/CloudSettingsHelper.java
index db93e7f7cc..2d1057ae9b 100644
--- a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/helpers/CloudSettingsHelper.java
+++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/helpers/CloudSettingsHelper.java
@@ -2,7 +2,6 @@
import android.annotation.SuppressLint;
import android.content.Context;
-import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Handler;
@@ -17,8 +16,6 @@
import androidx.core.graphics.ColorUtils;
-import com.jakewharton.processphoenix.ProcessPhoenix;
-
import org.json.JSONException;
import org.telegram.messenger.AndroidUtilities;
import org.telegram.messenger.ApplicationLoader;
@@ -36,7 +33,6 @@
import org.telegram.ui.Components.LayoutHelper;
import org.telegram.ui.Components.ScaleStateListAnimator;
import org.telegram.ui.Components.TextViewSwitcher;
-import org.telegram.ui.LaunchActivity;
import org.telegram.ui.Stories.recorder.ButtonWithCounterView;
import java.util.Calendar;
@@ -153,7 +149,7 @@ public void showDialog(BaseFragment parentFragment) {
restart.setTitle(LocaleController.getString(R.string.NekoX));
restart.setMessage(LocaleController.getString(R.string.RestartAppToTakeEffect));
restart.setPositiveButton(LocaleController.getString(R.string.OK), (__, ___) -> {
- ProcessPhoenix.triggerRebirth(context, new Intent(context, LaunchActivity.class));
+ AppRestartHelper.triggerRebirth();
});
restart.show();
}
diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoSettingsActivity.java b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoSettingsActivity.java
index 923ac8d954..df61e444d6 100644
--- a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoSettingsActivity.java
+++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoSettingsActivity.java
@@ -5,7 +5,6 @@
import android.app.Activity;
import android.content.Context;
-import android.content.Intent;
import android.content.SharedPreferences;
import android.view.View;
@@ -15,7 +14,6 @@
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive;
-import com.jakewharton.processphoenix.ProcessPhoenix;
import org.json.JSONException;
import org.json.JSONObject;
@@ -29,7 +27,6 @@
import org.telegram.ui.Cells.TextCell;
import org.telegram.ui.Cells.TextSettingsCell;
import org.telegram.ui.DocumentSelectActivity;
-import org.telegram.ui.LaunchActivity;
import java.io.File;
import java.text.DateFormat;
@@ -40,6 +37,7 @@
import kotlin.text.StringsKt;
import tw.nekomimi.nekogram.DatacenterActivity;
+import tw.nekomimi.nekogram.helpers.AppRestartHelper;
import tw.nekomimi.nekogram.helpers.CloudSettingsHelper;
import tw.nekomimi.nekogram.helpers.PasscodeHelper;
import tw.nekomimi.nekogram.utils.AlertUtil;
@@ -72,6 +70,7 @@ public class NekoSettingsActivity extends BaseNekoSettingsActivity {
private int settingsRow;
private int importSettingsRow;
private int exportSettingsRow;
+ private int resetSettingsRow;
private int settings2Row;
@Override
@@ -114,6 +113,18 @@ protected void onItemClick(View view, int position, float x, float y) {
} else if (position == importSettingsRow) {
DocumentSelectActivity activity = getDocumentSelectActivity(getParentActivity());
presentFragment(activity);
+ } else if (position == resetSettingsRow) {
+ AlertUtil.showConfirm(getParentActivity(),
+ LocaleController.getString(R.string.ResetSettingsAlert),
+ R.drawable.msg_reset,
+ LocaleController.getString(R.string.Reset),
+ true,
+ () -> {
+ ApplicationLoader.applicationContext.getSharedPreferences("nekocloud", Activity.MODE_PRIVATE).edit().clear().commit();
+ ApplicationLoader.applicationContext.getSharedPreferences("nekox_config", Activity.MODE_PRIVATE).edit().clear().commit();
+ ApplicationLoader.applicationContext.getSharedPreferences("nkmrcfg", Activity.MODE_PRIVATE).edit().clear().commit();
+ AppRestartHelper.triggerRebirth();
+ });
} else if (position == exportSettingsRow) {
backupSettings();
}
@@ -163,6 +174,7 @@ protected void updateRows() {
settingsRow = addRow("settings");
importSettingsRow = addRow("importSettings");
exportSettingsRow = addRow("exportSettings");
+ resetSettingsRow = addRow("resetSettings");
settings2Row = addRow();
}
@@ -193,6 +205,8 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi
textCell.setText(LocaleController.getString(R.string.ImportSettings), divider);
} else if (position == exportSettingsRow) {
textCell.setText(LocaleController.getString(R.string.BackupSettings), divider);
+ } else if (position == resetSettingsRow) {
+ textCell.setText(LocaleController.getString(R.string.ResetSettings), divider);
}
break;
}
@@ -398,7 +412,7 @@ public static void importSettingsConfirmed(Context context, File settingsFile) {
AlertDialog restart = new AlertDialog(context, 0);
restart.setTitle(LocaleController.getString(R.string.NekoX));
restart.setMessage(LocaleController.getString(R.string.RestartAppToTakeEffect));
- restart.setPositiveButton(LocaleController.getString(R.string.OK), (__, ___) -> ProcessPhoenix.triggerRebirth(context, new Intent(context, LaunchActivity.class)));
+ restart.setPositiveButton(LocaleController.getString(R.string.OK), (__, ___) -> AppRestartHelper.triggerRebirth());
restart.show();
} catch (Exception e) {
AlertUtil.showSimpleAlert(context, e);
diff --git a/TMessagesProj/src/main/res/values-es-rES/strings_na.xml b/TMessagesProj/src/main/res/values-es-rES/strings_na.xml
index 826a840c23..da627e36c7 100644
--- a/TMessagesProj/src/main/res/values-es-rES/strings_na.xml
+++ b/TMessagesProj/src/main/res/values-es-rES/strings_na.xml
@@ -59,6 +59,8 @@
Cambio rápido a anónimo
Si eres el dueño del grupo
Tiempo de ocultación real para stickers
+ Restablecer Ajustes
+ ¿Está seguro de que desea restablecer todos los N-Ajustes?
Ocultar el título
Ignorar contador de carpetas
Enviar sin markdown
diff --git a/TMessagesProj/src/main/res/values-in-rID/strings_na.xml b/TMessagesProj/src/main/res/values-in-rID/strings_na.xml
index 12db12c7e2..5756d90293 100644
--- a/TMessagesProj/src/main/res/values-in-rID/strings_na.xml
+++ b/TMessagesProj/src/main/res/values-in-rID/strings_na.xml
@@ -59,6 +59,8 @@
Quick toggle anonymous
If you\'re owner of the group
Real hide time for stickers
+ Atur Ulang Pengaturan
+ Apakah Anda yakin ingin mengatur ulang semua Pengaturan-N?
Hide Title
Ignore Folder Count
Send without markdown
diff --git a/TMessagesProj/src/main/res/values-it-rIT/strings_na.xml b/TMessagesProj/src/main/res/values-it-rIT/strings_na.xml
index d415bd0761..79d8bd6554 100644
--- a/TMessagesProj/src/main/res/values-it-rIT/strings_na.xml
+++ b/TMessagesProj/src/main/res/values-it-rIT/strings_na.xml
@@ -59,6 +59,8 @@
Attiva/disattiva velocemente anonimo
Se sei proprietario del gruppo
Tempo di nascondersi reale per gli adesivi
+ Ripristina le Impostazioni
+ Sei sicuro di voler ripristinare tutte le impostazioni?
Nascondi Titolo
Ignora Conteggio Cartelle
Invia senza markdown
diff --git a/TMessagesProj/src/main/res/values-ja-rJP/strings_na.xml b/TMessagesProj/src/main/res/values-ja-rJP/strings_na.xml
index 2d85e514f0..7177fedba6 100644
--- a/TMessagesProj/src/main/res/values-ja-rJP/strings_na.xml
+++ b/TMessagesProj/src/main/res/values-ja-rJP/strings_na.xml
@@ -59,6 +59,8 @@
クイック匿名の切り替え
あなたがグループの所有者である場合
ステッカーをリアルタイムに隠す
+ 設定をリセット
+ 「N-設定」をリセットしますか?
タイトルを隠す
フォルダ数を無視
マークダウンなしで送信
diff --git a/TMessagesProj/src/main/res/values-pl-rPL/strings_na.xml b/TMessagesProj/src/main/res/values-pl-rPL/strings_na.xml
index 63e585d60e..8ba2fb1376 100644
--- a/TMessagesProj/src/main/res/values-pl-rPL/strings_na.xml
+++ b/TMessagesProj/src/main/res/values-pl-rPL/strings_na.xml
@@ -59,6 +59,8 @@
Szybkie przełączanie anonimowe
Jeśli jesteś właścicielem grupy
Prawdziwy czas ukrycia naklejek
+ Resetuj ustawienia
+ Czy na pewno chcesz zresetować wszystkie ustawienia-N?
Ukryj tytuł
Ignoruj liczbę folderów
Wyślij bez markdown
diff --git a/TMessagesProj/src/main/res/values-pt-rBR/strings_na.xml b/TMessagesProj/src/main/res/values-pt-rBR/strings_na.xml
index 8318e61dd2..2e09f85e5e 100644
--- a/TMessagesProj/src/main/res/values-pt-rBR/strings_na.xml
+++ b/TMessagesProj/src/main/res/values-pt-rBR/strings_na.xml
@@ -59,6 +59,8 @@
Alternador rápido anônimo
Se você é o proprietário do grupo
Ocultar tempo real para adesivos
+ Redefinir configurações
+ Tem certeza de que deseja redefinir todas as N-Configurações?
Ocultar o título
Ignorar contador de pastas
Enviar sem markdown
diff --git a/TMessagesProj/src/main/res/values-ru-rRU/strings_na.xml b/TMessagesProj/src/main/res/values-ru-rRU/strings_na.xml
index 26208ccbb6..f347027832 100644
--- a/TMessagesProj/src/main/res/values-ru-rRU/strings_na.xml
+++ b/TMessagesProj/src/main/res/values-ru-rRU/strings_na.xml
@@ -59,6 +59,8 @@
Быстрое переключение анонимности
Если вы владелец группы.
Скрыть время для стикеров
+ Сброс настроек
+ Вы уверены, что хотите сбросить все «Настройки N»?
Скрыть заголовок
Игнорировать количество папок
Отправить без разметки
diff --git a/TMessagesProj/src/main/res/values-tr-rTR/strings_na.xml b/TMessagesProj/src/main/res/values-tr-rTR/strings_na.xml
index a772d9423e..71f9931917 100644
--- a/TMessagesProj/src/main/res/values-tr-rTR/strings_na.xml
+++ b/TMessagesProj/src/main/res/values-tr-rTR/strings_na.xml
@@ -59,6 +59,8 @@
Anonimlere hızlı geçiş
Grubun sahibiyseniz
Çıkartmalar için gerçek saklanma süresi
+ Ayarları Sıfırla
+ Tüm N-Ayarlarını sıfırlamak istediğinizden emin misiniz?
Başlığı Gizle
Klasör Sayısını Yoksay
İşaretlemeden gönder
diff --git a/TMessagesProj/src/main/res/values-uk-rUA/strings_na.xml b/TMessagesProj/src/main/res/values-uk-rUA/strings_na.xml
index ce1b72cab7..a5e606b230 100644
--- a/TMessagesProj/src/main/res/values-uk-rUA/strings_na.xml
+++ b/TMessagesProj/src/main/res/values-uk-rUA/strings_na.xml
@@ -59,6 +59,8 @@
Швидкий перемикач анонімного режиму
Якщо ви власник групи
Реальний час приховування для наліпок
+ Скидання налаштувань
+ Ви дійсно бажаєте скинути всі N-Налаштування?
Приховати заголовок
Ігнорувати кількість папок
Відправити без markdown
diff --git a/TMessagesProj/src/main/res/values-zh-rCN/strings_na.xml b/TMessagesProj/src/main/res/values-zh-rCN/strings_na.xml
index 0d748a6233..6068b37df5 100644
--- a/TMessagesProj/src/main/res/values-zh-rCN/strings_na.xml
+++ b/TMessagesProj/src/main/res/values-zh-rCN/strings_na.xml
@@ -59,6 +59,8 @@
快速切换匿名发言
如果你是群组的所有者的话
真正的隐藏贴纸发送时间
+ 重置设置
+ 您确定要重置所有 N-设置 吗?
隐藏标题和头像
忽略文件夹标签上的未读计数
禁用 Markdown
diff --git a/TMessagesProj/src/main/res/values-zh-rTW/strings_na.xml b/TMessagesProj/src/main/res/values-zh-rTW/strings_na.xml
index d0802ea514..8b3f8d1805 100644
--- a/TMessagesProj/src/main/res/values-zh-rTW/strings_na.xml
+++ b/TMessagesProj/src/main/res/values-zh-rTW/strings_na.xml
@@ -59,6 +59,8 @@
快速切換匿名發言
如果你是頻道的持有者則可以使用頻道匿名發言
真正的隱藏貼圖傳送時間
+ 重置設定
+ 您確定要重置所有 N-設定 嗎?
隱藏標題和頭像
忽略資料夾標籤上的未讀計數
禁用 Markdown
diff --git a/TMessagesProj/src/main/res/values/strings_na.xml b/TMessagesProj/src/main/res/values/strings_na.xml
index 7a742003f0..f2e6ba4ee3 100644
--- a/TMessagesProj/src/main/res/values/strings_na.xml
+++ b/TMessagesProj/src/main/res/values/strings_na.xml
@@ -59,6 +59,8 @@
Quick toggle anonymous
If you\'re owner of the group
Real hide time for stickers
+ Reset Settings
+ Are you sure you want to reset all N-Settings?
Hide Title
Ignore Folder Count
Send without markdown