Compare commits
	
		
			5 Commits
		
	
	
		
			aes-v15.10
			...
			aes-v15.10
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 44fc3b1899 | |||
| 
						 | 
					cdb9d8d41b | ||
| 
						 | 
					51b6179df6 | ||
| 
						 | 
					f32563b906 | ||
| 5cb6309134 | 
@@ -1,8 +1,8 @@
 | 
				
			|||||||
#Created by .winboll/winboll_app_build.gradle
 | 
					#Created by .winboll/winboll_app_build.gradle
 | 
				
			||||||
#Sun Sep 28 20:11:37 HKT 2025
 | 
					#Mon Sep 29 01:18:50 HKT 2025
 | 
				
			||||||
stageCount=1
 | 
					stageCount=2
 | 
				
			||||||
libraryProject=libaes
 | 
					libraryProject=libaes
 | 
				
			||||||
baseVersion=15.10
 | 
					baseVersion=15.10
 | 
				
			||||||
publishVersion=15.10.0
 | 
					publishVersion=15.10.1
 | 
				
			||||||
buildCount=0
 | 
					buildCount=0
 | 
				
			||||||
baseBetaVersion=15.10.1
 | 
					baseBetaVersion=15.10.2
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,6 +33,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        <activity android:name=".AboutActivity"/>
 | 
					        <activity android:name=".AboutActivity"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <activity android:name=".TestActivityManagerActivity"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    </application>
 | 
					    </application>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</manifest>
 | 
					</manifest>
 | 
				
			||||||
@@ -12,13 +12,12 @@ import android.view.ViewGroup;
 | 
				
			|||||||
import android.widget.LinearLayout;
 | 
					import android.widget.LinearLayout;
 | 
				
			||||||
import androidx.appcompat.app.AppCompatActivity;
 | 
					import androidx.appcompat.app.AppCompatActivity;
 | 
				
			||||||
import androidx.appcompat.widget.Toolbar;
 | 
					import androidx.appcompat.widget.Toolbar;
 | 
				
			||||||
import cc.winboll.studio.libaes.winboll.APPInfo;
 | 
					import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
 | 
				
			||||||
import cc.winboll.studio.libaes.winboll.AboutView;
 | 
					import cc.winboll.studio.libaes.models.APPInfo;
 | 
				
			||||||
import cc.winboll.studio.libappbase.GlobalApplication;
 | 
					import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
 | 
				
			||||||
import cc.winboll.studio.libaes.winboll.IWinBoLLActivity;
 | 
					import cc.winboll.studio.libaes.views.AboutView;
 | 
				
			||||||
