日志窗口函数重构

This commit is contained in:
ZhanGSKen 2025-03-26 19:32:21 +08:00
parent 56a13b4a40
commit 2074f68ef3
6 changed files with 41 additions and 37 deletions

View File

@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Wed Mar 26 15:43:21 HKT 2025 #Wed Mar 26 11:30:27 GMT 2025
stageCount=1 stageCount=1
libraryProject=libappbase libraryProject=libappbase
baseVersion=15.1 baseVersion=15.1
publishVersion=15.1.0 publishVersion=15.1.0
buildCount=0 buildCount=17
baseBetaVersion=15.1.1 baseBetaVersion=15.1.1

View File

@ -71,7 +71,7 @@ public class MainActivity extends AppCompatActivity implements IWinBollActivity
@Override @Override
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == cc.winboll.studio.appbase.R.id.item_log) { if (item.getItemId() == cc.winboll.studio.appbase.R.id.item_log) {
onLogActivity(); WinBollActivityManager.getInstance(this).startLogActivity(this);
return true; return true;
} }
// 在switch语句中处理每个ID并在处理完后返回true未处理的情况返回false // 在switch语句中处理每个ID并在处理完后返回true未处理的情况返回false
@ -176,23 +176,5 @@ public class MainActivity extends AppCompatActivity implements IWinBollActivity
WinBollActivityManager.getInstance(this).startWinBollActivity(this, NewActivity.class); WinBollActivityManager.getInstance(this).startWinBollActivity(this, NewActivity.class);
} }
public void onLogActivity() {
Intent intent = new Intent(MainActivity.this, LogActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT);
// Define the bounds.
Rect bounds = new Rect(500, 300, 100, 0);
// Set the bounds as an activity option.
ActivityOptions options = ActivityOptions.makeBasic();
options.setLaunchBounds(bounds);
//Intent intent = new Intent(this, LpgActivity.class);
startActivity(intent, options.toBundle());
//WinBollActivityManager.getInstance(this).startWinBollActivity(this, intent, LogActivity.class);
}
} }

View File

@ -30,13 +30,6 @@
android:textAllCaps="false" android:textAllCaps="false"
android:onClick="onCloseAllActivity"/> android:onClick="onCloseAllActivity"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CloseAllActivity"
android:textAllCaps="false"
android:onClick="onCloseAllActivity"/>
<Button <Button
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View File

@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Wed Mar 26 15:43:05 HKT 2025 #Wed Mar 26 11:30:27 GMT 2025
stageCount=1 stageCount=1
libraryProject=libappbase libraryProject=libappbase
baseVersion=15.1 baseVersion=15.1
publishVersion=15.1.0 publishVersion=15.1.0
buildCount=0 buildCount=17
baseBetaVersion=15.1.1 baseBetaVersion=15.1.1

View File

@ -87,11 +87,11 @@ public class GlobalApplication extends Application {
// 初始化 Toast 框架 // 初始化 Toast 框架
ToastUtils.init(this); ToastUtils.init(this);
// mWinBollActivityManager = WinBollActivityManager.getInstance(this); mWinBollActivityManager = WinBollActivityManager.getInstance(this);
// mWinBollActivityManager.setWinBollUI_TYPE(WinBollActivityManager.WinBollUI_TYPE.Service); mWinBollActivityManager.setWinBollUI_TYPE(WinBollActivityManager.WinBollUI_TYPE.Service);
// // 注册回调 // 注册回调
// mMyActivityLifecycleCallbacks = new MyActivityLifecycleCallbacks(mWinBollActivityManager); mMyActivityLifecycleCallbacks = new MyActivityLifecycleCallbacks(mWinBollActivityManager);
// registerActivityLifecycleCallbacks(mMyActivityLifecycleCallbacks); registerActivityLifecycleCallbacks(mMyActivityLifecycleCallbacks);
} }

View File

@ -9,9 +9,11 @@ package cc.winboll.studio.libappbase.winboll;
* https://blog.csdn.net/qq_29364417/article/details/109379915?app_version=6.4.2&code=app_1562916241&csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22109379915%22%2C%22source%22%3A%22weixin_38986226%22%7D&uLinkId=usr1mkqgl919blen&utm_source=app * https://blog.csdn.net/qq_29364417/article/details/109379915?app_version=6.4.2&code=app_1562916241&csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22109379915%22%2C%22source%22%3A%22weixin_38986226%22%7D&uLinkId=usr1mkqgl919blen&utm_source=app
*/ */
import android.app.ActivityManager; import android.app.ActivityManager;
import android.app.ActivityOptions;
import android.app.TaskStackBuilder; import android.app.TaskStackBuilder;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.graphics.Rect;
import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.libappbase.LogUtils;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
@ -134,6 +136,33 @@ public class WinBollActivityManager {
} }
} }
public <T extends IWinBollActivity> void startLogActivity(Context context) {
// 如果窗口已存在就重启窗口
String tag = LogActivity.TAG;
if (isActive(tag)) {
resumeActivity(context, tag);
return;
}
// 新建一个任务窗口
Intent intent = new Intent(context, LogActivity.class);
//打开多任务窗口 flags
// Define the bounds.
// Rect bounds = new Rect(0, 0, 800, 200);
// // Set the bounds as an activity option.
// ActivityOptions options = ActivityOptions.makeBasic();
// options.setLaunchBounds(bounds);
intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT);
//intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
/*intent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
intent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
intent.putExtra(EXTRA_TAG, tag);
*/
//context.startActivity(intent, options.toBundle());
context.startActivity(intent);
}
public boolean isFirstIWinBollActivity(IWinBollActivity iWinBollActivity) { public boolean isFirstIWinBollActivity(IWinBollActivity iWinBollActivity) {
return firstIWinBollActivity != null && firstIWinBollActivity == iWinBollActivity; return firstIWinBollActivity != null && firstIWinBollActivity == iWinBollActivity;
} }
@ -142,7 +171,7 @@ public class WinBollActivityManager {
// 判断 tag绑定的 MyActivity是否存在 // 判断 tag绑定的 MyActivity是否存在
// //
public boolean isActive(String tag) { public boolean isActive(String tag) {
//printAvtivityListInfo(); printIWinBollListInfo();
IWinBollActivity iWinBoll = getIWinBoll(tag); IWinBollActivity iWinBoll = getIWinBoll(tag);
if (iWinBoll != null) { if (iWinBoll != null) {
LogUtils.d(TAG, "isActive(...) activity != null tag " + tag); LogUtils.d(TAG, "isActive(...) activity != null tag " + tag);