完善基础窗口类的公开方法

This commit is contained in:
2026-01-13 16:10:31 +08:00
parent 7ae716bccb
commit aebf83bc44
5 changed files with 289 additions and 40 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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<zhangsken@qq.com>
* @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 extends View> 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);
}
}

View File

@@ -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) {

View File

@@ -20,11 +20,6 @@ public class SecondaryLibraryActivity extends DrawerFragmentActivity implements
SecondaryLibraryFragment mSecondaryLibraryFragment;
@Override
public Activity getActivity() {
return this;
}
@Override
public String getTag() {
return null;