项目模块精简
This commit is contained in:
		| @@ -1,8 +1,8 @@ | |||||||
| #Created by .winboll/winboll_app_build.gradle | #Created by .winboll/winboll_app_build.gradle | ||||||
| #Sun Sep 21 16:44:01 GMT 2025 | #Sun Sep 21 17:28:09 GMT 2025 | ||||||
| stageCount=0 | stageCount=0 | ||||||
| libraryProject=libappbase | libraryProject=libappbase | ||||||
| baseVersion=15.10 | baseVersion=15.10 | ||||||
| publishVersion=15.10.0 | publishVersion=15.10.0 | ||||||
| buildCount=6 | buildCount=17 | ||||||
| baseBetaVersion=15.10.1 | baseBetaVersion=15.10.1 | ||||||
|   | |||||||
| @@ -2,7 +2,10 @@ | |||||||
| <manifest | <manifest | ||||||
|     xmlns:android="http://schemas.android.com/apk/res/android" |     xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|     package="cc.winboll.studio.appbase"> |     package="cc.winboll.studio.appbase"> | ||||||
|  | 	 | ||||||
|  | 	<!-- 网络权限 --> | ||||||
|  | 	<uses-permission android:name="android.permission.INTERNET" /> | ||||||
|  | 		 | ||||||
|     <application |     <application | ||||||
|         android:name=".App" |         android:name=".App" | ||||||
|         android:icon="@drawable/ic_miapp" |         android:icon="@drawable/ic_miapp" | ||||||
|   | |||||||
| @@ -1,19 +1,17 @@ | |||||||
| package cc.winboll.studio.appbase; | package cc.winboll.studio.appbase; | ||||||
|  |  | ||||||
| import android.app.Activity; | import android.app.Activity; | ||||||
| import android.content.ComponentName; | import android.content.Context; | ||||||
| import android.content.Intent; | import android.content.Intent; | ||||||
|  | import android.net.Uri; | ||||||
| import android.os.Bundle; | import android.os.Bundle; | ||||||
| import android.view.Menu; | import android.view.Menu; | ||||||
| import android.view.MenuItem; | import android.view.MenuItem; | ||||||
| import android.view.View; | import android.view.View; | ||||||
| import android.widget.CheckBox; | import android.widget.Toast; | ||||||
| import android.widget.Toolbar; | import android.widget.Toolbar; | ||||||
| import cc.winboll.studio.appbase.R; | import cc.winboll.studio.appbase.R; | ||||||
| import cc.winboll.studio.libappbase.CrashHandler; | import cc.winboll.studio.libappbase.LogActivity; | ||||||
| import cc.winboll.studio.libappbase.GlobalApplication; |  | ||||||
| import cc.winboll.studio.libappbase.GlobalCrashActivity; |  | ||||||
| import cc.winboll.studio.libappbase.LogUtils; |  | ||||||
| import cc.winboll.studio.libappbase.ToastUtils; | import cc.winboll.studio.libappbase.ToastUtils; | ||||||
|  |  | ||||||
| public class MainActivity extends Activity { | public class MainActivity extends Activity { | ||||||
| @@ -30,9 +28,6 @@ public class MainActivity extends Activity { | |||||||
|  |  | ||||||
|         mToolbar = findViewById(R.id.toolbar); |         mToolbar = findViewById(R.id.toolbar); | ||||||
|         setActionBar(mToolbar); |         setActionBar(mToolbar); | ||||||
|  |  | ||||||
|         CheckBox cbIsDebugMode = findViewById(R.id.activitymainCheckBox1); |  | ||||||
|         cbIsDebugMode.setChecked(GlobalApplication.isDebuging()); |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
| @@ -43,11 +38,11 @@ public class MainActivity extends Activity { | |||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public boolean onOptionsItemSelected(MenuItem item) { |     public boolean onOptionsItemSelected(MenuItem item) { | ||||||
|         if(item.getItemId() == R.id.item_yun) { | 		switch (item.getItemId()) { | ||||||
|             GlobalApplication.getWinBoLLActivityManager().startWinBoLLActivity(this, cc.winboll.studio.libappbase.activities.YunActivity.class); | 			case R.id.item_home : { | ||||||
|         } else if(item.getItemId() == R.id.item_logon) { | 					openWebsiteInBrowser(this); | ||||||
|             GlobalApplication.getWinBoLLActivityManager().startWinBoLLActivity(this, cc.winboll.studio.libappbase.activities.LogonActivity.class); | 				} | ||||||
|         } | 		} | ||||||
|         // 在switch语句中处理每个ID,并在处理完后返回true,未处理的情况返回false。 |         // 在switch语句中处理每个ID,并在处理完后返回true,未处理的情况返回false。 | ||||||
|         return super.onOptionsItemSelected(item); |         return super.onOptionsItemSelected(item); | ||||||
|     } |     } | ||||||
| @@ -57,10 +52,23 @@ public class MainActivity extends Activity { | |||||||
| 			getString(i); | 			getString(i); | ||||||
| 		} | 		} | ||||||
|     } |     } | ||||||
| 	 |  | ||||||
|     public void onLogTest(View view) { |     public void onLogTest(View view) { | ||||||
|         Intent intent = new Intent(this, TestDemoService.class); |         LogActivity.startLogActivity(this); | ||||||
|         intent.setAction(TestDemoService.ACTION_ENABLE); |  | ||||||
|         startService(intent); |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | 	/** | ||||||
|  | 	 * 唤起默认浏览器打开指定网站 | ||||||
|  | 	 * @param context 上下文(如 Activity.this) | ||||||
|  | 	 */ | ||||||
|  | 	public void openWebsiteInBrowser(Context context) { | ||||||
|  | 		// 目标网站地址 | ||||||
|  | 		String url = "https://www.winboll.cc"; | ||||||
|  | 		// 构建打开浏览器的意图 | ||||||
|  | 		Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); | ||||||
|  | 		// 设置标志:避免创建新的任务栈(可选,按需求调整) | ||||||
|  | 		intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | ||||||
|  | 		context.startActivity(intent); | ||||||
|  | 		 | ||||||
|  | 	} | ||||||
| } | } | ||||||
|   | |||||||
| @@ -3,18 +3,6 @@ | |||||||
| 	xmlns:app="http://schemas.android.com/apk/res-auto"> | 	xmlns:app="http://schemas.android.com/apk/res-auto"> | ||||||
|     <item |     <item | ||||||
|         android:id="@+id/item_home" |         android:id="@+id/item_home" | ||||||
|         android:title="HOME" |         android:title="WinBoLL Home" | ||||||
|         android:icon="@drawable/ic_winboll"/> |         android:icon="@drawable/ic_winboll"/> | ||||||
|     <item |  | ||||||
|         android:id="@+id/item_yun" |  | ||||||
|         android:title="YUN" |  | ||||||
|         android:icon="@drawable/ic_winboll"/> |  | ||||||
|     <item |  | ||||||
|         android:id="@+id/item_logon" |  | ||||||
|         android:title="Logon" |  | ||||||
|         android:icon="@drawable/ic_winboll"/> |  | ||||||
|     <item |  | ||||||
|         android:id="@+id/item_log" |  | ||||||
|         android:title="LOG" |  | ||||||
|         android:icon="@drawable/ic_winboll_log"/> |  | ||||||
| </menu> | </menu> | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| #Created by .winboll/winboll_app_build.gradle | #Created by .winboll/winboll_app_build.gradle | ||||||
| #Sun Sep 21 16:44:01 GMT 2025 | #Sun Sep 21 17:28:09 GMT 2025 | ||||||
| stageCount=0 | stageCount=0 | ||||||
| libraryProject=libappbase | libraryProject=libappbase | ||||||
| baseVersion=15.10 | baseVersion=15.10 | ||||||
| publishVersion=15.10.0 | publishVersion=15.10.0 | ||||||
| buildCount=6 | buildCount=17 | ||||||
| baseBetaVersion=15.10.1 | baseBetaVersion=15.10.1 | ||||||
|   | |||||||
| @@ -3,15 +3,6 @@ | |||||||
|     xmlns:android="http://schemas.android.com/apk/res/android" |     xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|     package="cc.winboll.studio.libappbase"> |     package="cc.winboll.studio.libappbase"> | ||||||
|  |  | ||||||
|     <!-- 拥有完全的网络访问权限 --> |  | ||||||
|     <uses-permission android:name="android.permission.INTERNET"/> |  | ||||||
|  |  | ||||||
|     <!-- 发送持久广播 --> |  | ||||||
|     <uses-permission android:name="android.permission.BROADCAST_STICKY"/> |  | ||||||
|  |  | ||||||
|     <!-- 对正在运行的应用重新排序 --> |  | ||||||
|     <uses-permission android:name="android.permission.REORDER_TASKS"/> |  | ||||||
|  |  | ||||||
|     <application> |     <application> | ||||||
|  |  | ||||||
|         <activity |         <activity | ||||||
| @@ -27,7 +18,7 @@ | |||||||
|             android:process=":GlobalCrashActivity"/> |             android:process=":GlobalCrashActivity"/> | ||||||
|  |  | ||||||
|         <activity |         <activity | ||||||
|             android:name=".winboll.LogActivity" |             android:name=".LogActivity" | ||||||
|             android:label="LogActivity" |             android:label="LogActivity" | ||||||
|             android:resizeableActivity="true" |             android:resizeableActivity="true" | ||||||
|             android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation" |             android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation" | ||||||
| @@ -37,76 +28,6 @@ | |||||||
|  |  | ||||||
|         </activity> |         </activity> | ||||||
|  |  | ||||||
|         <service |  | ||||||
|             android:name=".SimpleOperateSignalCenterService" |  | ||||||
|             android:exported="true"> |  | ||||||
|  |  | ||||||
|         </service> |  | ||||||
|  |  | ||||||
|         <service |  | ||||||
|             android:name=".services.TestService" |  | ||||||
|             android:exported="true"/> |  | ||||||
|  |  | ||||||
|         <receiver |  | ||||||
|             android:name=".receiver.MyBroadcastReceiver" |  | ||||||
|             android:exported="true"> |  | ||||||
|  |  | ||||||
|             <intent-filter> |  | ||||||
|  |  | ||||||
|                 <action android:name="cc.winboll.studio.libappbase.action.SOS"/> |  | ||||||
|  |  | ||||||
|             </intent-filter> |  | ||||||
|  |  | ||||||
|         </receiver> |  | ||||||
|  |  | ||||||
|         <receiver |  | ||||||
|             android:name=".widgets.StatusWidget" |  | ||||||
|             android:exported="true"> |  | ||||||
|  |  | ||||||
|             <intent-filter> |  | ||||||
|  |  | ||||||
|                 <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/> |  | ||||||
|  |  | ||||||
|                 <action android:name="cc.winboll.studio.libappbase.widgets.StatusWidget.ACTION_STATUS_UPDATE"/> |  | ||||||
|  |  | ||||||
|             </intent-filter> |  | ||||||
|  |  | ||||||
|             <meta-data |  | ||||||
|                 android:name="android.appwidget.provider" |  | ||||||
|                 android:resource="@xml/widget_provider_info_status"/> |  | ||||||
|  |  | ||||||
|         </receiver> |  | ||||||
|  |  | ||||||
|         <receiver |  | ||||||
|             android:name=".widgets.StatusWidgetClickListener" |  | ||||||
|             android:exported="true"> |  | ||||||
|  |  | ||||||
|             <intent-filter> |  | ||||||
|  |  | ||||||
|                 <action android:name="cc.winboll.studio.libappbase.widgets.StatusWidgetClickListener.ACTION_IVAPP"/> |  | ||||||
|  |  | ||||||
|             </intent-filter> |  | ||||||
|  |  | ||||||
|         </receiver> |  | ||||||
|  |  | ||||||
|         <service android:name="cc.winboll.studio.libappbase.sos.SOSCenter"/> |  | ||||||
|  |  | ||||||
|         <receiver |  | ||||||
|             android:name="cc.winboll.studio.libappbase.sos.SOSCenterServiceReceiver" |  | ||||||
|             android:exported="true"> |  | ||||||
|  |  | ||||||
|             <intent-filter> |  | ||||||
|  |  | ||||||
|                 <action android:name="cc.winboll.studio.libappbase.sos.SOSCenterServiceReceiver"/> |  | ||||||
|  |  | ||||||
|             </intent-filter> |  | ||||||
|  |  | ||||||
|         </receiver> |  | ||||||
|  |  | ||||||
|         <activity android:name="cc.winboll.studio.libappbase.activities.YunActivity"/> |  | ||||||
|  |  | ||||||
|         <activity android:name="cc.winboll.studio.libappbase.activities.LogonActivity"/> |  | ||||||
|  |  | ||||||
|     </application> |     </application> | ||||||
|  |  | ||||||
| </manifest> | </manifest> | ||||||
|   | |||||||
| @@ -6,6 +6,8 @@ package cc.winboll.studio.libappbase; | |||||||
|  * @Describe 应用日志窗口 |  * @Describe 应用日志窗口 | ||||||
|  */ |  */ | ||||||
| import android.app.Activity; | import android.app.Activity; | ||||||
|  | import android.content.Context; | ||||||
|  | import android.content.Intent; | ||||||
| import android.os.Bundle; | import android.os.Bundle; | ||||||
| import cc.winboll.studio.libappbase.LogView; | import cc.winboll.studio.libappbase.LogView; | ||||||
| import cc.winboll.studio.libappbase.R; | import cc.winboll.studio.libappbase.R; | ||||||
| @@ -32,4 +34,13 @@ public class LogActivity extends Activity { | |||||||
|         mLogView.start(); |         mLogView.start(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | 	public static void startLogActivity(Context context) { | ||||||
|  | 		Intent intent = new Intent(context, LogActivity.class); | ||||||
|  |         // 打开多任务窗口 | ||||||
|  |         intent.addFlags(Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT); | ||||||
|  |         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | ||||||
|  |         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT); | ||||||
|  |         intent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK); | ||||||
|  |         context.startActivity(intent); | ||||||
|  | 	} | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,68 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <LinearLayout |  | ||||||
| 	xmlns:android="http://schemas.android.com/apk/res/android" |  | ||||||
| 	xmlns:app="http://schemas.android.com/apk/res-auto" |  | ||||||
| 	android:orientation="vertical" |  | ||||||
| 	android:layout_width="match_parent" |  | ||||||
| 	android:layout_height="match_parent"> |  | ||||||
|  |  | ||||||
|     <LinearLayout |  | ||||||
|         android:orientation="horizontal" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="wrap_content" |  | ||||||
|         android:layout_gravity="right" |  | ||||||
|         android:gravity="right" |  | ||||||
|         android:padding="10dp" |  | ||||||
|         android:id="@+id/ll_hostbar"> |  | ||||||
|  |  | ||||||
|         <RadioButton |  | ||||||
|             android:layout_width="wrap_content" |  | ||||||
|             android:layout_height="wrap_content" |  | ||||||
|             android:text="10.8.0.250:456" |  | ||||||
|             android:id="@+id/rb_debughost" |  | ||||||
|             android:onClick="onSwitchHost"/> |  | ||||||
|  |  | ||||||
|         <RadioButton |  | ||||||
|             android:layout_width="wrap_content" |  | ||||||
|             android:layout_height="wrap_content" |  | ||||||
|             android:text="yun.winboll.cc" |  | ||||||
|             android:id="@+id/rb_yunhost" |  | ||||||
|             android:onClick="onSwitchHost"/> |  | ||||||
|  |  | ||||||
| 	</LinearLayout> |  | ||||||
|      |  | ||||||
| 	<LinearLayout |  | ||||||
| 		android:orientation="horizontal" |  | ||||||
| 		android:layout_width="match_parent" |  | ||||||
| 		android:layout_height="wrap_content" |  | ||||||
| 		android:gravity="right"> |  | ||||||
|  |  | ||||||
| 		<Button |  | ||||||
| 			android:layout_width="wrap_content" |  | ||||||
| 			android:layout_height="wrap_content" |  | ||||||
| 			android:text="Test RSA" |  | ||||||
|             android:onClick="onTestRSA"/> |  | ||||||
|  |  | ||||||
|         <Button |  | ||||||
|             android:layout_width="wrap_content" |  | ||||||
|             android:layout_height="wrap_content" |  | ||||||
|             android:text="Test Login" |  | ||||||
|             android:onClick="onTestLogin"/> |  | ||||||
|          |  | ||||||
| 	</LinearLayout> |  | ||||||
|  |  | ||||||
| 	<LinearLayout |  | ||||||
| 		android:orientation="vertical" |  | ||||||
| 		android:layout_width="match_parent" |  | ||||||
| 		android:layout_height="0dp" |  | ||||||
| 		android:layout_weight="1.0"> |  | ||||||
|  |  | ||||||
| 		<cc.winboll.studio.libappbase.LogView |  | ||||||
| 			android:layout_width="match_parent" |  | ||||||
| 			android:layout_height="match_parent" |  | ||||||
| 			android:id="@+id/logview"/> |  | ||||||
|  |  | ||||||
| 	</LinearLayout> |  | ||||||
|  |  | ||||||
| </LinearLayout> |  | ||||||
|  |  | ||||||
| @@ -1,63 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <LinearLayout |  | ||||||
| 	xmlns:android="http://schemas.android.com/apk/res/android" |  | ||||||
| 	xmlns:app="http://schemas.android.com/apk/res-auto" |  | ||||||
| 	android:orientation="vertical" |  | ||||||
| 	android:layout_width="match_parent" |  | ||||||
| 	android:layout_height="match_parent"> |  | ||||||
|  |  | ||||||
| 	<LinearLayout |  | ||||||
| 		android:orientation="horizontal" |  | ||||||
| 		android:layout_width="match_parent" |  | ||||||
| 		android:layout_height="wrap_content" |  | ||||||
| 		android:layout_gravity="right" |  | ||||||
| 		android:gravity="right" |  | ||||||
| 		android:padding="10dp" |  | ||||||
| 		android:id="@+id/ll_hostbar"> |  | ||||||
|  |  | ||||||
| 		<RadioButton |  | ||||||
| 			android:layout_width="wrap_content" |  | ||||||
| 			android:layout_height="wrap_content" |  | ||||||
| 			android:text="10.8.0.250:456" |  | ||||||
| 			android:id="@+id/rb_debughost" |  | ||||||
| 			android:onClick="onSwitchHost"/> |  | ||||||
|  |  | ||||||
| 		<RadioButton |  | ||||||
| 			android:layout_width="wrap_content" |  | ||||||
| 			android:layout_height="wrap_content" |  | ||||||
| 			android:text="yun.winboll.cc" |  | ||||||
| 			android:id="@+id/rb_yunhost" |  | ||||||
| 			android:onClick="onSwitchHost"/> |  | ||||||
|  |  | ||||||
| 	</LinearLayout> |  | ||||||
|  |  | ||||||
| 	<LinearLayout |  | ||||||
| 		android:orientation="horizontal" |  | ||||||
| 		android:layout_width="match_parent" |  | ||||||
| 		android:layout_height="wrap_content" |  | ||||||
| 		android:layout_gravity="right" |  | ||||||
| 		android:gravity="right"> |  | ||||||
|  |  | ||||||
| 		<Button |  | ||||||
| 			android:layout_width="wrap_content" |  | ||||||
| 			android:layout_height="wrap_content" |  | ||||||
| 			android:text="TestYun" |  | ||||||
| 			android:onClick="onTestYun"/> |  | ||||||
|  |  | ||||||
| 	</LinearLayout> |  | ||||||
|  |  | ||||||
| 	<LinearLayout |  | ||||||
| 		android:orientation="vertical" |  | ||||||
| 		android:layout_width="match_parent" |  | ||||||
| 		android:layout_height="0dp" |  | ||||||
| 		android:layout_weight="1.0"> |  | ||||||
|  |  | ||||||
| 		<cc.winboll.studio.libappbase.LogView |  | ||||||
| 			android:layout_width="match_parent" |  | ||||||
| 			android:layout_height="match_parent" |  | ||||||
| 			android:id="@+id/logview"/> |  | ||||||
|  |  | ||||||
| 	</LinearLayout> |  | ||||||
|  |  | ||||||
| </LinearLayout> |  | ||||||
|  |  | ||||||
| @@ -99,7 +99,7 @@ | |||||||
| 			android:layout_weight="1.0" | 			android:layout_weight="1.0" | ||||||
| 			android:id="@+id/viewlogHorizontalScrollView1"> | 			android:id="@+id/viewlogHorizontalScrollView1"> | ||||||
|  |  | ||||||
| 			<cc.winboll.studio.libappbase.views.HorizontalListView | 			<cc.winboll.studio.libappbase.HorizontalListView | ||||||
| 				android:layout_width="wrap_content" | 				android:layout_width="wrap_content" | ||||||
| 				android:layout_height="match_parent" | 				android:layout_height="match_parent" | ||||||
| 				android:id="@+id/tags_listview"/> | 				android:id="@+id/tags_listview"/> | ||||||
|   | |||||||
| @@ -1,15 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <LinearLayout |  | ||||||
| 	xmlns:android="http://schemas.android.com/apk/res/android" |  | ||||||
| 	xmlns:app="http://schemas.android.com/apk/res-auto" |  | ||||||
| 	android:orientation="vertical" |  | ||||||
| 	android:layout_width="40dp" |  | ||||||
| 	android:layout_height="40dp"> |  | ||||||
|  |  | ||||||
| 	<ImageView |  | ||||||
| 		android:layout_width="40dp" |  | ||||||
| 		android:layout_height="40dp" |  | ||||||
| 		android:id="@+id/ivapp"/> |  | ||||||
|  |  | ||||||
| </LinearLayout> |  | ||||||
|  |  | ||||||
| @@ -1,8 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" |  | ||||||
|     android:minWidth="40dp" |  | ||||||
|     android:minHeight="40dp" |  | ||||||
|     android:updatePeriodMillis="1000" |  | ||||||
|     android:initialLayout="@layout/widget_status" |  | ||||||
|     android:resizeMode="none"> |  | ||||||
| </appwidget-provider> |  | ||||||
		Reference in New Issue
	
	Block a user
	 ZhanGSKen
					ZhanGSKen