diff --git a/app_main/src/main/java/cn/rrg/rdv/activities/tools/Proxmark3NewTerminalInitActivity.java b/app_main/src/main/java/cn/rrg/rdv/activities/tools/Proxmark3NewTerminalInitActivity.java
index c8d010e7..7f96df6c 100644
--- a/app_main/src/main/java/cn/rrg/rdv/activities/tools/Proxmark3NewTerminalInitActivity.java
+++ b/app_main/src/main/java/cn/rrg/rdv/activities/tools/Proxmark3NewTerminalInitActivity.java
@@ -2,12 +2,17 @@ package cn.rrg.rdv.activities.tools;
import android.content.Intent;
import android.os.Bundle;
+import android.view.View;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
import androidx.annotation.Nullable;
import com.termux.app.TermuxActivity;
+import cn.rrg.rdv.R;
import cn.rrg.rdv.activities.main.BaseActivity;
+import cn.rrg.rdv.activities.main.PM3FlasherMainActivity;
import cn.rrg.rdv.util.Commons;
import cn.rrg.rdv.util.Proxmark3Installer;
@@ -15,16 +20,43 @@ public class Proxmark3NewTerminalInitActivity extends BaseActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ setContentView(R.layout.act_pm3_terminal_init);
- if (Commons.isPM3ClientDecompressed()) {
- go();
- } else {
- Proxmark3Installer.installIfNeed(this, new Runnable() {
- @Override
- public void run() {
+
+ findViewById(R.id.btnFwFlash).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ startActivity(new Intent(activity, PM3FlasherMainActivity.class));
+ }
+ });
+
+ findViewById(R.id.btnGoToTermux).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (Commons.isPM3ClientDecompressed()) {
go();
+ } else {
+ Proxmark3Installer.installIfNeed(activity, new Runnable() {
+ @Override
+ public void run() {
+ go();
+ }
+ });
}
- });
+ }
+ });
+
+ CheckBox box = findViewById(R.id.ckBoxAutoGoTermux);
+ box.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ Commons.setAutoGoToTermux(isChecked);
+ }
+ });
+
+ // Must have init pm3 client and check auto go!
+ if (Commons.getAutoGoToTermux() && Commons.isPM3ClientDecompressed()) {
+ go();
}
}
diff --git a/app_main/src/main/java/cn/rrg/rdv/application/Properties.java b/app_main/src/main/java/cn/rrg/rdv/application/Properties.java
index 046b91c3..d7123d71 100644
--- a/app_main/src/main/java/cn/rrg/rdv/application/Properties.java
+++ b/app_main/src/main/java/cn/rrg/rdv/application/Properties.java
@@ -15,4 +15,6 @@ public class Properties {
public static String k_app_language = "language";
//Key files select history!
public static String k_common_rw_keyfile_selected = "commonRWKeyFilesSelected";
+ // Auto Goto Termux View
+ public static String k_auto_goto_termux = "autoGotoTermuxView";
}
diff --git a/app_main/src/main/java/cn/rrg/rdv/fragment/base/AppMainDevicesFragment.java b/app_main/src/main/java/cn/rrg/rdv/fragment/base/AppMainDevicesFragment.java
index d4e0ef46..b2756f58 100644
--- a/app_main/src/main/java/cn/rrg/rdv/fragment/base/AppMainDevicesFragment.java
+++ b/app_main/src/main/java/cn/rrg/rdv/fragment/base/AppMainDevicesFragment.java
@@ -19,8 +19,6 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import com.termux.app.TermuxActivity;
-
import java.util.ArrayList;
import cn.dxl.common.util.AppUtil;
@@ -33,6 +31,7 @@ import cn.rrg.rdv.activities.connect.PN53XUsbBulkTransferActivity;
import cn.rrg.rdv.activities.connect.Proxmark3Rdv4RRGConnectActivity;
import cn.rrg.rdv.activities.main.GeneralNfcDeviceMain;
import cn.rrg.rdv.activities.main.PN53XNfcMain;
+import cn.rrg.rdv.activities.tools.Proxmark3NewTerminalInitActivity;
import cn.rrg.rdv.binder.BannerImageViewBinder;
import cn.rrg.rdv.binder.DeviceInfoViewBinder;
import cn.rrg.rdv.binder.TitleTextViewBinder;
@@ -177,7 +176,7 @@ public class AppMainDevicesFragment extends BaseFragment {
deviceInfoBean = this;
connectOrGotoFunctionMain(
Proxmark3Rdv4RRGConnectActivity.class,
- TermuxActivity.class
+ Proxmark3NewTerminalInitActivity.class
);
}
});
diff --git a/app_main/src/main/java/cn/rrg/rdv/fragment/tools/MainSettingsFragment.java b/app_main/src/main/java/cn/rrg/rdv/fragment/tools/MainSettingsFragment.java
index 510a4065..a38bd4a4 100644
--- a/app_main/src/main/java/cn/rrg/rdv/fragment/tools/MainSettingsFragment.java
+++ b/app_main/src/main/java/cn/rrg/rdv/fragment/tools/MainSettingsFragment.java
@@ -3,7 +3,11 @@ package cn.rrg.rdv.fragment.tools;
import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
+import android.content.Intent;
import android.content.SharedPreferences;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.net.Uri;
import android.os.Bundle;
import androidx.annotation.NonNull;
@@ -63,7 +67,6 @@ public class MainSettingsFragment
initViews(view);
initList();
- initActions(view.getContext());
}
private void initViews(View v) {
@@ -108,7 +111,7 @@ public class MainSettingsFragment
}).show();
}
};
- languageItem.setSubTitle("Set the language of the app.");
+ languageItem.setSubTitle(getString(R.string.title_set_language));
languageItem.setMessage(languageTran());
items.add(languageItem);
@@ -124,13 +127,36 @@ public class MainSettingsFragment
pm3Res.setMessage(Commons.isPM3ResInitialled() ? getString(R.string.initialized) : getString(R.string.uninitialized));
items.add(pm3Res);
+ items.add(new TitleBean(getString(R.string.other)));
+
+ ItemTextBean openSourceItem = new ItemTextBean(getString(R.string.title_open_source)) {
+ @Override
+ public void onClick(View view, int pos) {
+ Uri uri = Uri.parse("https://github.com/RfidResearchGroup/RFIDtools");
+ Intent intent = new Intent(Intent.ACTION_VIEW, uri);
+ startActivity(intent);
+ }
+ };
+ openSourceItem.setMessage(getString(R.string.go2));
+ openSourceItem.setSubTitle(getString(R.string.tips_opensource_welcome));
+ items.add(openSourceItem);
+
multiTypeAdapter.notifyDataSetChanged();
}
- private void initActions(Context context) {
-
+ public static String getVersion(Context context) {
+ if (context == null) return "unknown";
+ try {
+ PackageInfo pi = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
+ return pi.versionName;
+ } catch (PackageManager.NameNotFoundException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return context.getString(R.string.unknown);
+ }
}
+
private String languageTran() {
String currentLanguage = Commons.getLanguage();
switch (currentLanguage) {
diff --git a/app_main/src/main/java/cn/rrg/rdv/util/Commons.java b/app_main/src/main/java/cn/rrg/rdv/util/Commons.java
index 764d8501..dd84da73 100644
--- a/app_main/src/main/java/cn/rrg/rdv/util/Commons.java
+++ b/app_main/src/main/java/cn/rrg/rdv/util/Commons.java
@@ -257,4 +257,14 @@ public class Commons {
return new File(Paths.PM3_IMAGE_OS_FILE).exists() &&
new File(Paths.PM3_IMAGE_BOOT_FILE).exists();
}
+
+ public static void setAutoGoToTermux(boolean auto) {
+ getPrivatePreferences().edit()
+ .putBoolean(Properties.k_auto_goto_termux, auto)
+ .apply();
+ }
+
+ public static boolean getAutoGoToTermux() {
+ return getPrivatePreferences().getBoolean(Properties.k_auto_goto_termux, false);
+ }
}
diff --git a/app_main/src/main/res/drawable/termux_view_example.png b/app_main/src/main/res/drawable/termux_view_example.png
new file mode 100644
index 00000000..484af242
Binary files /dev/null and b/app_main/src/main/res/drawable/termux_view_example.png differ
diff --git a/app_main/src/main/res/layout/act_app_settings.xml b/app_main/src/main/res/layout/act_app_settings.xml
index fbd69be5..57016007 100644
--- a/app_main/src/main/res/layout/act_app_settings.xml
+++ b/app_main/src/main/res/layout/act_app_settings.xml
@@ -25,7 +25,7 @@
android:layout_alignParentBottom="true"
android:layout_margin="16dp"
android:gravity="center"
- android:text="Power by Proxgrind\nDistributed by RFID Research Group (RRG)"
+ android:text="@string/tips_power"
android:textSize="12sp" />
\ No newline at end of file
diff --git a/app_main/src/main/res/layout/act_pm3_terminal_init.xml b/app_main/src/main/res/layout/act_pm3_terminal_init.xml
new file mode 100644
index 00000000..d36c1605
--- /dev/null
+++ b/app_main/src/main/res/layout/act_pm3_terminal_init.xml
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app_main/src/main/res/values-en/strings.xml b/app_main/src/main/res/values-en/strings.xml
index ea9ae0c9..e2b9a5f6 100644
--- a/app_main/src/main/res/values-en/strings.xml
+++ b/app_main/src/main/res/values-en/strings.xml
@@ -301,5 +301,16 @@
Select BootRom
Select FullImage
Will use TERMUX implement UI
+ 1. Your FW can\'t than for client version too low or high , you need go flash FW.
+ 2. Check \'Auto Go\', it will auto go to termux view.
+ Auto Go
+ Flash Firmware(OTG)
+ Go Termux
+ Set the language of the app.
+ Other
+ Open Source
+ Welcome join we open source.
+ Power by Proxgrind\nDistributed by RFID Research Group (RRG)
+ unknown
\ No newline at end of file
diff --git a/app_main/src/main/res/values-zh/strings.xml b/app_main/src/main/res/values-zh/strings.xml
index cd73a149..3f2b691a 100644
--- a/app_main/src/main/res/values-zh/strings.xml
+++ b/app_main/src/main/res/values-zh/strings.xml
@@ -307,5 +307,16 @@
选择引导器
选择系统固件
将会使用TERMUX实现终端视图
+ 1. 你的固件不能比客户端版本太低或太高,太高或者太低都需要去刷固件。
+ 2. 勾选 \'自动跳转\', 将自动转到TERMUX视图。
+ 自动跳转
+ 刷写固件(OTG)
+ 跳转到Termux
+ 设置APP使用的语言
+ 其他
+ 开源计划
+ 欢迎加入我们的开源计划。
+ 由Proxgrind强力驱动\n由RFID Research Group (RRG)管理发布
+ unknown
\ No newline at end of file
diff --git a/app_main/src/main/res/values/strings.xml b/app_main/src/main/res/values/strings.xml
index 2b49e283..6e45f5ee 100644
--- a/app_main/src/main/res/values/strings.xml
+++ b/app_main/src/main/res/values/strings.xml
@@ -300,5 +300,16 @@
Select BootRom
Select FullImage
Will use TERMUX implement UI
+ 1. Your FW can\'t than for client version too low or high , you need go flash FW.
+ 2. Check \'Auto Go\', it will auto go to termux view.
+ Auto Go
+ Flash Firmware(OTG)
+ Go Termux
+ Set the language of the app.
+ Other
+ Open Source
+ Welcome join we open source.
+ Power by Proxgrind\nDistributed by RFID Research Group (RRG)
+ unknown
\ No newline at end of file