import cc.winboll.studio.libaes.winboll.WinBoLLActivityManager;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class AboutActivity extends AppCompatActivity implements IWinBoLLActivity {
 | 
					public class AboutActivity extends WinBoLLActivity implements IWinBoLLActivity {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final String TAG = "AboutActivity";
 | 
					    public static final String TAG = "AboutActivity";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,10 +6,10 @@ package cc.winboll.studio.aes;
 | 
				
			|||||||
 * @Describe AES应用类
 | 
					 * @Describe AES应用类
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
import android.view.Gravity;
 | 
					import android.view.Gravity;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
 | 
				
			||||||
import cc.winboll.studio.libappbase.GlobalApplication;
 | 
					import cc.winboll.studio.libappbase.GlobalApplication;
 | 
				
			||||||
import com.hjq.toast.ToastUtils;
 | 
					import com.hjq.toast.ToastUtils;
 | 
				
			||||||
import com.hjq.toast.style.WhiteToastStyle;
 | 
					import com.hjq.toast.style.WhiteToastStyle;
 | 
				
			||||||
import cc.winboll.studio.libaes.winboll.WinBoLLActivityManager;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class App extends GlobalApplication {
 | 
					public class App extends GlobalApplication {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -15,9 +15,10 @@ import android.widget.AdapterView;
 | 
				
			|||||||
import android.widget.Toast;
 | 
					import android.widget.Toast;
 | 
				
			||||||
import cc.winboll.studio.aes.R;
 | 
					import cc.winboll.studio.aes.R;
 | 
				
			||||||
import cc.winboll.studio.libaes.activitys.DrawerFragmentActivity;
 | 
					import cc.winboll.studio.libaes.activitys.DrawerFragmentActivity;
 | 
				
			||||||
import cc.winboll.studio.libaes.models.DrawerMenuBean;
 | 
					 | 
				
			||||||
import cc.winboll.studio.libaes.dialogs.LocalFileSelectDialog;
 | 
					import cc.winboll.studio.libaes.dialogs.LocalFileSelectDialog;
 | 
				
			||||||
import cc.winboll.studio.libaes.dialogs.StoragePathDialog;
 | 
					import cc.winboll.studio.libaes.dialogs.StoragePathDialog;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libaes.models.DrawerMenuBean;
 | 
				
			||||||
import cc.winboll.studio.libaes.unittests.SecondaryLibraryActivity;
 | 
					import cc.winboll.studio.libaes.unittests.SecondaryLibraryActivity;
 | 
				
			||||||
import cc.winboll.studio.libaes.unittests.TestAButtonFragment;
 | 
					import cc.winboll.studio.libaes.unittests.TestAButtonFragment;
 | 
				
			||||||
import cc.winboll.studio.libaes.unittests.TestASupportToolbarActivity;
 | 
					import cc.winboll.studio.libaes.unittests.TestASupportToolbarActivity;
 | 
				
			||||||
@@ -25,10 +26,10 @@ import cc.winboll.studio.libaes.unittests.TestAToolbarActivity;
 | 
				
			|||||||
import cc.winboll.studio.libaes.unittests.TestDrawerFragmentActivity;
 | 
					import cc.winboll.studio.libaes.unittests.TestDrawerFragmentActivity;
 | 
				
			||||||
import cc.winboll.studio.libaes.unittests.TestViewPageFragment;
 | 
					import cc.winboll.studio.libaes.unittests.TestViewPageFragment;
 | 
				
			||||||
import cc.winboll.studio.libappbase.LogUtils;
 | 
					import cc.winboll.studio.libappbase.LogUtils;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libappbase.ToastUtils;
 | 
				
			||||||
import com.a4455jkjh.colorpicker.ColorPickerDialog;
 | 
					import com.a4455jkjh.colorpicker.ColorPickerDialog;
 | 
				
			||||||
import com.hjq.toast.ToastUtils;
 | 
					 | 
				
			||||||
import java.util.ArrayList;
 | 
					import java.util.ArrayList;
 | 
				
			||||||
import cc.winboll.studio.libaes.winboll.IWinBoLLActivity;
 | 
					import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class MainActivity extends DrawerFragmentActivity implements IWinBoLLActivity {
 | 
					public class MainActivity extends DrawerFragmentActivity implements IWinBoLLActivity {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -122,9 +123,10 @@ public class MainActivity extends DrawerFragmentActivity implements IWinBoLLActi
 | 
				
			|||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public boolean onOptionsItemSelected(MenuItem item) {
 | 
					    public boolean onOptionsItemSelected(MenuItem item) {
 | 
				
			||||||
        int nItemId = item.getItemId();
 | 
					        int nItemId = item.getItemId();
 | 
				
			||||||
//        if (item.getItemId() == R.id.item_log) {
 | 
					        if (item.getItemId() == R.id.item_testactivitymanager) {
 | 
				
			||||||
//            WinBoLLActivityManager.getInstance(this).startWinBoLLActivity(getApplicationContext(), LogActivity.class);
 | 
					            WinBoLLActivityManager.getInstance().startWinBoLLActivity(this, TestActivityManagerActivity.class);
 | 
				
			||||||
//        } else 
 | 
								//ToastUtils.show("item_testactivitymanager");
 | 
				
			||||||
 | 
					        } else 
 | 
				
			||||||
        if (nItemId == R.id.item_atoast) {
 | 
					        if (nItemId == R.id.item_atoast) {
 | 
				
			||||||
            Toast.makeText(getApplication(), "item_testatoast", Toast.LENGTH_SHORT).show();
 | 
					            Toast.makeText(getApplication(), "item_testatoast", Toast.LENGTH_SHORT).show();
 | 
				
			||||||
        } else if (nItemId == R.id.item_atoolbar) {
 | 
					        } else if (nItemId == R.id.item_atoolbar) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					package cc.winboll.studio.aes;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import android.app.Activity;
 | 
				
			||||||
 | 
					import android.os.Bundle;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @Author ZhanGSKen&豆包大模型<zhangsken@qq.com>
 | 
				
			||||||
 | 
					 * @Date 2025/09/28 21:07
 | 
				
			||||||
 | 
					 * @Describe 窗口管理类测试窗口
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					public class TestActivityManagerActivity extends WinBoLLActivity implements IWinBoLLActivity {
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    public static final String TAG = "TestActivityManagerActivity";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public Activity getActivity() {
 | 
				
			||||||
 | 
					        return this;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public String getTag() {
 | 
				
			||||||
 | 
					        return TAG;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    protected void onCreate(Bundle savedInstanceState) {
 | 
				
			||||||
 | 
					        super.onCreate(savedInstanceState);
 | 
				
			||||||
 | 
					        setContentView(R.layout.activity_testactivitymanager);
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										60
									
								
								aes/src/main/java/cc/winboll/studio/aes/WinBoLLActivity.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								aes/src/main/java/cc/winboll/studio/aes/WinBoLLActivity.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,60 @@
 | 
				
			|||||||
 | 
					package cc.winboll.studio.aes;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @Author ZhanGSKen&豆包大模型<zhangsken@qq.com>
 | 
				
			||||||
 | 
					 * @Date 2025/09/29 00:11
 | 
				
			||||||
 | 
					 * @Describe WinBoLL 窗口基础类
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					import android.app.Activity;
 | 
				
			||||||
 | 
					import android.os.Bundle;
 | 
				
			||||||
 | 
					import android.view.MenuItem;
 | 
				
			||||||
 | 
					import androidx.appcompat.app.AppCompatActivity;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libappbase.LogUtils;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class WinBoLLActivity extends AppCompatActivity implements IWinBoLLActivity {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static final String TAG = "WinBoLLActivity";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public Activity getActivity() {
 | 
				
			||||||
 | 
					        return this;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public String getTag() {
 | 
				
			||||||
 | 
					        return TAG;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    protected void onResume() {
 | 
				
			||||||
 | 
					        super.onResume();
 | 
				
			||||||
 | 
					        LogUtils.d(TAG, String.format("onResume %s", getTag()));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public boolean onOptionsItemSelected(MenuItem item) {
 | 
				
			||||||
 | 
					        /*if (item.getItemId() == R.id.item_log) {
 | 
				
			||||||
 | 
					            WinBoLLActivityManager.getInstance().startLogActivity(this);
 | 
				
			||||||
 | 
					            return true;
 | 
				
			||||||
 | 
					        } else if (item.getItemId() == R.id.item_home) {
 | 
				
			||||||
 | 
								startActivity(new Intent(this, MainActivity.class));
 | 
				
			||||||
 | 
					            return true;
 | 
				
			||||||
 | 
					        }*/
 | 
				
			||||||
 | 
					        // 在switch语句中处理每个ID,并在处理完后返回true,未处理的情况返回false。
 | 
				
			||||||
 | 
					        return super.onOptionsItemSelected(item);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    protected void onPostCreate(Bundle savedInstanceState) {
 | 
				
			||||||
 | 
					        super.onPostCreate(savedInstanceState);
 | 
				
			||||||
 | 
					        WinBoLLActivityManager.getInstance().add(this);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    protected void onDestroy() {
 | 
				
			||||||
 | 
					        super.onDestroy();
 | 
				
			||||||
 | 
					        WinBoLLActivityManager.getInstance().registeRemove(this);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										15
									
								
								aes/src/main/res/layout/activity_testactivitymanager.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								aes/src/main/res/layout/activity_testactivitymanager.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<LinearLayout
 | 
				
			||||||
 | 
						xmlns:android="http://schemas.android.com/apk/res/android"
 | 
				
			||||||
 | 
						xmlns:app="http://schemas.android.com/apk/res-auto"
 | 
				
			||||||
 | 
						android:orientation="vertical"
 | 
				
			||||||
 | 
						android:layout_width="match_parent"
 | 
				
			||||||
 | 
						android:layout_height="match_parent">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						<TextView
 | 
				
			||||||
 | 
							android:layout_width="wrap_content"
 | 
				
			||||||
 | 
							android:layout_height="wrap_content"
 | 
				
			||||||
 | 
							android:text="窗口管理类测试窗口"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</LinearLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1,5 +1,8 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
 | 
					<menu xmlns:android="http://schemas.android.com/apk/res/android">
 | 
				
			||||||
 | 
						<item
 | 
				
			||||||
 | 
							android:id="@+id/item_testactivitymanager"
 | 
				
			||||||
 | 
							android:title="TestActivityManager"/>
 | 
				
			||||||
    <item
 | 
					    <item
 | 
				
			||||||
        android:id="@+id/item_log"
 | 
					        android:id="@+id/item_log"
 | 
				
			||||||
        android:title="LogActivity"/>
 | 
					        android:title="LogActivity"/>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,7 +21,7 @@ android {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
dependencies {
 | 
					dependencies {
 | 
				
			||||||
    api fileTree(dir: 'libs', include: ['*.jar'])
 | 
					    api fileTree(dir: 'libs', include: ['*.jar'])
 | 
				
			||||||
    api 'cc.winboll.studio:libapputils:15.10.0'
 | 
					    api 'cc.winboll.studio:libapputils:15.10.2'
 | 
				
			||||||
	api 'cc.winboll.studio:libappbase:15.10.9'
 | 
						api 'cc.winboll.studio:libappbase:15.10.9'
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    // 吐司类库
 | 
					    // 吐司类库
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
#Created by .winboll/winboll_app_build.gradle
 | 
					#Created by .winboll/winboll_app_build.gradle
 | 
				
			||||||
#Sun Sep 28 20:11:37 HKT 2025
 | 
					#Mon Sep 29 01:18:50 HKT 2025
 | 
				
			||||||
stageCount=1
 | 
					stageCount=2
 | 
				
			||||||
libraryProject=libaes
 | 
					libraryProject=libaes
 | 
				
			||||||
baseVersion=15.10
 | 
					baseVersion=15.10
 | 
				
			||||||
publishVersion=15.10.0
 | 
					publishVersion=15.10.1
 | 
				
			||||||
buildCount=0
 | 
					buildCount=0
 | 
				
			||||||
baseBetaVersion=15.10.1
 | 
					baseBetaVersion=15.10.2
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,6 +30,7 @@ import cc.winboll.studio.libaes.views.ADrawerMenuListView;
 | 
				
			|||||||
import cc.winboll.studio.libappbase.LogUtils;
 | 
					import cc.winboll.studio.libappbase.LogUtils;
 | 
				
			||||||
import com.baoyz.widget.PullRefreshLayout;
 | 
					import com.baoyz.widget.PullRefreshLayout;
 | 
				
			||||||
import java.util.ArrayList;
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public abstract class DrawerFragmentActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
 | 
					public abstract class DrawerFragmentActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -174,8 +175,6 @@ public abstract class DrawerFragmentActivity extends AppCompatActivity implement
 | 
				
			|||||||
            for (int i = Integer.MIN_VALUE; i < Integer.MAX_VALUE; i++) {
 | 
					            for (int i = Integer.MIN_VALUE; i < Integer.MAX_VALUE; i++) {
 | 
				
			||||||
                getString(i);
 | 
					                getString(i);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
//        } else if (R.id.item_log == item.getItemId()) {
 | 
					 | 
				
			||||||
//            GlobalApplication.getWinBoLLActivityManager().startLogActivity(this);
 | 
					 | 
				
			||||||
        } else if (R.id.item_about == item.getItemId()) {
 | 
					        } else if (R.id.item_about == item.getItemId()) {
 | 
				
			||||||
            LogUtils.d(TAG, "onAbout");
 | 
					            LogUtils.d(TAG, "onAbout");
 | 
				
			||||||
        } else if (android.R.id.home == item.getItemId()) {
 | 
					        } else if (android.R.id.home == item.getItemId()) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,11 +1,12 @@
 | 
				
			|||||||
package cc.winboll.studio.libaes.winboll;
 | 
					package cc.winboll.studio.libaes.interfaces;
 | 
				
			||||||
import android.app.Activity;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @Author ZhanGSKen<zhangsken@qq.com>
 | 
					 * @Author ZhanGSKen<zhangsken@qq.com>
 | 
				
			||||||
 * @Date 2025/05/10 09:34
 | 
					 * @Date 2025/05/10 09:34
 | 
				
			||||||
 * @Describe WinBoLL 窗口操作接口
 | 
					 * @Describe WinBoLL 窗口操作接口
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					 import android.app.Activity;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
public abstract interface IWinBoLLActivity {
 | 
					public abstract interface IWinBoLLActivity {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final String TAG = "IWinBoLLActivity";
 | 
					    public static final String TAG = "IWinBoLLActivity";
 | 
				
			||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
package cc.winboll.studio.libaes.winboll;
 | 
					package cc.winboll.studio.libaes.models;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @Author ZhanGSKen<zhangsken@qq.com>
 | 
					 * @Author ZhanGSKen<zhangsken@qq.com>
 | 
				
			||||||
@@ -1,92 +0,0 @@
 | 
				
			|||||||
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;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
@@ -7,7 +7,7 @@ import android.view.MenuItem;
 | 
				
			|||||||
import android.widget.Toast;
 | 
					import android.widget.Toast;
 | 
				
			||||||
import cc.winboll.studio.libaes.R;
 | 
					import cc.winboll.studio.libaes.R;
 | 
				
			||||||
import cc.winboll.studio.libaes.activitys.DrawerFragmentActivity;
 | 
					import cc.winboll.studio.libaes.activitys.DrawerFragmentActivity;
 | 
				
			||||||
import cc.winboll.studio.libaes.winboll.IWinBoLLActivity;
 | 
					import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @Author ZhanGSKen<zhangsken@qq.com>
 | 
					 * @Author ZhanGSKen<zhangsken@qq.com>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,8 +10,8 @@ import android.os.Bundle;
 | 
				
			|||||||
import androidx.appcompat.app.AppCompatActivity;
 | 
					import androidx.appcompat.app.AppCompatActivity;
 | 
				
			||||||
import androidx.appcompat.widget.Toolbar;
 | 
					import androidx.appcompat.widget.Toolbar;
 | 
				
			||||||
import cc.winboll.studio.libaes.R;
 | 
					import cc.winboll.studio.libaes.R;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
 | 
				
			||||||
import cc.winboll.studio.libaes.utils.AESThemeUtil;
 | 
					import cc.winboll.studio.libaes.utils.AESThemeUtil;
 | 
				
			||||||
import cc.winboll.studio.libaes.winboll.IWinBoLLActivity;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class TestASupportToolbarActivity extends AppCompatActivity implements IWinBoLLActivity  {
 | 
					public class TestASupportToolbarActivity extends AppCompatActivity implements IWinBoLLActivity  {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,10 +14,10 @@ import android.widget.Toast;
 | 
				
			|||||||
import androidx.fragment.app.Fragment;
 | 
					import androidx.fragment.app.Fragment;
 | 
				
			||||||
import cc.winboll.studio.libaes.R;
 | 
					import cc.winboll.studio.libaes.R;
 | 
				
			||||||
import cc.winboll.studio.libaes.activitys.DrawerFragmentActivity;
 | 
					import cc.winboll.studio.libaes.activitys.DrawerFragmentActivity;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
 | 
				
			||||||
import cc.winboll.studio.libaes.models.DrawerMenuBean;
 | 
					import cc.winboll.studio.libaes.models.DrawerMenuBean;
 | 
				
			||||||
import cc.winboll.studio.libappbase.LogUtils;
 | 
					import cc.winboll.studio.libappbase.LogUtils;
 | 
				
			||||||
import java.util.ArrayList;
 | 
					import java.util.ArrayList;
 | 
				
			||||||
import cc.winboll.studio.libaes.winboll.IWinBoLLActivity;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class TestDrawerFragmentActivity extends DrawerFragmentActivity implements IWinBoLLActivity {
 | 
					public class TestDrawerFragmentActivity extends DrawerFragmentActivity implements IWinBoLLActivity {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
package cc.winboll.studio.libaes.winboll;
 | 
					package cc.winboll.studio.libaes.utils;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @Author ZhanGSKen<zhangsken@qq.com>
 | 
					 * @Author ZhanGSKen<zhangsken@qq.com>
 | 
				
			||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
package cc.winboll.studio.libaes.winboll;
 | 
					package cc.winboll.studio.libaes.utils;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @Author ZhanGSKen<zhangsken@qq.com>
 | 
					 * @Author ZhanGSKen<zhangsken@qq.com>
 | 
				
			||||||
@@ -10,16 +10,16 @@ package cc.winboll.studio.libaes.winboll;
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
import android.app.Activity;
 | 
					import android.app.Activity;
 | 
				
			||||||
import android.app.ActivityManager;
 | 
					import android.app.ActivityManager;
 | 
				
			||||||
import android.app.TaskStackBuilder;
 | 
					 | 
				
			||||||
import android.content.Context;
 | 
					import android.content.Context;
 | 
				
			||||||
import android.content.Intent;
 | 
					import android.content.Intent;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libaes.interfaces.IWinBoLLActivity;
 | 
				
			||||||
import cc.winboll.studio.libappbase.GlobalApplication;
 | 
					import cc.winboll.studio.libappbase.GlobalApplication;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libappbase.LogActivity;
 | 
				
			||||||
import cc.winboll.studio.libappbase.LogUtils;
 | 
					import cc.winboll.studio.libappbase.LogUtils;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libappbase.ToastUtils;
 | 
				
			||||||
import java.util.HashMap;
 | 
					import java.util.HashMap;
 | 
				
			||||||
import java.util.Iterator;
 | 
					import java.util.Iterator;
 | 
				
			||||||
import java.util.Map;
 | 
					import java.util.Map;
 | 
				
			||||||
import cc.winboll.studio.libappbase.LogActivity;
 | 
					 | 
				
			||||||
import cc.winboll.studio.libappbase.ToastUtils;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class WinBoLLActivityManager {
 | 
					public class WinBoLLActivityManager {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
package cc.winboll.studio.libaes.winboll;
 | 
					package cc.winboll.studio.libaes.views;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @Author ZhanGSKen<zhangsken@qq.com>
 | 
					 * @Author ZhanGSKen<zhangsken@qq.com>
 | 
				
			||||||
@@ -17,7 +17,10 @@ import android.view.View;
 | 
				
			|||||||
import android.widget.EditText;
 | 
					import android.widget.EditText;
 | 
				
			||||||
import android.widget.LinearLayout;
 | 
					import android.widget.LinearLayout;
 | 
				
			||||||
import cc.winboll.studio.libaes.R;
 | 
					import cc.winboll.studio.libaes.R;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libaes.dialogs.YesNoAlertDialog;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libaes.models.APPInfo;
 | 
				
			||||||
import cc.winboll.studio.libaes.utils.AppVersionUtils;
 | 
					import cc.winboll.studio.libaes.utils.AppVersionUtils;
 | 
				
			||||||
 | 
					import cc.winboll.studio.libaes.utils.WinBoLLActivityManager;
 | 
				
			||||||
import cc.winboll.studio.libappbase.GlobalApplication;
 | 
					import cc.winboll.studio.libappbase.GlobalApplication;
 | 
				
			||||||
import cc.winboll.studio.libappbase.LogUtils;
 | 
					import cc.winboll.studio.libappbase.LogUtils;
 | 
				
			||||||
import cc.winboll.studio.libapputils.utils.PrefUtils;
 | 
					import cc.winboll.studio.libapputils.utils.PrefUtils;
 | 
				
			||||||
@@ -31,8 +34,6 @@ import okhttp3.Credentials;
 | 
				
			|||||||
import okhttp3.OkHttpClient;
 | 
					import okhttp3.OkHttpClient;
 | 
				
			||||||
import okhttp3.Request;
 | 
					import okhttp3.Request;
 | 
				
			||||||
import okhttp3.Response;
 | 
					import okhttp3.Response;
 | 
				
			||||||
import mehdi.sakout.aboutpage.BuildConfig;
 | 
					 | 
				
			||||||
import cc.winboll.studio.libaes.dialogs.YesNoAlertDialog;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class AboutView extends LinearLayout {
 | 
					public class AboutView extends LinearLayout {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -43,7 +44,7 @@ public class AboutView extends LinearLayout {
 | 
				
			|||||||
    static Context _mContext;
 | 
					    static Context _mContext;
 | 
				
			||||||
    APPInfo mAPPInfo;
 | 
					    APPInfo mAPPInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    WinBoLLServiceStatusView mWinBoLLServiceStatusView;
 | 
					    //WinBoLLServiceStatusView mWinBoLLServiceStatusView;
 | 
				
			||||||
    OnRequestDevUserInfoAutofillListener mOnRequestDevUserInfoAutofillListener;
 | 
					    OnRequestDevUserInfoAutofillListener mOnRequestDevUserInfoAutofillListener;
 | 
				
			||||||
    String mszAppName = "";
 | 
					    String mszAppName = "";
 | 
				
			||||||
    String mszAppAPKFolderName = "";
 | 
					    String mszAppAPKFolderName = "";
 | 
				
			||||||
@@ -122,35 +123,8 @@ public class AboutView extends LinearLayout {
 | 
				
			|||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            mszGitea = "https://gitea.winboll.cc/" + mAPPInfo.getAppGitOwner() + "/" + mszAppGitName + "/src/branch/" + mAPPInfo.getAppGitAPPBranch() + "/" + mAPPInfo.getAppGitAPPSubProjectFolder();
 | 
					            mszGitea = "https://gitea.winboll.cc/" + mAPPInfo.getAppGitOwner() + "/" + mszAppGitName + "/src/branch/" + mAPPInfo.getAppGitAPPBranch() + "/" + mAPPInfo.getAppGitAPPSubProjectFolder();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							addView(createAboutPage());
 | 
				
			||||||
        if (GlobalApplication.isDebuging()) {
 | 
					 | 
				
			||||||
            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", ""));
 | 
					 | 
				
			||||||
            //mDevelopHostConnectionStatusView = new DevelopHostConnectionStatusView(context);
 | 
					 | 
				
			||||||
            mWinBoLLServiceStatusView = addedView.findViewById(R.id.viewaboutdevWinBoLLServiceStatusView1);
 | 
					 | 
				
			||||||
            mWinBoLLServiceStatusView.setServerHost(mszWinBoLLServerHost);
 | 
					 | 
				
			||||||
            mWinBoLLServiceStatusView.setAuthInfo(metDevUserName.getText().toString(), metDevUserPassword.getText().toString());
 | 
					 | 
				
			||||||
            //llMain.addView(mDevelopHostConnectionStatusView);
 | 
					 | 
				
			||||||
            llMain.addView(createAboutPage());
 | 
					 | 
				
			||||||
            addView(addedView);
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            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);
 | 
					 | 
				
			||||||
            mWinBoLLServiceStatusView = addedView.findViewById(R.id.viewaboutwwwWinBoLLServiceStatusView1);
 | 
					 | 
				
			||||||
            mWinBoLLServiceStatusView.setServerHost(mszWinBoLLServerHost);
 | 
					 | 
				
			||||||
            mWinBoLLServiceStatusView.setAuthInfo("", "");
 | 
					 | 
				
			||||||
            //llMain.addView(mDevelopHostConnectionStatusView);
 | 
					 | 
				
			||||||
            llMain.addView(createAboutPage());
 | 
					 | 
				
			||||||
            addView(addedView);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // 初始化标题栏
 | 
					        // 初始化标题栏
 | 
				
			||||||
        //setSubtitle(getContext().getString(R.string.text_about));
 | 
					        //setSubtitle(getContext().getString(R.string.text_about));
 | 
				
			||||||
@@ -1,97 +0,0 @@
 | 
				
			|||||||
package cc.winboll.studio.libaes.winboll;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * @Author ZhanGSKen<zhangsken@qq.com>
 | 
					 | 
				
			||||||
 * @Date 2025/03/28 19:12:12
 | 
					 | 
				
			||||||
 * @Describe 应用主要服务组件类守护进程服务组件类
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
import android.app.Service;
 | 
					 | 
				
			||||||
import android.content.ComponentName;
 | 
					 | 
				
			||||||
import android.content.Context;
 | 
					 | 
				
			||||||
import android.content.Intent;
 | 
					 | 
				
			||||||
import android.content.ServiceConnection;
 | 
					 | 
				
			||||||
import android.os.IBinder;
 | 
					 | 
				
			||||||
import cc.winboll.studio.libaes.models.WinBoLLClientServiceBean;
 | 
					 | 
				
			||||||
import cc.winboll.studio.libaes.winboll.AssistantService;
 | 
					 | 
				
			||||||
import cc.winboll.studio.libapputils.utils.ServiceUtils;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
public class AssistantService extends Service {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public final static String TAG = "AssistantService";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    WinBoLLClientServiceBean mWinBoLLServiceBean;
 | 
					 | 
				
			||||||
    MyServiceConnection mMyServiceConnection;
 | 
					 | 
				
			||||||
    volatile boolean mIsServiceRunning;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @Override
 | 
					 | 
				
			||||||
    public IBinder onBind(Intent intent) {
 | 
					 | 
				
			||||||
        return null;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @Override
 | 
					 | 
				
			||||||
    public void onCreate() {
 | 
					 | 
				
			||||||
        super.onCreate();
 | 
					 | 
				
			||||||
        mWinBoLLServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(this);
 | 
					 | 
				
			||||||
        if (mMyServiceConnection == null) {
 | 
					 | 
				
			||||||
            mMyServiceConnection = new MyServiceConnection();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        // 设置运行参数
 | 
					 | 
				
			||||||
        mIsServiceRunning = false;
 | 
					 | 
				
			||||||
        run();
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @Override
 | 
					 | 
				
			||||||
    public int onStartCommand(Intent intent, int flags, int startId) {
 | 
					 | 
				
			||||||
        run();
 | 
					 | 
				
			||||||
        return START_STICKY;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @Override
 | 
					 | 
				
			||||||
    public void onDestroy() {
 | 
					 | 
				
			||||||
        mIsServiceRunning = false;
 | 
					 | 
				
			||||||
        super.onDestroy();
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    //
 | 
					 | 
				
			||||||
    // 运行服务内容
 | 
					 | 
				
			||||||
    //
 | 
					 | 
				
			||||||
    void run() {
 | 
					 | 
				
			||||||
        mWinBoLLServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(this);
 | 
					 | 
				
			||||||
        if (mWinBoLLServiceBean.isEnable()) {
 | 
					 | 
				
			||||||
            if (mIsServiceRunning == false) {
 | 
					 | 
				
			||||||
                // 设置运行状态
 | 
					 | 
				
			||||||
                mIsServiceRunning = true;
 | 
					 | 
				
			||||||
                // 唤醒和绑定主进程
 | 
					 | 
				
			||||||
                wakeupAndBindMain();
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    //
 | 
					 | 
				
			||||||
    // 唤醒和绑定主进程
 | 
					 | 
				
			||||||
    //
 | 
					 | 
				
			||||||
    void wakeupAndBindMain() {
 | 
					 | 
				
			||||||
        if (ServiceUtils.isServiceAlive(getApplicationContext(), WinBoLLClientService.class.getName()) == false) {
 | 
					 | 
				
			||||||
            startForegroundService(new Intent(AssistantService.this, WinBoLLClientService.class));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        bindService(new Intent(AssistantService.this, WinBoLLClientService.class), mMyServiceConnection, Context.BIND_IMPORTANT);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    //
 | 
					 | 
				
			||||||
    // 主进程与守护进程连接时需要用到此类
 | 
					 | 
				
			||||||
    //
 | 
					 | 
				
			||||||
    class MyServiceConnection implements ServiceConnection {
 | 
					 | 
				
			||||||
        @Override
 | 
					 | 
				
			||||||
        public void onServiceConnected(ComponentName name, IBinder service) {
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        @Override
 | 
					 | 
				
			||||||
        public void onServiceDisconnected(ComponentName name) {
 | 
					 | 
				
			||||||
            mWinBoLLServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(AssistantService.this);
 | 
					 | 
				
			||||||
            if (mWinBoLLServiceBean.isEnable()) {
 | 
					 | 
				
			||||||
                wakeupAndBindMain();
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,35 +0,0 @@
 | 
				
			|||||||
package cc.winboll.studio.libaes.winboll;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * @Author ZhanGSKen<zhangsken@qq.com>
 | 
					 | 
				
			||||||
 * @Date 2025/03/28 19:11:27
 | 
					 | 
				
			||||||
 * @Describe WinBoLL UI 状态图标枚举
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
import cc.winboll.studio.libaes.R;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
public enum EWUIStatusIconDrawable {
 | 
					 | 
				
			||||||
    NORMAL(0),
 | 
					 | 
				
			||||||
    NEWS(1)
 | 
					 | 
				
			||||||
    ;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    static final String TAG = "WUIStatusIconDrawable";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    static String[] _mlistCNName = { "正常", "新的消息" };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private int value = 0;
 | 
					 | 
				
			||||||
    private EWUIStatusIconDrawable(int value) {    //必须是private的,否则编译错误
 | 
					 | 
				
			||||||
        this.value = value;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public static int getIconDrawableId(EWUIStatusIconDrawable drawableId) {
 | 
					 | 
				
			||||||
        int res;
 | 
					 | 
				
			||||||
        switch(drawableId){
 | 
					 | 
				
			||||||
            case NEWS :
 | 
					 | 
				
			||||||
                res = R.drawable.ic_winbollbeta;
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
            default :
 | 
					 | 
				
			||||||
                res = R.drawable.ic_winboll;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        return res;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,40 +0,0 @@
 | 
				
			|||||||
package cc.winboll.studio.libaes.winboll;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * @Author ZhanGSKen<zhangsken@qq.com>
 | 
					 | 
				
			||||||
 * @Date 2025/05/10 10:13
 | 
					 | 
				
			||||||
 * @Describe WinBoLL 系列应用通用管理类
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
import android.content.Context;
 | 
					 | 
				
			||||||
import android.content.Intent;
 | 
					 | 
				
			||||||
import cc.winboll.studio.libappbase.LogUtils;
 | 
					 | 
				
			||||||
import cc.winboll.studio.libaes.models.WinBoLLModel;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
public class WinBoLL {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public static final String TAG = "WinBoLL";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public static final String ACTION_BIND = WinBoLL.class.getName() + ".ACTION_BIND";
 | 
					 | 
				
			||||||
    public static final String EXTRA_WINBOLLMODEL = "EXTRA_WINBOLLMODEL";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public static void bindToAPPBase(Context context, String appMainService) {
 | 
					 | 
				
			||||||
        LogUtils.d(TAG, "bindToAPPBase(...)");
 | 
					 | 
				
			||||||
        String toPackage = "cc.winboll.studio.appbase";
 | 
					 | 
				
			||||||
        startBind(context, toPackage, appMainService);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public static void bindToAPPBaseBeta(Context context, String appMainService) {
 | 
					 | 
				
			||||||
        LogUtils.d(TAG, "bindToAPPBaseBeta(...)");
 | 
					 | 
				
			||||||
        String toPackage = "cc.winboll.studio.appbase.beta";
 | 
					 | 
				
			||||||
        startBind(context, toPackage, appMainService);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    static void startBind(Context context, String toPackage, String appMainService) {
 | 
					 | 
				
			||||||
        Intent intent = new Intent(ACTION_BIND);
 | 
					 | 
				
			||||||
        intent.putExtra(EXTRA_WINBOLLMODEL, (new WinBoLLModel(toPackage, appMainService)).toString());
 | 
					 | 
				
			||||||
        intent.setPackage(toPackage);
 | 
					 | 
				
			||||||
        LogUtils.d(TAG, String.format("ACTION_BIND :\nTo Package : %s\nAPP Main Service : %s", toPackage, appMainService));
 | 
					 | 
				
			||||||
        context.sendBroadcast(intent);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,21 +0,0 @@
 | 
				
			|||||||
package cc.winboll.studio.libaes.winboll;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import android.app.Service;
 | 
					 | 
				
			||||||
import android.content.Intent;
 | 
					 | 
				
			||||||
import android.os.IBinder;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * @Author ZhanGSKen
 | 
					 | 
				
			||||||
 * @Date 2025/05/03 19:28
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
public class WinBoLLClientService extends Service {
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    public static final String TAG = "WinBoLLClientService";
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    @Override
 | 
					 | 
				
			||||||
    public IBinder onBind(Intent intent) {
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        return null;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,38 +0,0 @@
 | 
				
			|||||||
package cc.winboll.studio.libaes.winboll;
 | 
					 | 
				
			||||||
import android.content.Context;
 | 
					 | 
				
			||||||
import android.util.AttributeSet;
 | 
					 | 
				
			||||||
import android.widget.LinearLayout;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * @Author ZhanGSKen
 | 
					 | 
				
			||||||
 * @Date 2025/05/03 19:14
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
public class WinBoLLServiceStatusView extends LinearLayout {
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    public static final String TAG = "WinBoLLServiceStatusView";
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    public WinBoLLServiceStatusView(Context context) {
 | 
					 | 
				
			||||||
        super(context);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public WinBoLLServiceStatusView(Context context, AttributeSet attrs) {
 | 
					 | 
				
			||||||
        super(context, attrs);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public WinBoLLServiceStatusView(Context context, AttributeSet attrs, int defStyleAttr) {
 | 
					 | 
				
			||||||
        super(context, attrs, defStyleAttr);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public WinBoLLServiceStatusView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
 | 
					 | 
				
			||||||
        super(context, attrs, defStyleAttr, defStyleRes);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    void setServerHost(String szWinBoLLServerHost) {
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    void setAuthInfo(String szDevUserName, String szDevUserPassword) {
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,64 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					 | 
				
			||||||
<LinearLayout
 | 
					 | 
				
			||||||
    xmlns:android="http://schemas.android.com/apk/res/android"
 | 
					 | 
				
			||||||
    android:orientation="vertical"
 | 
					 | 
				
			||||||
    android:layout_width="match_parent"
 | 
					 | 
				
			||||||
    android:layout_height="match_parent"
 | 
					 | 
				
			||||||
    android:id="@+id/viewaboutdevLinearLayout1">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <LinearLayout
 | 
					 | 
				
			||||||
        android:orientation="horizontal"
 | 
					 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
        android:gravity="center_vertical">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <TextView
 | 
					 | 
				
			||||||
            android:layout_width="180dp"
 | 
					 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
            android:text="DevelopUserName :"/>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <EditText
 | 
					 | 
				
			||||||
            android:layout_width="0dp"
 | 
					 | 
				
			||||||
            android:ems="10"
 | 
					 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
            android:layout_weight="1.0"
 | 
					 | 
				
			||||||
            android:id="@+id/viewaboutdevEditText1"/>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    </LinearLayout>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <LinearLayout
 | 
					 | 
				
			||||||
        android:orientation="horizontal"
 | 
					 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
        android:gravity="center_vertical">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <TextView
 | 
					 | 
				
			||||||
            android:layout_width="180dp"
 | 
					 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
            android:text="DevelopUserPassword :"/>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <EditText
 | 
					 | 
				
			||||||
            android:layout_width="0dp"
 | 
					 | 
				
			||||||
            android:inputType="textPassword"
 | 
					 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
            android:ems="10"
 | 
					 | 
				
			||||||
            android:layout_weight="1.0"
 | 
					 | 
				
			||||||
            android:id="@+id/viewaboutdevEditText2"/>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    </LinearLayout>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <LinearLayout
 | 
					 | 
				
			||||||
        android:orientation="horizontal"
 | 
					 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
        android:gravity="center_horizontal">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <cc.winboll.studio.libaes.winboll.WinBoLLServiceStatusView
 | 
					 | 
				
			||||||
            android:layout_width="wrap_content"
 | 
					 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
            android:id="@+id/viewaboutdevWinBoLLServiceStatusView1"/>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    </LinearLayout>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</LinearLayout>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -1,22 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					 | 
				
			||||||
<LinearLayout
 | 
					 | 
				
			||||||
    xmlns:android="http://schemas.android.com/apk/res/android"
 | 
					 | 
				
			||||||
    android:orientation="vertical"
 | 
					 | 
				
			||||||
    android:layout_width="match_parent"
 | 
					 | 
				
			||||||
    android:layout_height="match_parent"
 | 
					 | 
				
			||||||
    android:id="@+id/viewaboutwwwLinearLayout1">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <LinearLayout
 | 
					 | 
				
			||||||
        android:orientation="horizontal"
 | 
					 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
        android:gravity="center_horizontal">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <cc.winboll.studio.libaes.winboll.WinBoLLServiceStatusView
 | 
					 | 
				
			||||||
            android:layout_width="wrap_content"
 | 
					 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
            android:id="@+id/viewaboutwwwWinBoLLServiceStatusView1"/>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    </LinearLayout>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</LinearLayout>
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user