From aebf83bc445810273cea532c073e4f39998eacab Mon Sep 17 00:00:00 2001 From: ZhanGSKen Date: Tue, 13 Jan 2026 16:10:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=9F=BA=E7=A1=80=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=E7=B1=BB=E7=9A=84=E5=85=AC=E5=BC=80=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aes/build.properties | 4 +- libaes/build.properties | 4 +- .../libaes/activitys/BaseWinBoLLActivity.java | 296 +++++++++++++++++- .../activitys/DrawerFragmentActivity.java | 20 -- .../unittests/SecondaryLibraryActivity.java | 5 - 5 files changed, 289 insertions(+), 40 deletions(-) diff --git a/aes/build.properties b/aes/build.properties index 351f3e2..9a5bf85 100644 --- a/aes/build.properties +++ b/aes/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Tue Jan 13 15:37:37 HKT 2026 +#Tue Jan 13 08:09:32 GMT 2026 stageCount=5 libraryProject=libaes baseVersion=15.15 publishVersion=15.15.4 -buildCount=0 +buildCount=1 baseBetaVersion=15.15.5 diff --git a/libaes/build.properties b/libaes/build.properties index 9735e38..9a5bf85 100644 --- a/libaes/build.properties +++ b/libaes/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Tue Jan 13 15:37:28 HKT 2026 +#Tue Jan 13 08:09:32 GMT 2026 stageCount=5 libraryProject=libaes baseVersion=15.15 publishVersion=15.15.4 -buildCount=0 +buildCount=1 baseBetaVersion=15.15.5 diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/activitys/BaseWinBoLLActivity.java b/libaes/src/main/java/cc/winboll/studio/libaes/activitys/BaseWinBoLLActivity.java index 9eb0672..fc93fed 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/activitys/BaseWinBoLLActivity.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/activitys/BaseWinBoLLActivity.java @@ -1,34 +1,56 @@ package cc.winboll.studio.libaes.activitys; import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.content.res.Configuration; +import android.content.res.Resources; import android.os.Bundle; +import android.view.KeyEvent; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.View; +import android.view.ViewGroup; +import androidx.annotation.CallSuper; +import androidx.annotation.ContentView; +import androidx.annotation.IdRes; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.StyleRes; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.ActionBarDrawerToggle; import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatDelegate; +import androidx.appcompat.view.ActionMode; +import androidx.appcompat.widget.Toolbar; +import androidx.core.app.TaskStackBuilder; 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.libappbase.ToastUtils; /** * @Author 豆包&ZhanGSKen * @Date 2026/01/13 14:22 - * @Describe BaseWinBollActivity + * @Describe BaseWinBollActivity 【完整透传AppCompatActivity所有公开方法】 + * 继承链路:BaseWinBoLLActivity → AppCompatActivity → FragmentActivity,所有公开能力全暴露 */ public abstract class BaseWinBoLLActivity extends AppCompatActivity implements IWinBoLLActivity { - public static final String TAG = "BaseWinBoLLActivity"; - - protected volatile AESThemeBean.ThemeType mThemeType; - - @Override + public static final String TAG = "BaseWinBoLLActivity"; + + protected volatile AESThemeBean.ThemeType mThemeType; + + @Override protected void onCreate(Bundle savedInstanceState) { - mThemeType = getThemeType(); + mThemeType = getThemeType(); setThemeStyle(); super.onCreate(savedInstanceState); WinBoLLActivityManager.getInstance().add(this); - //ToastUtils.show(getTag() + ": onCreate"); + //ToastUtils.show(getTag() + ": onCreate"); } - AESThemeBean.ThemeType getThemeType() { + AESThemeBean.ThemeType getThemeType() { /*SharedPreferences sharedPreferences = getSharedPreferences( SHAREDPREFERENCES_NAME, MODE_PRIVATE); return AESThemeBean.ThemeType.values()[((sharedPreferences.getInt(DRAWER_THEME_TYPE, AESThemeBean.ThemeType.DEFAULT.ordinal())))]; @@ -36,7 +58,7 @@ public abstract class BaseWinBoLLActivity extends AppCompatActivity implements I return AESThemeBean.getThemeStyleType(AESThemeUtil.getThemeTypeID(getApplicationContext())); } - void setThemeStyle() { + void setThemeStyle() { //setTheme(AESThemeBean.getThemeStyle(getThemeType())); setTheme(AESThemeUtil.getThemeTypeID(getApplicationContext())); } @@ -55,5 +77,257 @@ public abstract class BaseWinBoLLActivity extends AppCompatActivity implements I public Activity getActivity() { return this; } + + // ===================== 完整暴露AppCompatActivity 所有公开方法(按类定义顺序)===================== +// @ContentView +// public BaseWinBoLLActivity(@LayoutRes int contentLayoutId) { +// super(contentLayoutId); +// } + + @Override + public void addContentView(View view, ViewGroup.LayoutParams params) { + super.addContentView(view, params); + } + + @Override + protected void attachBaseContext(Context newBase) { + super.attachBaseContext(newBase); + } + + @Override + public void closeOptionsMenu() { + super.closeOptionsMenu(); + } + + @Override + public boolean dispatchKeyEvent(KeyEvent event) { + return super.dispatchKeyEvent(event); + } + + @Override + public T findViewById(@IdRes int id) { + return super.findViewById(id); + } + + @NonNull + @Override + public AppCompatDelegate getDelegate() { + return super.getDelegate(); + } + + @Nullable + @Override + public ActionBarDrawerToggle.Delegate getDrawerToggleDelegate() { + return super.getDrawerToggleDelegate(); + } + + @NonNull + @Override + public MenuInflater getMenuInflater() { + return super.getMenuInflater(); + } + + @Override + public Resources getResources() { + return super.getResources(); + } + + @Nullable + @Override + public ActionBar getSupportActionBar() { + return super.getSupportActionBar(); + } + + @Nullable + @Override + public Intent getSupportParentActivityIntent() { + return super.getSupportParentActivityIntent(); + } + + @Override + public void invalidateOptionsMenu() { + super.invalidateOptionsMenu(); + } + + @Override + public void onConfigurationChanged(@NonNull Configuration newMetrics) { + super.onConfigurationChanged(newMetrics); + } + + @Override + public void onContentChanged() { + super.onContentChanged(); + } + + @Override + public void onCreateSupportNavigateUpTaskStack(@NonNull TaskStackBuilder builder) { + super.onCreateSupportNavigateUpTaskStack(builder); + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + return super.onKeyDown(keyCode, event); + } + +// +// @Override +// public final boolean onMenuItemSelected(int featureId, @NonNull MenuItem item) { +// return super.onMenuItemSelected(featureId, item); +// } + + @Override + public boolean onMenuOpened(int featureId, Menu menu) { + return super.onMenuOpened(featureId, menu); + } + + @Override + protected void onNightModeChanged(int mode) { + super.onNightModeChanged(mode); + } + + @Override + public void onPanelClosed(int featureId, @NonNull Menu menu) { + super.onPanelClosed(featureId, menu); + } + + @Override + protected void onPostCreate(@Nullable Bundle savedInstanceState) { + super.onPostCreate(savedInstanceState); + } + + @Override + protected void onPostResume() { + super.onPostResume(); + } + + @Override + public void onPrepareSupportNavigateUpTaskStack(@NonNull TaskStackBuilder builder) { + super.onPrepareSupportNavigateUpTaskStack(builder); + } + + @Override + protected void onStart() { + super.onStart(); + } + + @Override + protected void onStop() { + super.onStop(); + } + + @CallSuper + @Override + public void onSupportActionModeFinished(@NonNull ActionMode mode) { + super.onSupportActionModeFinished(mode); + } + + @CallSuper + @Override + public void onSupportActionModeStarted(@NonNull ActionMode mode) { + super.onSupportActionModeStarted(mode); + } + + @Override + @Deprecated + public void onSupportContentChanged() { + super.onSupportContentChanged(); + } + + @Override + public boolean onSupportNavigateUp() { + return super.onSupportNavigateUp(); + } + + @Override + protected void onTitleChanged(CharSequence title, int color) { + super.onTitleChanged(title, color); + } + + @Nullable + @Override + public ActionMode onWindowStartingSupportActionMode(@NonNull ActionMode.Callback callback) { + return super.onWindowStartingSupportActionMode(callback); + } + + @Override + public void openOptionsMenu() { + super.openOptionsMenu(); + } + + @Override + public void setContentView(@LayoutRes int layoutResID) { + super.setContentView(layoutResID); + } + + @Override + public void setContentView(View view) { + super.setContentView(view); + } + + @Override + public void setContentView(View view, ViewGroup.LayoutParams params) { + super.setContentView(view, params); + } + + @Override + public void setSupportActionBar(@Nullable Toolbar toolbar) { + super.setSupportActionBar(toolbar); + } + + @Override + @Deprecated + public void setSupportProgress(int progress) { + super.setSupportProgress(progress); + } + + @Override + @Deprecated + public void setSupportProgressBarIndeterminate(boolean indeterminate) { + super.setSupportProgressBarIndeterminate(indeterminate); + } + + @Override + @Deprecated + public void setSupportProgressBarIndeterminateVisibility(boolean visible) { + super.setSupportProgressBarIndeterminateVisibility(visible); + } + + @Override + @Deprecated + public void setSupportProgressBarVisibility(boolean visible) { + super.setSupportProgressBarVisibility(visible); + } + + @Override + public void setTheme(@StyleRes int resId) { + super.setTheme(resId); + } + + @Nullable + @Override + public ActionMode startSupportActionMode(@NonNull ActionMode.Callback callback) { + super.startSupportActionMode(callback); + return null; + } + + @Override + public void supportInvalidateOptionsMenu() { + super.supportInvalidateOptionsMenu(); + } + + @Override + public void supportNavigateUpTo(@NonNull Intent upIntent) { + super.supportNavigateUpTo(upIntent); + } + + @Override + public boolean supportRequestWindowFeature(int featureId) { + return super.supportRequestWindowFeature(featureId); + } + + @Override + public boolean supportShouldUpRecreateTask(@NonNull Intent targetIntent) { + return super.supportShouldUpRecreateTask(targetIntent); + } } diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/activitys/DrawerFragmentActivity.java b/libaes/src/main/java/cc/winboll/studio/libaes/activitys/DrawerFragmentActivity.java index 1bbd12a..5a2cfc7 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/activitys/DrawerFragmentActivity.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/activitys/DrawerFragmentActivity.java @@ -162,23 +162,6 @@ public abstract class DrawerFragmentActivity extends BaseWinBoLLActivity impleme super.onBackPressed(); } -// void setThemeStyle() { -// //setTheme(AESThemeBean.getThemeStyle(getThemeType())); -// setTheme(AESThemeUtil.getThemeTypeID(getApplicationContext())); -// } - -// boolean checkThemeStyleChange() { -// return mThemeType != getThemeType(); -// } - -// 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())); -// } - @Override public boolean onOptionsItemSelected(MenuItem item) { if (AESThemeUtil.onAppThemeItemSelected(this, item)) { @@ -195,9 +178,6 @@ public abstract class DrawerFragmentActivity extends BaseWinBoLLActivity impleme @Override protected void onResume() { super.onResume(); -// if (checkThemeStyleChange()) { -// recreate(); -// } ADsBannerView adsBannerView = findViewById(R.id.adsbanner); if (adsBannerView != null) { diff --git a/libaes/src/main/java/cc/winboll/studio/libaes/unittests/SecondaryLibraryActivity.java b/libaes/src/main/java/cc/winboll/studio/libaes/unittests/SecondaryLibraryActivity.java index 2373d6a..b5b210d 100644 --- a/libaes/src/main/java/cc/winboll/studio/libaes/unittests/SecondaryLibraryActivity.java +++ b/libaes/src/main/java/cc/winboll/studio/libaes/unittests/SecondaryLibraryActivity.java @@ -20,11 +20,6 @@ public class SecondaryLibraryActivity extends DrawerFragmentActivity implements SecondaryLibraryFragment mSecondaryLibraryFragment; - @Override - public Activity getActivity() { - return this; - } - @Override public String getTag() { return null;