和并APPBase转移的模块

This commit is contained in:
ZhanGSKen
2025-09-27 21:18:40 +08:00
parent c1af20009a
commit fd0315d3cf
22 changed files with 177 additions and 92 deletions

View File

@@ -29,7 +29,7 @@ android {
// versionName 更新后需要手动设置
// 项目模块目录的 build.gradle 文件的 stageCount=0
// Gradle编译环境下合起来的 versionName 就是 "${versionName}.0"
versionName "15.9"
versionName "15.10"
if(true) {
versionName = genVersionName("${versionName}")
}

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
#Fri Sep 26 20:36:26 HKT 2025
stageCount=5
#Sat Sep 27 13:17:23 GMT 2025
stageCount=0
libraryProject=libaes
baseVersion=15.9
publishVersion=15.9.4
buildCount=0
baseBetaVersion=15.9.5
baseVersion=15.10
publishVersion=15.10.0
buildCount=1
baseBetaVersion=15.10.1

View File

@@ -15,7 +15,8 @@ import androidx.appcompat.widget.Toolbar;
import cc.winboll.studio.libaes.winboll.APPInfo;
import cc.winboll.studio.libaes.winboll.AboutView;
import cc.winboll.studio.libappbase.GlobalApplication;
import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity;
import cc.winboll.studio.libaes.winboll.IWinBoLLActivity;
import cc.winboll.studio.libaes.winboll.WinBoLLActivityManager;
public class AboutActivity extends AppCompatActivity implements IWinBoLLActivity {
@@ -64,13 +65,13 @@ public class AboutActivity extends AppCompatActivity implements IWinBoLLActivity
);
layout.addView(aboutView, params);
GlobalApplication.getWinBoLLActivityManager().add(this);
WinBoLLActivityManager.getInstance().add(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
GlobalApplication.getWinBoLLActivityManager().registeRemove(this);
WinBoLLActivityManager.getInstance().registeRemove(this);
}
public AboutView CreateAboutView() {

View File

@@ -9,6 +9,7 @@ import android.view.Gravity;
import cc.winboll.studio.libappbase.GlobalApplication;
import com.hjq.toast.ToastUtils;
import com.hjq.toast.style.WhiteToastStyle;
import cc.winboll.studio.libaes.winboll.WinBoLLActivityManager;
public class App extends GlobalApplication {
@@ -18,6 +19,7 @@ public class App extends GlobalApplication {
@Override
public void onCreate() {
super.onCreate();
WinBoLLActivityManager.init(this);
// 初始化 Toast 框架
ToastUtils.init(this);

View File

@@ -15,7 +15,7 @@ import android.widget.AdapterView;
import android.widget.Toast;
import cc.winboll.studio.aes.R;
import cc.winboll.studio.libaes.activitys.DrawerFragmentActivity;
import cc.winboll.studio.libaes.beans.DrawerMenuBean;
import cc.winboll.studio.libaes.models.DrawerMenuBean;
import cc.winboll.studio.libaes.dialogs.LocalFileSelectDialog;
import cc.winboll.studio.libaes.dialogs.StoragePathDialog;
import cc.winboll.studio.libaes.unittests.SecondaryLibraryActivity;
@@ -25,10 +25,10 @@ import cc.winboll.studio.libaes.unittests.TestAToolbarActivity;
import cc.winboll.studio.libaes.unittests.TestDrawerFragmentActivity;
import cc.winboll.studio.libaes.unittests.TestViewPageFragment;
import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity;
import com.a4455jkjh.colorpicker.ColorPickerDialog;
import com.hjq.toast.ToastUtils;
import java.util.ArrayList;
import cc.winboll.studio.libaes.winboll.IWinBoLLActivity;
public class MainActivity extends DrawerFragmentActivity implements IWinBoLLActivity {

View File

@@ -21,8 +21,8 @@ android {
dependencies {
api fileTree(dir: 'libs', include: ['*.jar'])
api 'cc.winboll.studio:libapputils:15.8.5'
api 'cc.winboll.studio:libappbase:15.9.5'
api 'cc.winboll.studio:libapputils:15.10.0'
api 'cc.winboll.studio:libappbase:15.10.9'
// 吐司类库
api 'com.github.getActivity:ToastUtils:10.5'

View File

@@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
#Fri Sep 26 20:36:26 HKT 2025
stageCount=5
#Sat Sep 27 13:17:23 GMT 2025
stageCount=0
libraryProject=libaes
baseVersion=15.9
publishVersion=15.9.4
buildCount=0
baseBetaVersion=15.9.5
baseVersion=15.10
publishVersion=15.10.0
buildCount=1
baseBetaVersion=15.10.1

View File

@@ -23,17 +23,15 @@ import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import cc.winboll.studio.libaes.DrawerMenuDataAdapter;
import cc.winboll.studio.libaes.R;
import cc.winboll.studio.libaes.beans.AESThemeBean;
import cc.winboll.studio.libaes.beans.DrawerMenuBean;
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.views.ADrawerMenuListView;
import cc.winboll.studio.libappbase.GlobalApplication;
import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity;
import com.baoyz.widget.PullRefreshLayout;
import java.util.ArrayList;
public abstract class DrawerFragmentActivity extends AppCompatActivity implements IWinBoLLActivity,AdapterView.OnItemClickListener {
public abstract class DrawerFragmentActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
public static final String TAG = "DrawerFragmentActivity";

View File

@@ -1,4 +1,4 @@
package cc.winboll.studio.libaes.beans;
package cc.winboll.studio.libaes.models;
/**
* @Author ZhanGSKen<zhangsken@qq.com>

View File

@@ -1,4 +1,4 @@
package cc.winboll.studio.libaes.beans;
package cc.winboll.studio.libaes.models;
/**
* @Author ZhanGSKen<zhangsken@qq.com>

View File

@@ -1,4 +1,4 @@
package cc.winboll.studio.libaes.beans;
package cc.winboll.studio.libaes.models;
/**
* @Author ZhanGSKen

View File

@@ -0,0 +1,92 @@
package cc.winboll.studio.libaes.models;
/**
* @Author ZhanGSKen<zhangsken@qq.com>
* @Date 2025/05/10 10:16
* @Describe WinBoLLModel
*/
import android.util.JsonReader;
import android.util.JsonWriter;
import cc.winboll.studio.libappbase.BaseBean;
import java.io.IOException;
import cc.winboll.studio.libappbase.APPModel;
public class WinBoLLModel extends BaseBean {
public static final String TAG = "WinBoLLModel";
String appPackageName;
String appMainServiveName;
public WinBoLLModel() {
this.appPackageName = "";
this.appMainServiveName = "";
}
public WinBoLLModel(boolean isDebuging, String appPackageName, String appMainServiveName) {
this.appPackageName = appPackageName;
this.appMainServiveName = appMainServiveName;
}
public WinBoLLModel(String appPackageName, String appMainServiveName) {
this.appPackageName = appPackageName;
this.appMainServiveName = appMainServiveName;
}
public void setAppPackageName(String appPackageName) {
this.appPackageName = appPackageName;
}
public String getAppPackageName() {
return appPackageName;
}
public void setAppMainServiveName(String appMainServiveName) {
this.appMainServiveName = appMainServiveName;
}
public String getAppMainServiveName() {
return appMainServiveName;
}
@Override
public String getName() {
return APPModel.class.getName();
}
@Override
public void writeThisToJsonWriter(JsonWriter jsonWriter) throws IOException {
super.writeThisToJsonWriter(jsonWriter);
jsonWriter.name("appPackageName").value(getAppPackageName());
jsonWriter.name("appMainServiveName").value(getAppMainServiveName());
}
@Override
public boolean initObjectsFromJsonReader(JsonReader jsonReader, String name) throws IOException {
if (super.initObjectsFromJsonReader(jsonReader, name)) { return true; } else {
if (name.equals("appPackageName")) {
setAppPackageName(jsonReader.nextString());
} else if (name.equals("appMainServiveName")) {
setAppMainServiveName(jsonReader.nextString());
} else {
return false;
}
}
return true;
}
@Override
public BaseBean readBeanFromJsonReader(JsonReader jsonReader) throws IOException {
jsonReader.beginObject();
while (jsonReader.hasNext()) {
String name = jsonReader.nextName();
if (!initObjectsFromJsonReader(jsonReader, name)) {
jsonReader.skipValue();
}
}
// 结束 JSON 对象
jsonReader.endObject();
return this;
}
}

View File

@@ -7,7 +7,7 @@ import android.view.MenuItem;
import android.widget.Toast;
import cc.winboll.studio.libaes.R;
import cc.winboll.studio.libaes.activitys.DrawerFragmentActivity;
import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity;
import cc.winboll.studio.libaes.winboll.IWinBoLLActivity;
/**
* @Author ZhanGSKen<zhangsken@qq.com>

View File

@@ -11,7 +11,7 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import cc.winboll.studio.libaes.R;
import cc.winboll.studio.libaes.utils.AESThemeUtil;
import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity;
import cc.winboll.studio.libaes.winboll.IWinBoLLActivity;
public class TestASupportToolbarActivity extends AppCompatActivity implements IWinBoLLActivity {

View File

@@ -10,22 +10,11 @@ import android.os.Bundle;
import android.widget.Toolbar;
import cc.winboll.studio.libaes.R;
import cc.winboll.studio.libaes.utils.AESThemeUtil;
import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity;
public class TestAToolbarActivity extends Activity implements IWinBoLLActivity {
public class TestAToolbarActivity extends Activity {
public static final String TAG = "TestAToolbarActivity";
@Override
public Activity getActivity() {
return this;
}
@Override
public String getTag() {
return TAG;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
AESThemeUtil.applyAppTheme(this);

View File

@@ -14,10 +14,10 @@ import android.widget.Toast;
import androidx.fragment.app.Fragment;
import cc.winboll.studio.libaes.R;
import cc.winboll.studio.libaes.activitys.DrawerFragmentActivity;
import cc.winboll.studio.libaes.beans.DrawerMenuBean;
import cc.winboll.studio.libaes.models.DrawerMenuBean;
import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity;
import java.util.ArrayList;
import cc.winboll.studio.libaes.winboll.IWinBoLLActivity;
public class TestDrawerFragmentActivity extends DrawerFragmentActivity implements IWinBoLLActivity {

View File

@@ -12,7 +12,7 @@ import android.view.MenuItem;
import androidx.appcompat.app.AppCompatActivity;
import cc.winboll.studio.libaes.R;
import cc.winboll.studio.libaes.activitys.DrawerFragmentActivity;
import cc.winboll.studio.libaes.beans.AESThemeBean;
import cc.winboll.studio.libaes.models.AESThemeBean;
public class AESThemeUtil {

View File

@@ -20,7 +20,6 @@ import cc.winboll.studio.libaes.R;
import cc.winboll.studio.libaes.utils.AppVersionUtils;
import cc.winboll.studio.libappbase.GlobalApplication;
import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libappbase.dialogs.YesNoAlertDialog;
import cc.winboll.studio.libapputils.utils.PrefUtils;
import com.hjq.toast.ToastUtils;
import java.io.IOException;
@@ -33,6 +32,7 @@ import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import mehdi.sakout.aboutpage.BuildConfig;
import cc.winboll.studio.libaes.dialogs.YesNoAlertDialog;
public class AboutView extends LinearLayout {
@@ -40,7 +40,7 @@ public class AboutView extends LinearLayout {
public static final int MSG_APPUPDATE_CHECKED = 0;
Context mContext;
static Context _mContext;
APPInfo mAPPInfo;
WinBoLLServiceStatusView mWinBoLLServiceStatusView;
@@ -64,7 +64,7 @@ public class AboutView extends LinearLayout {
public AboutView(Context context, APPInfo appInfo) {
super(context);
mContext = context;
_mContext = context;
setAPPInfo(appInfo);
initView(context);
@@ -72,7 +72,7 @@ public class AboutView extends LinearLayout {
public AboutView(Context context, AttributeSet attrs) {
super(context, attrs);
mContext = context;
_mContext = context;
initView(context, attrs);
}
@@ -110,7 +110,7 @@ public class AboutView extends LinearLayout {
mszWinBoLLServerHost = GlobalApplication.isDebuging() ? "https://yun-preivew.winboll.cc": "https://yun.winboll.cc";
try {
mszAppVersionName = mContext.getPackageManager().getPackageInfo(mContext.getPackageName(), 0).versionName;
mszAppVersionName = _mContext.getPackageManager().getPackageInfo(_mContext.getPackageName(), 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
}
@@ -125,13 +125,13 @@ public class AboutView extends LinearLayout {
if (GlobalApplication.isDebuging()) {
LayoutInflater inflater = LayoutInflater.from(mContext);
LayoutInflater inflater = LayoutInflater.from(_mContext);
View addedView = inflater.inflate(R.layout.view_about_dev, this, false);
LinearLayout llMain = addedView.findViewById(R.id.viewaboutdevLinearLayout1);
metDevUserName = addedView.findViewById(R.id.viewaboutdevEditText1);
metDevUserPassword = addedView.findViewById(R.id.viewaboutdevEditText2);
metDevUserName.setText(PrefUtils.getString(mContext, "metDevUserName", ""));
metDevUserPassword.setText(PrefUtils.getString(mContext, "metDevUserPassword", ""));
metDevUserName.setText(PrefUtils.getString(_mContext, "metDevUserName", ""));
metDevUserPassword.setText(PrefUtils.getString(_mContext, "metDevUserPassword", ""));
//mDevelopHostConnectionStatusView = new DevelopHostConnectionStatusView(context);
mWinBoLLServiceStatusView = addedView.findViewById(R.id.viewaboutdevWinBoLLServiceStatusView1);
mWinBoLLServiceStatusView.setServerHost(mszWinBoLLServerHost);
@@ -140,7 +140,7 @@ public class AboutView extends LinearLayout {
llMain.addView(createAboutPage());
addView(addedView);
} else {
LayoutInflater inflater = LayoutInflater.from(mContext);
LayoutInflater inflater = LayoutInflater.from(_mContext);
View addedView = inflater.inflate(R.layout.view_about_www, this, false);
LinearLayout llMain = addedView.findViewById(R.id.viewaboutwwwLinearLayout1);
//mDevelopHostConnectionStatusView = new DevelopHostConnectionStatusView(context);
@@ -162,9 +162,9 @@ public class AboutView extends LinearLayout {
String szReleaseAppVersionName = "";
try {
//LogUtils.d(TAG, String.format("mContext.getPackageName() %s", mContext.getPackageName()));
String szSubBetaSuffix = subBetaSuffix(mContext.getPackageName());
String szSubBetaSuffix = subBetaSuffix(_mContext.getPackageName());
//LogUtils.d(TAG, String.format("szSubBetaSuffix : %s", szSubBetaSuffix));
szReleaseAppVersionName = mContext.getPackageManager().getPackageInfo(szSubBetaSuffix, 0).versionName;
szReleaseAppVersionName = _mContext.getPackageManager().getPackageInfo(szSubBetaSuffix, 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
}
@@ -205,7 +205,7 @@ public class AboutView extends LinearLayout {
String szMsg = "Current app is :\n[ " + mszCurrentAppPackageName
+ " ]\nThe last app is :\n[ " + mszNewestAppPackageName
+ " ]\nIs download the last app?";
YesNoAlertDialog.show(mContext, "Application Update Prompt", szMsg, mIsDownlaodUpdateListener);
YesNoAlertDialog.show(_mContext, "Application Update Prompt", szMsg, mIsDownlaodUpdateListener);
}
break;
}
@@ -216,22 +216,22 @@ public class AboutView extends LinearLayout {
protected View createAboutPage() {
// 定义 GitWeb 按钮
//
Element elementGitWeb = new Element(mContext.getString(R.string.gitea_home), R.drawable.ic_winboll);
Element elementGitWeb = new Element(_mContext.getString(R.string.gitea_home), R.drawable.ic_winboll);
elementGitWeb.setOnClickListener(mGitWebOnClickListener);
// 定义检查更新按钮
//
Element elementAppUpdate = new Element(mContext.getString(R.string.app_update), R.drawable.ic_winboll);
Element elementAppUpdate = new Element(_mContext.getString(R.string.app_update), R.drawable.ic_winboll);
elementAppUpdate.setOnClickListener(mAppUpdateOnClickListener);
String szAppInfo = "";
try {
szAppInfo = mszAppName + " "
+ mContext.getPackageManager().getPackageInfo(mContext.getPackageName(), 0).versionName
+ _mContext.getPackageManager().getPackageInfo(_mContext.getPackageName(), 0).versionName
+ "\n" + mszAppDescription;
} catch (PackageManager.NameNotFoundException e) {
LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
}
AboutPage aboutPage = new AboutPage(mContext);
AboutPage aboutPage = new AboutPage(_mContext);
aboutPage.setDescription(szAppInfo)
//.isRTL(false)
//.setCustomFont(String) // or Typeface
@@ -256,10 +256,10 @@ public class AboutView extends LinearLayout {
//
Element elementAppMode;
if (GlobalApplication.isDebuging()) {
elementAppMode = new Element(mContext.getString(R.string.app_normal), R.drawable.ic_winboll);
elementAppMode = new Element(_mContext.getString(R.string.app_normal), R.drawable.ic_winboll);
elementAppMode.setOnClickListener(mAppNormalOnClickListener);
} else {
elementAppMode = new Element(mContext.getString(R.string.app_debug), R.drawable.ic_winboll);
elementAppMode = new Element(_mContext.getString(R.string.app_debug), R.drawable.ic_winboll);
elementAppMode.setOnClickListener(mAppDebugOnClickListener);
}
aboutPage.addItem(elementAppMode);
@@ -272,7 +272,7 @@ public class AboutView extends LinearLayout {
@Override
public void onClick(View view) {
//ToastUtils.show("mAppDebugOnClickListener");
setApp2DebugMode(mContext);
setApp2DebugMode(_mContext);
}
};
@@ -280,7 +280,7 @@ public class AboutView extends LinearLayout {
@Override
public void onClick(View view) {
//ToastUtils.show("mAppNormalOnClickListener");
setApp2NormalMode(mContext);
setApp2NormalMode(_mContext);
}
};
@@ -290,9 +290,9 @@ public class AboutView extends LinearLayout {
//intent.setAction(cc.winboll.studio.libapputils.intent.action.DEBUGVIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
GlobalApplication.setIsDebuging(true);
GlobalApplication.saveDebugStatus();
GlobalApplication.saveDebugStatus(_mContext);
GlobalApplication.getWinBoLLActivityManager().finishAll();
WinBoLLActivityManager.getInstance().finishAll();
context.startActivity(intent);
}
}
@@ -302,9 +302,9 @@ public class AboutView extends LinearLayout {
if (intent != null) {
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
GlobalApplication.setIsDebuging(false);
GlobalApplication.saveDebugStatus();
GlobalApplication.saveDebugStatus(_mContext);
GlobalApplication.getWinBoLLActivityManager().finishAll();
WinBoLLActivityManager.getInstance().finishAll();
context.startActivity(intent);
}
}
@@ -313,7 +313,7 @@ public class AboutView extends LinearLayout {
@Override
public void onClick(View view) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(mszGitea));
mContext.startActivity(browserIntent);
_mContext.startActivity(browserIntent);
}
};
@@ -329,8 +329,8 @@ public class AboutView extends LinearLayout {
String credential = "";
if (GlobalApplication.isDebuging()) {
credential = Credentials.basic(metDevUserName.getText().toString(), metDevUserPassword.getText().toString());
PrefUtils.saveString(mContext, "metDevUserName", metDevUserName.getText().toString());
PrefUtils.saveString(mContext, "metDevUserPassword", metDevUserPassword.getText().toString());
PrefUtils.saveString(_mContext, "metDevUserName", metDevUserName.getText().toString());
PrefUtils.saveString(_mContext, "metDevUserPassword", metDevUserPassword.getText().toString());
} else {
String username = "WinBoLL";
String password = "WinBoLLPowerByZhanGSKen";
@@ -387,7 +387,7 @@ public class AboutView extends LinearLayout {
public void onYes() {
String szUrl = mszWinBoLLServerHost + "/studio/download.php?appname=" + mszAppAPKFolderName + "&apkname=" + mszNewestAppPackageName;
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(szUrl));
mContext.startActivity(browserIntent);
_mContext.startActivity(browserIntent);
}
@Override

View File

@@ -11,9 +11,9 @@ import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.IBinder;
import cc.winboll.studio.libaes.beans.WinBoLLClientServiceBean;
import cc.winboll.studio.libaes.models.WinBoLLClientServiceBean;
import cc.winboll.studio.libaes.winboll.AssistantService;
import cc.winboll.studio.libappbase.utils.ServiceUtils;
import cc.winboll.studio.libapputils.utils.ServiceUtils;
public class AssistantService extends Service {
@@ -71,7 +71,7 @@ public class AssistantService extends Service {
// 唤醒和绑定主进程
//
void wakeupAndBindMain() {
if (ServiceUtils.isServiceRunning(getApplicationContext(), WinBoLLClientService.class.getName()) == false) {
if (ServiceUtils.isServiceAlive(getApplicationContext(), WinBoLLClientService.class.getName()) == false) {
startForegroundService(new Intent(AssistantService.this, WinBoLLClientService.class));
}

View File

@@ -9,7 +9,6 @@ import android.app.Application;
import android.content.Intent;
import android.os.Bundle;
import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libappbase.utils.ToastUtils;
public class MyActivityLifecycleCallbacks implements Application.ActivityLifecycleCallbacks {

View File

@@ -8,7 +8,7 @@ package cc.winboll.studio.libaes.winboll;
import android.content.Context;
import android.content.Intent;
import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libappbase.models.WinBoLLModel;
import cc.winboll.studio.libaes.models.WinBoLLModel;
public class WinBoLL {

View File

@@ -15,11 +15,11 @@ import android.content.Context;
import android.content.Intent;
import cc.winboll.studio.libappbase.GlobalApplication;
import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libappbase.utils.ToastUtils;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import cc.winboll.studio.libappbase.winboll.LogActivity;
import cc.winboll.studio.libappbase.LogActivity;
import cc.winboll.studio.libappbase.ToastUtils;
public class WinBoLLActivityManager {
@@ -30,7 +30,7 @@ public class WinBoLLActivityManager {
public enum WinBoLLUI_TYPE { Aplication, Service }
Context mContext;
GlobalApplication mGlobalApplication;
volatile static WinBoLLActivityManager _mIWinBoLLActivityManager;
Map<String, IWinBoLLActivity> mActivityListMap;
@@ -42,18 +42,22 @@ public class WinBoLLActivityManager {
public static WinBoLLUI_TYPE getWinBoLLUI_TYPE() {
return _WinBoLLUI_TYPE;
}
WinBoLLActivityManager() {
mContext = GlobalApplication.getInstance();
WinBoLLActivityManager(GlobalApplication application) {
mGlobalApplication = application;
mActivityListMap = new HashMap<String, IWinBoLLActivity>();
}
public static synchronized WinBoLLActivityManager getInstance() {
if (_mIWinBoLLActivityManager == null) {
_mIWinBoLLActivityManager = new WinBoLLActivityManager();
}
public static WinBoLLActivityManager getInstance() {
return _mIWinBoLLActivityManager;
}
public static synchronized void init(GlobalApplication application) {
if (_mIWinBoLLActivityManager == null) {
_mIWinBoLLActivityManager = new WinBoLLActivityManager(application);
}
}
/**
* 把Activity添加到管理中
*/
@@ -188,11 +192,11 @@ public class WinBoLLActivityManager {
ToastUtils.show("finishAll() activity");
if (iWinBoLLActivity != null && iWinBoLLActivity.getActivity() != null && !iWinBoLLActivity.getActivity().isFinishing() && !iWinBoLLActivity.getActivity().isDestroyed()) {
//ToastUtils.show("activity != null ...");
if (WinBoLLActivityManager.getInstance().getWinBoLLUI_TYPE() == WinBoLLUI_TYPE.Service) {
if (getWinBoLLUI_TYPE() == WinBoLLUI_TYPE.Service) {
// 结束窗口和最近任务栏, 建议前台服务类应用使用,可以方便用户再次调用 UI 操作。
iWinBoLLActivity.getActivity().finishAndRemoveTask();
//ToastUtils.show("finishAll() activity.finishAndRemoveTask();");
} else if (WinBoLLActivityManager.getInstance().getWinBoLLUI_TYPE() == WinBoLLUI_TYPE.Aplication) {
} else if (getWinBoLLUI_TYPE() == WinBoLLUI_TYPE.Aplication) {
// 结束窗口保留最近任务栏,建议前台服务类应用使用,可以保持应用的系统自觉性。
iWinBoLLActivity.getActivity().finish();
//ToastUtils.show("finishAll() activity.finish();");