Skip to content

Commit 1bfbcda

Browse files
committed
修复修改语言重启Activity导致的ListMenu不能被init
1 parent d353871 commit 1bfbcda

3 files changed

Lines changed: 31 additions & 23 deletions

File tree

app/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ android {
209209
minifyEnabled true
210210
shrinkResources false // Reproducible builds
211211
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
212+
signingConfig signingConfigs.release
212213
}
213214

214215
debug {

app/src/main/java/com/termux/app/TermuxActivity.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,16 @@ public final class TermuxActivity extends AppCompatActivity implements ServiceCo
283283
// private float mTerminalToolbarDefaultHeight;
284284
private int mTerminalToolbarDefaultHeight;
285285
public boolean mInternalPassage;
286+
private void initMenu() {
287+
writerMainMenuConfig(true);
288+
ZTUserBean ztUserBean = UserSetManage.Companion.get().getZTUserBean();
289+
if (ztUserBean.isDisableMainConfigMenu()) {
290+
MainMenuConfig.init(this);
291+
initListMenu(MainMenuConfig.getMainMenuCategoryDatas());
292+
} else {
293+
initListMenu(XMLMainMenuConfig.getXmlMainMenuCategoryDatas(this));
294+
}
295+
}
286296
// @}
287297

288298

@@ -359,7 +369,7 @@ public void onCreate(Bundle savedInstanceState) {
359369
// ZeroTermux add {@
360370
initZeroTermux();
361371
// @}
362-
372+
initMenu();
363373
setSettingsButtonView();
364374

365375
setNewSessionButtonView();
@@ -1905,9 +1915,7 @@ private void initCommand() {
19051915
UUtils.chmod(zt);
19061916
}
19071917
}
1908-
//写入主菜单信息
1909-
writerMainMenuConfig(false);
1910-
1918+
initMenu();
19111919
//写入icon
19121920
File mainEditMenuIconPathFile = FileIOUtils.INSTANCE.getMainEditMenuIconPathFile();
19131921
if (!mainEditMenuIconPathFile.exists()) {
@@ -1923,12 +1931,6 @@ private void initCommand() {
19231931
intent.putExtra("edit_path", FileIOUtils.INSTANCE.getMainMenuXmlPathFile().getAbsolutePath());
19241932
startActivity(intent);
19251933
});
1926-
ZTUserBean ztUserBean = UserSetManage.Companion.get().getZTUserBean();
1927-
if (ztUserBean.isDisableMainConfigMenu()) {
1928-
initListMenu(MainMenuConfig.getMainMenuCategoryDatas());
1929-
} else {
1930-
initListMenu(XMLMainMenuConfig.getXmlMainMenuCategoryDatas(this));
1931-
}
19321934
}
19331935

19341936
private void writerMainMenuConfig(boolean cover) {

app/src/main/java/com/termux/zerocore/config/mainmenu/config/LanguageClickConfig.java

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import com.example.xh_lib.utils.UUtils;
1212
import com.mallotec.reb.localeplugin.utils.LocaleHelper;
1313
import com.termux.R;
14+
import com.termux.app.TermuxActivity;
1415
import com.termux.zerocore.popuwindow.MenuLeftPopuListWindow;
1516

1617
import org.jetbrains.annotations.Nullable;
@@ -55,19 +56,23 @@ private void showMenuDialog(ArrayList<MenuLeftPopuListWindow.MenuLeftPopuListDat
5556

5657
@Override
5758
public void itemClick(int id, int index, @Nullable MenuLeftPopuListWindow mMenuLeftPopuListWindow) {
58-
switch (id) {
59-
// 中文
60-
case 30:
61-
// Intent intent = new Intent(this, TermuxActivity.class);
62-
LocaleHelper.Companion.getInstance()
63-
.language(getLocale("2")).apply(mContext);
64-
// startActivity(intent);
65-
break;
66-
// 英文
67-
case 31:
68-
LocaleHelper.Companion.getInstance()
69-
.language(getLocale("1")).apply(mContext);
70-
break;
59+
String langType = (id == 30) ? "2" : "1";
60+
61+
try {
62+
java.io.File menuFile = com.termux.zerocore.utils.FileIOUtils.INSTANCE.getMainMenuXmlPathFile();
63+
if (menuFile != null && menuFile.exists()) {
64+
menuFile.delete();
65+
}
66+
} catch (Exception e) {
67+
e.printStackTrace();
68+
}
69+
70+
LocaleHelper.Companion.getInstance()
71+
.language(getLocale(langType))
72+
.apply(mContext);
73+
74+
if (mContext instanceof TermuxActivity) {
75+
((TermuxActivity) mContext).restartActivity();
7176
}
7277
}
7378

0 commit comments

Comments
 (0)