更新类库,添加更新日志查看方式和应用介绍窗口。

This commit is contained in:
ZhanGSKen 2025-03-31 02:24:50 +08:00
parent e5a5eda9b6
commit 890ff6eda9
11 changed files with 138 additions and 66 deletions

View File

@ -65,7 +65,7 @@ dependencies {
//api 'androidx.fragment:fragment:1.1.0' //api 'androidx.fragment:fragment:1.1.0'
api 'com.google.android.material:material:1.0.0' api 'com.google.android.material:material:1.0.0'
api 'cc.winboll.studio:libaes:15.2.1' api 'cc.winboll.studio:libaes:15.2.3'
api 'cc.winboll.studio:libapputils:15.2.1' api 'cc.winboll.studio:libapputils:15.2.1'
api 'cc.winboll.studio:libappbase:15.2.2' api 'cc.winboll.studio:libappbase:15.2.2'
} }

View File

@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Sat Mar 29 04:24:24 GMT 2025 #Sun Mar 30 18:22:35 GMT 2025
stageCount=0 stageCount=0
libraryProject= libraryProject=
baseVersion=15.2 baseVersion=15.2
publishVersion=15.2.0 publishVersion=15.2.0
buildCount=15 buildCount=31
baseBetaVersion=15.2.1 baseBetaVersion=15.2.1

View File

@ -62,21 +62,19 @@
android:persistent="true" android:persistent="true"
android:resizeableActivity="true" android:resizeableActivity="true"
android:supportsRtl="true" android:supportsRtl="true"
android:requestLegacyExternalStorage="true"> android:requestLegacyExternalStorage="true"
android:networkSecurityConfig="@xml/network_security_config">
<activity <activity
android:name=".activitys.SMSActivity" android:name=".activitys.SMSActivity"/>
android:process=":sms"/>
<activity <activity
android:name=".activitys.SMSReceiveRuleActivity" android:name=".activitys.SMSReceiveRuleActivity">
android:process=":smsars">
</activity> </activity>
<activity <activity
android:name=".activitys.SharedJSONReceiveActivity" android:name=".activitys.SharedJSONReceiveActivity"
android:process=":smssjr"
android:exported="true"> android:exported="true">
<intent-filter> <intent-filter>
@ -98,17 +96,14 @@
</activity> </activity>
<activity <activity
android:name=".activitys.TTSPlayRuleActivity" android:name=".activitys.TTSPlayRuleActivity"/>
android:process=":ttsrule"/>
<activity <activity
android:name=".activitys.AboutActivity" android:name=".activitys.AboutActivity"/>
android:process=":about"/>
<activity <activity
android:name=".activitys.MainActivity" android:name=".activitys.MainActivity"
android:exported="true" android:exported="true">
android:process=":main">
<intent-filter> <intent-filter>
@ -122,8 +117,7 @@
<activity <activity
android:name=".activitys.ComposeSMSActivity" android:name=".activitys.ComposeSMSActivity"
android:exported="true" android:exported="true">
android:process=":csms">
<intent-filter> <intent-filter>

View File

