应用主题风格化
This commit is contained in:
@@ -87,7 +87,7 @@ dependencies {
|
|||||||
//api 'cc.winboll.studio:libappbase:15.12.2'
|
//api 'cc.winboll.studio:libappbase:15.12.2'
|
||||||
|
|
||||||
// WinBoLL备用库 jitpack.io 地址
|
// WinBoLL备用库 jitpack.io 地址
|
||||||
api 'com.github.ZhanGSKen:AES:aes-v15.12.1'
|
api 'com.github.ZhanGSKen:AES:aes-v15.12.3'
|
||||||
api 'com.github.ZhanGSKen:APPBase:appbase-v15.12.2'
|
api 'com.github.ZhanGSKen:APPBase:appbase-v15.12.2'
|
||||||
|
|
||||||
//api fileTree(dir: 'libs', include: ['*.aar'])
|
//api fileTree(dir: 'libs', include: ['*.aar'])
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Sun Dec 07 03:24:36 GMT 2025
|
#Sun Dec 07 07:06:07 GMT 2025
|
||||||
stageCount=1
|
stageCount=1
|
||||||
libraryProject=
|
libraryProject=
|
||||||
baseVersion=15.12
|
baseVersion=15.12
|
||||||
publishVersion=15.12.0
|
publishVersion=15.12.0
|
||||||
buildCount=7
|
buildCount=29
|
||||||
baseBetaVersion=15.12.1
|
baseBetaVersion=15.12.1
|
||||||
|
|||||||
@@ -208,8 +208,6 @@
|
|||||||
|
|
||||||
<activity android:name="cc.winboll.studio.powerbell.activities.BatteryReporterActivity"/>
|
<activity android:name="cc.winboll.studio.powerbell.activities.BatteryReporterActivity"/>
|
||||||
|
|
||||||
<activity android:name="cc.winboll.studio.powerbell.activities.AboutActivity"/>
|
|
||||||
|
|
||||||
<activity android:name="cc.winboll.studio.powerbell.activities.PixelPickerActivity"/>
|
<activity android:name="cc.winboll.studio.powerbell.activities.PixelPickerActivity"/>
|
||||||
|
|
||||||
<activity android:name="cc.winboll.studio.powerbell.activities.BatteryReportActivity"/>
|
<activity android:name="cc.winboll.studio.powerbell.activities.BatteryReportActivity"/>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package cc.winboll.studio.powerbell;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
|
import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
|
||||||
import cc.winboll.studio.libappbase.GlobalApplication;
|
import cc.winboll.studio.libappbase.GlobalApplication;
|
||||||
import cc.winboll.studio.libappbase.ToastUtils;
|
import cc.winboll.studio.libappbase.ToastUtils;
|
||||||
import cc.winboll.studio.powerbell.receivers.GlobalApplicationReceiver;
|
import cc.winboll.studio.powerbell.receivers.GlobalApplicationReceiver;
|
||||||
@@ -12,14 +13,14 @@ import java.io.File;
|
|||||||
public class App extends GlobalApplication {
|
public class App extends GlobalApplication {
|
||||||
|
|
||||||
public static final String TAG = "App";
|
public static final String TAG = "App";
|
||||||
|
|
||||||
public static final String COMPONENT_EN1 = "cc.winboll.studio.powerbell.MainActivityEN1";
|
public static final String COMPONENT_EN1 = "cc.winboll.studio.powerbell.MainActivityEN1";
|
||||||
public static final String COMPONENT_CN1 = "cc.winboll.studio.powerbell.MainActivityCN1";
|
public static final String COMPONENT_CN1 = "cc.winboll.studio.powerbell.MainActivityCN1";
|
||||||
public static final String COMPONENT_CN2 = "cc.winboll.studio.powerbell.MainActivityCN2";
|
public static final String COMPONENT_CN2 = "cc.winboll.studio.powerbell.MainActivityCN2";
|
||||||
public static final String ACTION_SWITCHTO_EN1 = "cc.winboll.studio.powerbell.App.ACTION_SWITCHTO_EN1";
|
public static final String ACTION_SWITCHTO_EN1 = "cc.winboll.studio.powerbell.App.ACTION_SWITCHTO_EN1";
|
||||||
public static final String ACTION_SWITCHTO_CN1 = "cc.winboll.studio.powerbell.App.ACTION_SWITCHTO_CN1";
|
public static final String ACTION_SWITCHTO_CN1 = "cc.winboll.studio.powerbell.App.ACTION_SWITCHTO_CN1";
|
||||||
public static final String ACTION_SWITCHTO_CN2 = "cc.winboll.studio.powerbell.App.ACTION_SWITCHTO_CN2";
|
public static final String ACTION_SWITCHTO_CN2 = "cc.winboll.studio.powerbell.App.ACTION_SWITCHTO_CN2";
|
||||||
|
|
||||||
// 数据配置存储工具
|
// 数据配置存储工具
|
||||||
static AppConfigUtils _mAppConfigUtils;
|
static AppConfigUtils _mAppConfigUtils;
|
||||||
static AppCacheUtils _mAppCacheUtils;
|
static AppCacheUtils _mAppCacheUtils;
|
||||||
@@ -36,12 +37,17 @@ public class App extends GlobalApplication {
|
|||||||
setIsDebugging(BuildConfig.DEBUG);
|
setIsDebugging(BuildConfig.DEBUG);
|
||||||
//setIsDebugging(false);
|
//setIsDebugging(false);
|
||||||
|
|
||||||
|
// 初始化活动窗口管理
|
||||||
|
WinBoLLActivityManager.init(this);
|
||||||
|
// 初始化 Toast 框架
|
||||||
|
ToastUtils.init(this);
|
||||||
|
|
||||||
// 临时文件夹方案1
|
// 临时文件夹方案1
|
||||||
// 获取Pictures文件夹路径(Android 10及以上推荐使用MediaStore,此处为传统方式)
|
// 获取Pictures文件夹路径(Android 10及以上推荐使用MediaStore,此处为传统方式)
|
||||||
File picturesDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
|
File picturesDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
|
||||||
// 定义目标文件路径(在Pictures目录下创建"PowerBell"子文件夹及文件)
|
// 定义目标文件路径(在Pictures目录下创建"PowerBell"子文件夹及文件)
|
||||||
File powerBellDir = new File(picturesDir, "PowerBell");
|
File powerBellDir = new File(picturesDir, "PowerBell");
|
||||||
|
|
||||||
// 临时文件夹方案2 <图片保存失败>
|
// 临时文件夹方案2 <图片保存失败>
|
||||||
// 获取Pictures文件夹路径(Android 10及以上推荐使用MediaStore,此处为传统方式)
|
// 获取Pictures文件夹路径(Android 10及以上推荐使用MediaStore,此处为传统方式)
|
||||||
//File powerBellDir = getExternalFilesDir("TempDir");
|
//File powerBellDir = getExternalFilesDir("TempDir");
|
||||||
@@ -52,14 +58,6 @@ public class App extends GlobalApplication {
|
|||||||
}
|
}
|
||||||
szTempDir = powerBellDir.getAbsolutePath();
|
szTempDir = powerBellDir.getAbsolutePath();
|
||||||
|
|
||||||
|
|
||||||
// 初始化 Toast 框架
|
|
||||||
ToastUtils.init(this);
|
|
||||||
// 设置 Toast 布局样式
|
|
||||||
//ToastUtils.setView(R.layout.toast_custom_view);
|
|
||||||
//ToastUtils.setStyle(new WhiteToastStyle());
|
|
||||||
//ToastUtils.setGravity(Gravity.BOTTOM, 0, 200);
|
|
||||||
|
|
||||||
// 设置数据配置存储工具
|
// 设置数据配置存储工具
|
||||||
_mAppConfigUtils = getAppConfigUtils(this);
|
_mAppConfigUtils = getAppConfigUtils(this);
|
||||||
_mAppCacheUtils = getAppCacheUtils(this);
|
_mAppCacheUtils = getAppCacheUtils(this);
|
||||||
@@ -91,7 +89,7 @@ public class App extends GlobalApplication {
|
|||||||
super.onTerminate();
|
super.onTerminate();
|
||||||
ToastUtils.release();
|
ToastUtils.release();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,11 +13,14 @@ import android.view.Menu;
|
|||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.widget.RelativeLayout;
|
import android.widget.RelativeLayout;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
|
import cc.winboll.studio.libaes.activitys.AboutActivity;
|
||||||
|
import cc.winboll.studio.libaes.models.APPInfo;
|
||||||
|
import cc.winboll.studio.libaes.utils.AESThemeUtil;
|
||||||
|
import cc.winboll.studio.libaes.utils.DevelopUtils;
|
||||||
|
import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
|
||||||
import cc.winboll.studio.libaes.views.ADsBannerView;
|
import cc.winboll.studio.libaes.views.ADsBannerView;
|
||||||
import cc.winboll.studio.libappbase.LogActivity;
|
import cc.winboll.studio.libappbase.LogActivity;
|
||||||
import cc.winboll.studio.libappbase.LogUtils;
|
import cc.winboll.studio.libappbase.LogUtils;
|
||||||
import cc.winboll.studio.libappbase.ToastUtils;
|
|
||||||
import cc.winboll.studio.powerbell.activities.AboutActivity;
|
|
||||||
import cc.winboll.studio.powerbell.activities.BackgroundSettingsActivity;
|
import cc.winboll.studio.powerbell.activities.BackgroundSettingsActivity;
|
||||||
import cc.winboll.studio.powerbell.activities.BatteryReportActivity;
|
import cc.winboll.studio.powerbell.activities.BatteryReportActivity;
|
||||||
import cc.winboll.studio.powerbell.activities.ClearRecordActivity;
|
import cc.winboll.studio.powerbell.activities.ClearRecordActivity;
|
||||||
@@ -112,7 +115,7 @@ public class MainActivity extends WinBoLLActivity {
|
|||||||
tx.commit();
|
tx.commit();
|
||||||
}
|
}
|
||||||
showFragment(mMainViewFragment);
|
showFragment(mMainViewFragment);
|
||||||
|
|
||||||
PermissionUtils.getInstance().checkAndRequestStoragePermission(this);
|
PermissionUtils.getInstance().checkAndRequestStoragePermission(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -228,35 +231,62 @@ public class MainActivity extends WinBoLLActivity {
|
|||||||
@Override
|
@Override
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
mMenu = menu;
|
mMenu = menu;
|
||||||
getMenuInflater().inflate(R.menu.toolbar_main, mMenu);
|
// 主题菜单
|
||||||
|
AESThemeUtil.inflateMenu(this, menu);
|
||||||
|
// 调试工具菜单
|
||||||
if (App.isDebugging()) {
|
if (App.isDebugging()) {
|
||||||
getMenuInflater().inflate(R.menu.toolbar_unittest, mMenu);
|
DevelopUtils.inflateMenu(this, menu);
|
||||||
}
|
}
|
||||||
|
// 应用其他菜单
|
||||||
|
getMenuInflater().inflate(R.menu.toolbar_main, mMenu);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
super.onOptionsItemSelected(item);
|
|
||||||
int menuItemId = item.getItemId();
|
int menuItemId = item.getItemId();
|
||||||
if (menuItemId == R.id.action_settings) {
|
if (AESThemeUtil.onAppThemeItemSelected(this, item)) {
|
||||||
|
recreate();
|
||||||
|
} if (DevelopUtils.onDevelopItemSelected(this, item)) {
|
||||||
|
LogUtils.d(TAG, String.format("onOptionsItemSelected item.getItemId() %d ", item.getItemId()));
|
||||||
|
} else if (menuItemId == R.id.action_settings) {
|
||||||
startActivity(new Intent(this, SettingsActivity.class));
|
startActivity(new Intent(this, SettingsActivity.class));
|
||||||
} else if (menuItemId == R.id.action_about) {
|
|
||||||
startActivity(new Intent(this, AboutActivity.class));
|
|
||||||
} else if (menuItemId == R.id.action_battery_report) {
|
} else if (menuItemId == R.id.action_battery_report) {
|
||||||
startActivity(new Intent(this, BatteryReportActivity.class));
|
startActivity(new Intent(this, BatteryReportActivity.class));
|
||||||
} else if (menuItemId == R.id.action_clearrecord) {
|
} else if (menuItemId == R.id.action_clearrecord) {
|
||||||
startActivity(new Intent(this, ClearRecordActivity.class));
|
startActivity(new Intent(this, ClearRecordActivity.class));
|
||||||
} else if (menuItemId == R.id.action_changepicture) {
|
} else if (menuItemId == R.id.action_changepicture) {
|
||||||
startActivity(new Intent(this, BackgroundSettingsActivity.class));
|
startActivity(new Intent(this, BackgroundSettingsActivity.class));
|
||||||
} else if (menuItemId == R.id.action_log) {
|
|
||||||
LogActivity.startLogActivity(this);
|
|
||||||
} else if (menuItemId == R.id.action_unittestactivity) {
|
} else if (menuItemId == R.id.action_unittestactivity) {
|
||||||
startActivity(new Intent(this, MainUnitTestActivity.class));
|
startActivity(new Intent(this, MainUnitTestActivity.class));
|
||||||
}
|
} else if (menuItemId == R.id.action_about) {
|
||||||
|
Intent intent = new Intent(getApplicationContext(), AboutActivity.class);
|
||||||
|
APPInfo appInfo = genDefaultAPPInfo();
|
||||||
|
intent.putExtra(AboutActivity.EXTRA_APPINFO, appInfo);
|
||||||
|
WinBoLLActivityManager.getInstance().startWinBoLLActivity(getApplicationContext(), intent, AboutActivity.class);
|
||||||
|
} else {
|
||||||
|
return super.onOptionsItemSelected(item);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
APPInfo genDefaultAPPInfo() {
|
||||||
|
String szBranchName = "powerbell";
|
||||||
|
APPInfo appInfo = new APPInfo();
|
||||||
|
appInfo.setAppName(getString(R.string.app_name));
|
||||||
|
appInfo.setAppIcon(R.drawable.ic_launcher);
|
||||||
|
appInfo.setAppDescription(getString(R.string.app_description));
|
||||||
|
appInfo.setAppGitName("APPBase");
|
||||||
|
appInfo.setAppGitOwner("Studio");
|
||||||
|
appInfo.setAppGitAPPBranch(szBranchName);
|
||||||
|
appInfo.setAppGitAPPSubProjectFolder(szBranchName);
|
||||||
|
appInfo.setAppHomePage("https://www.winboll.cc/apks/index.php?project=PowerBell");
|
||||||
|
appInfo.setAppAPKName("PowerBell");
|
||||||
|
appInfo.setAppAPKFolderName("PowerBell");
|
||||||
|
return appInfo;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
super.onActivityResult(requestCode, resultCode, data);
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
|
|||||||
@@ -1,65 +0,0 @@
|
|||||||
package cc.winboll.studio.powerbell.activities;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Author ZhanGSKen<zhangsken@qq.com>
|
|
||||||
* @Date 2025/03/25 01:16:32
|
|
||||||
* @Describe 应用介绍窗口
|
|
||||||
*/
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.widget.LinearLayout;
|
|
||||||
import cc.winboll.studio.libaes.models.APPInfo;
|
|
||||||
import cc.winboll.studio.libaes.views.AToolbar;
|
|
||||||
import cc.winboll.studio.libaes.views.AboutView;
|
|
||||||
import cc.winboll.studio.powerbell.R;
|
|
||||||
|
|
||||||
public class AboutActivity extends Activity {
|
|
||||||
|
|
||||||
Context mContext;
|
|
||||||
|
|
||||||
public static final String TAG = "AboutActivity";
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
setContentView(R.layout.activity_about);
|
|
||||||
mContext = this;
|
|
||||||
|
|
||||||
// 初始化工具栏
|
|
||||||
AToolbar mAToolbar = (AToolbar) findViewById(R.id.toolbar);
|
|
||||||
setActionBar(mAToolbar);
|
|
||||||
mAToolbar.setSubtitle(getString(R.string.text_about));
|
|
||||||
//mAToolbar.setTitleTextAppearance(this, R.style.Toolbar_TitleText);
|
|
||||||
getActionBar().setDisplayHomeAsUpEnabled(true);
|
|
||||||
|
|
||||||
AboutView aboutView = CreateAboutView();
|
|
||||||
// 在 Activity 的 onCreate 或其他生命周期方法中调用
|
|
||||||
LinearLayout llRoot = findViewById(R.id.root_ll);
|
|
||||||
//layout.setOrientation(LinearLayout.VERTICAL);
|
|
||||||
// 创建布局参数(宽度和高度)
|
|
||||||
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(
|
|
||||||
ViewGroup.LayoutParams.MATCH_PARENT,
|
|
||||||
ViewGroup.LayoutParams.MATCH_PARENT
|
|
||||||
);
|
|
||||||
llRoot.addView(aboutView, params);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public AboutView CreateAboutView() {
|
|
||||||
String szBranchName = "powerbell";
|
|
||||||
APPInfo appInfo = new APPInfo();
|
|
||||||
appInfo.setAppName(getString(R.string.app_name));
|
|
||||||
appInfo.setAppIcon(R.drawable.ic_launcher);
|
|
||||||
appInfo.setAppDescription(getString(R.string.app_description));
|
|
||||||
appInfo.setAppGitName("APPBase");
|
|
||||||
appInfo.setAppGitOwner("Studio");
|
|
||||||
appInfo.setAppGitAPPBranch(szBranchName);
|
|
||||||
appInfo.setAppGitAPPSubProjectFolder(szBranchName);
|
|
||||||
appInfo.setAppHomePage("https://www.winboll.cc/apks/index.php?project=PowerBell");
|
|
||||||
appInfo.setAppAPKName("PowerBell");
|
|
||||||
appInfo.setAppAPKFolderName("PowerBell");
|
|
||||||
return new AboutView(mContext, appInfo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -34,6 +34,7 @@ import java.io.File;
|
|||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
import androidx.appcompat.widget.Toolbar;
|
||||||
|
|
||||||
public class BackgroundSettingsActivity extends WinBoLLActivity implements BackgroundPicturePreviewDialog.IOnRecivedPictureListener {
|
public class BackgroundSettingsActivity extends WinBoLLActivity implements BackgroundPicturePreviewDialog.IOnRecivedPictureListener {
|
||||||
|
|
||||||
@@ -45,7 +46,7 @@ public class BackgroundSettingsActivity extends WinBoLLActivity implements Backg
|
|||||||
public static final int REQUEST_TAKE_PHOTO = 1;
|
public static final int REQUEST_TAKE_PHOTO = 1;
|
||||||
public static final int REQUEST_CROP_IMAGE = 2;
|
public static final int REQUEST_CROP_IMAGE = 2;
|
||||||
|
|
||||||
private AToolbar mAToolbar;
|
private Toolbar mToolbar;
|
||||||
private BackgroundView mBackgroundView;
|
private BackgroundView mBackgroundView;
|
||||||
private File mfTakePhoto;
|
private File mfTakePhoto;
|
||||||
volatile boolean isCommitSettings = false;
|
volatile boolean isCommitSettings = false;
|
||||||
@@ -97,11 +98,12 @@ public class BackgroundSettingsActivity extends WinBoLLActivity implements Backg
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void initToolbar() {
|
private void initToolbar() {
|
||||||
mAToolbar = (AToolbar) findViewById(R.id.toolbar);
|
mToolbar = findViewById(R.id.toolbar);
|
||||||
setActionBar(mAToolbar);
|
setSupportActionBar(mToolbar);
|
||||||
mAToolbar.setSubtitle(R.string.subtitle_activity_backgroundpicture);
|
mToolbar.setSubtitle(getTag());
|
||||||
getActionBar().setDisplayHomeAsUpEnabled(true);
|
mToolbar.setTitleTextAppearance(this, R.style.Toolbar_TitleText);
|
||||||
mAToolbar.setNavigationOnClickListener(new View.OnClickListener() {
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
|
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
LogUtils.d(TAG, "【导航栏】点击返回");
|
LogUtils.d(TAG, "【导航栏】点击返回");
|
||||||
|
|||||||
@@ -23,8 +23,11 @@ import android.view.ViewGroup;
|
|||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
import androidx.appcompat.widget.Toolbar;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
|
||||||
|
import cc.winboll.studio.libappbase.LogUtils;
|
||||||
import cc.winboll.studio.powerbell.R;
|
import cc.winboll.studio.powerbell.R;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@@ -32,11 +35,11 @@ import java.util.Comparator;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import cc.winboll.studio.libappbase.LogUtils;
|
|
||||||
|
|
||||||
public class BatteryReportActivity extends Activity {
|
public class BatteryReportActivity extends WinBoLLActivity implements IWinBoLLActivity {
|
||||||
public static final String TAG = "BatteryReportActivity";
|
public static final String TAG = "BatteryReportActivity";
|
||||||
|
|
||||||
|
private Toolbar mToolbar;
|
||||||
private RecyclerView rvBatteryReport;
|
private RecyclerView rvBatteryReport;
|
||||||
private BatteryReportAdapter adapter;
|
private BatteryReportAdapter adapter;
|
||||||
private List<AppBatteryModel> dataList = new ArrayList<AppBatteryModel>();
|
private List<AppBatteryModel> dataList = new ArrayList<AppBatteryModel>();
|
||||||
@@ -50,10 +53,34 @@ public class BatteryReportActivity extends Activity {
|
|||||||
private Map<String, String> packageToAppNameCache = new HashMap<String, String>();
|
private Map<String, String> packageToAppNameCache = new HashMap<String, String>();
|
||||||
private PackageManager mPackageManager;
|
private PackageManager mPackageManager;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Activity getActivity() {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTag() {
|
||||||
|
return TAG;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_battery_report);
|
setContentView(R.layout.activity_battery_report);
|
||||||
|
|
||||||
|
mToolbar = findViewById(R.id.toolbar);
|
||||||
|
setSupportActionBar(mToolbar);
|
||||||
|
mToolbar.setSubtitle(getTag());
|
||||||
|
mToolbar.setTitleTextAppearance(this, R.style.Toolbar_TitleText);
|
||||||
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
|
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
LogUtils.d(TAG, "【导航栏】点击返回");
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
mPackageManager = getPackageManager();
|
mPackageManager = getPackageManager();
|
||||||
|
|
||||||
// 权限检查(Java7 传统条件判断)
|
// 权限检查(Java7 传统条件判断)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import android.view.View;
|
|||||||
import android.widget.Switch;
|
import android.widget.Switch;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import cc.winboll.studio.libaes.views.AOHPCTCSeekBar;
|
import cc.winboll.studio.libaes.views.AOHPCTCSeekBar;
|
||||||
import cc.winboll.studio.libaes.views.AToolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
import cc.winboll.studio.libappbase.LogUtils;
|
import cc.winboll.studio.libappbase.LogUtils;
|
||||||
import cc.winboll.studio.libappbase.ToastUtils;
|
import cc.winboll.studio.libappbase.ToastUtils;
|
||||||
import cc.winboll.studio.powerbell.App;
|
import cc.winboll.studio.powerbell.App;
|
||||||
@@ -17,16 +17,27 @@ import cc.winboll.studio.powerbell.receivers.ControlCenterServiceReceiver;
|
|||||||
import cc.winboll.studio.powerbell.utils.AppCacheUtils;
|
import cc.winboll.studio.powerbell.utils.AppCacheUtils;
|
||||||
import cc.winboll.studio.powerbell.utils.StringUtils;
|
import cc.winboll.studio.powerbell.utils.StringUtils;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
|
||||||
|
|
||||||
public class ClearRecordActivity extends Activity {
|
public class ClearRecordActivity extends WinBoLLActivity implements IWinBoLLActivity {
|
||||||
|
|
||||||
public static final String TAG = "ClearRecordActivity";
|
public static final String TAG = "ClearRecordActivity";
|
||||||
|
|
||||||
AToolbar mAToolbar;
|
private Toolbar mToolbar;
|
||||||
TextView mtvRecordText;
|
TextView mtvRecordText;
|
||||||
App mApplication;
|
App mApplication;
|
||||||
boolean mIsShowRecordWithEnter = false;
|
boolean mIsShowRecordWithEnter = false;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Activity getActivity() {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTag() {
|
||||||
|
return TAG;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@@ -34,21 +45,18 @@ public class ClearRecordActivity extends Activity {
|
|||||||
mApplication = (App) getApplication();
|
mApplication = (App) getApplication();
|
||||||
|
|
||||||
// 初始化工具栏
|
// 初始化工具栏
|
||||||
mAToolbar = (AToolbar) findViewById(R.id.toolbar);
|
mToolbar = findViewById(R.id.toolbar);
|
||||||
setActionBar(mAToolbar);
|
setSupportActionBar(mToolbar);
|
||||||
//mAToolbar.setTitle(getTitle() + " - " + getString(R.string.subtitle_activity_clearrecord));
|
mToolbar.setSubtitle(getTag());
|
||||||
mAToolbar.setSubtitle(R.string.subtitle_activity_clearrecord);
|
mToolbar.setTitleTextAppearance(this, R.style.Toolbar_TitleText);
|
||||||
//mAToolbar.setTitleTextAppearance(this, R.style.Toolbar_TitleText);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
//mAToolbar.setSubtitleTextAppearance(this, R.style.Toolbar_SubTitleText);
|
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
|
||||||
//mAToolbar.setBackgroundColor(getColor(R.color.colorPrimary));
|
@Override
|
||||||
setActionBar(mAToolbar);
|
public void onClick(View v) {
|
||||||
getActionBar().setDisplayHomeAsUpEnabled(true);
|
LogUtils.d(TAG, "【导航栏】点击返回");
|
||||||
mAToolbar.setNavigationOnClickListener(new View.OnClickListener() {
|
finish();
|
||||||
@Override
|
}
|
||||||
public void onClick(View v) {
|
});
|
||||||
finish();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// 设置滑动清理控件
|
// 设置滑动清理控件
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ package cc.winboll.studio.powerbell.activities;
|
|||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import androidx.appcompat.widget.Toolbar;
|
||||||
|
import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
|
||||||
|
import cc.winboll.studio.libappbase.LogUtils;
|
||||||
import cc.winboll.studio.libappbase.ToastUtils;
|
import cc.winboll.studio.libappbase.ToastUtils;
|
||||||
import cc.winboll.studio.powerbell.R;
|
import cc.winboll.studio.powerbell.R;
|
||||||
import cc.winboll.studio.powerbell.utils.PermissionUtils;
|
import cc.winboll.studio.powerbell.utils.PermissionUtils;
|
||||||
@@ -12,19 +15,44 @@ import cc.winboll.studio.powerbell.utils.PermissionUtils;
|
|||||||
* @Date 2025/11/27 14:26
|
* @Date 2025/11/27 14:26
|
||||||
* @Describe 应用设置窗口
|
* @Describe 应用设置窗口
|
||||||
*/
|
*/
|
||||||
public class SettingsActivity extends Activity {
|
public class SettingsActivity extends WinBoLLActivity implements IWinBoLLActivity {
|
||||||
|
|
||||||
public static final String TAG = "SettingsActivity";
|
public static final String TAG = "SettingsActivity";
|
||||||
|
|
||||||
|
private Toolbar mToolbar;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Activity getActivity() {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTag() {
|
||||||
|
return TAG;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_settings);
|
setContentView(R.layout.activity_settings);
|
||||||
|
|
||||||
|
mToolbar = findViewById(R.id.toolbar);
|
||||||
|
setSupportActionBar(mToolbar);
|
||||||
|
mToolbar.setSubtitle(getTag());
|
||||||
|
mToolbar.setTitleTextAppearance(this, R.style.Toolbar_TitleText);
|
||||||
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
|
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
LogUtils.d(TAG, "【导航栏】点击返回");
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onCheckPermission(View view) {
|
public void onCheckPermission(View view) {
|
||||||
//ToastUtils.show("onCheckPermission");
|
//ToastUtils.show("onCheckPermission");
|
||||||
if(PermissionUtils.getInstance().checkAndRequestStoragePermission(this)) {
|
if (PermissionUtils.getInstance().checkAndRequestStoragePermission(this)) {
|
||||||
ToastUtils.show("【权限检查】存储权限已全部获取");
|
ToastUtils.show("【权限检查】存储权限已全部获取");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,9 @@ import android.widget.TextView;
|
|||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
import androidx.appcompat.widget.Toolbar;
|
||||||
import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
|
import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
|
||||||
|
import cc.winboll.studio.libaes.models.AESThemeBean;
|
||||||
|
import cc.winboll.studio.libaes.utils.AESThemeUtil;
|
||||||
|
import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
|
||||||
import cc.winboll.studio.powerbell.BuildConfig;
|
import cc.winboll.studio.powerbell.BuildConfig;
|
||||||
import cc.winboll.studio.powerbell.R;
|
import cc.winboll.studio.powerbell.R;
|
||||||
|
|
||||||
@@ -28,15 +31,24 @@ import cc.winboll.studio.powerbell.R;
|
|||||||
public abstract class WinBoLLActivity extends AppCompatActivity implements IWinBoLLActivity {
|
public abstract class WinBoLLActivity extends AppCompatActivity implements IWinBoLLActivity {
|
||||||
|
|
||||||
public static final String TAG = "WinBoLLActivity";
|
public static final String TAG = "WinBoLLActivity";
|
||||||
|
|
||||||
|
protected volatile AESThemeBean.ThemeType mThemeType;
|
||||||
protected TextView mTagView;
|
protected TextView mTagView;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
mThemeType = getThemeType();
|
||||||
|
setThemeStyle();
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
changeFullScreen(this);
|
}
|
||||||
|
|
||||||
|
AESThemeBean.ThemeType getThemeType() {
|
||||||
|
return AESThemeBean.getThemeStyleType(AESThemeUtil.getThemeTypeID(getApplicationContext()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setThemeStyle() {
|
||||||
|
setTheme(AESThemeUtil.getThemeTypeID(getApplicationContext()));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onStart() {
|
protected void onStart() {
|
||||||
@@ -79,13 +91,13 @@ public abstract class WinBoLLActivity extends AppCompatActivity implements IWinB
|
|||||||
@Override
|
@Override
|
||||||
protected void onPostCreate(Bundle savedInstanceState) {
|
protected void onPostCreate(Bundle savedInstanceState) {
|
||||||
super.onPostCreate(savedInstanceState);
|
super.onPostCreate(savedInstanceState);
|
||||||
//GlobalApplication.getWinBoLLActivityManager().add(this);
|
WinBoLLActivityManager.getInstance().add(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onDestroy() {
|
protected void onDestroy() {
|
||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
//GlobalApplication.getWinBoLLActivityManager().registeRemove(this);
|
WinBoLLActivityManager.getInstance().registeRemove(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<LinearLayout
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:orientation="horizontal"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content">
|
|
||||||
|
|
||||||
<cc.winboll.studio.libaes.views.AToolbar
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="@dimen/toolbar_height"
|
|
||||||
android:id="@+id/toolbar"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
style="@style/DefaultAToolbar"/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="0dp"
|
|
||||||
android:layout_weight="1.0"
|
|
||||||
android:id="@+id/root_ll"/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
@@ -6,10 +6,11 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<cc.winboll.studio.libaes.views.AToolbar
|
<cc.winboll.studio.libaes.views.ASupportToolbar
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/toolbar_height"
|
android:layout_height="@dimen/toolbar_height"
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
|
android:gravity="center_vertical"
|
||||||
style="@style/DefaultAToolbar"/>
|
style="@style/DefaultAToolbar"/>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
|||||||
@@ -5,6 +5,13 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:background="@android:color/white">
|
android:background="@android:color/white">
|
||||||
|
|
||||||
|
<cc.winboll.studio.libaes.views.ASupportToolbar
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="@dimen/toolbar_height"
|
||||||
|
android:id="@+id/toolbar"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
style="@style/DefaultAToolbar"/>
|
||||||
|
|
||||||
<!-- 搜索框:提示文本改为“搜索应用名称或包名” -->
|
<!-- 搜索框:提示文本改为“搜索应用名称或包名” -->
|
||||||
<EditText
|
<EditText
|
||||||
|
|||||||
@@ -6,10 +6,11 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<cc.winboll.studio.libaes.views.AToolbar
|
<cc.winboll.studio.libaes.views.ASupportToolbar
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/toolbar_height"
|
android:layout_height="@dimen/toolbar_height"
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
|
android:gravity="center_vertical"
|
||||||
style="@style/DefaultAToolbar"/>
|
style="@style/DefaultAToolbar"/>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
|||||||
@@ -6,10 +6,11 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<cc.winboll.studio.libaes.views.AToolbar
|
<cc.winboll.studio.libaes.views.ASupportToolbar
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/toolbar_height"
|
android:layout_height="@dimen/toolbar_height"
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
|
android:gravity="center_vertical"
|
||||||
style="@style/DefaultAToolbar"/>
|
style="@style/DefaultAToolbar"/>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
|||||||
Reference in New Issue
Block a user