mirror of
https://gitea.winboll.cc/Studio/OriginMaster.git
synced 2026-02-04 10:31:31 +08:00
移除BaseWinBoLLActivity作为类库使用,应用需自定义基础窗口类。
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
#Created by .winboll/winboll_app_build.gradle
|
||||
#Tue Jan 13 16:27:34 HKT 2026
|
||||
#Tue Jan 13 08:43:44 GMT 2026
|
||||
stageCount=7
|
||||
libraryProject=libaes
|
||||
baseVersion=15.15
|
||||
publishVersion=15.15.6
|
||||
buildCount=0
|
||||
buildCount=2
|
||||
baseBetaVersion=15.15.7
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
package cc.winboll.studio.aes;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import cc.winboll.studio.aes.R;
|
||||
import cc.winboll.studio.libaes.activitys.BaseWinBoLLActivity;
|
||||
import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
|
||||
import cc.winboll.studio.libappbase.LogUtils;
|
||||
import cc.winboll.studio.libappbase.models.APPInfo;
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
package cc.winboll.studio.aes;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
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;
|
||||
|
||||
/**
|
||||
* @Author 豆包&ZhanGSKen<zhangsken@qq.com>
|
||||
* @Date 2026/01/13 16:35
|
||||
* @Describe BaseWinBollActivity 【继承AppCompatActivity,保留核心能力,不额外暴露方法】
|
||||
* 继承链路:BaseWinBoLLActivity → AppCompatActivity → FragmentActivity,AppCompat能力天然继承可用
|
||||
*/
|
||||
public abstract class BaseWinBoLLActivity extends AppCompatActivity implements IWinBoLLActivity {
|
||||
public static final String TAG = "BaseWinBoLLActivity";
|
||||
|
||||
protected volatile AESThemeBean.ThemeType mThemeType;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
mThemeType = AESThemeBean.getThemeStyleType(AESThemeUtil.getThemeTypeID(getApplicationContext()));
|
||||
setTheme(AESThemeUtil.getThemeTypeID(getApplicationContext()));
|
||||
super.onCreate(savedInstanceState);
|
||||
WinBoLLActivityManager.getInstance().add(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
WinBoLLActivityManager.getInstance().registeRemove(this);
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
// 子类必须实现getTag(),确保唯一标识
|
||||
@Override
|
||||
public abstract String getTag();
|
||||
|
||||
@Override
|
||||
public Activity getActivity() {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#Created by .winboll/winboll_app_build.gradle
|
||||
#Tue Jan 13 16:27:29 HKT 2026
|
||||
#Tue Jan 13 08:43:44 GMT 2026
|
||||
stageCount=7
|
||||
libraryProject=libaes
|
||||
baseVersion=15.15
|
||||
publishVersion=15.15.6
|
||||
buildCount=0
|
||||
buildCount=2
|
||||
baseBetaVersion=15.15.7
|
||||
|
||||
@@ -1,333 +0,0 @@
|
||||
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;
|
||||
|
||||
/**
|
||||
* @Author 豆包&ZhanGSKen<zhangsken@qq.com>
|
||||
* @Date 2026/01/13 14:22
|
||||
* @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
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
mThemeType = getThemeType();
|
||||
setThemeStyle();
|
||||
super.onCreate(savedInstanceState);
|
||||
WinBoLLActivityManager.getInstance().add(this);
|
||||
//ToastUtils.show(getTag() + ": onCreate");
|
||||
}
|
||||
|
||||
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
|
||||
protected void onDestroy() {
|
||||
WinBoLLActivityManager.getInstance().registeRemove(this);
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
// 子类必须实现getTag(),确保唯一标识
|
||||
@Override
|
||||
public abstract String getTag();
|
||||
|
||||
@Override
|
||||
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 androidx.appcompat.widget.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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ package cc.winboll.studio.libaes.activitys;
|
||||
* @Date 2024/06/13 18:58:54
|
||||
* @Describe 可以加入Fragment的有抽屉的活动窗口抽象类
|
||||
*/
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
@@ -27,14 +28,16 @@ import cc.winboll.studio.libaes.models.AESThemeBean;
|
||||
import cc.winboll.studio.libaes.models.DrawerMenuBean;
|
||||
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.ADrawerMenuListView;
|
||||
import cc.winboll.studio.libaes.views.ADsBannerView;
|
||||
import cc.winboll.studio.libappbase.GlobalApplication;
|
||||
import cc.winboll.studio.libappbase.LogUtils;
|
||||
import com.baoyz.widget.PullRefreshLayout;
|
||||
import java.util.ArrayList;
|
||||
import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
|
||||
|
||||
public abstract class DrawerFragmentActivity extends BaseWinBoLLActivity implements AdapterView.OnItemClickListener {
|
||||
public abstract class DrawerFragmentActivity extends AppCompatActivity implements IWinBoLLActivity, AdapterView.OnItemClickListener {
|
||||
|
||||
public static final String TAG = "DrawerFragmentActivity";
|
||||
|
||||
@@ -61,15 +64,20 @@ public abstract class DrawerFragmentActivity extends BaseWinBoLLActivity impleme
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
//mContext = this;
|
||||
// mThemeType = getThemeType();
|
||||
// setThemeStyle();
|
||||
mThemeType = AESThemeBean.getThemeStyleType(AESThemeUtil.getThemeTypeID(getApplicationContext()));
|
||||
setTheme(AESThemeUtil.getThemeTypeID(getApplicationContext()));
|
||||
super.onCreate(savedInstanceState);
|
||||
WinBoLLActivityManager.getInstance().add(this);
|
||||
mActivityType = initActivityType();
|
||||
initRootView();
|
||||
LogUtils.d(TAG, "onCreate end.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Activity getActivity() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTag() {
|
||||
return TAG;
|
||||
@@ -77,6 +85,7 @@ public abstract class DrawerFragmentActivity extends BaseWinBoLLActivity impleme
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
WinBoLLActivityManager.getInstance().registeRemove(this);
|
||||
super.onDestroy();
|
||||
// 修复:释放广告资源,避免内存泄漏
|
||||
ADsBannerView adsBannerView = findViewById(R.id.adsbanner);
|
||||
|
||||
Reference in New Issue
Block a user