From c6a4f4ccdcba7f4a9781c35733b9b905bf46fb14 Mon Sep 17 00:00:00 2001
From: pppscn <35696959@qq.com>
Date: Mon, 24 Jan 2022 17:21:40 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E6=9C=AA=E5=90=8C?=
=?UTF-8?q?=E6=84=8F=E9=9A=90=E7=A7=81=E5=8D=8F=E8=AE=AE=E5=89=8D=E4=B8=8D?=
=?UTF-8?q?=E8=BF=9B=E8=A1=8C=E4=BB=BB=E4=BD=95=E7=BB=84=E4=BB=B6=E5=88=9D?=
=?UTF-8?q?=E5=A7=8B=E5=8C=96=20=E4=BF=AE=E5=A4=8D=EF=BC=9A=E9=83=A8?=
=?UTF-8?q?=E5=88=86=E6=9C=BA=E5=9E=8B=20Android=2012=20=E5=90=AF=E5=8A=A8?=
=?UTF-8?q?=E5=89=8D=E7=AB=AF=E6=9C=8D=E5=8A=A1=E5=A5=94=E6=BA=83=20?=
=?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9AStepBar=E6=8E=A7=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../idormy/sms/forwarder/MainActivity.java | 45 +++++++++++--------
.../idormy/sms/forwarder/MyApplication.java | 41 ++++++++++-------
.../idormy/sms/forwarder/RuleActivity.java | 12 ++---
.../idormy/sms/forwarder/SenderActivity.java | 14 ++----
.../idormy/sms/forwarder/SettingActivity.java | 12 ++---
.../sms/forwarder/service/BatteryService.java | 9 ++++
.../sms/forwarder/service/FrontService.java | 13 +++++-
.../sms/forwarder/service/NotifyService.java | 4 ++
.../sms/forwarder/utils/CommonUtil.java | 8 +---
.../idormy/sms/forwarder/view/StepBar.java | 32 ++++++++++++-
app/src/main/res/layout/activity_main.xml | 24 ++--------
app/src/main/res/layout/activity_rule.xml | 25 ++---------
app/src/main/res/layout/activity_sender.xml | 24 ++--------
app/src/main/res/layout/activity_setting.xml | 25 ++---------
app/src/main/res/layout/step_bar.xml | 11 +++++
app/src/main/res/values-en/styles.xml | 1 +
app/src/main/res/values/styles.xml | 1 +
17 files changed, 148 insertions(+), 153 deletions(-)
diff --git a/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java b/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java
index 96bbee82..b4cd683a 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java
@@ -63,10 +63,6 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
private Intent serviceIntent;
private String currentType = "sms";
- View inflate;
- Dialog dialog;
- SharedPreferencesHelper sharedPreferencesHelper;
-
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.d(TAG, "onCreate");
@@ -74,6 +70,9 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
+ //是否同意隐私协议
+ if (!MyApplication.allowPrivacyPolicy) return;
+
//获取SIM信息
PhoneUtils.init(this);
@@ -132,10 +131,8 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
super.onStart();
Log.d(TAG, "onStart");
- /* sp中uminit为1已经同意隐私协议*/
- sharedPreferencesHelper = new SharedPreferencesHelper(this, "umeng");
- String isAllowed = String.valueOf(sharedPreferencesHelper.getSharedPreference("uminit", ""));
- if (isAllowed.equals("") || isAllowed.equals("0")) {
+ //是否同意隐私协议
+ if (!MyApplication.allowPrivacyPolicy) {
dialog();
return;
}
@@ -144,11 +141,10 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
PackageManager pm = getPackageManager();
CommonUtil.CheckPermission(pm, this);
- //是否关闭页面提示 & 计算浮动按钮位置
- TextView help_tip = findViewById(R.id.help_tip);
+ //计算浮动按钮位置
FloatingActionButton btnFloat = findViewById(R.id.btnCleanLog);
RefreshListView viewList = findViewById(R.id.list_view_log);
- CommonUtil.calcMarginBottom(this, help_tip, btnFloat, viewList, null);
+ CommonUtil.calcMarginBottom(this, btnFloat, viewList, null);
//清空日志
btnFloat.setOnClickListener(v -> {
@@ -214,12 +210,8 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
});
//步骤完成状态校验
- boolean checkStep1 = SettingUtil.getSwitchEnableSms() || SettingUtil.getSwitchEnablePhone() || SettingUtil.getSwitchEnableAppNotify();
- boolean checkStep2 = SenderUtil.countSender("1", null) > 0;
- boolean checkStep3 = RuleUtil.countRule("1", null, null) > 0;
- boolean checkStep4 = LogUtil.countLog("2", null, null) > 0;
StepBar stepBar = findViewById(R.id.stepBar);
- stepBar.setHighlight(checkStep1, checkStep2, checkStep3, checkStep4);
+ stepBar.setHighlight();
}
private int getTypeCheckId(String currentType) {
@@ -240,6 +232,9 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
MobclickAgent.onPageStart(TAG);
MobclickAgent.onResume(this);
+ //是否同意隐私协议
+ if (!MyApplication.allowPrivacyPolicy) return;
+
//第一次打开,未授权无法获取SIM信息,尝试在此重新获取
if (MyApplication.SimInfoList.isEmpty()) {
MyApplication.SimInfoList = PhoneUtils.getSimMultiInfo();
@@ -271,6 +266,10 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
@Override
protected void onDestroy() {
super.onDestroy();
+
+ //是否同意隐私协议
+ if (!MyApplication.allowPrivacyPolicy) return;
+
try {
if (serviceIntent != null) startService(serviceIntent);
} catch (Exception e) {
@@ -282,6 +281,10 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
protected void onPause() {
overridePendingTransition(0, 0);
super.onPause();
+
+ //是否同意隐私协议
+ if (!MyApplication.allowPrivacyPolicy) return;
+
MobclickAgent.onPageEnd(TAG);
MobclickAgent.onPause(this);
try {
@@ -294,6 +297,10 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
+
+ //是否同意隐私协议
+ if (!MyApplication.allowPrivacyPolicy) return;
+
if (requestCode == CommonUtil.NOTIFICATION_REQUEST_CODE) {
if (CommonUtil.isNotificationListenerServiceEnabled(this)) {
Toast.makeText(this, R.string.notification_listener_service_enabled, Toast.LENGTH_SHORT).show();
@@ -448,13 +455,14 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
/*** 隐私协议授权弹窗*/
@SuppressLint({"ResourceType", "InflateParams"})
public void dialog() {
- dialog = new Dialog(this, R.style.dialog);
- inflate = LayoutInflater.from(MainActivity.this).inflate(R.layout.diaolog_privacy_policy, null);
+ Dialog dialog = new Dialog(this, R.style.dialog);
+ View inflate = LayoutInflater.from(MainActivity.this).inflate(R.layout.diaolog_privacy_policy, null);
TextView succsebtn = inflate.findViewById(R.id.succsebtn);
TextView canclebtn = inflate.findViewById(R.id.caclebtn);
succsebtn.setOnClickListener(v -> {
/* uminit为1时代表已经同意隐私协议,sp记录当前状态*/
+ SharedPreferencesHelper sharedPreferencesHelper = new SharedPreferencesHelper(this, "umeng");
sharedPreferencesHelper.put("uminit", "1");
UMConfigure.submitPolicyGrantResult(getApplicationContext(), true);
/* 友盟sdk正式初始化*/
@@ -479,6 +487,7 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
UMConfigure.submitPolicyGrantResult(getApplicationContext(), false);
//不同意隐私协议,退出app
android.os.Process.killProcess(android.os.Process.myPid());
+ finish();
});
dialog.setContentView(inflate);
diff --git a/app/src/main/java/com/idormy/sms/forwarder/MyApplication.java b/app/src/main/java/com/idormy/sms/forwarder/MyApplication.java
index 9a2d5c8c..804c6102 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/MyApplication.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/MyApplication.java
@@ -30,6 +30,8 @@ public class MyApplication extends Application {
//是否关闭页面提示
public static boolean showHelpTip = true;
SharedPreferencesHelper sharedPreferencesHelper;
+ //是否同意隐私协议
+ public static boolean allowPrivacyPolicy = false;
@SuppressLint("StaticFieldLeak")
private static Context context;
@@ -44,11 +46,29 @@ public class MyApplication extends Application {
super.onCreate();
context = getApplicationContext();
- //异常捕获类
- CrashHandler crashHandler = CrashHandler.getInstance();
- crashHandler.init(getApplicationContext());
-
try {
+ //异常捕获类
+ CrashHandler crashHandler = CrashHandler.getInstance();
+ crashHandler.init(getApplicationContext());
+
+ //友盟统计
+ sharedPreferencesHelper = new SharedPreferencesHelper(this, "umeng");
+ //设置LOG开关,默认为false
+ //UMConfigure.setLogEnabled(true);
+ //友盟预初始化
+ UMConfigure.preInit(getApplicationContext(), "60254fc7425ec25f10f4293e", "Umeng");
+
+ //判断是否同意隐私协议,uminit为1时为已经同意,直接初始化umsdk
+ if (sharedPreferencesHelper.getSharedPreference("uminit", "").equals("1")) {
+ allowPrivacyPolicy = true;
+ //友盟正式初始化
+ UmInitConfig umInitConfig = new UmInitConfig();
+ umInitConfig.UMinit(getApplicationContext());
+ }
+
+ //是否同意隐私协议
+ if (!MyApplication.allowPrivacyPolicy) return;
+
//前台服务
Intent intent = new Intent(this, FrontService.class);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
@@ -82,19 +102,6 @@ public class MyApplication extends Application {
IntentFilter simStateFilter = new IntentFilter(SimStateReceiver.ACTION_SIM_STATE_CHANGED);
registerReceiver(new SimStateReceiver(), simStateFilter);
- //友盟统计
- sharedPreferencesHelper = new SharedPreferencesHelper(this, "umeng");
- //设置LOG开关,默认为false
- //UMConfigure.setLogEnabled(true);
- //友盟预初始化
- UMConfigure.preInit(getApplicationContext(), "60254fc7425ec25f10f4293e", "Umeng");
-
- //判断是否同意隐私协议,uminit为1时为已经同意,直接初始化umsdk
- if (sharedPreferencesHelper.getSharedPreference("uminit", "").equals("1")) {
- //友盟正式初始化
- UmInitConfig umInitConfig = new UmInitConfig();
- umInitConfig.UMinit(getApplicationContext());
- }
} catch (Exception e) {
Log.e(TAG, "onCreate:", e);
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/RuleActivity.java b/app/src/main/java/com/idormy/sms/forwarder/RuleActivity.java
index f3e4d22b..887ff377 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/RuleActivity.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/RuleActivity.java
@@ -133,20 +133,16 @@ public class RuleActivity extends AppCompatActivity {
});
- //是否关闭页面提示
- TextView help_tip = findViewById(R.id.help_tip);
+ //计算浮动按钮位置
FloatingActionButton btnFloat = findViewById(R.id.btnFloat);
- CommonUtil.calcMarginBottom(this, help_tip, btnFloat, listView, null);
+ CommonUtil.calcMarginBottom(this, btnFloat, listView, null);
+
//添加规则
btnFloat.setOnClickListener(v -> setRule(null, false));
//步骤完成状态校验
- boolean checkStep1 = SettingUtil.getSwitchEnableSms() || SettingUtil.getSwitchEnablePhone() || SettingUtil.getSwitchEnableAppNotify();
- boolean checkStep2 = SenderUtil.countSender("1", null) > 0;
- boolean checkStep3 = RuleUtil.countRule("1", null, null) > 0;
- boolean checkStep4 = LogUtil.countLog("2", null, null) > 0;
StepBar stepBar = findViewById(R.id.stepBar);
- stepBar.setHighlight(checkStep1, checkStep2, checkStep3, checkStep4);
+ stepBar.setHighlight();
}
private int getTypeCheckId(String curType) {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/SenderActivity.java b/app/src/main/java/com/idormy/sms/forwarder/SenderActivity.java
index ba04ea6f..60219419 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/SenderActivity.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/SenderActivity.java
@@ -32,7 +32,6 @@ import android.widget.ListView;
import android.widget.RadioGroup;
import android.widget.SimpleAdapter;
import android.widget.Switch;
-import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
@@ -71,7 +70,6 @@ import com.idormy.sms.forwarder.sender.SenderWebNotifyMsg;
import com.idormy.sms.forwarder.utils.CommonUtil;
import com.idormy.sms.forwarder.utils.LogUtil;
import com.idormy.sms.forwarder.utils.RuleUtil;
-import com.idormy.sms.forwarder.utils.SettingUtil;
import com.idormy.sms.forwarder.view.ClearEditText;
import com.idormy.sms.forwarder.view.StepBar;
import com.umeng.analytics.MobclickAgent;
@@ -250,10 +248,10 @@ public class SenderActivity extends AppCompatActivity {
});
- //是否关闭页面提示
- TextView help_tip = findViewById(R.id.help_tip);
+ //计算浮动按钮位置
FloatingActionButton btnFloat = findViewById(R.id.btnAddSender);
- CommonUtil.calcMarginBottom(this, help_tip, btnFloat, listView, null);
+ CommonUtil.calcMarginBottom(this, btnFloat, listView, null);
+
//添加发送通道
btnFloat.setOnClickListener(v -> {
@@ -317,12 +315,8 @@ public class SenderActivity extends AppCompatActivity {
});
//步骤完成状态校验
- boolean checkStep1 = SettingUtil.getSwitchEnableSms() || SettingUtil.getSwitchEnablePhone() || SettingUtil.getSwitchEnableAppNotify();
- boolean checkStep2 = SenderUtil.countSender("1", null) > 0;
- boolean checkStep3 = RuleUtil.countRule("1", null, null) > 0;
- boolean checkStep4 = LogUtil.countLog("2", null, null) > 0;
StepBar stepBar = findViewById(R.id.stepBar);
- stepBar.setHighlight(checkStep1, checkStep2, checkStep3, checkStep4);
+ stepBar.setHighlight();
}
@Override
diff --git a/app/src/main/java/com/idormy/sms/forwarder/SettingActivity.java b/app/src/main/java/com/idormy/sms/forwarder/SettingActivity.java
index 85153f86..2fff68fd 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/SettingActivity.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/SettingActivity.java
@@ -74,9 +74,8 @@ public class SettingActivity extends AppCompatActivity {
Log.d(TAG, "onStart");
//是否关闭页面提示
- TextView help_tip = findViewById(R.id.help_tip);
ScrollView scrollView = findViewById(R.id.scrollView);
- CommonUtil.calcMarginBottom(this, help_tip, null, null, scrollView);
+ CommonUtil.calcMarginBottom(this, null, null, scrollView);
//转发短信广播
switchEnableSms(findViewById(R.id.switch_enable_sms));
@@ -119,12 +118,8 @@ public class SettingActivity extends AppCompatActivity {
SwitchHelpTip(findViewById(R.id.switch_help_tip));
//步骤完成状态校验
- boolean checkStep1 = SettingUtil.getSwitchEnableSms() || SettingUtil.getSwitchEnablePhone() || SettingUtil.getSwitchEnableAppNotify();
- boolean checkStep2 = SenderUtil.countSender("1", null) > 0;
- boolean checkStep3 = RuleUtil.countRule("1", null, null) > 0;
- boolean checkStep4 = LogUtil.countLog("2", null, null) > 0;
StepBar stepBar = findViewById(R.id.stepBar);
- stepBar.setHighlight(checkStep1, checkStep2, checkStep3, checkStep4);
+ stepBar.setHighlight();
}
@Override
@@ -769,8 +764,9 @@ public class SettingActivity extends AppCompatActivity {
Log.d(TAG, "onCheckedChanged:" + isChecked);
TextView help_tip = findViewById(R.id.help_tip);
+ help_tip.setVisibility(isChecked ? View.VISIBLE : View.GONE);
ScrollView scrollView = findViewById(R.id.scrollView);
- CommonUtil.calcMarginBottom(this, help_tip, null, null, scrollView);
+ CommonUtil.calcMarginBottom(this, null, null, scrollView);
});
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/service/BatteryService.java b/app/src/main/java/com/idormy/sms/forwarder/service/BatteryService.java
index 56885bab..bd618e2c 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/service/BatteryService.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/service/BatteryService.java
@@ -10,6 +10,7 @@ import android.os.BatteryManager;
import android.os.IBinder;
import android.util.Log;
+import com.idormy.sms.forwarder.MyApplication;
import com.idormy.sms.forwarder.model.vo.SmsHubVo;
import com.idormy.sms.forwarder.model.vo.SmsVo;
import com.idormy.sms.forwarder.sender.SendUtil;
@@ -32,6 +33,10 @@ public class BatteryService extends Service {
public void onCreate() {
super.onCreate();
Log.i(TAG, "onCreate--------------");
+
+ //是否同意隐私协议
+ if (!MyApplication.allowPrivacyPolicy) return;
+
IntentFilter batteryfilter = new IntentFilter();
batteryfilter.addAction(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(batteryReceiver, batteryfilter);
@@ -52,6 +57,10 @@ public class BatteryService extends Service {
public void onDestroy() {
Log.i(TAG, "onDestroy--------------");
super.onDestroy();
+
+ //是否同意隐私协议
+ if (!MyApplication.allowPrivacyPolicy) return;
+
this.unregisterReceiver(batteryReceiver);
}
diff --git a/app/src/main/java/com/idormy/sms/forwarder/service/FrontService.java b/app/src/main/java/com/idormy/sms/forwarder/service/FrontService.java
index 7b6becac..c78167e0 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/service/FrontService.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/service/FrontService.java
@@ -36,6 +36,10 @@ public class FrontService extends Service {
public void onCreate() {
super.onCreate();
Log.i(TAG, "onCreate");
+
+ //是否同意隐私协议
+ if (!MyApplication.allowPrivacyPolicy) return;
+
Notification.Builder builder = new Notification.Builder(this);
builder.setSmallIcon(R.drawable.ic_forwarder);
builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));
@@ -44,7 +48,8 @@ public class FrontService extends Service {
}
builder.setContentText(getString(R.string.notification_content));
Intent intent = new Intent(this, MainActivity.class);
- @SuppressLint("UnspecifiedImmutableFlag") PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
+ int flags = Build.VERSION.SDK_INT >= 30 ? PendingIntent.FLAG_IMMUTABLE : PendingIntent.FLAG_UPDATE_CURRENT;
+ PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, flags);
builder.setContentIntent(pendingIntent);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
@@ -83,12 +88,16 @@ public class FrontService extends Service {
@Override
public void onDestroy() {
+ super.onDestroy();
+
+ //是否同意隐私协议
+ if (!MyApplication.allowPrivacyPolicy) return;
+
//进行自动重启
Intent intent = new Intent(FrontService.this, FrontService.class);
//重新开启服务
startService(intent);
stopForeground(true);
- super.onDestroy();
}
@Override
diff --git a/app/src/main/java/com/idormy/sms/forwarder/service/NotifyService.java b/app/src/main/java/com/idormy/sms/forwarder/service/NotifyService.java
index d4c33fd0..818b7607 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/service/NotifyService.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/service/NotifyService.java
@@ -8,6 +8,7 @@ import android.util.Log;
import androidx.annotation.RequiresApi;
+import com.idormy.sms.forwarder.MyApplication;
import com.idormy.sms.forwarder.model.vo.SmsHubVo;
import com.idormy.sms.forwarder.model.vo.SmsVo;
import com.idormy.sms.forwarder.sender.SendUtil;
@@ -32,6 +33,9 @@ public class NotifyService extends NotificationListenerService {
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
+ //是否同意隐私协议
+ if (!MyApplication.allowPrivacyPolicy) return;
+
//未开启转发
if (!SettingUtil.getSwitchEnableAppNotify()) return;
//异常通知跳过
diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/CommonUtil.java b/app/src/main/java/com/idormy/sms/forwarder/utils/CommonUtil.java
index a65a41a5..104e8a61 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/utils/CommonUtil.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/utils/CommonUtil.java
@@ -9,12 +9,10 @@ import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.text.TextUtils;
-import android.view.View;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.ScrollView;
-import android.widget.TextView;
import androidx.core.app.ActivityCompat;
import androidx.core.app.NotificationManagerCompat;
@@ -167,11 +165,7 @@ public class CommonUtil {
}
//计算浮动按钮位置
- public static void calcMarginBottom(Context context, TextView help_tip, FloatingActionButton btnFloat, ListView viewList, ScrollView scrollView) {
-
- if (help_tip != null) {
- help_tip.setVisibility(MyApplication.showHelpTip ? View.VISIBLE : View.GONE);
- }
+ public static void calcMarginBottom(Context context, FloatingActionButton btnFloat, ListView viewList, ScrollView scrollView) {
int marginBottom = MyApplication.showHelpTip ? 85 : 65;
if (btnFloat != null) {
diff --git a/app/src/main/java/com/idormy/sms/forwarder/view/StepBar.java b/app/src/main/java/com/idormy/sms/forwarder/view/StepBar.java
index 3c5ef03f..c0bed148 100644
--- a/app/src/main/java/com/idormy/sms/forwarder/view/StepBar.java
+++ b/app/src/main/java/com/idormy/sms/forwarder/view/StepBar.java
@@ -12,10 +12,15 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import com.idormy.sms.forwarder.MainActivity;
+import com.idormy.sms.forwarder.MyApplication;
import com.idormy.sms.forwarder.R;
import com.idormy.sms.forwarder.RuleActivity;
import com.idormy.sms.forwarder.SenderActivity;
import com.idormy.sms.forwarder.SettingActivity;
+import com.idormy.sms.forwarder.sender.SenderUtil;
+import com.idormy.sms.forwarder.utils.LogUtil;
+import com.idormy.sms.forwarder.utils.RuleUtil;
+import com.idormy.sms.forwarder.utils.SettingUtil;
@SuppressWarnings("FieldCanBeLocal")
public class StepBar extends LinearLayout {
@@ -23,7 +28,9 @@ public class StepBar extends LinearLayout {
private TypedArray mTypedArray;
//自定义参数
private String current_step;
+ private String help_tip;
//控件
+ private TextView txHelpTip;
private TextView txStep1;
private TextView txStep2;
private TextView txStep3;
@@ -67,6 +74,8 @@ public class StepBar extends LinearLayout {
if (mTypedArray != null) {
current_step = mTypedArray.getString(R.styleable.StepBar_current_step);
System.out.println("current_step = " + current_step);
+ help_tip = mTypedArray.getString(R.styleable.StepBar_help_tip);
+ System.out.println("help_tip = " + help_tip);
mTypedArray.recycle();
}
}
@@ -75,6 +84,12 @@ public class StepBar extends LinearLayout {
//初始化界面
View view = LayoutInflater.from(mContext).inflate(R.layout.step_bar, this);
+ txHelpTip = findViewById(R.id.txHelpTip);
+ if (txHelpTip != null) {
+ txHelpTip.setText(help_tip);
+ txHelpTip.setVisibility(MyApplication.showHelpTip ? View.VISIBLE : View.GONE);
+ }
+
//步骤1
txStep1 = findViewById(R.id.txStep1);
tvStep1 = findViewById(R.id.tvStep1);
@@ -151,7 +166,22 @@ public class StepBar extends LinearLayout {
}
@SuppressLint("UseCompatLoadingForDrawables")
- public void setHighlight(boolean Step1, boolean Step2, boolean Step3, boolean Step4) {
+ public void setHighlight() {
+ SettingUtil.init(mContext);
+ SenderUtil.init(mContext);
+ RuleUtil.init(mContext);
+ LogUtil.init(mContext);
+
+ boolean Step1 = SettingUtil.getSwitchEnableSms() || SettingUtil.getSwitchEnablePhone() || SettingUtil.getSwitchEnableAppNotify();
+ boolean Step2 = SenderUtil.countSender("1", null) > 0;
+ boolean Step3 = RuleUtil.countRule("1", null, null) > 0;
+ boolean Step4 = LogUtil.countLog("2", null, null) > 0;
+
+ //页面提示文本
+ if (MyApplication.showHelpTip && current_step.equals("main") && txHelpTip != null) {
+ txHelpTip.setText(Step1 ? R.string.log_tips : R.string.setting_tips);
+ }
+
if (Step1) txStep1.setBackground(mContext.getResources().getDrawable(R.drawable.step_circle_current));
if (Step2) txStep2.setBackground(mContext.getResources().getDrawable(R.drawable.step_circle_current));
if (Step3) txStep3.setBackground(mContext.getResources().getDrawable(R.drawable.step_circle_current));
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 30aa1e1d..7f926cc3 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -69,29 +69,13 @@
android:layout_marginEnd="5dp"
android:layout_marginBottom="85dp" />
-
-
-
-
-
-
+ app:current_step="main"
+ app:help_tip="@string/log_tips" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_rule.xml b/app/src/main/res/layout/activity_rule.xml
index 466cda0c..c48cefca 100644
--- a/app/src/main/res/layout/activity_rule.xml
+++ b/app/src/main/res/layout/activity_rule.xml
@@ -79,30 +79,13 @@
android:layout_marginEnd="5dp"
android:layout_marginBottom="85dp" />
-
-
-
-
-
-
-
+ app:current_step="rule"
+ app:help_tip="@string/log_tips" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_sender.xml b/app/src/main/res/layout/activity_sender.xml
index 5c191996..6c784b65 100644
--- a/app/src/main/res/layout/activity_sender.xml
+++ b/app/src/main/res/layout/activity_sender.xml
@@ -29,29 +29,13 @@
android:layout_marginEnd="5dp"
android:layout_marginBottom="85dp" />
-
-
-
-
-
-
+ app:current_step="sender"
+ app:help_tip="@string/sender_tips" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_setting.xml b/app/src/main/res/layout/activity_setting.xml
index 83b1425a..310d0a0f 100644
--- a/app/src/main/res/layout/activity_setting.xml
+++ b/app/src/main/res/layout/activity_setting.xml
@@ -1051,30 +1051,13 @@
-
-
-
-
-
-
-
+ app:current_step="setting"
+ app:help_tip="@string/setting_tips" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/step_bar.xml b/app/src/main/res/layout/step_bar.xml
index e1400e72..1d5d33f4 100644
--- a/app/src/main/res/layout/step_bar.xml
+++ b/app/src/main/res/layout/step_bar.xml
@@ -6,6 +6,17 @@
android:background="#ffffff"
android:orientation="vertical">
+
+
+
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index f0911f15..f27b25a5 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -82,5 +82,6 @@
+