Merge remote-tracking branch 'origin/aes' into appbase
This commit is contained in:
		@@ -24,12 +24,12 @@ android {
 | 
				
			|||||||
    defaultConfig {
 | 
					    defaultConfig {
 | 
				
			||||||
        applicationId "cc.winboll.studio.aes"
 | 
					        applicationId "cc.winboll.studio.aes"
 | 
				
			||||||
        minSdkVersion 24
 | 
					        minSdkVersion 24
 | 
				
			||||||
        targetSdkVersion 29
 | 
					        targetSdkVersion 30
 | 
				
			||||||
        versionCode 1
 | 
					        versionCode 1
 | 
				
			||||||
        // versionName 更新后需要手动设置 
 | 
					        // versionName 更新后需要手动设置 
 | 
				
			||||||
        // 项目模块目录的 build.gradle 文件的 stageCount=0
 | 
					        // 项目模块目录的 build.gradle 文件的 stageCount=0
 | 
				
			||||||
        // Gradle编译环境下合起来的 versionName 就是 "${versionName}.0"
 | 
					        // Gradle编译环境下合起来的 versionName 就是 "${versionName}.0"
 | 
				
			||||||
        versionName "15.2" 
 | 
					        versionName "15.6" 
 | 
				
			||||||
        if(true) {
 | 
					        if(true) {
 | 
				
			||||||
            versionName = genVersionName("${versionName}")
 | 
					            versionName = genVersionName("${versionName}")
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
#Created by .winboll/winboll_app_build.gradle
 | 
					#Created by .winboll/winboll_app_build.gradle
 | 
				
			||||||
#Thu Apr 03 11:14:05 HKT 2025
 | 
					#Tue Apr 29 15:14:41 HKT 2025
 | 
				
			||||||
stageCount=7
 | 
					stageCount=1
 | 
				
			||||||
libraryProject=libaes
 | 
					libraryProject=libaes
 | 
				
			||||||
baseVersion=15.2
 | 
					baseVersion=15.6
 | 
				
			||||||
publishVersion=15.2.6
 | 
					publishVersion=15.6.0
 | 
				
			||||||
buildCount=0
 | 
					buildCount=0
 | 
				
			||||||
baseBetaVersion=15.2.7
 | 
					baseBetaVersion=15.6.1
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,14 +10,13 @@ import android.content.Context;
 | 
				
			|||||||
import android.os.Bundle;
 | 
					import android.os.Bundle;
 | 
				
			||||||
import android.view.ViewGroup;
 | 
					import android.view.ViewGroup;
 | 
				
			||||||
import android.widget.LinearLayout;
 | 
					import android.widget.LinearLayout;
 | 
				
			||||||
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.winboll.APPInfo;
 | 
				
			||||||
import cc.winboll.studio.libaes.winboll.AboutView;
 | 
					import cc.winboll.studio.libaes.winboll.AboutView;
 | 
				
			||||||
import cc.winboll.studio.libappbase.GlobalApplication;
 | 
					import cc.winboll.studio.libappbase.GlobalApplication;
 | 
				
			||||||
import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
 | 
					import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class AboutActivity extends WinBollActivity implements IWinBollActivity {
 | 
					public class AboutActivity extends WinBoLLActivity implements IWinBoLLActivity {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final String TAG = "AboutActivity";
 | 
					    public static final String TAG = "AboutActivity";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -64,13 +63,13 @@ public class AboutActivity extends WinBollActivity implements IWinBollActivity {
 | 
				
			|||||||
        );
 | 
					        );
 | 
				
			||||||
        layout.addView(aboutView, params);
 | 
					        layout.addView(aboutView, params);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        GlobalApplication.getWinBollActivityManager().add(this);
 | 
					        GlobalApplication.getWinBoLLActivityManager().add(this);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    protected void onDestroy() {
 | 
					    protected void onDestroy() {
 | 
				
			||||||
        super.onDestroy();
 | 
					        super.onDestroy();
 | 
				
			||||||
        GlobalApplication.getWinBollActivityManager().registeRemove(this);
 | 
					        GlobalApplication.getWinBoLLActivityManager().registeRemove(this);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public AboutView CreateAboutView() {
 | 
					    public AboutView CreateAboutView() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,6 +8,7 @@ package cc.winboll.studio.aes;
 | 
				
			|||||||
import android.view.Gravity;
 | 
					import android.view.Gravity;
 | 
				
			||||||
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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class App extends GlobalApplication {
 | 
					public class App extends GlobalApplication {
 | 
				
			||||||
@@ -21,8 +22,8 @@ public class App extends GlobalApplication {
 | 
				
			|||||||
        // 初始化 Toast 框架
 | 
					        // 初始化 Toast 框架
 | 
				
			||||||
        ToastUtils.init(this);
 | 
					        ToastUtils.init(this);
 | 
				
			||||||
        // 设置 Toast 布局样式
 | 
					        // 设置 Toast 布局样式
 | 
				
			||||||
        ToastUtils.setView(R.layout.view_toast);
 | 
					        //ToastUtils.setView(R.layout.view_toast);
 | 
				
			||||||
        //ToastUtils.setStyle(new WhiteToastStyle());
 | 
					        ToastUtils.setStyle(new WhiteToastStyle());
 | 
				
			||||||
        ToastUtils.setGravity(Gravity.BOTTOM, 0, 200);
 | 
					        ToastUtils.setGravity(Gravity.BOTTOM, 0, 200);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,12 +25,12 @@ 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.winboll.IWinBollActivity;
 | 
					import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity;
 | 
				
			||||||
import com.a4455jkjh.colorpicker.ColorPickerDialog;
 | 
					import com.a4455jkjh.colorpicker.ColorPickerDialog;
 | 
				
			||||||
import com.hjq.toast.ToastUtils;
 | 
					import com.hjq.toast.ToastUtils;
 | 
				
			||||||
import java.util.ArrayList;
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class MainActivity extends DrawerFragmentActivity implements IWinBollActivity {
 | 
					public class MainActivity extends DrawerFragmentActivity implements IWinBoLLActivity {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final String TAG = "MainActivity";
 | 
					    public static final String TAG = "MainActivity";
 | 
				
			||||||
@@ -123,7 +123,7 @@ public class MainActivity extends DrawerFragmentActivity implements IWinBollActi
 | 
				
			|||||||
    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_log) {
 | 
				
			||||||
//            WinBollActivityManager.getInstance(this).startWinBollActivity(getApplicationContext(), LogActivity.class);
 | 
					//            WinBoLLActivityManager.getInstance(this).startWinBoLLActivity(getApplicationContext(), LogActivity.class);
 | 
				
			||||||
//        } else 
 | 
					//        } 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();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,17 +5,17 @@ import android.os.Bundle;
 | 
				
			|||||||
import androidx.appcompat.app.AppCompatActivity;
 | 
					import androidx.appcompat.app.AppCompatActivity;
 | 
				
			||||||
import cc.winboll.studio.libaes.beans.AESThemeBean;
 | 
					import cc.winboll.studio.libaes.beans.AESThemeBean;
 | 
				
			||||||
import cc.winboll.studio.libaes.utils.AESThemeUtil;
 | 
					import cc.winboll.studio.libaes.utils.AESThemeUtil;
 | 
				
			||||||
import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
 | 
					import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity;
 | 
				
			||||||
import android.view.MenuItem;
 | 
					import android.view.MenuItem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @Author ZhanGSKen@AliYun.Com
 | 
					 * @Author ZhanGSKen@AliYun.Com
 | 
				
			||||||
 * @Date 2025/03/30 00:34:02
 | 
					 * @Date 2025/03/30 00:34:02
 | 
				
			||||||
 * @Describe WinBoll 活动窗口通用基类
 | 
					 * @Describe WinBoLL 活动窗口通用基类
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
public class WinBollActivity extends AppCompatActivity implements IWinBollActivity {
 | 
					public class WinBoLLActivity extends AppCompatActivity implements IWinBoLLActivity {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final String TAG = "WinBollActivity";
 | 
					    public static final String TAG = "WinBoLLActivity";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    protected volatile AESThemeBean.ThemeType mThemeType;
 | 
					    protected volatile AESThemeBean.ThemeType mThemeType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -9,7 +9,7 @@ android {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    defaultConfig {
 | 
					    defaultConfig {
 | 
				
			||||||
        minSdkVersion 24
 | 
					        minSdkVersion 24
 | 
				
			||||||
        targetSdkVersion 29
 | 
					        targetSdkVersion 30
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    buildTypes {
 | 
					    buildTypes {
 | 
				
			||||||
        release {
 | 
					        release {
 | 
				
			||||||
@@ -45,12 +45,12 @@ dependencies {
 | 
				
			|||||||
    api 'com.squareup.okhttp3:okhttp:4.4.1'
 | 
					    api 'com.squareup.okhttp3:okhttp:4.4.1'
 | 
				
			||||||
    // AndroidX 类库
 | 
					    // AndroidX 类库
 | 
				
			||||||
    api 'androidx.appcompat:appcompat:1.1.0'
 | 
					    api 'androidx.appcompat:appcompat:1.1.0'
 | 
				
			||||||
    api 'com.google.android.material:material:1.4.0'
 | 
					    //api 'com.google.android.material:material:1.4.0'
 | 
				
			||||||
    //api 'androidx.viewpager:viewpager:1.0.0'
 | 
					    //api 'androidx.viewpager:viewpager:1.0.0'
 | 
				
			||||||
    //api 'androidx.vectordrawable:vectordrawable:1.1.0'
 | 
					    //api 'androidx.vectordrawable:vectordrawable:1.1.0'
 | 
				
			||||||
    //api 'androidx.vectordrawable:vectordrawable-animated:1.1.0'
 | 
					    //api 'androidx.vectordrawable:vectordrawable-animated:1.1.0'
 | 
				
			||||||
    //api 'androidx.fragment:fragment:1.1.0'
 | 
					    //api 'androidx.fragment:fragment:1.1.0'
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    api 'cc.winboll.studio:libapputils:15.2.2'
 | 
					    api 'cc.winboll.studio:libapputils:15.3.4'
 | 
				
			||||||
    api 'cc.winboll.studio:libappbase:15.2.2'
 | 
					    api 'cc.winboll.studio:libappbase:15.7.6'
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
#Created by .winboll/winboll_app_build.gradle
 | 
					#Created by .winboll/winboll_app_build.gradle
 | 
				
			||||||
#Thu Apr 03 11:13:53 HKT 2025
 | 
					#Tue Apr 29 15:14:21 HKT 2025
 | 
				
			||||||
stageCount=7
 | 
					stageCount=1
 | 
				
			||||||
libraryProject=libaes
 | 
					libraryProject=libaes
 | 
				
			||||||
baseVersion=15.2
 | 
					baseVersion=15.6
 | 
				
			||||||
publishVersion=15.2.6
 | 
					publishVersion=15.6.0
 | 
				
			||||||
buildCount=0
 | 
					buildCount=0
 | 
				
			||||||
baseBetaVersion=15.2.7
 | 
					baseBetaVersion=15.6.1
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,13 +17,13 @@
 | 
				
			|||||||
        <activity android:name="cc.winboll.studio.libaes.unittests.TestASupportToolbarActivity"
 | 
					        <activity android:name="cc.winboll.studio.libaes.unittests.TestASupportToolbarActivity"
 | 
				
			||||||
            android:exported="true"/>
 | 
					            android:exported="true"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <service android:name="cc.winboll.studio.libaes.winboll.WinBollClientService"
 | 
					        <service android:name="cc.winboll.studio.libaes.winboll.WinBoLLClientService"
 | 
				
			||||||
            android:exported="true"/>
 | 
					            android:exported="true"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <service android:name="cc.winboll.studio.libaes.winboll.AssistantService"
 | 
					        <service android:name="cc.winboll.studio.libaes.winboll.AssistantService"
 | 
				
			||||||
            android:exported="true"/>
 | 
					            android:exported="true"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <service android:name="cc.winboll.studio.libaes.winboll.WinBollMail"
 | 
					        <service android:name="cc.winboll.studio.libaes.winboll.WinBoLLMail"
 | 
				
			||||||
            android:exported="true"/>
 | 
					            android:exported="true"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    </application>
 | 
					    </application>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,11 +29,11 @@ import cc.winboll.studio.libaes.utils.AESThemeUtil;
 | 
				
			|||||||
import cc.winboll.studio.libaes.views.ADrawerMenuListView;
 | 
					import cc.winboll.studio.libaes.views.ADrawerMenuListView;
 | 
				
			||||||
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.libappbase.winboll.IWinBollActivity;
 | 
					import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity;
 | 
				
			||||||
import com.baoyz.widget.PullRefreshLayout;
 | 
					import com.baoyz.widget.PullRefreshLayout;
 | 
				
			||||||
import java.util.ArrayList;
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public abstract class DrawerFragmentActivity extends AppCompatActivity implements IWinBollActivity,AdapterView.OnItemClickListener {
 | 
					public abstract class DrawerFragmentActivity extends AppCompatActivity implements IWinBoLLActivity,AdapterView.OnItemClickListener {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final String TAG = "DrawerFragmentActivity";
 | 
					    public static final String TAG = "DrawerFragmentActivity";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -177,7 +177,7 @@ public abstract class DrawerFragmentActivity extends AppCompatActivity implement
 | 
				
			|||||||
                getString(i);
 | 
					                getString(i);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        } else if (R.id.item_log == item.getItemId()) {
 | 
					        } else if (R.id.item_log == item.getItemId()) {
 | 
				
			||||||
            GlobalApplication.getWinBollActivityManager().startLogActivity(this);
 | 
					            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()) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,14 +7,14 @@ 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.libappbase.winboll.IWinBollActivity;
 | 
					import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * @Author ZhanGSKen@QQ.COM
 | 
					 * @Author ZhanGSKen@QQ.COM
 | 
				
			||||||
 * @Date 2024/06/15 00:58:10
 | 
					 * @Date 2024/06/15 00:58:10
 | 
				
			||||||
 * @Describe 第二级窗口
 | 
					 * @Describe 第二级窗口
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
public class SecondaryLibraryActivity extends DrawerFragmentActivity implements IWinBollActivity {
 | 
					public class SecondaryLibraryActivity extends DrawerFragmentActivity implements IWinBoLLActivity {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final String TAG = "SecondaryLibraryActivity";
 | 
					    public static final String TAG = "SecondaryLibraryActivity";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,9 +11,9 @@ 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.utils.AESThemeUtil;
 | 
					import cc.winboll.studio.libaes.utils.AESThemeUtil;
 | 
				
			||||||
import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
 | 
					import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class TestASupportToolbarActivity extends AppCompatActivity implements IWinBollActivity  {
 | 
					public class TestASupportToolbarActivity extends AppCompatActivity implements IWinBoLLActivity  {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final String TAG = "TestASupportToolbarActivity";
 | 
					    public static final String TAG = "TestASupportToolbarActivity";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,9 +10,9 @@ import android.os.Bundle;
 | 
				
			|||||||
import android.widget.Toolbar;
 | 
					import android.widget.Toolbar;
 | 
				
			||||||
import cc.winboll.studio.libaes.R;
 | 
					import cc.winboll.studio.libaes.R;
 | 
				
			||||||
import cc.winboll.studio.libaes.utils.AESThemeUtil;
 | 
					import cc.winboll.studio.libaes.utils.AESThemeUtil;
 | 
				
			||||||
import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
 | 
					import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class TestAToolbarActivity extends Activity implements IWinBollActivity {
 | 
					public class TestAToolbarActivity extends Activity implements IWinBoLLActivity {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final String TAG = "TestAToolbarActivity";
 | 
					    public static final String TAG = "TestAToolbarActivity";
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,16 +11,15 @@ import android.view.View;
 | 
				
			|||||||
import android.view.ViewGroup;
 | 
					import android.view.ViewGroup;
 | 
				
			||||||
import android.widget.AdapterView;
 | 
					import android.widget.AdapterView;
 | 
				
			||||||
import android.widget.Toast;
 | 
					import android.widget.Toast;
 | 
				
			||||||
import android.widget.Toolbar;
 | 
					 | 
				
			||||||
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.beans.DrawerMenuBean;
 | 
					import cc.winboll.studio.libaes.beans.DrawerMenuBean;
 | 
				
			||||||
import cc.winboll.studio.libappbase.LogUtils;
 | 
					import cc.winboll.studio.libappbase.LogUtils;
 | 
				
			||||||
import cc.winboll.studio.libappbase.winboll.IWinBollActivity;
 | 
					import cc.winboll.studio.libappbase.winboll.IWinBoLLActivity;
 | 
				
			||||||
import java.util.ArrayList;
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class TestDrawerFragmentActivity extends DrawerFragmentActivity implements IWinBollActivity {
 | 
					public class TestDrawerFragmentActivity extends DrawerFragmentActivity implements IWinBoLLActivity {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public Activity getActivity() {
 | 
					    public Activity getActivity() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -41,7 +41,7 @@ public class AESThemeUtil {
 | 
				
			|||||||
        activity.setTheme(getThemeTypeID(activity));
 | 
					        activity.setTheme(getThemeTypeID(activity));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /*public static <T extends WinBollActivity> void applyWinBollTheme(T activity) {
 | 
					    /*public static <T extends WinBoLLActivity> void applyWinBoLLTheme(T activity) {
 | 
				
			||||||
        activity.setTheme(getThemeTypeID(activity.getApplicationContext()));
 | 
					        activity.setTheme(getThemeTypeID(activity.getApplicationContext()));
 | 
				
			||||||
    }*/
 | 
					    }*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -53,7 +53,7 @@ public class AESThemeUtil {
 | 
				
			|||||||
        activity.setTheme(AESThemeBean.getThemeStyleID(themeType));
 | 
					        activity.setTheme(AESThemeBean.getThemeStyleID(themeType));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /*public static <T extends WinBollActivity> void applyWinBollTheme(Activity activity, AESThemeBean.ThemeType themeType) {
 | 
					    /*public static <T extends WinBoLLActivity> void applyWinBoLLTheme(Activity activity, AESThemeBean.ThemeType themeType) {
 | 
				
			||||||
        activity.setTheme(AESThemeBean.getThemeStyleID(themeType));
 | 
					        activity.setTheme(AESThemeBean.getThemeStyleID(themeType));
 | 
				
			||||||
    }*/
 | 
					    }*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -65,7 +65,7 @@ public class AESThemeUtil {
 | 
				
			|||||||
        activity.getMenuInflater().inflate(R.menu.toolbar_apptheme, menu);
 | 
					        activity.getMenuInflater().inflate(R.menu.toolbar_apptheme, menu);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /*public static <T extends WinBollActivity> void inflateWinBollMenu(T activity, Menu menu) {
 | 
					    /*public static <T extends WinBoLLActivity> void inflateWinBoLLMenu(T activity, Menu menu) {
 | 
				
			||||||
        activity.getMenuInflater().inflate(R.menu.toolbar_apptheme, menu);
 | 
					        activity.getMenuInflater().inflate(R.menu.toolbar_apptheme, menu);
 | 
				
			||||||
    }*/
 | 
					    }*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -131,7 +131,7 @@ public class AESThemeUtil {
 | 
				
			|||||||
        return false;
 | 
					        return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static <T extends AppCompatActivity> boolean onWinBollThemeItemSelected(T activity, MenuItem item) {
 | 
					    public static <T extends AppCompatActivity> boolean onWinBoLLThemeItemSelected(T activity, MenuItem item) {
 | 
				
			||||||
        int nThemeStyleID;
 | 
					        int nThemeStyleID;
 | 
				
			||||||
        if (R.id.item_depththeme == item.getItemId()) {
 | 
					        if (R.id.item_depththeme == item.getItemId()) {
 | 
				
			||||||
            nThemeStyleID = AESThemeBean.getThemeStyleID(AESThemeBean.ThemeType.DEPTH);
 | 
					            nThemeStyleID = AESThemeBean.getThemeStyleID(AESThemeBean.ThemeType.DEPTH);
 | 
				
			||||||
@@ -162,7 +162,7 @@ public class AESThemeUtil {
 | 
				
			|||||||
        return false;
 | 
					        return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    public static <T extends DrawerFragmentActivity> boolean onWinBollThemeItemSelected(T activity, MenuItem item) {
 | 
					    public static <T extends DrawerFragmentActivity> boolean onWinBoLLThemeItemSelected(T activity, MenuItem item) {
 | 
				
			||||||
        int nThemeStyleID;
 | 
					        int nThemeStyleID;
 | 
				
			||||||
        if (R.id.item_depththeme == item.getItemId()) {
 | 
					        if (R.id.item_depththeme == item.getItemId()) {
 | 
				
			||||||
            nThemeStyleID = AESThemeBean.getThemeStyleID(AESThemeBean.ThemeType.DEPTH);
 | 
					            nThemeStyleID = AESThemeBean.getThemeStyleID(AESThemeBean.ThemeType.DEPTH);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,7 @@ package cc.winboll.studio.libaes.winboll;
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * @Author ZhanGSKen@AliYun.Com
 | 
					 * @Author ZhanGSKen@AliYun.Com
 | 
				
			||||||
 * @Date 2025/03/24 15:08:52
 | 
					 * @Date 2025/03/24 15:08:52
 | 
				
			||||||
 * @Describe WinBoll应用介绍视图
 | 
					 * @Describe WinBoLL应用介绍视图
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
import android.content.Context;
 | 
					import android.content.Context;
 | 
				
			||||||
import android.content.Intent;
 | 
					import android.content.Intent;
 | 
				
			||||||
@@ -43,7 +43,7 @@ public class AboutView extends LinearLayout {
 | 
				
			|||||||
    Context mContext;
 | 
					    Context mContext;
 | 
				
			||||||
    APPInfo mAPPInfo;
 | 
					    APPInfo mAPPInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    WinBollServiceStatusView mWinBollServiceStatusView;
 | 
					    WinBoLLServiceStatusView mWinBoLLServiceStatusView;
 | 
				
			||||||
    OnRequestDevUserInfoAutofillListener mOnRequestDevUserInfoAutofillListener;
 | 
					    OnRequestDevUserInfoAutofillListener mOnRequestDevUserInfoAutofillListener;
 | 
				
			||||||
    String mszAppName = "";
 | 
					    String mszAppName = "";
 | 
				
			||||||
    String mszAppAPKFolderName = "";
 | 
					    String mszAppAPKFolderName = "";
 | 
				
			||||||
@@ -57,7 +57,7 @@ public class AboutView extends LinearLayout {
 | 
				
			|||||||
    String mszHomePage = "";
 | 
					    String mszHomePage = "";
 | 
				
			||||||
    String mszGitea = "";
 | 
					    String mszGitea = "";
 | 
				
			||||||
    int mnAppIcon = 0;
 | 
					    int mnAppIcon = 0;
 | 
				
			||||||
    String mszWinBollServerHost;
 | 
					    String mszWinBoLLServerHost;
 | 
				
			||||||
    String mszReleaseAPKName;
 | 
					    String mszReleaseAPKName;
 | 
				
			||||||
    EditText metDevUserName;
 | 
					    EditText metDevUserName;
 | 
				
			||||||
    EditText metDevUserPassword;
 | 
					    EditText metDevUserPassword;
 | 
				
			||||||
@@ -107,7 +107,7 @@ public class AboutView extends LinearLayout {
 | 
				
			|||||||
        mszAppDescription = mAPPInfo.getAppDescription();
 | 
					        mszAppDescription = mAPPInfo.getAppDescription();
 | 
				
			||||||
        mnAppIcon = mAPPInfo.getAppIcon();
 | 
					        mnAppIcon = mAPPInfo.getAppIcon();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        mszWinBollServerHost = GlobalApplication.isDebuging() ?  "https://dev.winboll.cc": "https://www.winboll.cc";
 | 
					        mszWinBoLLServerHost = GlobalApplication.isDebuging() ?  "https://dev.winboll.cc": "https://www.winboll.cc";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
            mszAppVersionName = mContext.getPackageManager().getPackageInfo(mContext.getPackageName(), 0).versionName;
 | 
					            mszAppVersionName = mContext.getPackageManager().getPackageInfo(mContext.getPackageName(), 0).versionName;
 | 
				
			||||||
@@ -115,7 +115,7 @@ public class AboutView extends LinearLayout {
 | 
				
			|||||||
            LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
 | 
					            LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        mszCurrentAppPackageName = mszAppAPKName + "_" + mszAppVersionName + ".apk";
 | 
					        mszCurrentAppPackageName = mszAppAPKName + "_" + mszAppVersionName + ".apk";
 | 
				
			||||||
        mszHomePage = mszWinBollServerHost + "/studio/details.php?app=" + mszAppAPKFolderName;
 | 
					        mszHomePage = mszWinBoLLServerHost + "/studio/details.php?app=" + mszAppAPKFolderName;
 | 
				
			||||||
        if (mAPPInfo.getAppGitAPPBranch().equals("")) {
 | 
					        if (mAPPInfo.getAppGitAPPBranch().equals("")) {
 | 
				
			||||||
            mszGitea = "https://gitea.winboll.cc/" + mAPPInfo.getAppGitOwner() + "/" + mszAppGitName;
 | 
					            mszGitea = "https://gitea.winboll.cc/" + mAPPInfo.getAppGitOwner() + "/" + mszAppGitName;
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
@@ -132,9 +132,9 @@ public class AboutView extends LinearLayout {
 | 
				
			|||||||
            metDevUserName.setText(PrefUtils.getString(mContext, "metDevUserName", ""));
 | 
					            metDevUserName.setText(PrefUtils.getString(mContext, "metDevUserName", ""));
 | 
				
			||||||
            metDevUserPassword.setText(PrefUtils.getString(mContext, "metDevUserPassword", ""));
 | 
					            metDevUserPassword.setText(PrefUtils.getString(mContext, "metDevUserPassword", ""));
 | 
				
			||||||
            //mDevelopHostConnectionStatusView = new DevelopHostConnectionStatusView(context);
 | 
					            //mDevelopHostConnectionStatusView = new DevelopHostConnectionStatusView(context);
 | 
				
			||||||
            mWinBollServiceStatusView = addedView.findViewById(R.id.viewaboutdevWinBollServiceStatusView1);
 | 
					            mWinBoLLServiceStatusView = addedView.findViewById(R.id.viewaboutdevWinBoLLServiceStatusView1);
 | 
				
			||||||
            mWinBollServiceStatusView.setServerHost(mszWinBollServerHost);
 | 
					            mWinBoLLServiceStatusView.setServerHost(mszWinBoLLServerHost);
 | 
				
			||||||
            mWinBollServiceStatusView.setAuthInfo(metDevUserName.getText().toString(), metDevUserPassword.getText().toString());
 | 
					            mWinBoLLServiceStatusView.setAuthInfo(metDevUserName.getText().toString(), metDevUserPassword.getText().toString());
 | 
				
			||||||
            //llMain.addView(mDevelopHostConnectionStatusView);
 | 
					            //llMain.addView(mDevelopHostConnectionStatusView);
 | 
				
			||||||
            llMain.addView(createAboutPage());
 | 
					            llMain.addView(createAboutPage());
 | 
				
			||||||
            addView(addedView);
 | 
					            addView(addedView);
 | 
				
			||||||
@@ -143,9 +143,9 @@ public class AboutView extends LinearLayout {
 | 
				
			|||||||
            View addedView = inflater.inflate(R.layout.view_about_www, this, false);
 | 
					            View addedView = inflater.inflate(R.layout.view_about_www, this, false);
 | 
				
			||||||
            LinearLayout llMain = addedView.findViewById(R.id.viewaboutwwwLinearLayout1);
 | 
					            LinearLayout llMain = addedView.findViewById(R.id.viewaboutwwwLinearLayout1);
 | 
				
			||||||
            //mDevelopHostConnectionStatusView = new DevelopHostConnectionStatusView(context);
 | 
					            //mDevelopHostConnectionStatusView = new DevelopHostConnectionStatusView(context);
 | 
				
			||||||
            mWinBollServiceStatusView = addedView.findViewById(R.id.viewaboutwwwWinBollServiceStatusView1);
 | 
					            mWinBoLLServiceStatusView = addedView.findViewById(R.id.viewaboutwwwWinBoLLServiceStatusView1);
 | 
				
			||||||
            mWinBollServiceStatusView.setServerHost(mszWinBollServerHost);
 | 
					            mWinBoLLServiceStatusView.setServerHost(mszWinBoLLServerHost);
 | 
				
			||||||
            mWinBollServiceStatusView.setAuthInfo("", "");
 | 
					            mWinBoLLServiceStatusView.setAuthInfo("", "");
 | 
				
			||||||
            //llMain.addView(mDevelopHostConnectionStatusView);
 | 
					            //llMain.addView(mDevelopHostConnectionStatusView);
 | 
				
			||||||
            llMain.addView(createAboutPage());
 | 
					            llMain.addView(createAboutPage());
 | 
				
			||||||
            addView(addedView);
 | 
					            addView(addedView);
 | 
				
			||||||
@@ -291,7 +291,7 @@ public class AboutView extends LinearLayout {
 | 
				
			|||||||
            GlobalApplication.setIsDebuging(true);
 | 
					            GlobalApplication.setIsDebuging(true);
 | 
				
			||||||
            GlobalApplication.saveDebugStatus();
 | 
					            GlobalApplication.saveDebugStatus();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            GlobalApplication.getWinBollActivityManager().finishAll();
 | 
					            GlobalApplication.getWinBoLLActivityManager().finishAll();
 | 
				
			||||||
            context.startActivity(intent);
 | 
					            context.startActivity(intent);
 | 
				
			||||||
        } 
 | 
					        } 
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -303,7 +303,7 @@ public class AboutView extends LinearLayout {
 | 
				
			|||||||
            GlobalApplication.setIsDebuging(false);
 | 
					            GlobalApplication.setIsDebuging(false);
 | 
				
			||||||
            GlobalApplication.saveDebugStatus();
 | 
					            GlobalApplication.saveDebugStatus();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            GlobalApplication.getWinBollActivityManager().finishAll();
 | 
					            GlobalApplication.getWinBoLLActivityManager().finishAll();
 | 
				
			||||||
            context.startActivity(intent);
 | 
					            context.startActivity(intent);
 | 
				
			||||||
        } 
 | 
					        } 
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -323,7 +323,7 @@ public class AboutView extends LinearLayout {
 | 
				
			|||||||
            new Thread(new Runnable() {
 | 
					            new Thread(new Runnable() {
 | 
				
			||||||
                    @Override
 | 
					                    @Override
 | 
				
			||||||
                    public void run() {
 | 
					                    public void run() {
 | 
				
			||||||
                        String szUrl = mszWinBollServerHost + "/studio/details.php?app=" + mszAppAPKFolderName;
 | 
					                        String szUrl = mszWinBoLLServerHost + "/studio/details.php?app=" + mszAppAPKFolderName;
 | 
				
			||||||
                        // 构建包含认证信息的请求
 | 
					                        // 构建包含认证信息的请求
 | 
				
			||||||
                        String credential = "";
 | 
					                        String credential = "";
 | 
				
			||||||
                        if (GlobalApplication.isDebuging()) {
 | 
					                        if (GlobalApplication.isDebuging()) {
 | 
				
			||||||
@@ -331,8 +331,8 @@ public class AboutView extends LinearLayout {
 | 
				
			|||||||
                            PrefUtils.saveString(mContext, "metDevUserName", metDevUserName.getText().toString());
 | 
					                            PrefUtils.saveString(mContext, "metDevUserName", metDevUserName.getText().toString());
 | 
				
			||||||
                            PrefUtils.saveString(mContext, "metDevUserPassword", metDevUserPassword.getText().toString());
 | 
					                            PrefUtils.saveString(mContext, "metDevUserPassword", metDevUserPassword.getText().toString());
 | 
				
			||||||
                        } else {
 | 
					                        } else {
 | 
				
			||||||
                            String username = "WinBoll";
 | 
					                            String username = "WinBoLL";
 | 
				
			||||||
                            String password = "WinBollPowerByZhanGSKen";
 | 
					                            String password = "WinBoLLPowerByZhanGSKen";
 | 
				
			||||||
                            credential = Credentials.basic(username, password);
 | 
					                            credential = Credentials.basic(username, password);
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -384,7 +384,7 @@ public class AboutView extends LinearLayout {
 | 
				
			|||||||
    YesNoAlertDialog.OnDialogResultListener mIsDownlaodUpdateListener = new YesNoAlertDialog.OnDialogResultListener() {
 | 
					    YesNoAlertDialog.OnDialogResultListener mIsDownlaodUpdateListener = new YesNoAlertDialog.OnDialogResultListener() {
 | 
				
			||||||
        @Override
 | 
					        @Override
 | 
				
			||||||
        public void onYes() {
 | 
					        public void onYes() {
 | 
				
			||||||
            String szUrl = mszWinBollServerHost + "/studio/download.php?appname=" + mszAppAPKFolderName + "&apkname=" + mszNewestAppPackageName;
 | 
					            String szUrl = mszWinBoLLServerHost + "/studio/download.php?appname=" + mszAppAPKFolderName + "&apkname=" + mszNewestAppPackageName;
 | 
				
			||||||
            Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(szUrl));
 | 
					            Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(szUrl));
 | 
				
			||||||
            mContext.startActivity(browserIntent);
 | 
					            mContext.startActivity(browserIntent);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,14 +11,14 @@ import android.content.Context;
 | 
				
			|||||||
import android.content.Intent;
 | 
					import android.content.Intent;
 | 
				
			||||||
import android.content.ServiceConnection;
 | 
					import android.content.ServiceConnection;
 | 
				
			||||||
import android.os.IBinder;
 | 
					import android.os.IBinder;
 | 
				
			||||||
import cc.winboll.studio.libaes.winboll.WinBollClientService;
 | 
					import cc.winboll.studio.libaes.winboll.WinBoLLClientService;
 | 
				
			||||||
import cc.winboll.studio.libappbase.utils.ServiceUtils;
 | 
					import cc.winboll.studio.libappbase.utils.ServiceUtils;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class AssistantService extends Service {
 | 
					public class AssistantService extends Service {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public final static String TAG = "AssistantService";
 | 
					    public final static String TAG = "AssistantService";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    WinBollClientServiceBean mWinBollServiceBean;
 | 
					    WinBoLLClientServiceBean mWinBoLLServiceBean;
 | 
				
			||||||
    MyServiceConnection mMyServiceConnection;
 | 
					    MyServiceConnection mMyServiceConnection;
 | 
				
			||||||
    volatile boolean mIsServiceRunning;
 | 
					    volatile boolean mIsServiceRunning;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -30,7 +30,7 @@ public class AssistantService extends Service {
 | 
				
			|||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void onCreate() {
 | 
					    public void onCreate() {
 | 
				
			||||||
        super.onCreate();
 | 
					        super.onCreate();
 | 
				
			||||||
        mWinBollServiceBean = WinBollClientServiceBean.loadWinBollClientServiceBean(this);
 | 
					        mWinBoLLServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(this);
 | 
				
			||||||
        if (mMyServiceConnection == null) {
 | 
					        if (mMyServiceConnection == null) {
 | 
				
			||||||
            mMyServiceConnection = new MyServiceConnection();
 | 
					            mMyServiceConnection = new MyServiceConnection();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -55,8 +55,8 @@ public class AssistantService extends Service {
 | 
				
			|||||||
    // 运行服务内容
 | 
					    // 运行服务内容
 | 
				
			||||||
    //
 | 
					    //
 | 
				
			||||||
    void run() {
 | 
					    void run() {
 | 
				
			||||||
        mWinBollServiceBean = WinBollClientServiceBean.loadWinBollClientServiceBean(this);
 | 
					        mWinBoLLServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(this);
 | 
				
			||||||
        if (mWinBollServiceBean.isEnable()) {
 | 
					        if (mWinBoLLServiceBean.isEnable()) {
 | 
				
			||||||
            if (mIsServiceRunning == false) {
 | 
					            if (mIsServiceRunning == false) {
 | 
				
			||||||
                // 设置运行状态
 | 
					                // 设置运行状态
 | 
				
			||||||
                mIsServiceRunning = true;
 | 
					                mIsServiceRunning = true;
 | 
				
			||||||
@@ -70,11 +70,11 @@ public class AssistantService extends Service {
 | 
				
			|||||||
    // 唤醒和绑定主进程
 | 
					    // 唤醒和绑定主进程
 | 
				
			||||||
    //
 | 
					    //
 | 
				
			||||||
    void wakeupAndBindMain() {
 | 
					    void wakeupAndBindMain() {
 | 
				
			||||||
        if (ServiceUtils.isServiceRunning(getApplicationContext(), WinBollClientService.class.getName()) == false) {
 | 
					        if (ServiceUtils.isServiceRunning(getApplicationContext(), WinBoLLClientService.class.getName()) == false) {
 | 
				
			||||||
            startForegroundService(new Intent(AssistantService.this, WinBollClientService.class));
 | 
					            startForegroundService(new Intent(AssistantService.this, WinBoLLClientService.class));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        bindService(new Intent(AssistantService.this, WinBollClientService.class), mMyServiceConnection, Context.BIND_IMPORTANT);
 | 
					        bindService(new Intent(AssistantService.this, WinBoLLClientService.class), mMyServiceConnection, Context.BIND_IMPORTANT);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //
 | 
					    //
 | 
				
			||||||
@@ -87,8 +87,8 @@ public class AssistantService extends Service {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        @Override
 | 
					        @Override
 | 
				
			||||||
        public void onServiceDisconnected(ComponentName name) {
 | 
					        public void onServiceDisconnected(ComponentName name) {
 | 
				
			||||||
            mWinBollServiceBean = WinBollClientServiceBean.loadWinBollClientServiceBean(AssistantService.this);
 | 
					            mWinBoLLServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(AssistantService.this);
 | 
				
			||||||
            if (mWinBollServiceBean.isEnable()) {
 | 
					            if (mWinBoLLServiceBean.isEnable()) {
 | 
				
			||||||
                wakeupAndBindMain();
 | 
					                wakeupAndBindMain();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,7 @@ package cc.winboll.studio.libaes.winboll;
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * @Author ZhanGSKen@AliYun.Com
 | 
					 * @Author ZhanGSKen@AliYun.Com
 | 
				
			||||||
 * @Date 2025/03/28 19:11:27
 | 
					 * @Date 2025/03/28 19:11:27
 | 
				
			||||||
 * @Describe WinBoll UI 状态图标枚举
 | 
					 * @Describe WinBoLL UI 状态图标枚举
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
import cc.winboll.studio.libaes.R;
 | 
					import cc.winboll.studio.libaes.R;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,15 +3,15 @@ package cc.winboll.studio.libaes.winboll;
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * @Author ZhanGSKen@AliYun.Com
 | 
					 * @Author ZhanGSKen@AliYun.Com
 | 
				
			||||||
 * @Date 2025/03/28 19:08:45
 | 
					 * @Date 2025/03/28 19:08:45
 | 
				
			||||||
 * @Describe WinBollService 服务 Binder。
 | 
					 * @Describe WinBoLLService 服务 Binder。
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
import android.graphics.drawable.Drawable;
 | 
					import android.graphics.drawable.Drawable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public interface IWinBollClientServiceBinder {
 | 
					public interface IWinBoLLClientServiceBinder {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final String TAG = "IWinBollClientServiceBinder";
 | 
					    public static final String TAG = "IWinBoLLClientServiceBinder";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public WinBollClientService getService();
 | 
					    public WinBoLLClientService getService();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public Drawable getCurrentStatusIconDrawable();
 | 
					    public Drawable getCurrentStatusIconDrawable();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -3,7 +3,7 @@ package cc.winboll.studio.libaes.winboll;
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * @Author ZhanGSKen@AliYun.Com
 | 
					 * @Author ZhanGSKen@AliYun.Com
 | 
				
			||||||
 * @Date 2025/03/28 19:06:54
 | 
					 * @Date 2025/03/28 19:06:54
 | 
				
			||||||
 * @Describe WinBoll 客户端服务
 | 
					 * @Describe WinBoLL 客户端服务
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
import android.app.Service;
 | 
					import android.app.Service;
 | 
				
			||||||
import android.content.ComponentName;
 | 
					import android.content.ComponentName;
 | 
				
			||||||
@@ -19,28 +19,28 @@ import cc.winboll.studio.libappbase.utils.ServiceUtils;
 | 
				
			|||||||
import cc.winboll.studio.libapputils.utils.PrefUtils;
 | 
					import cc.winboll.studio.libapputils.utils.PrefUtils;
 | 
				
			||||||
import com.hjq.toast.ToastUtils;
 | 
					import com.hjq.toast.ToastUtils;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class WinBollClientService extends Service implements IWinBollClientServiceBinder {
 | 
					public class WinBoLLClientService extends Service implements IWinBoLLClientServiceBinder {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final String TAG = "WinBollClientService";
 | 
					    public static final String TAG = "WinBoLLClientService";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    WinBollClientServiceBean mWinBollClientServiceBean;
 | 
					    WinBoLLClientServiceBean mWinBoLLClientServiceBean;
 | 
				
			||||||
    MyServiceConnection mMyServiceConnection;
 | 
					    MyServiceConnection mMyServiceConnection;
 | 
				
			||||||
    volatile boolean mIsWinBollClientThreadRunning;
 | 
					    volatile boolean mIsWinBoLLClientThreadRunning;
 | 
				
			||||||
    volatile boolean mIsEnableService;
 | 
					    volatile boolean mIsEnableService;
 | 
				
			||||||
    volatile WinBollClientThread mWinBollClientThread;
 | 
					    volatile WinBoLLClientThread mWinBoLLClientThread;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public boolean isWinBollClientThreadRunning() {
 | 
					    public boolean isWinBoLLClientThreadRunning() {
 | 
				
			||||||
        return mIsWinBollClientThreadRunning;
 | 
					        return mIsWinBoLLClientThreadRunning;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public WinBollClientService getService() {
 | 
					    public WinBoLLClientService getService() {
 | 
				
			||||||
        return WinBollClientService.this;
 | 
					        return WinBoLLClientService.this;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public Drawable getCurrentStatusIconDrawable() {
 | 
					    public Drawable getCurrentStatusIconDrawable() {
 | 
				
			||||||
        return mIsWinBollClientThreadRunning ?
 | 
					        return mIsWinBoLLClientThreadRunning ?
 | 
				
			||||||
            getDrawable(EWUIStatusIconDrawable.getIconDrawableId(EWUIStatusIconDrawable.NORMAL))
 | 
					            getDrawable(EWUIStatusIconDrawable.getIconDrawableId(EWUIStatusIconDrawable.NORMAL))
 | 
				
			||||||
            : getDrawable(EWUIStatusIconDrawable.getIconDrawableId(EWUIStatusIconDrawable.NEWS));
 | 
					            : getDrawable(EWUIStatusIconDrawable.getIconDrawableId(EWUIStatusIconDrawable.NEWS));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -54,9 +54,9 @@ public class WinBollClientService extends Service implements IWinBollClientServi
 | 
				
			|||||||
    public void onCreate() {
 | 
					    public void onCreate() {
 | 
				
			||||||
        //ToastUtils.show("onCreate");
 | 
					        //ToastUtils.show("onCreate");
 | 
				
			||||||
        super.onCreate();
 | 
					        super.onCreate();
 | 
				
			||||||
        mWinBollClientThread = null;
 | 
					        mWinBoLLClientThread = null;
 | 
				
			||||||
        mWinBollClientServiceBean = WinBollClientServiceBean.loadWinBollClientServiceBean(this);
 | 
					        mWinBoLLClientServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(this);
 | 
				
			||||||
        mIsEnableService = mWinBollClientServiceBean.isEnable();
 | 
					        mIsEnableService = mWinBoLLClientServiceBean.isEnable();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (mMyServiceConnection == null) {
 | 
					        if (mMyServiceConnection == null) {
 | 
				
			||||||
            mMyServiceConnection = new MyServiceConnection();
 | 
					            mMyServiceConnection = new MyServiceConnection();
 | 
				
			||||||
@@ -74,23 +74,23 @@ public class WinBollClientService extends Service implements IWinBollClientServi
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        // 返回运行参数持久化存储后,服务状态控制参数
 | 
					        // 返回运行参数持久化存储后,服务状态控制参数
 | 
				
			||||||
        // 无论 Intent 传入如何,服务状态一直以持久化存储后的参数控制,
 | 
					        // 无论 Intent 传入如何,服务状态一直以持久化存储后的参数控制,
 | 
				
			||||||
        // PS: 另外当然可以通过 Intent 传入的指标来修改 mWinBollServiceBean,
 | 
					        // PS: 另外当然可以通过 Intent 传入的指标来修改 mWinBoLLServiceBean,
 | 
				
			||||||
        //     不过本服务的应用方向会变得繁琐,
 | 
					        //     不过本服务的应用方向会变得繁琐,
 | 
				
			||||||
        //     现阶段只要满足手机端启动与停止本服务,WinBoll 客户端实例运行在手机端就可以了。
 | 
					        //     现阶段只要满足手机端启动与停止本服务,WinBoLL 客户端实例运行在手机端就可以了。
 | 
				
			||||||
        return mIsEnableService ? Service.START_STICKY: super.onStartCommand(intent, flags, startId);
 | 
					        return mIsEnableService ? Service.START_STICKY: super.onStartCommand(intent, flags, startId);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    synchronized void runMainThread() {
 | 
					    synchronized void runMainThread() {
 | 
				
			||||||
        if (mWinBollClientThread == null) {
 | 
					        if (mWinBoLLClientThread == null) {
 | 
				
			||||||
            //ToastUtils.show("runMainThread()");
 | 
					            //ToastUtils.show("runMainThread()");
 | 
				
			||||||
            mWinBollClientThread = new WinBollClientThread();
 | 
					            mWinBoLLClientThread = new WinBoLLClientThread();
 | 
				
			||||||
            mWinBollClientThread.start();
 | 
					            mWinBoLLClientThread.start();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void syncWinBollClientThreadStatus() {
 | 
					    void syncWinBoLLClientThreadStatus() {
 | 
				
			||||||
        mWinBollClientServiceBean = WinBollClientServiceBean.loadWinBollClientServiceBean(this);
 | 
					        mWinBoLLClientServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(this);
 | 
				
			||||||
        mIsEnableService = mWinBollClientServiceBean.isEnable();
 | 
					        mIsEnableService = mWinBoLLClientServiceBean.isEnable();
 | 
				
			||||||
        LogUtils.d(TAG, String.format("mIsEnableService %s", mIsEnableService));
 | 
					        LogUtils.d(TAG, String.format("mIsEnableService %s", mIsEnableService));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -99,9 +99,9 @@ public class WinBollClientService extends Service implements IWinBollClientServi
 | 
				
			|||||||
    //
 | 
					    //
 | 
				
			||||||
    void wakeupAndBindAssistant() {
 | 
					    void wakeupAndBindAssistant() {
 | 
				
			||||||
        if (ServiceUtils.isServiceRunning(getApplicationContext(), AssistantService.class.getName()) == false) {
 | 
					        if (ServiceUtils.isServiceRunning(getApplicationContext(), AssistantService.class.getName()) == false) {
 | 
				
			||||||
            startService(new Intent(WinBollClientService.this, AssistantService.class));
 | 
					            startService(new Intent(WinBoLLClientService.this, AssistantService.class));
 | 
				
			||||||
            //LogUtils.d(TAG, "call wakeupAndBindAssistant() : Binding... AssistantService");
 | 
					            //LogUtils.d(TAG, "call wakeupAndBindAssistant() : Binding... AssistantService");
 | 
				
			||||||
            bindService(new Intent(WinBollClientService.this, AssistantService.class), mMyServiceConnection, Context.BIND_IMPORTANT);
 | 
					            bindService(new Intent(WinBoLLClientService.this, AssistantService.class), mMyServiceConnection, Context.BIND_IMPORTANT);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -115,8 +115,8 @@ public class WinBollClientService extends Service implements IWinBollClientServi
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        @Override
 | 
					        @Override
 | 
				
			||||||
        public void onServiceDisconnected(ComponentName name) {            
 | 
					        public void onServiceDisconnected(ComponentName name) {            
 | 
				
			||||||
            mWinBollClientServiceBean = WinBollClientServiceBean.loadWinBollClientServiceBean(WinBollClientService.this);
 | 
					            mWinBoLLClientServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(WinBoLLClientService.this);
 | 
				
			||||||
            if (mWinBollClientServiceBean.isEnable()) {
 | 
					            if (mWinBoLLClientServiceBean.isEnable()) {
 | 
				
			||||||
                // 唤醒守护进程
 | 
					                // 唤醒守护进程
 | 
				
			||||||
                wakeupAndBindAssistant();
 | 
					                wakeupAndBindAssistant();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -134,15 +134,15 @@ public class WinBollClientService extends Service implements IWinBollClientServi
 | 
				
			|||||||
        super.onStart(intent, startId);
 | 
					        super.onStart(intent, startId);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void setWinBollServiceEnableStatus(boolean isEnable) {
 | 
					    void setWinBoLLServiceEnableStatus(boolean isEnable) {
 | 
				
			||||||
        WinBollClientServiceBean bean = WinBollClientServiceBean.loadWinBollClientServiceBean(this);
 | 
					        WinBoLLClientServiceBean bean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(this);
 | 
				
			||||||
        bean.setIsEnable(isEnable);
 | 
					        bean.setIsEnable(isEnable);
 | 
				
			||||||
        WinBollClientServiceBean.saveWinBollServiceBean(this, bean);
 | 
					        WinBoLLClientServiceBean.saveWinBoLLServiceBean(this, bean);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    boolean getWinBollServiceEnableStatus(Context context) {
 | 
					    boolean getWinBoLLServiceEnableStatus(Context context) {
 | 
				
			||||||
        mWinBollClientServiceBean = WinBollClientServiceBean.loadWinBollClientServiceBean(context);
 | 
					        mWinBoLLClientServiceBean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(context);
 | 
				
			||||||
        return mWinBollClientServiceBean.isEnable();
 | 
					        return mWinBoLLClientServiceBean.isEnable();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /*public interface OnServiceStatusChangeListener {
 | 
					    /*public interface OnServiceStatusChangeListener {
 | 
				
			||||||
@@ -153,24 +153,24 @@ public class WinBollClientService extends Service implements IWinBollClientServi
 | 
				
			|||||||
     mOnServerStatusChangeListener = l;
 | 
					     mOnServerStatusChangeListener = l;
 | 
				
			||||||
     }*/
 | 
					     }*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    class WinBollClientThread extends Thread {
 | 
					    class WinBoLLClientThread extends Thread {
 | 
				
			||||||
        @Override
 | 
					        @Override
 | 
				
			||||||
        public void run() {
 | 
					        public void run() {
 | 
				
			||||||
            super.run();
 | 
					            super.run();
 | 
				
			||||||
            LogUtils.d(TAG, "run syncWinBollClientThreadStatus");
 | 
					            LogUtils.d(TAG, "run syncWinBoLLClientThreadStatus");
 | 
				
			||||||
            syncWinBollClientThreadStatus();
 | 
					            syncWinBoLLClientThreadStatus();
 | 
				
			||||||
            if (mIsEnableService) {
 | 
					            if (mIsEnableService) {
 | 
				
			||||||
                if (mIsWinBollClientThreadRunning == false) {
 | 
					                if (mIsWinBoLLClientThreadRunning == false) {
 | 
				
			||||||
                    // 设置运行状态
 | 
					                    // 设置运行状态
 | 
				
			||||||
                    mIsWinBollClientThreadRunning = true;
 | 
					                    mIsWinBoLLClientThreadRunning = true;
 | 
				
			||||||
                    LogUtils.d(TAG, "WinBollClientThread run()");
 | 
					                    LogUtils.d(TAG, "WinBoLLClientThread run()");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    // 唤醒守护进程
 | 
					                    // 唤醒守护进程
 | 
				
			||||||
                    //wakeupAndBindAssistant();
 | 
					                    //wakeupAndBindAssistant();
 | 
				
			||||||
                    
 | 
					                    
 | 
				
			||||||
                    while (mIsEnableService) {
 | 
					                    while (mIsEnableService) {
 | 
				
			||||||
                        // 显示运行状态
 | 
					                        // 显示运行状态
 | 
				
			||||||
                        WinBollServiceStatusView.startConnection();
 | 
					                        WinBoLLServiceStatusView.startConnection();
 | 
				
			||||||
                        LogUtils.d(TAG, String.format("while mIsEnableService is %s", mIsEnableService));
 | 
					                        LogUtils.d(TAG, String.format("while mIsEnableService is %s", mIsEnableService));
 | 
				
			||||||
                        
 | 
					                        
 | 
				
			||||||
                        try {
 | 
					                        try {
 | 
				
			||||||
@@ -178,13 +178,13 @@ public class WinBollClientService extends Service implements IWinBollClientServi
 | 
				
			|||||||
                        } catch (InterruptedException e) {
 | 
					                        } catch (InterruptedException e) {
 | 
				
			||||||
                            LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
 | 
					                            LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                        syncWinBollClientThreadStatus();
 | 
					                        syncWinBoLLClientThreadStatus();
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    // 服务进程退出, 重置进程运行状态
 | 
					                    // 服务进程退出, 重置进程运行状态
 | 
				
			||||||
                    WinBollServiceStatusView.stopConnection();
 | 
					                    WinBoLLServiceStatusView.stopConnection();
 | 
				
			||||||
                    mIsWinBollClientThreadRunning = false;
 | 
					                    mIsWinBoLLClientThreadRunning = false;
 | 
				
			||||||
                    mWinBollClientThread = null;
 | 
					                    mWinBoLLClientThread = null;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -3,7 +3,7 @@ package cc.winboll.studio.libaes.winboll;
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * @Author ZhanGSKen@AliYun.Com
 | 
					 * @Author ZhanGSKen@AliYun.Com
 | 
				
			||||||
 * @Date 2025/03/28 19:05:15
 | 
					 * @Date 2025/03/28 19:05:15
 | 
				
			||||||
 * @Describe WinBollService 运行参数配置
 | 
					 * @Describe WinBoLLService 运行参数配置
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
import android.content.Context;
 | 
					import android.content.Context;
 | 
				
			||||||
import android.util.JsonReader;
 | 
					import android.util.JsonReader;
 | 
				
			||||||
@@ -11,13 +11,13 @@ import android.util.JsonWriter;
 | 
				
			|||||||
import cc.winboll.studio.libappbase.BaseBean;
 | 
					import cc.winboll.studio.libappbase.BaseBean;
 | 
				
			||||||
import java.io.IOException;
 | 
					import java.io.IOException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class WinBollClientServiceBean extends BaseBean {
 | 
					public class WinBoLLClientServiceBean extends BaseBean {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final String TAG = "WinBollClientServiceBean";
 | 
					    public static final String TAG = "WinBoLLClientServiceBean";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    volatile boolean isEnable;
 | 
					    volatile boolean isEnable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public WinBollClientServiceBean() {
 | 
					    public WinBoLLClientServiceBean() {
 | 
				
			||||||
        isEnable = false;
 | 
					        isEnable = false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -31,13 +31,13 @@ public class WinBollClientServiceBean extends BaseBean {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public String getName() {
 | 
					    public String getName() {
 | 
				
			||||||
        return WinBollClientServiceBean.class.getName();
 | 
					        return WinBoLLClientServiceBean.class.getName();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void writeThisToJsonWriter(JsonWriter jsonWriter) throws IOException {
 | 
					    public void writeThisToJsonWriter(JsonWriter jsonWriter) throws IOException {
 | 
				
			||||||
        super.writeThisToJsonWriter(jsonWriter);
 | 
					        super.writeThisToJsonWriter(jsonWriter);
 | 
				
			||||||
        WinBollClientServiceBean bean = this;
 | 
					        WinBoLLClientServiceBean bean = this;
 | 
				
			||||||
        jsonWriter.name("isEnable").value(bean.isEnable());
 | 
					        jsonWriter.name("isEnable").value(bean.isEnable());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -67,12 +67,12 @@ public class WinBollClientServiceBean extends BaseBean {
 | 
				
			|||||||
        return this;
 | 
					        return this;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static WinBollClientServiceBean loadWinBollClientServiceBean(Context context) {
 | 
					    public static WinBoLLClientServiceBean loadWinBoLLClientServiceBean(Context context) {
 | 
				
			||||||
        WinBollClientServiceBean bean = WinBollClientServiceBean.loadBean(context, WinBollClientServiceBean.class);
 | 
					        WinBoLLClientServiceBean bean = WinBoLLClientServiceBean.loadBean(context, WinBoLLClientServiceBean.class);
 | 
				
			||||||
        return bean == null ? new WinBollClientServiceBean() : bean;
 | 
					        return bean == null ? new WinBoLLClientServiceBean() : bean;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static boolean saveWinBollServiceBean(WinBollClientService service, WinBollClientServiceBean bean) {
 | 
					    public static boolean saveWinBoLLServiceBean(WinBoLLClientService service, WinBoLLClientServiceBean bean) {
 | 
				
			||||||
        return WinBollClientServiceBean.saveBean(service, bean);
 | 
					        return WinBoLLClientServiceBean.saveBean(service, bean);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -3,15 +3,15 @@ package cc.winboll.studio.libaes.winboll;
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * @Author ZhanGSKen@AliYun.Com
 | 
					 * @Author ZhanGSKen@AliYun.Com
 | 
				
			||||||
 * @Date 2025/03/28 19:13:20
 | 
					 * @Date 2025/03/28 19:13:20
 | 
				
			||||||
 * @Describe WinBoll 邮件服务
 | 
					 * @Describe WinBoLL 邮件服务
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
import android.app.Service;
 | 
					import android.app.Service;
 | 
				
			||||||
import android.content.Intent;
 | 
					import android.content.Intent;
 | 
				
			||||||
import android.os.IBinder;
 | 
					import android.os.IBinder;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class WinBollMail extends Service {
 | 
					public class WinBoLLMail extends Service {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final String TAG = "WinBollMail";
 | 
					    public static final String TAG = "WinBoLLMail";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public IBinder onBind(Intent intent) {
 | 
					    public IBinder onBind(Intent intent) {
 | 
				
			||||||
@@ -3,7 +3,7 @@ package cc.winboll.studio.libaes.winboll;
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * @Author ZhanGSKen@AliYun.Com
 | 
					 * @Author ZhanGSKen@AliYun.Com
 | 
				
			||||||
 * @Date 2025/03/29 15:57:28
 | 
					 * @Date 2025/03/29 15:57:28
 | 
				
			||||||
 * @Describe WinBoll 服务器服务情况测试访问进程。
 | 
					 * @Describe WinBoLL 服务器服务情况测试访问进程。
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
import cc.winboll.studio.libappbase.LogUtils;
 | 
					import cc.winboll.studio.libappbase.LogUtils;
 | 
				
			||||||
import java.io.IOException;
 | 
					import java.io.IOException;
 | 
				
			||||||
@@ -20,9 +20,9 @@ interface TextCallback {
 | 
				
			|||||||
    void onFailure(Exception e);
 | 
					    void onFailure(Exception e);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class WinBollServerConnectionThread extends Thread {
 | 
					public class WinBoLLServerConnectionThread extends Thread {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final String TAG = "WinBollClientService";
 | 
					    public static final String TAG = "WinBoLLClientService";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private final String url;
 | 
					    private final String url;
 | 
				
			||||||
    private final String username;
 | 
					    private final String username;
 | 
				
			||||||
@@ -33,12 +33,12 @@ public class WinBollServerConnectionThread extends Thread {
 | 
				
			|||||||
    private final TextCallback callback; // 新增回调成员变量
 | 
					    private final TextCallback callback; // 新增回调成员变量
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // 新增带回调的构造函数
 | 
					    // 新增带回调的构造函数
 | 
				
			||||||
    public WinBollServerConnectionThread(String url, String username, String password, TextCallback callback) {
 | 
					    public WinBoLLServerConnectionThread(String url, String username, String password, TextCallback callback) {
 | 
				
			||||||
        this(url, username, password, 10000, 10000, 5, callback);
 | 
					        this(url, username, password, 10000, 10000, 5, callback);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // 修改原有构造函数,添加回调参数
 | 
					    // 修改原有构造函数,添加回调参数
 | 
				
			||||||
    public WinBollServerConnectionThread(String url, String username, String password, 
 | 
					    public WinBoLLServerConnectionThread(String url, String username, String password, 
 | 
				
			||||||
                                             int connectTimeout, int readTimeout, int maxRetries, TextCallback callback) {
 | 
					                                             int connectTimeout, int readTimeout, int maxRetries, TextCallback callback) {
 | 
				
			||||||
        this.url = url;
 | 
					        this.url = url;
 | 
				
			||||||
        this.username = username;
 | 
					        this.username = username;
 | 
				
			||||||
@@ -3,8 +3,9 @@ package cc.winboll.studio.libaes.winboll;
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * @Author ZhanGSKen@AliYun.Com
 | 
					 * @Author ZhanGSKen@AliYun.Com
 | 
				
			||||||
 * @Date 2025/03/28 17:41:55
 | 
					 * @Date 2025/03/28 17:41:55
 | 
				
			||||||
 * @Describe WinBoll 服务主机连接状态视图
 | 
					 * @Describe WinBoLL 服务主机连接状态视图
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					import cc.winboll.studio.libaes.R;
 | 
				
			||||||
import android.content.ComponentName;
 | 
					import android.content.ComponentName;
 | 
				
			||||||
import android.content.Context;
 | 
					import android.content.Context;
 | 
				
			||||||
import android.content.Intent;
 | 
					import android.content.Intent;
 | 
				
			||||||
@@ -18,10 +19,9 @@ import android.view.View;
 | 
				
			|||||||
import android.widget.ImageView;
 | 
					import android.widget.ImageView;
 | 
				
			||||||
import android.widget.LinearLayout;
 | 
					import android.widget.LinearLayout;
 | 
				
			||||||
import android.widget.TextView;
 | 
					import android.widget.TextView;
 | 
				
			||||||
import cc.winboll.studio.libaes.winboll.WinBollClientService;
 | 
					import cc.winboll.studio.libaes.winboll.WinBoLLClientService;
 | 
				
			||||||
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.R;
 | 
					 | 
				
			||||||
import cc.winboll.studio.libapputils.utils.PrefUtils;
 | 
					import cc.winboll.studio.libapputils.utils.PrefUtils;
 | 
				
			||||||
import java.time.LocalDateTime;
 | 
					import java.time.LocalDateTime;
 | 
				
			||||||
import java.time.format.DateTimeFormatter;
 | 
					import java.time.format.DateTimeFormatter;
 | 
				
			||||||
@@ -32,23 +32,23 @@ import java.time.format.DateTimeFormatter;
 | 
				
			|||||||
//import okhttp3.Response;
 | 
					//import okhttp3.Response;
 | 
				
			||||||
//import okhttp3.Route;
 | 
					//import okhttp3.Route;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class WinBollServiceStatusView extends LinearLayout {
 | 
					public class WinBoLLServiceStatusView extends LinearLayout {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final String TAG = "WinBollServiceStatusView";
 | 
					    public static final String TAG = "WinBoLLServiceStatusView";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static final int MSG_CONNECTION_INFO = 0;
 | 
					    public static final int MSG_CONNECTION_INFO = 0;
 | 
				
			||||||
    public static final int MSG_UPDATE_CONNECTION_STATUS = 1;
 | 
					    public static final int MSG_UPDATE_CONNECTION_STATUS = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    static WinBollServiceStatusView _WinBollServiceStatusView;
 | 
					    static WinBoLLServiceStatusView _WinBoLLServiceStatusView;
 | 
				
			||||||
    Context mContext;
 | 
					    Context mContext;
 | 
				
			||||||
    //boolean mIsConnected;
 | 
					    //boolean mIsConnected;
 | 
				
			||||||
    volatile ConnectionThread mConnectionThread;
 | 
					    volatile ConnectionThread mConnectionThread;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    String mszServerHost;
 | 
					    String mszServerHost;
 | 
				
			||||||
    WinBollClientService mWinBollService;
 | 
					    WinBoLLClientService mWinBoLLService;
 | 
				
			||||||
    ImageView mImageView;
 | 
					    ImageView mImageView;
 | 
				
			||||||
    TextView mTextView;
 | 
					    TextView mTextView;
 | 
				
			||||||
    WinBollServiceViewHandler mWinBollServiceViewHandler;
 | 
					    WinBoLLServiceViewHandler mWinBoLLServiceViewHandler;
 | 
				
			||||||
    //WebView mWebView;
 | 
					    //WebView mWebView;
 | 
				
			||||||
    static volatile ConnectionStatus mConnectionStatus;
 | 
					    static volatile ConnectionStatus mConnectionStatus;
 | 
				
			||||||
    View.OnClickListener mViewOnClickListener;
 | 
					    View.OnClickListener mViewOnClickListener;
 | 
				
			||||||
@@ -66,11 +66,11 @@ public class WinBollServiceStatusView extends LinearLayout {
 | 
				
			|||||||
    ServiceConnection connection = new ServiceConnection() {
 | 
					    ServiceConnection connection = new ServiceConnection() {
 | 
				
			||||||
        @Override
 | 
					        @Override
 | 
				
			||||||
        public void onServiceConnected(ComponentName name, IBinder service) {
 | 
					        public void onServiceConnected(ComponentName name, IBinder service) {
 | 
				
			||||||
            IWinBollClientServiceBinder binder = (IWinBollClientServiceBinder) service;
 | 
					            IWinBoLLClientServiceBinder binder = (IWinBoLLClientServiceBinder) service;
 | 
				
			||||||
            mWinBollService = binder.getService();
 | 
					            mWinBoLLService = binder.getService();
 | 
				
			||||||
            isBound = true;
 | 
					            isBound = true;
 | 
				
			||||||
            // 可以在这里调用Service的方法进行通信,比如获取数据
 | 
					            // 可以在这里调用Service的方法进行通信,比如获取数据
 | 
				
			||||||
            mImageView.setBackgroundDrawable(mWinBollService.getCurrentStatusIconDrawable());
 | 
					            mImageView.setBackgroundDrawable(mWinBoLLService.getCurrentStatusIconDrawable());
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        @Override
 | 
					        @Override
 | 
				
			||||||
@@ -79,25 +79,25 @@ public class WinBollServiceStatusView extends LinearLayout {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public WinBollServiceStatusView(Context context) {
 | 
					    public WinBoLLServiceStatusView(Context context) {
 | 
				
			||||||
        super(context);
 | 
					        super(context);
 | 
				
			||||||
        mContext = context;
 | 
					        mContext = context;
 | 
				
			||||||
        initView();
 | 
					        initView();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public WinBollServiceStatusView(Context context, AttributeSet attrs) {
 | 
					    public WinBoLLServiceStatusView(Context context, AttributeSet attrs) {
 | 
				
			||||||
        super(context, attrs);
 | 
					        super(context, attrs);
 | 
				
			||||||
        mContext = context;
 | 
					        mContext = context;
 | 
				
			||||||
        initView();
 | 
					        initView();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public WinBollServiceStatusView(Context context, AttributeSet attrs, int defStyleAttr) {
 | 
					    public WinBoLLServiceStatusView(Context context, AttributeSet attrs, int defStyleAttr) {
 | 
				
			||||||
        super(context, attrs, defStyleAttr);
 | 
					        super(context, attrs, defStyleAttr);
 | 
				
			||||||
        mContext = context;
 | 
					        mContext = context;
 | 
				
			||||||
        initView();
 | 
					        initView();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public WinBollServiceStatusView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
 | 
					    public WinBoLLServiceStatusView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
 | 
				
			||||||
        super(context, attrs, defStyleAttr, defStyleRes);
 | 
					        super(context, attrs, defStyleAttr, defStyleRes);
 | 
				
			||||||
        mContext = context;
 | 
					        mContext = context;
 | 
				
			||||||
        initView();
 | 
					        initView();
 | 
				
			||||||
@@ -110,13 +110,13 @@ public class WinBollServiceStatusView extends LinearLayout {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void initView() {
 | 
					    void initView() {
 | 
				
			||||||
        _WinBollServiceStatusView = this;
 | 
					        _WinBoLLServiceStatusView = this;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        mImageView = new ImageView(mContext);
 | 
					        mImageView = new ImageView(mContext);
 | 
				
			||||||
        setImageViewByConnection(mImageView, false);
 | 
					        setImageViewByConnection(mImageView, false);
 | 
				
			||||||
        mConnectionStatus = getConnectionStatus();
 | 
					        mConnectionStatus = getConnectionStatus();
 | 
				
			||||||
        //mIsConnected = false;
 | 
					        //mIsConnected = false;
 | 
				
			||||||
        //mWinBollServerHostConnectionStatus = WinBollServerHostConnectionStatus.DISCONNECTED;
 | 
					        //mWinBoLLServerHostConnectionStatus = WinBoLLServerHostConnectionStatus.DISCONNECTED;
 | 
				
			||||||
        //ToastUtils.show("initView()");
 | 
					        //ToastUtils.show("initView()");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        mViewOnClickListener = new View.OnClickListener(){
 | 
					        mViewOnClickListener = new View.OnClickListener(){
 | 
				
			||||||
@@ -125,10 +125,10 @@ public class WinBollServiceStatusView extends LinearLayout {
 | 
				
			|||||||
                LogUtils.d(TAG, "onClick()");
 | 
					                LogUtils.d(TAG, "onClick()");
 | 
				
			||||||
                if (mConnectionStatus == ConnectionStatus.CONNECTED) {
 | 
					                if (mConnectionStatus == ConnectionStatus.CONNECTED) {
 | 
				
			||||||
                    LogUtils.d(TAG, "Click to stop service.");
 | 
					                    LogUtils.d(TAG, "Click to stop service.");
 | 
				
			||||||
                    WinBollClientServiceBean bean = WinBollClientServiceBean.loadWinBollClientServiceBean(mContext);
 | 
					                    WinBoLLClientServiceBean bean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(mContext);
 | 
				
			||||||
                    bean.setIsEnable(false);
 | 
					                    bean.setIsEnable(false);
 | 
				
			||||||
                    WinBollClientServiceBean.saveBean(mContext, bean);
 | 
					                    WinBoLLClientServiceBean.saveBean(mContext, bean);
 | 
				
			||||||
                    Intent intent = new Intent(mContext, WinBollClientService.class);
 | 
					                    Intent intent = new Intent(mContext, WinBoLLClientService.class);
 | 
				
			||||||
                    mContext.stopService(intent);
 | 
					                    mContext.stopService(intent);
 | 
				
			||||||
                    //stopConnectionThread();
 | 
					                    //stopConnectionThread();
 | 
				
			||||||
                    mTextView.setText("");
 | 
					                    mTextView.setText("");
 | 
				
			||||||
@@ -136,10 +136,10 @@ public class WinBollServiceStatusView extends LinearLayout {
 | 
				
			|||||||
                    mConnectionStatus = ConnectionStatus.DISCONNECTED;
 | 
					                    mConnectionStatus = ConnectionStatus.DISCONNECTED;
 | 
				
			||||||
                } else if (mConnectionStatus == ConnectionStatus.DISCONNECTED) {
 | 
					                } else if (mConnectionStatus == ConnectionStatus.DISCONNECTED) {
 | 
				
			||||||
                    LogUtils.d(TAG, "Click to start service.");
 | 
					                    LogUtils.d(TAG, "Click to start service.");
 | 
				
			||||||
                    WinBollClientServiceBean bean = WinBollClientServiceBean.loadWinBollClientServiceBean(mContext);
 | 
					                    WinBoLLClientServiceBean bean = WinBoLLClientServiceBean.loadWinBoLLClientServiceBean(mContext);
 | 
				
			||||||
                    bean.setIsEnable(true);
 | 
					                    bean.setIsEnable(true);
 | 
				
			||||||
                    WinBollClientServiceBean.saveBean(mContext, bean);
 | 
					                    WinBoLLClientServiceBean.saveBean(mContext, bean);
 | 
				
			||||||
                    Intent intent = new Intent(mContext, WinBollClientService.class);
 | 
					                    Intent intent = new Intent(mContext, WinBoLLClientService.class);
 | 
				
			||||||
                    mContext.startService(intent);
 | 
					                    mContext.startService(intent);
 | 
				
			||||||
                    //startConnectionThread();
 | 
					                    //startConnectionThread();
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@@ -148,7 +148,7 @@ public class WinBollServiceStatusView extends LinearLayout {
 | 
				
			|||||||
        setOnClickListener(mViewOnClickListener);
 | 
					        setOnClickListener(mViewOnClickListener);
 | 
				
			||||||
        addView(mImageView);
 | 
					        addView(mImageView);
 | 
				
			||||||
        mTextView = new TextView(mContext);
 | 
					        mTextView = new TextView(mContext);
 | 
				
			||||||
        mWinBollServiceViewHandler = new WinBollServiceViewHandler(this);
 | 
					        mWinBoLLServiceViewHandler = new WinBoLLServiceViewHandler(this);
 | 
				
			||||||
        addView(mTextView);
 | 
					        addView(mTextView);
 | 
				
			||||||
        /*mWebView = new WebView(mContext);
 | 
					        /*mWebView = new WebView(mContext);
 | 
				
			||||||
         mWebView.setWebViewClient(new WebViewClient() {
 | 
					         mWebView.setWebViewClient(new WebViewClient() {
 | 
				
			||||||
@@ -161,8 +161,8 @@ public class WinBollServiceStatusView extends LinearLayout {
 | 
				
			|||||||
         addView(mWebView);*/
 | 
					         addView(mWebView);*/
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void checkWinBollServerStatusAndUpdateCurrentView() {
 | 
					    void checkWinBoLLServerStatusAndUpdateCurrentView() {
 | 
				
			||||||
        LogUtils.d(TAG, "checkWinBollServerStatusAndUpdateCurrentView()");
 | 
					        LogUtils.d(TAG, "checkWinBoLLServerStatusAndUpdateCurrentView()");
 | 
				
			||||||
        /*if (getConnectionStatus() == ConnectionStatus.CONNECTED) {
 | 
					        /*if (getConnectionStatus() == ConnectionStatus.CONNECTED) {
 | 
				
			||||||
         mConnectionStatus = ConnectionStatus.CONNECTED;
 | 
					         mConnectionStatus = ConnectionStatus.CONNECTED;
 | 
				
			||||||
         } else {
 | 
					         } else {
 | 
				
			||||||
@@ -170,8 +170,8 @@ public class WinBollServiceStatusView extends LinearLayout {
 | 
				
			|||||||
         }*/
 | 
					         }*/
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public void setServerHost(String szWinBollServerHost) {
 | 
					    public void setServerHost(String szWinBoLLServerHost) {
 | 
				
			||||||
        mszServerHost = szWinBollServerHost;
 | 
					        mszServerHost = szWinBoLLServerHost;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public void setAuthInfo(String username, String password) {
 | 
					    public void setAuthInfo(String username, String password) {
 | 
				
			||||||
@@ -216,8 +216,8 @@ public class WinBollServiceStatusView extends LinearLayout {
 | 
				
			|||||||
            // 按照指定格式格式化时间并输出
 | 
					            // 按照指定格式格式化时间并输出
 | 
				
			||||||
            String formattedDateTime = now.format(formatter);
 | 
					            String formattedDateTime = now.format(formatter);
 | 
				
			||||||
            String msg = "ClientIP<" + formattedDateTime + ">: " + text;
 | 
					            String msg = "ClientIP<" + formattedDateTime + ">: " + text;
 | 
				
			||||||
            mWinBollServiceViewHandler.postMessageText(msg);
 | 
					            mWinBoLLServiceViewHandler.postMessageText(msg);
 | 
				
			||||||
            mWinBollServiceViewHandler.postMessageConnectionStatus(true);
 | 
					            mWinBoLLServiceViewHandler.postMessageConnectionStatus(true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -227,8 +227,8 @@ public class WinBollServiceStatusView extends LinearLayout {
 | 
				
			|||||||
            LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
 | 
					            LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
 | 
				
			||||||
            // 处理网络请求失败
 | 
					            // 处理网络请求失败
 | 
				
			||||||
            setImageViewByConnection(mImageView, false);
 | 
					            setImageViewByConnection(mImageView, false);
 | 
				
			||||||
            mWinBollServiceViewHandler.postMessageText(e.getMessage());
 | 
					            mWinBoLLServiceViewHandler.postMessageText(e.getMessage());
 | 
				
			||||||
            mWinBollServiceViewHandler.postMessageConnectionStatus(false);
 | 
					            mWinBoLLServiceViewHandler.postMessageConnectionStatus(false);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -249,12 +249,12 @@ public class WinBollServiceStatusView extends LinearLayout {
 | 
				
			|||||||
            username = PrefUtils.getString(mContext, "metDevUserName", "");
 | 
					            username = PrefUtils.getString(mContext, "metDevUserName", "");
 | 
				
			||||||
            password = PrefUtils.getString(mContext, "metDevUserPassword", "");
 | 
					            password = PrefUtils.getString(mContext, "metDevUserPassword", "");
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            username = "WinBoll";
 | 
					            username = "WinBoLL";
 | 
				
			||||||
            password = "WinBollPowerByZhanGSKen";
 | 
					            password = "WinBoLLPowerByZhanGSKen";
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        LogUtils.d(TAG, String.format("Connection Start. targetUrl %s", targetUrl));
 | 
					        LogUtils.d(TAG, String.format("Connection Start. targetUrl %s", targetUrl));
 | 
				
			||||||
        WinBollServerConnectionThread thread = new WinBollServerConnectionThread(
 | 
					        WinBoLLServerConnectionThread thread = new WinBoLLServerConnectionThread(
 | 
				
			||||||
            targetUrl,
 | 
					            targetUrl,
 | 
				
			||||||
            username,
 | 
					            username,
 | 
				
			||||||
            password,
 | 
					            password,
 | 
				
			||||||
@@ -263,7 +263,7 @@ public class WinBollServiceStatusView extends LinearLayout {
 | 
				
			|||||||
        thread.start();
 | 
					        thread.start();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /*void requestWithBasicAuth(final WinBollServiceViewHandler textViewHandler, String targetUrl, final String username, final String password) {
 | 
					    /*void requestWithBasicAuth(final WinBoLLServiceViewHandler textViewHandler, String targetUrl, final String username, final String password) {
 | 
				
			||||||
     // 用户名和密码,替换为实际的认证信息
 | 
					     // 用户名和密码,替换为实际的认证信息
 | 
				
			||||||
     //String username = "your_username";
 | 
					     //String username = "your_username";
 | 
				
			||||||
     //String password = "your_password";
 | 
					     //String password = "your_password";
 | 
				
			||||||
@@ -350,10 +350,10 @@ public class WinBollServiceStatusView extends LinearLayout {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
     }*/
 | 
					     }*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    class WinBollServiceViewHandler extends Handler {
 | 
					    class WinBoLLServiceViewHandler extends Handler {
 | 
				
			||||||
        WinBollServiceStatusView mDevelopHostConnectionStatusView;
 | 
					        WinBoLLServiceStatusView mDevelopHostConnectionStatusView;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public WinBollServiceViewHandler(WinBollServiceStatusView view) {
 | 
					        public WinBoLLServiceViewHandler(WinBoLLServiceStatusView view) {
 | 
				
			||||||
            mDevelopHostConnectionStatusView = view;
 | 
					            mDevelopHostConnectionStatusView = view;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -384,14 +384,14 @@ public class WinBollServiceStatusView extends LinearLayout {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static void startConnection() {
 | 
					    public static void startConnection() {
 | 
				
			||||||
        if (_WinBollServiceStatusView != null) {
 | 
					        if (_WinBoLLServiceStatusView != null) {
 | 
				
			||||||
            _WinBollServiceStatusView.startConnectionThread();
 | 
					            _WinBoLLServiceStatusView.startConnectionThread();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static void stopConnection() {
 | 
					    public static void stopConnection() {
 | 
				
			||||||
        if (_WinBollServiceStatusView != null) {
 | 
					        if (_WinBoLLServiceStatusView != null) {
 | 
				
			||||||
            _WinBollServiceStatusView.stopConnectionThread();
 | 
					            _WinBoLLServiceStatusView.stopConnectionThread();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -448,7 +448,7 @@ public class WinBollServiceStatusView extends LinearLayout {
 | 
				
			|||||||
                    requestCIPWithBasicAuth();
 | 
					                    requestCIPWithBasicAuth();
 | 
				
			||||||
                } else if (mConnectionStatus == ConnectionStatus.CONNECTED
 | 
					                } else if (mConnectionStatus == ConnectionStatus.CONNECTED
 | 
				
			||||||
                           || mConnectionStatus == ConnectionStatus.DISCONNECTED) {
 | 
					                           || mConnectionStatus == ConnectionStatus.DISCONNECTED) {
 | 
				
			||||||
                    //ToastUtils.show("mWinBollServerHostConnectionStatus " + mConnectionStatus);
 | 
					                    //ToastUtils.show("mWinBoLLServerHostConnectionStatus " + mConnectionStatus);
 | 
				
			||||||
                    LogUtils.d(TAG, String.format("mConnectionStatus done %s", mConnectionStatus));
 | 
					                    LogUtils.d(TAG, String.format("mConnectionStatus done %s", mConnectionStatus));
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    LogUtils.d(TAG, String.format("mConnectionStatus unknow %s", mConnectionStatus));
 | 
					                    LogUtils.d(TAG, String.format("mConnectionStatus unknow %s", mConnectionStatus));
 | 
				
			||||||
@@ -465,7 +465,7 @@ public class WinBollServiceStatusView extends LinearLayout {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /*WinBollService.OnServiceStatusChangeListener mOnServerStatusChangeListener = new WinBollService.OnServiceStatusChangeListener(){
 | 
					    /*WinBoLLService.OnServiceStatusChangeListener mOnServerStatusChangeListener = new WinBoLLService.OnServiceStatusChangeListener(){
 | 
				
			||||||
     @Override
 | 
					     @Override
 | 
				
			||||||
     public void onServerStatusChange(boolean isServiceAlive) {
 | 
					     public void onServerStatusChange(boolean isServiceAlive) {
 | 
				
			||||||
     }
 | 
					     }
 | 
				
			||||||
@@ -53,10 +53,10 @@
 | 
				
			|||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
        android:gravity="center_horizontal">
 | 
					        android:gravity="center_horizontal">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <cc.winboll.studio.libaes.winboll.WinBollServiceStatusView
 | 
					        <cc.winboll.studio.libaes.winboll.WinBoLLServiceStatusView
 | 
				
			||||||
            android:layout_width="wrap_content"
 | 
					            android:layout_width="wrap_content"
 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
            android:id="@+id/viewaboutdevWinBollServiceStatusView1"/>
 | 
					            android:id="@+id/viewaboutdevWinBoLLServiceStatusView1"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    </LinearLayout>
 | 
					    </LinearLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,10 +12,10 @@
 | 
				
			|||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
        android:gravity="center_horizontal">
 | 
					        android:gravity="center_horizontal">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <cc.winboll.studio.libaes.winboll.WinBollServiceStatusView
 | 
					        <cc.winboll.studio.libaes.winboll.WinBoLLServiceStatusView
 | 
				
			||||||
            android:layout_width="wrap_content"
 | 
					            android:layout_width="wrap_content"
 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
            android:id="@+id/viewaboutwwwWinBollServiceStatusView1"/>
 | 
					            android:id="@+id/viewaboutwwwWinBoLLServiceStatusView1"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    </LinearLayout>
 | 
					    </LinearLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,38 +0,0 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					 | 
				
			||||||
<LinearLayout
 | 
					 | 
				
			||||||
    xmlns:android="http://schemas.android.com/apk/res/android"
 | 
					 | 
				
			||||||
    android:layout_width="wrap_content"
 | 
					 | 
				
			||||||
    android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
    android:orientation="vertical"
 | 
					 | 
				
			||||||
    android:gravity="center_horizontal"
 | 
					 | 
				
			||||||
    android:background="@drawable/toast_frame"
 | 
					 | 
				
			||||||
    android:padding="10dp">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <TextView
 | 
					 | 
				
			||||||
        android:layout_width="wrap_content"
 | 
					 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
        android:text="@string/app_name"
 | 
					 | 
				
			||||||
        android:textStyle="bold"
 | 
					 | 
				
			||||||
        android:textColor="#FFFFFFFF"/>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <LinearLayout
 | 
					 | 
				
			||||||
        android:orientation="horizontal"
 | 
					 | 
				
			||||||
        android:layout_width="wrap_content"
 | 
					 | 
				
			||||||
        android:layout_height="wrap_content">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <ImageView
 | 
					 | 
				
			||||||
            android:layout_width="40dp"
 | 
					 | 
				
			||||||
            android:layout_height="40dp"
 | 
					 | 
				
			||||||
            android:src="@drawable/ic_launcher"/>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <TextView
 | 
					 | 
				
			||||||
            android:id="@android:id/message"
 | 
					 | 
				
			||||||
            android:layout_width="wrap_content"
 | 
					 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
            android:layout_margin="10dp"
 | 
					 | 
				
			||||||
            android:textColor="#FFFFFFFF"/>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    </LinearLayout>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
</LinearLayout>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
<resources>
 | 
					<resources>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <string name="lib_name">libaes</string>
 | 
					    <string name="lib_name">libaes</string>
 | 
				
			||||||
    <string name="lib_description">云宝APP应用安卓元素类库示例。源码仅供调试参考,请勿直接引用。(WinBoll APP application Android element class library example. The source is just for demo debug test, Do not quote directly.)</string>
 | 
					    <string name="lib_description">云宝APP应用安卓元素类库示例。源码仅供调试参考,请勿直接引用。(WinBoLL APP application Android element class library example. The source is just for demo debug test, Do not quote directly.)</string>
 | 
				
			||||||
    <string name="lib_home">https://winboll.cc/aes</string>
 | 
					    <string name="lib_home">https://winboll.cc/aes</string>
 | 
				
			||||||
    <string name="text_about">关于</string>
 | 
					    <string name="text_about">关于</string>
 | 
				
			||||||
    <string name="text_AppTheme">应用主题</string>
 | 
					    <string name="text_AppTheme">应用主题</string>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
<resources>
 | 
					<resources>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <string name="lib_name">libaes</string>
 | 
					    <string name="lib_name">libaes</string>
 | 
				
			||||||
    <string name="lib_description">云宝APP应用安卓元素类库示例。源码仅供调试参考,请勿直接引用。(WinBoll APP application Android element class library example. The source is just for demo debug test, Do not quote directly.)</string>
 | 
					    <string name="lib_description">云宝APP应用安卓元素类库示例。源码仅供调试参考,请勿直接引用。(WinBoLL APP application Android element class library example. The source is just for demo debug test, Do not quote directly.)</string>
 | 
				
			||||||
    <string name="lib_home">https://winboll.cc/libaes</string>
 | 
					    <string name="lib_home">https://winboll.cc/libaes</string>
 | 
				
			||||||
    <string name="text_about">About</string>
 | 
					    <string name="text_about">About</string>
 | 
				
			||||||
    <string name="text_AppTheme">AppTheme</string>
 | 
					    <string name="text_AppTheme">AppTheme</string>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user