Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
tools:ignore="QueryAllPackagesPermission" />
<application
android:label="DirtyFrag"
android:label="@string/app_name"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:localeConfig="@xml/locales_config"
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/Theme.DirtyFrag">

Expand Down
13 changes: 0 additions & 13 deletions app/src/main/java/df/root/D2Status.java
Original file line number Diff line number Diff line change
Expand Up @@ -67,19 +67,6 @@ static final class Result {
this.maintenance = maintenance;
this.detail = detail;
}

/** The three submenu rows, worded the way the pill means them. */
String lockscreenLabel() {
return lockscreen ? "Yes" : "No";
}

String maintenanceLabel() {
return maintenance ? "On" : "Off";
}

String deviceLabel() {
return supported ? "Supported" : "Unsupported";
}
}

/**
Expand Down
204 changes: 135 additions & 69 deletions app/src/main/java/df/root/MainActivity.java

Large diffs are not rendered by default.

16 changes: 9 additions & 7 deletions app/src/main/java/df/root/TwoStepProgressView.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ public class TwoStepProgressView extends View {

private float seg1 = 0f;
private float seg2 = 0f;
private String leftLabel = "Waiting";
private String rightLabel = "Verification";
private String leftLabel;
private String rightLabel;
private int rightColor = 0xFF8E8E8E;
private boolean failed;
private float greyMix = 0f;
Expand All @@ -41,6 +41,8 @@ public class TwoStepProgressView extends View {

public TwoStepProgressView(Context context, AttributeSet attrs) {
super(context, attrs);
leftLabel = context.getString(R.string.progress_waiting);
rightLabel = context.getString(R.string.progress_verification);
textPaint.setTextAlign(Paint.Align.CENTER);
}

Expand All @@ -51,11 +53,11 @@ public void setSeg1(float p, String label) {
invalidate();
}

public void setSeg2(float p, String label, int labelColor) {
public void setSeg2(float p, int labelRes, int labelColor) {
seg2 = clamp(p);
rightLabel = label;
rightLabel = getContext().getString(labelRes);
rightColor = labelColor;
if ("Verified".equals(label) && seg1 >= 1f) {
if (labelRes == R.string.progress_verified && seg1 >= 1f) {
scheduleGreyOut();
} else {
cancelGreyOut();
Expand All @@ -73,8 +75,8 @@ public void setFailed(boolean f) {
public void reset() {
cancelGreyOut();
failed = false;
setSeg1(0f, "Waiting");
setSeg2(0f, "Verification", 0xFFFFFFFF);
setSeg1(0f, getContext().getString(R.string.progress_waiting));
setSeg2(0f, R.string.progress_verification, 0xFFFFFFFF);
}

/** When the bar reaches 100% + Verified, ease the fill from blue to grey
Expand Down
44 changes: 22 additions & 22 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
android:layout_height="56dp"
android:contentInsetStart="0dp"
android:contentInsetStartWithNavigation="0dp"
android:title="DirtyFrag"
android:title="@string/app_name"
android:titleMarginStart="32dp"
android:titleTextAppearance="@style/ToolbarTitle">

Expand All @@ -38,7 +38,7 @@
android:layout_gravity="end|center_vertical"
android:layout_marginEnd="16dp"
android:background="@drawable/bg_circle"
android:contentDescription="Menu"
android:contentDescription="@string/menu"
android:scaleType="center"
android:src="@drawable/ic_more" />

Expand Down Expand Up @@ -67,7 +67,7 @@
android:layout_marginStart="32dp"
android:background="@drawable/bg_update_pill"
android:clickable="true"
android:contentDescription="Update available, open the release page"
android:contentDescription="@string/update_available_description"
android:focusable="true"
android:visibility="gone">

Expand All @@ -80,7 +80,7 @@
android:layout_height="match_parent"
android:layout_gravity="start|center_vertical"
android:gravity="center"
android:text="Update"
android:text="@string/update"
android:textColor="#FF101418"
android:textSize="16sp"
android:textStyle="bold" />
Expand Down Expand Up @@ -117,7 +117,7 @@
android:layout_marginEnd="6dp"
android:background="@drawable/bg_odin_pill"
android:clickable="true"
android:contentDescription="Recovery mode: toggle download-mode authorisation"
android:contentDescription="@string/recovery_description"
android:focusable="true"
android:gravity="center_vertical"
android:minWidth="44dp"
Expand All @@ -137,7 +137,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="Recovery"
android:text="@string/recovery"
android:textColor="#FFD9D9D9"
android:textSize="12sp"
android:textStyle="bold" />
Expand Down Expand Up @@ -223,15 +223,15 @@
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="SU Manager"
android:text="@string/su_manager"
android:textColor="#FFFFFFFF"
android:textSize="16sp" />

<TextView
android:id="@+id/suManagerSubtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Not selected - required"
android:text="@string/su_manager_required"
android:textColor="#FF9E9E9E"
android:textSize="12sp" />

Expand All @@ -242,7 +242,7 @@
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_gravity="center_vertical"
android:contentDescription="Select"
android:contentDescription="@string/select"
android:src="@drawable/ic_chevron" />

</LinearLayout>
Expand Down Expand Up @@ -285,15 +285,15 @@
android:id="@+id/tvAutorunTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Autorun"
android:text="@string/autorun"
android:textColor="#FFFFFFFF"
android:textSize="16sp" />

<TextView
android:id="@+id/tvAutorunDesc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Runs the exploit after boot"
android:text="@string/autorun_description"
android:textColor="#FF9E9E9E"
android:textSize="12sp" />

Expand Down Expand Up @@ -325,15 +325,15 @@
android:id="@+id/tvRebootTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Auto reboot"
android:text="@string/auto_reboot"
android:textColor="#FFFFFFFF"
android:textSize="16sp" />

<TextView
android:id="@+id/tvRebootDesc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Soft reboots after root"
android:text="@string/auto_reboot_description"
android:textColor="#FF9E9E9E"
android:textSize="12sp" />

Expand Down Expand Up @@ -381,15 +381,15 @@
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="KernelSU Modules"
android:text="@string/ksu_modules"
android:textColor="#FFFFFFFF"
android:textSize="16sp" />

<TextView
android:id="@+id/modulesSubtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Enabled - active at next reboot"
android:text="@string/modules_enabled"
android:textColor="#FF9E9E9E"
android:textSize="12sp" />

Expand Down Expand Up @@ -436,14 +436,14 @@
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Show advanced log"
android:text="@string/advanced_log"
android:textColor="#FFFFFFFF"
android:textSize="16sp" />

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Shows full scrollable log"
android:text="@string/advanced_log_description"
android:textColor="#FF9E9E9E"
android:textSize="12sp" />

Expand Down Expand Up @@ -545,7 +545,7 @@
android:paddingEnd="28dp"
android:elevation="12dp"
android:stateListAnimator="@null"
android:text="Run exploit"
android:text="@string/run_exploit"
android:textSize="14sp"
android:backgroundTint="#FF7A7A7A"
android:textColor="#FFE0E0E0"
Expand All @@ -572,7 +572,7 @@
android:background="@drawable/bg_pill"
android:backgroundTint="#FF2E2E30"
android:clickable="true"
android:contentDescription="Open SU manager"
android:contentDescription="@string/open_su_manager"
android:elevation="12dp"
android:enabled="false"
android:focusable="true"
Expand All @@ -590,7 +590,7 @@
android:layout_gravity="start|center_vertical"
android:layout_marginStart="22dp"
android:alpha="0"
android:text="Manager"
android:text="@string/manager"
android:textColor="#FF1F1F1F"
android:textSize="14sp" />

Expand All @@ -600,7 +600,7 @@
android:layout_height="20dp"
android:layout_gravity="end|center_vertical"
android:layout_marginEnd="17dp"
android:contentDescription="Open"
android:contentDescription="@string/open"
android:src="@drawable/ic_chevron" />

</FrameLayout>
Expand Down Expand Up @@ -630,7 +630,7 @@
android:layout_alignBottom="@id/btnRun"
android:layout_marginStart="33dp"
android:background="@drawable/bg_circle_grey_ripple"
android:contentDescription="Save log to Downloads"
android:contentDescription="@string/save_log"
android:elevation="12dp"
android:padding="0dp"
android:scaleType="center"
Expand Down
99 changes: 99 additions & 0 deletions app/src/main/res/values-b+zh+Hans/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- 工具栏和菜单 -->
<string name="menu">菜单</string>
<string name="update">更新</string>
<string name="update_available_description">有可用更新,打开发布页面</string>
<string name="open_github">打开 GitHub 项目</string>
<string name="reset_ui_layout">重置界面布局</string>
<string name="expert_mode">专家模式</string>
<string name="hide_card">隐藏卡片</string>

<!-- 管理器和设置卡片 -->
<string name="su_manager">Root 管理器</string>
<string name="su_manager_required">请选择管理器</string>
<string name="su_manager_selected">%1$s(%2$s)</string>
<string name="su_manager_not_found">未找到包含 libksud.so 的应用</string>
<string name="select">选择</string>
<string name="autorun">开机自动提权</string>
<string name="autorun_expert">开机自动提权(需专家模式)</string>
<string name="autorun_description">设备开机后自动尝试获取 Root</string>
<string name="auto_reboot">自动软重启</string>
<string name="auto_reboot_expert">自动软重启(需专家模式)</string>
<string name="auto_reboot_description">提权成功后执行软重启</string>
<string name="ksu_modules">KernelSU 模块</string>
<string name="modules_enabled">已启用,下次提权时加载模块</string>
<string name="modules_disabled">已禁用,下次提权时跳过模块</string>
<string name="advanced_log">显示高级日志</string>
<string name="advanced_log_description">查看可滚动的完整日志</string>

<!-- 提权操作和进度 -->
<string name="run_exploit">开始提权</string>
<string name="run_confirm">确认提权</string>
<string name="running">提权中</string>
<string name="rooted">已提权</string>
<string name="manager">管理器</string>
<string name="open_su_manager">打开 Root 管理器</string>
<string name="open">打开</string>
<string name="save_log">将日志保存到下载目录</string>
<string name="progress_waiting">等待开始</string>
<string name="progress_verification">验证</string>
<string name="progress_verified">已验证</string>
<string name="progress_no_su">未获取 su</string>
<string name="progress_failure">提权失败</string>
<string name="progress_reboot">请重启</string>
<string name="progress_percent">%1$d%%</string>

<!-- 三星下载模式菜单 -->
<string name="recovery">下载模式</string>
<string name="recovery_description">打开下载模式授权菜单</string>
<string name="recovery_download">下载/恢复模式</string>
<string name="recovery_lockscreen">锁屏凭据</string>
<string name="recovery_maintenance">维护模式</string>
<string name="recovery_device">设备支持</string>
<string name="recovery_writer">写入下载授权</string>
<string name="recovery_autorun_writer">自动写入授权</string>
<string name="recovery_at_reroot">%1$s(再次提权时)</string>
<string name="recovery_no_gate">%1$s(此固件不适用)</string>
<string name="recovery_expert">%1$s(需专家模式)</string>
<string name="recovery_writing">正在写入授权…</string>
<string name="recovery_clearing">正在清除授权…</string>
<string name="recovery_not_gated">此固件无此限制</string>
<string name="recovery_blocked">D2 已限制</string>
<string name="recovery_allowed">允许进入</string>
<string name="recovery_unknown">状态未知</string>
<string name="recovery_supported">支持</string>
<string name="recovery_unsupported">不支持</string>
<string name="recovery_yes">已设置</string>
<string name="recovery_no">未设置</string>
<string name="recovery_on">已开启</string>
<string name="recovery_off">已关闭</string>

<!-- 屏幕上的日志标题和常见诊断提示 -->
<string name="log_system">系统信息</string>
<string name="log_setup">准备</string>
<string name="log_patching">修补文件</string>
<string name="log_init">初始化</string>
<string name="log_cleanup">清理</string>
<string name="log_success">提权成功</string>
<string name="log_failure">提权失败:%1$s</string>
<string name="log_app_version">应用版本:%1$s</string>
<string name="log_manufacturer">制造商:%1$s</string>
<string name="log_model">设备型号:%1$s</string>
<string name="log_android_version">Android 版本:%1$s</string>
<string name="log_security_patch">安全补丁:%1$s</string>
<string name="log_kernel_version">内核版本:%1$s</string>
<string name="log_already_hooked">已检测到提权挂钩,跳过本次运行</string>
<string name="log_buffer_off">开发者选项中的「日志缓冲区大小」已关闭。</string>
<string name="log_buffer_retry">请选择一个日志缓冲区大小,再重试。</string>
<string name="log_no_manager">尚未选择 Root 管理器</string>
<string name="log_manager_removed">%1$s 已卸载</string>
<string name="log_ksud_not_found">在 %1$s 中找不到 libksud.so</string>
<string name="log_not_vulnerable">修补检查显示设备不受此漏洞影响</string>
<string name="log_exception">异常:%1$s</string>
<string name="log_reason_prefs">读取应用设置失败</string>
<string name="log_reason_modules">停用模块失败</string>
<string name="log_reason_ksud">ksud 退出并返回错误</string>
<string name="log_reason_check_logs">请检查 logcat 和 dmesg 日志</string>
<string name="log_reason_patch">修补文件失败</string>
</resources>
Loading