@ -29,7 +29,7 @@ public class App extends GlobalApplication {
@Override @Override
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
//setIsDebuging(BuildConfig.DEBUG); setIsDebuging(BuildConfig.DEBUG);
// 初始化 Toast 框架 // 初始化 Toast 框架
ToastUtils.init(this); ToastUtils.init(this);

View File

@ -3,27 +3,27 @@ package cc.winboll.studio.mymessagemanager.activitys;
/** /**
* @Author ZhanGSKen@QQ.COM * @Author ZhanGSKen@QQ.COM
* @Date 2024/07/14 13:20:33 * @Date 2024/07/14 13:20:33
* @Describe 应用关于对话窗口 * @Describe 应用介绍窗口
*/ */
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import cc.winboll.studio.libaes.utils.AESThemeUtil; import androidx.appcompat.widget.Toolbar;
import cc.winboll.studio.libaes.winboll.APPInfo; import cc.winboll.studio.libaes.winboll.APPInfo;
import cc.winboll.studio.libaes.winboll.AboutView; import cc.winboll.studio.libaes.winboll.AboutView;
import cc.winboll.studio.libappbase.GlobalApplication; import cc.winboll.studio.libappbase.GlobalApplication;
import cc.winboll.studio.libappbase.winboll.IWinBollActivity; import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
import cc.winboll.studio.mymessagemanager.R; import cc.winboll.studio.mymessagemanager.R;
import android.view.MenuItem;
public class AboutActivity extends BaseActivity implements IWinBollActivity { public class AboutActivity extends WinBollActivity implements IWinBollActivity {
public static final String TAG = "AboutActivity"; public static final String TAG = "AboutActivity";
Context mContext; Context mContext;
Toolbar mToolbar;
@Override @Override
public Activity getActivity() { public Activity getActivity() {
@ -38,19 +38,32 @@ public class AboutActivity extends BaseActivity implements IWinBollActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setTheme(AESThemeUtil.getThemeTypeID(getApplicationContext()));
mContext = this; mContext = this;
setContentView(R.layout.activity_about);
mToolbar = findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
mToolbar.setSubtitle(TAG);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
AboutView aboutView = CreateAboutView(); AboutView aboutView = CreateAboutView();
// Activity onCreate 或其他生命周期方法中调用 // Activity onCreate 或其他生命周期方法中调用
LinearLayout layout = new LinearLayout(this); // LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL); // layout.setOrientation(LinearLayout.VERTICAL);
// // 创建布局参数宽度和高度
// ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(
// ViewGroup.LayoutParams.MATCH_PARENT,
// ViewGroup.LayoutParams.MATCH_PARENT
// );
// addContentView(aboutView, params);
LinearLayout layout = findViewById(R.id.aboutviewroot_ll);
// 创建布局参数宽度和高度 // 创建布局参数宽度和高度
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams( ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT ViewGroup.LayoutParams.MATCH_PARENT
); );
addContentView(aboutView, params); layout.addView(aboutView, params);
GlobalApplication.getWinBollActivityManager().add(this); GlobalApplication.getWinBollActivityManager().add(this);
} }
@ -62,40 +75,18 @@ public class AboutActivity extends BaseActivity implements IWinBollActivity {
} }
public AboutView CreateAboutView() { public AboutView CreateAboutView() {
String szBranchName = "aes"; String szBranchName = "mymessagemanager";
APPInfo appInfo = new APPInfo(); APPInfo appInfo = new APPInfo();
appInfo.setAppName("AES"); appInfo.setAppName(getString(R.string.app_name));
appInfo.setAppIcon(cc.winboll.studio.libaes.R.drawable.ic_winboll); appInfo.setAppIcon(cc.winboll.studio.libaes.R.drawable.ic_winboll);
appInfo.setAppDescription("AES Description"); appInfo.setAppDescription(getString(R.string.app_description));
appInfo.setAppGitName("APP"); appInfo.setAppGitName("APP");
appInfo.setAppGitOwner("Studio"); appInfo.setAppGitOwner("Studio");
appInfo.setAppGitAPPBranch(szBranchName); appInfo.setAppGitAPPBranch(szBranchName);
appInfo.setAppGitAPPSubProjectFolder(szBranchName); appInfo.setAppGitAPPSubProjectFolder(szBranchName);
appInfo.setAppHomePage("https://www.winboll.cc/studio/details.php?app=AES"); appInfo.setAppHomePage("https://www.winboll.cc/studio/details.php?app=MyMessageManager");
appInfo.setAppAPKName("AES"); appInfo.setAppAPKName("MyMessageManager");
appInfo.setAppAPKFolderName("AES"); appInfo.setAppAPKFolderName("MyMessageManager");
return new AboutView(mContext, appInfo); return new AboutView(mContext, appInfo);
} }
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.toolbar_about, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
/*if (item.getItemId() == R.id.item_help) {
ToastUtils.show("R.id.item_help");
} else */if (item.getItemId() == android.R.id.home) {
GlobalApplication.getWinBollActivityManager().finish(this);
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
setTitle(mContext.getString(R.string.text_about) + mContext.getString(R.string.app_name));
}
} }

View File

