mirror of
https://github.com/pppscn/SmsForwarder
synced 2025-08-02 17:07:41 +08:00
优化:抽离溢出菜单代码到BaseActivity
This commit is contained in:
parent
85d944c91a
commit
3c32b696c8
@ -7,8 +7,6 @@ import android.util.Log;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.hjq.permissions.OnPermissionCallback;
|
||||
import com.hjq.permissions.Permission;
|
||||
import com.hjq.permissions.XXPermissions;
|
||||
@ -22,8 +20,7 @@ import com.xuexiang.xupdate.proxy.impl.DefaultUpdateChecker;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class AboutActivity extends AppCompatActivity {
|
||||
public class AboutActivity extends BaseActivity {
|
||||
|
||||
private final String TAG = "AboutActivity";
|
||||
|
||||
|
@ -21,8 +21,6 @@ import android.widget.RadioButton;
|
||||
import android.widget.RadioGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.idormy.sms.forwarder.adapter.AppAdapter;
|
||||
import com.idormy.sms.forwarder.model.AppInfo;
|
||||
@ -31,7 +29,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class AppListActivity extends AppCompatActivity {
|
||||
public class AppListActivity extends BaseActivity {
|
||||
|
||||
public static final int APP_LIST = 0x9731991;
|
||||
private final String TAG = "AppListActivity";
|
||||
|
71
app/src/main/java/com/idormy/sms/forwarder/BaseActivity.java
Normal file
71
app/src/main/java/com/idormy/sms/forwarder/BaseActivity.java
Normal file
@ -0,0 +1,71 @@
|
||||
package com.idormy.sms.forwarder;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
public class BaseActivity extends AppCompatActivity {
|
||||
|
||||
private final String TAG = "BaseActivity";
|
||||
|
||||
//启用menu
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.menu_main, menu);
|
||||
return super.onCreateOptionsMenu(menu);
|
||||
}
|
||||
|
||||
//menu点击事件
|
||||
@SuppressLint("NonConstantResourceId")
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
Intent intent;
|
||||
switch (item.getItemId()) {
|
||||
case R.id.to_app_list:
|
||||
intent = new Intent(this, AppListActivity.class);
|
||||
break;
|
||||
case R.id.to_clone:
|
||||
intent = new Intent(this, CloneActivity.class);
|
||||
break;
|
||||
case R.id.to_about:
|
||||
intent = new Intent(this, AboutActivity.class);
|
||||
break;
|
||||
case R.id.to_help:
|
||||
//Uri uri = Uri.parse("https://gitee.com/pp/SmsForwarder/wikis/pages");
|
||||
//intent = new Intent(Intent.ACTION_VIEW, uri);
|
||||
intent = new Intent(this, HelpActivity.class);
|
||||
break;
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
|
||||
//设置menu图标显示
|
||||
@Override
|
||||
public boolean onMenuOpened(int featureId, Menu menu) {
|
||||
Log.d(TAG, "onMenuOpened, featureId=" + featureId);
|
||||
if (menu != null) {
|
||||
if (menu.getClass().getSimpleName().equals("MenuBuilder")) {
|
||||
try {
|
||||
Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);
|
||||
m.setAccessible(true);
|
||||
m.invoke(menu, true);
|
||||
} catch (NoSuchMethodException e) {
|
||||
Log.e(TAG, "onMenuOpened", e);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onMenuOpened(featureId, menu);
|
||||
}
|
||||
}
|
@ -13,7 +13,6 @@ import android.widget.RadioGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.hjq.permissions.OnPermissionCallback;
|
||||
@ -48,7 +47,7 @@ import okhttp3.Request;
|
||||
import okhttp3.RequestBody;
|
||||
import okhttp3.Response;
|
||||
|
||||
public class CloneActivity extends AppCompatActivity {
|
||||
public class CloneActivity extends BaseActivity {
|
||||
private final String TAG = "CloneActivity";
|
||||
private Context context;
|
||||
private String serverIp;
|
||||
|
@ -7,10 +7,8 @@ import android.webkit.WebSettings;
|
||||
import android.webkit.WebView;
|
||||
import android.webkit.WebViewClient;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class HelpActivity extends AppCompatActivity {
|
||||
public class HelpActivity extends BaseActivity {
|
||||
|
||||
@SuppressLint("SetJavaScriptEnabled")
|
||||
@Override
|
||||
|
@ -12,8 +12,6 @@ import android.os.Looper;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
@ -23,7 +21,6 @@ import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import com.hjq.permissions.OnPermissionCallback;
|
||||
@ -54,12 +51,11 @@ import com.idormy.sms.forwarder.utils.TimeUtil;
|
||||
import com.idormy.sms.forwarder.view.StepBar;
|
||||
import com.umeng.commonsdk.UMConfigure;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@SuppressWarnings("CommentedOutCode")
|
||||
public class MainActivity extends AppCompatActivity implements RefreshListView.IRefreshListener {
|
||||
public class MainActivity extends BaseActivity implements RefreshListView.IRefreshListener {
|
||||
|
||||
private final String TAG = "MainActivity";
|
||||
// logVoList用于存储数据
|
||||
@ -489,61 +485,6 @@ public class MainActivity extends AppCompatActivity implements RefreshListView.I
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
//启用menu
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.menu_main, menu);
|
||||
return super.onCreateOptionsMenu(menu);
|
||||
}
|
||||
|
||||
//menu点击事件
|
||||
@SuppressLint("NonConstantResourceId")
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
Intent intent;
|
||||
switch (item.getItemId()) {
|
||||
case R.id.to_app_list:
|
||||
intent = new Intent(this, AppListActivity.class);
|
||||
break;
|
||||
case R.id.to_clone:
|
||||
intent = new Intent(this, CloneActivity.class);
|
||||
break;
|
||||
case R.id.to_about:
|
||||
intent = new Intent(this, AboutActivity.class);
|
||||
break;
|
||||
case R.id.to_help:
|
||||
//Uri uri = Uri.parse("https://gitee.com/pp/SmsForwarder/wikis/pages");
|
||||
//intent = new Intent(Intent.ACTION_VIEW, uri);
|
||||
intent = new Intent(this, HelpActivity.class);
|
||||
break;
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
|
||||
//设置menu图标显示
|
||||
@Override
|
||||
public boolean onMenuOpened(int featureId, Menu menu) {
|
||||
Log.d(TAG, "onMenuOpened, featureId=" + featureId);
|
||||
if (menu != null) {
|
||||
if (menu.getClass().getSimpleName().equals("MenuBuilder")) {
|
||||
try {
|
||||
Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);
|
||||
m.setAccessible(true);
|
||||
m.invoke(menu, true);
|
||||
} catch (NoSuchMethodException e) {
|
||||
Log.e(TAG, "onMenuOpened", e);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onMenuOpened(featureId, menu);
|
||||
}
|
||||
|
||||
/*** 隐私协议授权弹窗*/
|
||||
public void dialog(Context context) {
|
||||
Dialog dialog = new Dialog(context, R.style.dialog);
|
||||
|
@ -5,14 +5,10 @@ import static com.idormy.sms.forwarder.model.RuleModel.STATUS_OFF;
|
||||
import static com.idormy.sms.forwarder.model.RuleModel.STATUS_ON;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
@ -24,7 +20,6 @@ import android.widget.Switch;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
@ -40,13 +35,12 @@ import com.idormy.sms.forwarder.utils.RuleUtil;
|
||||
import com.idormy.sms.forwarder.utils.SettingUtil;
|
||||
import com.idormy.sms.forwarder.view.StepBar;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class RuleActivity extends AppCompatActivity {
|
||||
public class RuleActivity extends BaseActivity {
|
||||
|
||||
private final String TAG = "RuleActivity";
|
||||
// 用于存储数据
|
||||
@ -621,58 +615,4 @@ public class RuleActivity extends AppCompatActivity {
|
||||
return 0;
|
||||
}
|
||||
|
||||
//启用menu
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.menu_main, menu);
|
||||
return super.onCreateOptionsMenu(menu);
|
||||
}
|
||||
|
||||
//menu点击事件
|
||||
@SuppressLint("NonConstantResourceId")
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
Intent intent;
|
||||
switch (item.getItemId()) {
|
||||
case R.id.to_app_list:
|
||||
intent = new Intent(this, AppListActivity.class);
|
||||
break;
|
||||
case R.id.to_clone:
|
||||
intent = new Intent(this, CloneActivity.class);
|
||||
break;
|
||||
case R.id.to_about:
|
||||
intent = new Intent(this, AboutActivity.class);
|
||||
break;
|
||||
case R.id.to_help:
|
||||
Uri uri = Uri.parse("https://gitee.com/pp/SmsForwarder/wikis/pages");
|
||||
intent = new Intent(Intent.ACTION_VIEW, uri);
|
||||
break;
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
|
||||
//设置menu图标显示
|
||||
@Override
|
||||
public boolean onMenuOpened(int featureId, Menu menu) {
|
||||
Log.d(TAG, "onMenuOpened, featureId=" + featureId);
|
||||
if (menu != null) {
|
||||
if (menu.getClass().getSimpleName().equals("MenuBuilder")) {
|
||||
try {
|
||||
Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);
|
||||
m.setAccessible(true);
|
||||
m.invoke(menu, true);
|
||||
} catch (NoSuchMethodException e) {
|
||||
Log.e(TAG, "onMenuOpened", e);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onMenuOpened(featureId, menu);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -17,8 +17,6 @@ import static com.idormy.sms.forwarder.model.SenderModel.TYPE_WEB_NOTIFY;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Dialog;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
@ -29,8 +27,6 @@ import android.text.TextUtils;
|
||||
import android.text.style.AbsoluteSizeSpan;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.Button;
|
||||
@ -45,7 +41,6 @@ import android.widget.Spinner;
|
||||
import android.widget.Switch;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
@ -87,7 +82,6 @@ import com.idormy.sms.forwarder.utils.RuleUtil;
|
||||
import com.idormy.sms.forwarder.view.ClearEditText;
|
||||
import com.idormy.sms.forwarder.view.StepBar;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.net.Proxy;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
@ -96,7 +90,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class SenderActivity extends AppCompatActivity {
|
||||
public class SenderActivity extends BaseActivity {
|
||||
|
||||
public static final int NOTIFY = 0x9731993;
|
||||
private final String TAG = "SenderActivity";
|
||||
@ -2215,58 +2209,4 @@ public class SenderActivity extends AppCompatActivity {
|
||||
|
||||
}
|
||||
|
||||
//启用menu
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.menu_main, menu);
|
||||
return super.onCreateOptionsMenu(menu);
|
||||
}
|
||||
|
||||
//menu点击事件
|
||||
@SuppressLint("NonConstantResourceId")
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
Intent intent;
|
||||
switch (item.getItemId()) {
|
||||
case R.id.to_app_list:
|
||||
intent = new Intent(this, AppListActivity.class);
|
||||
break;
|
||||
case R.id.to_clone:
|
||||
intent = new Intent(this, CloneActivity.class);
|
||||
break;
|
||||
case R.id.to_about:
|
||||
intent = new Intent(this, AboutActivity.class);
|
||||
break;
|
||||
case R.id.to_help:
|
||||
Uri uri = Uri.parse("https://gitee.com/pp/SmsForwarder/wikis/pages");
|
||||
intent = new Intent(Intent.ACTION_VIEW, uri);
|
||||
break;
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
|
||||
//设置menu图标显示
|
||||
@Override
|
||||
public boolean onMenuOpened(int featureId, Menu menu) {
|
||||
Log.d(TAG, "onMenuOpened, featureId=" + featureId);
|
||||
if (menu != null) {
|
||||
if (menu.getClass().getSimpleName().equals("MenuBuilder")) {
|
||||
try {
|
||||
Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);
|
||||
m.setAccessible(true);
|
||||
m.invoke(menu, true);
|
||||
} catch (NoSuchMethodException e) {
|
||||
Log.e(TAG, "onMenuOpened", e);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onMenuOpened(featureId, menu);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -17,8 +17,6 @@ import android.provider.Settings;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.EditText;
|
||||
@ -29,7 +27,6 @@ import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.hjq.permissions.OnPermissionCallback;
|
||||
import com.hjq.permissions.Permission;
|
||||
@ -51,7 +48,6 @@ import com.idormy.sms.forwarder.utils.RuleUtil;
|
||||
import com.idormy.sms.forwarder.utils.SettingUtil;
|
||||
import com.idormy.sms.forwarder.view.StepBar;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.HashMap;
|
||||
@ -59,7 +55,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public class SettingActivity extends AppCompatActivity {
|
||||
public class SettingActivity extends BaseActivity {
|
||||
private final String TAG = "SettingActivity";
|
||||
private Context context;
|
||||
private boolean isIgnoreBatteryOptimization;
|
||||
@ -998,60 +994,6 @@ public class SettingActivity extends AppCompatActivity {
|
||||
builder.create().show();
|
||||
}
|
||||
|
||||
//启用menu
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.menu_main, menu);
|
||||
return super.onCreateOptionsMenu(menu);
|
||||
}
|
||||
|
||||
//menu点击事件
|
||||
@SuppressLint("NonConstantResourceId")
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
Intent intent;
|
||||
switch (item.getItemId()) {
|
||||
case R.id.to_app_list:
|
||||
intent = new Intent(this, AppListActivity.class);
|
||||
break;
|
||||
case R.id.to_clone:
|
||||
intent = new Intent(this, CloneActivity.class);
|
||||
break;
|
||||
case R.id.to_about:
|
||||
intent = new Intent(this, AboutActivity.class);
|
||||
break;
|
||||
case R.id.to_help:
|
||||
Uri uri = Uri.parse("https://gitee.com/pp/SmsForwarder/wikis/pages");
|
||||
intent = new Intent(Intent.ACTION_VIEW, uri);
|
||||
break;
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
|
||||
//设置menu图标显示
|
||||
@Override
|
||||
public boolean onMenuOpened(int featureId, Menu menu) {
|
||||
Log.d(TAG, "onMenuOpened, featureId=" + featureId);
|
||||
if (menu != null) {
|
||||
if (menu.getClass().getSimpleName().equals("MenuBuilder")) {
|
||||
try {
|
||||
Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);
|
||||
m.setAccessible(true);
|
||||
m.invoke(menu, true);
|
||||
} catch (NoSuchMethodException e) {
|
||||
Log.e(TAG, "onMenuOpened", e);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onMenuOpened(featureId, menu);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前手机品牌
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user