@ -13,6 +13,7 @@ import android.widget.ScrollView;
import androidx.appcompat.widget.Toolbar; import androidx.appcompat.widget.Toolbar;
import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libappbase.LogView; import cc.winboll.studio.libappbase.LogView;
import cc.winboll.studio.mymessagemanager.App;
import cc.winboll.studio.mymessagemanager.BuildConfig; import cc.winboll.studio.mymessagemanager.BuildConfig;
import cc.winboll.studio.mymessagemanager.R; import cc.winboll.studio.mymessagemanager.R;
import cc.winboll.studio.mymessagemanager.activitys.MainActivity; import cc.winboll.studio.mymessagemanager.activitys.MainActivity;
@ -42,7 +43,7 @@ public class MainActivity extends BaseActivity {
public static final int MY_PERMISSIONS_REQUEST = 0; public static final int MY_PERMISSIONS_REQUEST = 0;
static MainActivity _mMainActivity; static MainActivity _mMainActivity;
LogView mLogView; //LogView mLogView;
AppConfigUtil mAppConfigUtil; AppConfigUtil mAppConfigUtil;
ConfirmSwitchView msvEnableService; ConfirmSwitchView msvEnableService;
ConfirmSwitchView msvOnlyReceiveContacts; ConfirmSwitchView msvOnlyReceiveContacts;
@ -118,8 +119,8 @@ public class MainActivity extends BaseActivity {
// //
void initView() { void initView() {
// 设置调试日志 // 设置调试日志
mLogView = findViewById(R.id.logview); // mLogView = findViewById(R.id.logview);
mLogView.start(); // mLogView.start();
// 设置消息处理函数 // 设置消息处理函数
setOnActivityMessageReceived(mIOnActivityMessageReceived); setOnActivityMessageReceived(mIOnActivityMessageReceived);
@ -267,7 +268,7 @@ public class MainActivity extends BaseActivity {
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
reloadSMS(); reloadSMS();
mLogView.start(); //mLogView.start();
} }
@Override @Override
@ -310,7 +311,9 @@ public class MainActivity extends BaseActivity {
Intent i = new Intent(MainActivity.this, AppSettingsActivity.class); Intent i = new Intent(MainActivity.this, AppSettingsActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i); startActivity(i);
} else if (nItemId == R.id.app_unittest) { } else if (nItemId == R.id.app_log) {
App.getWinBollActivityManager().startLogActivity(this);
} else if (nItemId == R.id.app_unittest) {
Intent i = new Intent(MainActivity.this, UnitTestActivity.class); Intent i = new Intent(MainActivity.this, UnitTestActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i); startActivity(i);

View File

@ -0,0 +1,60 @@
package cc.winboll.studio.mymessagemanager.activitys;
/**
* @Author ZhanGSKen@AliYun.Com
* @Date 2025/03/31 01:31:17
* @Describe 应用活动窗口基类
*/
import android.app.Activity;
import android.os.Bundle;
import android.view.MenuItem;
import androidx.appcompat.app.AppCompatActivity;
import cc.winboll.studio.libaes.beans.AESThemeBean;
import cc.winboll.studio.libaes.utils.AESThemeUtil;
import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
public class WinBollActivity extends AppCompatActivity implements IWinBollActivity {
public static final String TAG = "WinBollActivity";
protected volatile AESThemeBean.ThemeType mThemeType;
@Override
public Activity getActivity() {
return this;
}
@Override
public String getTag() {
return TAG;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
mThemeType = getThemeType();
setThemeStyle();
super.onCreate(savedInstanceState);
}
AESThemeBean.ThemeType getThemeType() {
/*SharedPreferences sharedPreferences = getSharedPreferences(
SHAREDPREFERENCES_NAME, MODE_PRIVATE);
return AESThemeBean.ThemeType.values()[((sharedPreferences.getInt(DRAWER_THEME_TYPE, AESThemeBean.ThemeType.DEFAULT.ordinal())))];
*/
return AESThemeBean.getThemeStyleType(AESThemeUtil.getThemeTypeID(getApplicationContext()));
}
void setThemeStyle() {
//setTheme(AESThemeBean.getThemeStyle(getThemeType()));
setTheme(AESThemeUtil.getThemeTypeID(getApplicationContext()));
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == android.R.id.home) {
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
}

View File

@ -0,0 +1,21 @@
<?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">
<cc.winboll.studio.libaes.views.ASupportToolbar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/toolbar"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1.0"
android:id="@+id/aboutviewroot_ll"/>
</LinearLayout>

View File

@ -72,11 +72,5 @@
</com.baoyz.widget.PullRefreshLayout> </com.baoyz.widget.PullRefreshLayout>
<cc.winboll.studio.libappbase.LogView
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="120dp"
android:id="@+id/logview"/>
</LinearLayout> </LinearLayout>

View File

@ -19,6 +19,9 @@
android:title="@string/text_smsrule"/> android:title="@string/text_smsrule"/>
<item android:title="@string/app_developoptions"> <item android:title="@string/app_developoptions">
<menu> <menu>
<item
android:id="@+id/app_log"
android:title="@string/app_log"/>
<item <item
android:id="@+id/app_unittest" android:id="@+id/app_unittest"
android:title="@string/app_unittest"/> android:title="@string/app_unittest"/>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">winboll.cc</domain>
</domain-config>
</network-security-config>