APPBase去除 Support 依赖

This commit is contained in:
ZhanGSKen 2025-03-12 14:32:48 +08:00
parent f5f88a61b0
commit 165765e0eb
22 changed files with 316 additions and 245 deletions

View File

@ -46,25 +46,4 @@ android {
dependencies { dependencies {
api project(':libappbase') api project(':libappbase')
api fileTree(dir: 'libs', include: ['*.jar']) api fileTree(dir: 'libs', include: ['*.jar'])
// SSH
implementation 'com.jcraft:jsch:0.1.55'
// Html
implementation 'org.jsoup:jsoup:1.13.1'
//
implementation 'com.google.zxing:core:3.4.1'
implementation 'com.journeyapps:zxing-android-embedded:3.6.0'
//
implementation 'io.github.medyo:android-about-page:2.0.0'
//
implementation 'com.github.getActivity:ToastUtils:10.5'
//
implementation 'com.squareup.okhttp3:okhttp:4.4.1'
// Android
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.viewpager:viewpager:1.0.0'
implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
implementation 'androidx.vectordrawable:vectordrawable-animated:1.1.0'
implementation 'androidx.fragment:fragment:1.1.0'
implementation 'com.google.android.material:material:1.4.0'
} }

View File

@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Sun Mar 09 09:15:39 HKT 2025 #Wed Mar 12 06:31:21 GMT 2025
stageCount=6 stageCount=6
libraryProject=libappbase libraryProject=libappbase
baseVersion=2.1 baseVersion=2.1
publishVersion=2.1.5 publishVersion=2.1.5
buildCount=0 buildCount=47
baseBetaVersion=2.1.6 baseBetaVersion=2.1.6

View File

@ -7,7 +7,7 @@
android:name=".App" android:name=".App"
android:icon="@drawable/ic_launcher" android:icon="@drawable/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"
android:theme="@style/AppTheme" android:theme="@style/MyAppTheme"
android:resizeableActivity="true"> android:resizeableActivity="true">
<activity <activity

View File

@ -1,11 +1,12 @@
package cc.winboll.studio.appbase; package cc.winboll.studio.appbase;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.view.View; import android.view.View;
import android.widget.CheckBox; import android.widget.CheckBox;
import androidx.appcompat.app.AppCompatActivity; import android.widget.Toolbar;
import androidx.appcompat.widget.Toolbar;
import cc.winboll.studio.appbase.R; import cc.winboll.studio.appbase.R;
import cc.winboll.studio.appbase.services.MainService; import cc.winboll.studio.appbase.services.MainService;
import cc.winboll.studio.appbase.services.TestDemoBindService; import cc.winboll.studio.appbase.services.TestDemoBindService;
@ -13,13 +14,11 @@ import cc.winboll.studio.appbase.services.TestDemoService;
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.LogView; import cc.winboll.studio.libappbase.LogView;
import cc.winboll.studio.libappbase.widgets.StatusWidget;
import com.hjq.toast.ToastUtils;
import android.content.ComponentName;
import cc.winboll.studio.libappbase.sos.SOS; import cc.winboll.studio.libappbase.sos.SOS;
import cc.winboll.studio.libappbase.sos.SOSObject; import cc.winboll.studio.libappbase.utils.ToastUtils;
import cc.winboll.studio.libappbase.widgets.StatusWidget;
public class MainActivity extends AppCompatActivity { public class MainActivity extends Activity {
public static final String TAG = "MainActivity"; public static final String TAG = "MainActivity";
@ -32,7 +31,7 @@ public class MainActivity extends AppCompatActivity {
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.activitymainToolbar1); Toolbar toolbar = findViewById(R.id.activitymainToolbar1);
setSupportActionBar(toolbar); setActionBar(toolbar);
CheckBox cbIsDebugMode = findViewById(R.id.activitymainCheckBox1); CheckBox cbIsDebugMode = findViewById(R.id.activitymainCheckBox1);
cbIsDebugMode.setChecked(GlobalApplication.isDebuging()); cbIsDebugMode.setChecked(GlobalApplication.isDebuging());

View File

@ -5,7 +5,6 @@ package cc.winboll.studio.appbase.receivers;
* @Date 2025/02/13 06:58:04 * @Date 2025/02/13 06:58:04
* @Describe 主要广播接收器 * @Describe 主要广播接收器
*/ */
import android.appwidget.AppWidgetManager;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
@ -16,15 +15,15 @@ import cc.winboll.studio.appbase.services.MainService;
import cc.winboll.studio.appbase.widgets.APPNewsWidget; import cc.winboll.studio.appbase.widgets.APPNewsWidget;
import cc.winboll.studio.libappbase.AppUtils; import cc.winboll.studio.libappbase.AppUtils;
import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.libappbase.LogUtils;
import com.hjq.toast.ToastUtils; import cc.winboll.studio.libappbase.sos.APPModel;
import cc.winboll.studio.libappbase.sos.SOS;
import cc.winboll.studio.libappbase.sos.SOSObject;
import cc.winboll.studio.libappbase.sos.WinBoll;
import cc.winboll.studio.libappbase.utils.ToastUtils;
import java.io.IOException; import java.io.IOException;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import cc.winboll.studio.libappbase.sos.WinBoll;
import cc.winboll.studio.libappbase.sos.APPModel;
import cc.winboll.studio.libappbase.sos.SOS;
import cc.winboll.studio.libappbase.sos.SOSObject;
public class MainReceiver extends BroadcastReceiver { public class MainReceiver extends BroadcastReceiver {

View File

@ -5,7 +5,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<androidx.appcompat.widget.Toolbar <android.widget.Toolbar
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:id="@+id/activitymainToolbar1"/> android:id="@+id/activitymainToolbar1"/>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<style name="AppTheme" parent="APPBaseTheme"> <style name="MyAppTheme" parent="APPBaseTheme">
<item name="attrColorPrimary">@color/colorPrimary</item> <item name="attrColorPrimary">@color/colorPrimary</item>
<item name="themeGlobalCrashActivity">@style/MyGlobalCrashActivityTheme</item> <item name="themeGlobalCrashActivity">@style/MyGlobalCrashActivityTheme</item>
</style> </style>

View File

@ -21,26 +21,4 @@ android {
dependencies { dependencies {
api fileTree(dir: 'libs', include: ['*.jar']) api fileTree(dir: 'libs', include: ['*.jar'])
// SSH
implementation 'com.jcraft:jsch:0.1.55'
// Html
implementation 'org.jsoup:jsoup:1.13.1'
//
implementation 'com.google.zxing:core:3.4.1'
implementation 'com.journeyapps:zxing-android-embedded:3.6.0'
//
implementation 'io.github.medyo:android-about-page:2.0.0'
//
implementation 'com.github.getActivity:ToastUtils:10.5'
//
implementation 'com.squareup.okhttp3:okhttp:4.4.1'
// Android
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.viewpager:viewpager:1.0.0'
implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
implementation 'androidx.vectordrawable:vectordrawable-animated:1.1.0'
implementation 'androidx.fragment:fragment:1.1.0'
implementation 'com.google.android.material:material:1.4.0'
} }

View File

@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Sun Mar 09 09:15:24 HKT 2025 #Wed Mar 12 06:31:21 GMT 2025
stageCount=6 stageCount=6
libraryProject=libappbase libraryProject=libappbase
baseVersion=2.1 baseVersion=2.1
publishVersion=2.1.5 publishVersion=2.1.5
buildCount=0 buildCount=47
baseBetaVersion=2.1.6 baseBetaVersion=2.1.6

View File

@ -6,17 +6,13 @@ package cc.winboll.studio.libappbase;
* @Describe 全局应用类 * @Describe 全局应用类
*/ */
import android.app.Application; import android.app.Application;
import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.view.Gravity; import cc.winboll.studio.libappbase.utils.ToastUtils;
import com.hjq.toast.ToastUtils;
import com.hjq.toast.style.WhiteToastStyle;
public class GlobalApplication extends Application { public class GlobalApplication extends Application {
@ -78,8 +74,8 @@ public class GlobalApplication extends Application {
ToastUtils.init(this); ToastUtils.init(this);
// 设置 Toast 布局样式 // 设置 Toast 布局样式
//ToastUtils.setView(R.layout.toast_custom_view); //ToastUtils.setView(R.layout.toast_custom_view);
ToastUtils.setStyle(new WhiteToastStyle()); //ToastUtils.setStyle(new WhiteToastStyle());
ToastUtils.setGravity(Gravity.BOTTOM, 0, 200); //ToastUtils.setGravity(Gravity.BOTTOM, 0, 200);
} }
public static String getAppName(Context context) { public static String getAppName(Context context) {

View File

@ -21,11 +21,9 @@ import android.view.MenuItem;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import androidx.appcompat.widget.Toolbar;
import cc.winboll.studio.libappbase.R; import cc.winboll.studio.libappbase.R;
import androidx.appcompat.app.AppCompatActivity;
public final class GlobalCrashActivity extends AppCompatActivity implements MenuItem.OnMenuItemClickListener { public final class GlobalCrashActivity extends Activity implements MenuItem.OnMenuItemClickListener {
private static final int MENUITEM_COPY = 0; private static final int MENUITEM_COPY = 0;
private static final int MENUITEM_RESTART = 1; private static final int MENUITEM_RESTART = 1;
@ -47,10 +45,10 @@ public final class GlobalCrashActivity extends AppCompatActivity implements Menu
setContentView(R.layout.activity_globalcrash); setContentView(R.layout.activity_globalcrash);
mGlobalCrashReportView = findViewById(R.id.activityglobalcrashGlobalCrashReportView1); mGlobalCrashReportView = findViewById(R.id.activityglobalcrashGlobalCrashReportView1);
mGlobalCrashReportView.setReport(mLog); mGlobalCrashReportView.setReport(mLog);
setSupportActionBar(mGlobalCrashReportView.getToolbar()); setActionBar(mGlobalCrashReportView.getToolbar());
getSupportActionBar().setTitle(CrashHandler.TITTLE); getActionBar().setTitle(CrashHandler.TITTLE);
getSupportActionBar().setSubtitle(GlobalApplication.getAppName(getApplicationContext())); getActionBar().setSubtitle(GlobalApplication.getAppName(getApplicationContext()));
} }
@Override @Override

View File

@ -15,8 +15,8 @@ import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import androidx.appcompat.widget.Toolbar;
import cc.winboll.studio.libappbase.R; import cc.winboll.studio.libappbase.R;
import android.widget.Toolbar;
public class GlobalCrashReportView extends LinearLayout { public class GlobalCrashReportView extends LinearLayout {

View File

@ -16,16 +16,15 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.ScrollView; import android.widget.ScrollView;
import android.widget.Spinner; import android.widget.Spinner;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libappbase.R; import cc.winboll.studio.libappbase.R;
import cc.winboll.studio.libappbase.views.HorizontalListView;
import java.text.Collator; import java.text.Collator;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
@ -51,7 +50,7 @@ public class LogView extends RelativeLayout {
Spinner mLogLevelSpinner; Spinner mLogLevelSpinner;
ArrayAdapter<CharSequence> mLogLevelSpinnerAdapter; ArrayAdapter<CharSequence> mLogLevelSpinnerAdapter;
// 标签列表 // 标签列表
RecyclerView recyclerView; HorizontalListView mListViewTags;
public LogView(Context context) { public LogView(Context context) {
super(context); super(context);
@ -190,11 +189,9 @@ public class LogView extends RelativeLayout {
cbALLTAG.setChecked(isAllSelect); cbALLTAG.setChecked(isAllSelect);
// 加载标签表 // 加载标签表
recyclerView = findViewById(cc.winboll.studio.libappbase.R.id.viewlogRecyclerView1); mListViewTags = findViewById(cc.winboll.studio.libappbase.R.id.tags_listview);
LinearLayoutManager layoutManager = new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false); mTAGListAdapter = new TAGListAdapter(mContext, mapTAGList);
recyclerView.setLayoutManager(layoutManager); mListViewTags.setAdapter(mTAGListAdapter);
mTAGListAdapter = new TAGListAdapter(mapTAGList);
recyclerView.setAdapter(mTAGListAdapter);
// 可以添加点击监听器来处理勾选框状态变化后的逻辑比如获取当前勾选情况等 // 可以添加点击监听器来处理勾选框状态变化后的逻辑比如获取当前勾选情况等
mTAGListAdapter.notifyDataSetChanged(); mTAGListAdapter.notifyDataSetChanged();
@ -305,15 +302,32 @@ public class LogView extends RelativeLayout {
} }
public class TAGListAdapter extends RecyclerView.Adapter<TAGListAdapter.ViewHolder> { public class TAGListAdapter extends BaseAdapter {
private Context context;
private Map<String, Boolean> mapOrigin; private Map<String, Boolean> mapOrigin;
private List<TAGItemModel> itemList; private List<TAGItemModel> itemList;
public TAGListAdapter(Map<String, Boolean> map) { public TAGListAdapter(Context context, Map<String, Boolean> map) {
this.context = context;
mapOrigin = map; mapOrigin = map;
loadMap(mapOrigin); loadMap(mapOrigin);
} }
@Override
public int getCount() {
return itemList.size();
}
@Override
public Object getItem(int p) {
return itemList.get(p);
}
@Override
public long getItemId(int p) {
return p;
}
void loadMap(Map<String, Boolean> map) { void loadMap(Map<String, Boolean> map) {
itemList = new ArrayList<TAGItemModel>(); itemList = new ArrayList<TAGItemModel>();
@ -329,16 +343,20 @@ public class LogView extends RelativeLayout {
loadMap(mapOrigin); loadMap(mapOrigin);
super.notifyDataSetChanged(); super.notifyDataSetChanged();
} }
@NonNull
@Override @Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { public View getView(int position, View convertView, ViewGroup parent) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_logtag, parent, false); ViewHolder holder;
return new ViewHolder(view); if (convertView == null) {
} convertView = LayoutInflater.from(context).inflate(R.layout.item_logtag, parent, false);
holder = new ViewHolder();
holder.tvText = convertView.findViewById(R.id.viewlogtagTextView1);
holder.cbChecked = convertView.findViewById(R.id.viewlogtagCheckBox1);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
final TAGItemModel item = itemList.get(position); final TAGItemModel item = itemList.get(position);
holder.tvText.setText(item.getTag()); holder.tvText.setText(item.getTag());
holder.cbChecked.setChecked(item.isChecked()); holder.cbChecked.setChecked(item.isChecked());
@ -349,22 +367,13 @@ public class LogView extends RelativeLayout {
LogUtils.setTAGListEnable(item.getTag(), ((CheckBox)v).isChecked()); LogUtils.setTAGListEnable(item.getTag(), ((CheckBox)v).isChecked());
} }
}); });
return convertView;
} }
@Override public class ViewHolder {
public int getItemCount() {
return itemList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView tvText; TextView tvText;
CheckBox cbChecked; CheckBox cbChecked;
public ViewHolder(@NonNull View itemView) {
super(itemView);
tvText = itemView.findViewById(R.id.viewlogtagTextView1);
cbChecked = itemView.findViewById(R.id.viewlogtagCheckBox1);
}
} }
} }

View File

@ -0,0 +1,33 @@
package cc.winboll.studio.libappbase.utils;
import android.content.Context;
import android.widget.Toast;
/**
* @Author ZhanGSKen@AliYun.Com
* @Date 2025/03/12 12:02:31
*/
public class ToastUtils {
public static final String TAG = "ToastUtils";
volatile static ToastUtils _ToastUtils;
Context mContext;
ToastUtils() {
}
synchronized static ToastUtils getInstance() {
if (_ToastUtils == null) {
_ToastUtils = new ToastUtils();
}
return _ToastUtils;
}
public static void init(Context context) {
getInstance().mContext = context;
}
public static void show(String message) {
Toast.makeText(getInstance().mContext, "", Toast.LENGTH_SHORT).show();
}
}

View File

@ -0,0 +1,82 @@
package cc.winboll.studio.libappbase.views;
/**
* @Author ZhanGSKen@AliYun.Com
* @Date 2025/03/12 12:29:01
* @Describe 水平布局的 ListView
*/
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ListView;
import cc.winboll.studio.libappbase.LogUtils;
public class HorizontalListView extends ListView {
public static final String TAG = "HorizontalListView";
public HorizontalListView(Context context) {
super(context);
}
public HorizontalListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public HorizontalListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
// @Override
// protected void onLayout(boolean changed, int l, int t, int r, int b) {
// super.onLayout(changed, l, t, r, b);
// int childCount = getChildCount();
// int left = getPaddingLeft();
// // 获取HorizontalListView的高度
// int viewHeight = getMeasuredHeight() - getPaddingTop() - getPaddingBottom();
// for (int i = 0; i < childCount; i++) {
// View child = getChildAt(i);
// int width = child.getMeasuredWidth();
// int height = child.getMeasuredHeight();
// // 计算子项在垂直方向上的居中偏移量
// int verticalOffset = (viewHeight - height) / 2;
// // 设置子视图的位置实现水平布局并垂直居中
// child.layout(left, getPaddingTop() + verticalOffset, left + width, getPaddingTop() + verticalOffset + height);
// left += width;
// }
// }
//
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
super.onLayout(changed, l, t, r, b);
int childCount = getChildCount();
int left = getPaddingLeft();
int viewHeight = getMeasuredHeight() - getPaddingTop() - getPaddingBottom();
LogUtils.d(TAG, String.format("HorizontalListView的高度 %d", viewHeight));
int verticalOffset = 20;
for (int i = 0; i < childCount; i++) {
View child = getChildAt(i);
// 计算每个子视图的宽度和高度
int width = child.getMeasuredWidth();
int height = child.getMeasuredHeight();
//LogUtils.d(TAG, String.format("child : width %d , height %d", width, height));
// 设置子视图的位置实现水平布局
child.layout(left, verticalOffset, left + width, verticalOffset + height);
left += width;
}
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int newHeightMeasureSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
//super.onMeasure(widthMeasureSpec, newHeightMeasureSpec);
int newWidthMeasureSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
//LogUtils.d(TAG, String.format("newWidthMeasureSpec %d, newHeightMeasureSpec %d", newWidthMeasureSpec, newHeightMeasureSpec));
super.onMeasure(newWidthMeasureSpec, newHeightMeasureSpec);
// ViewGroup.LayoutParams params = getLayoutParams();
// params.width = getMeasuredWidth();
}
}

View File

@ -14,9 +14,9 @@ import android.widget.RemoteViews;
import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libappbase.R; import cc.winboll.studio.libappbase.R;
import cc.winboll.studio.libappbase.utils.ServiceUtils; import cc.winboll.studio.libappbase.utils.ServiceUtils;
import com.hjq.toast.ToastUtils;
import android.content.ServiceConnection; import android.content.ServiceConnection;
import android.os.IBinder; import android.os.IBinder;
import cc.winboll.studio.libappbase.utils.ToastUtils;
public class StatusWidget extends AppWidgetProvider { public class StatusWidget extends AppWidgetProvider {
@ -35,6 +35,7 @@ public class StatusWidget extends AppWidgetProvider {
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent); super.onReceive(context, intent);
if (intent.getAction().equals(ACTION_STATUS_UPDATE)) { if (intent.getAction().equals(ACTION_STATUS_UPDATE)) {
ToastUtils.show("Test");
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
int[] appWidgetIds = appWidgetManager.getAppWidgetIds(new ComponentName(context, StatusWidget.class)); int[] appWidgetIds = appWidgetManager.getAppWidgetIds(new ComponentName(context, StatusWidget.class));
for (int appWidgetId : appWidgetIds) { for (int appWidgetId : appWidgetIds) {

View File

@ -9,7 +9,7 @@ import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import cc.winboll.studio.libappbase.LogUtils; import cc.winboll.studio.libappbase.LogUtils;
import com.hjq.toast.ToastUtils; import cc.winboll.studio.libappbase.utils.ToastUtils;
public class StatusWidgetClickListener extends BroadcastReceiver { public class StatusWidgetClickListener extends BroadcastReceiver {

View File

@ -0,0 +1,22 @@
<?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="horizontal"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#FFEEEEEE">
<TextView
android:layout_width="wrap_content"
android:layout_height="24dp"
android:layout_marginLeft="5dp"
android:id="@+id/viewlogtagTextView1"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="24dp"
android:id="@+id/viewlogtagCheckBox1"/>
</LinearLayout>

View File

@ -7,7 +7,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:id="@+id/viewglobalcrashreportLinearLayout1"> android:id="@+id/viewglobalcrashreportLinearLayout1">
<androidx.appcompat.widget.Toolbar <android.widget.Toolbar
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:id="@+id/viewglobalcrashreportToolbar1"/> android:id="@+id/viewglobalcrashreportToolbar1"/>

View File

@ -1,121 +1,128 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:orientation="vertical"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#FF000000"> android:background="#FF000000">
<RelativeLayout <RelativeLayout
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal" android:orientation="horizontal"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="40dp" android:layout_height="40dp"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
android:background="@drawable/bg_shadow" android:background="@drawable/bg_shadow"
android:id="@+id/viewlogRelativeLayoutToolbar"> android:id="@+id/viewlogRelativeLayoutToolbar">
<Button <Button
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="36dp" android:layout_height="36dp"
android:text="Clean" android:text="Clean"
android:textSize="14dp" android:textSize="14dp"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:id="@+id/viewlogButtonClean" android:id="@+id/viewlogButtonClean"
android:layout_marginLeft="5dp"/> android:layout_marginLeft="5dp"/>
<TextView <TextView
android:background="#FF000000" android:background="#FF000000"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="24dp" android:layout_height="24dp"
android:text="LV:" android:text="LV:"
android:layout_toRightOf="@+id/viewlogButtonClean" android:layout_toRightOf="@+id/viewlogButtonClean"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:id="@+id/viewlogTextView1" android:id="@+id/viewlogTextView1"
android:textColor="#FFFFFFFF"/> android:textColor="#FFFFFFFF"/>
<Spinner <Spinner
android:background="#FFFFFFFF" android:background="#FFFFFFFF"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="24dp" android:layout_height="24dp"
android:layout_toRightOf="@+id/viewlogTextView1" android:layout_toRightOf="@+id/viewlogTextView1"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:id="@+id/viewlogSpinner1"/> android:id="@+id/viewlogSpinner1"/>
<CheckBox <CheckBox
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="24dp" android:layout_height="24dp"
android:layout_toLeftOf="@+id/viewlogButtonCopy" android:layout_toLeftOf="@+id/viewlogButtonCopy"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:text="Selectable" android:text="Selectable"
android:background="#FFFFFFFF" android:background="#FFFFFFFF"
android:paddingRight="10dp" android:paddingRight="10dp"
android:textSize="16dp" android:textSize="16dp"
android:id="@+id/viewlogCheckBoxSelectable"/> android:id="@+id/viewlogCheckBoxSelectable"/>
<Button <Button
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="36dp" android:layout_height="36dp"
android:text="Copy" android:text="Copy"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:textSize="14dp" android:textSize="14dp"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:id="@+id/viewlogButtonCopy" android:id="@+id/viewlogButtonCopy"
android:layout_marginRight="5dp"/> android:layout_marginRight="5dp"/>
</RelativeLayout> </RelativeLayout>
<LinearLayout <LinearLayout
android:orientation="horizontal" android:orientation="horizontal"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="40dp" android:layout_height="40dp"
android:background="@drawable/bg_shadow" android:layout_below="@+id/viewlogRelativeLayoutToolbar"
android:layout_below="@+id/viewlogRelativeLayoutToolbar" android:id="@+id/viewlogLinearLayout1"
android:id="@+id/viewlogLinearLayout1" android:gravity="center_vertical"
android:gravity="center_vertical"> android:background="#FFC0F4C2">
<CheckBox <CheckBox
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="ALL" android:text="ALL"
android:id="@+id/viewlogCheckBox1"/> android:id="@+id/viewlogCheckBox1"/>
<androidx.recyclerview.widget.RecyclerView <HorizontalScrollView
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:background="@drawable/view_border" android:scrollbars="none"
android:id="@+id/viewlogRecyclerView1" android:layout_weight="1.0"
android:layout_weight="1.0" android:background="#FF97F2E3">
android:layout_marginRight="5dp"
android:padding="2dp"/>
</LinearLayout> <cc.winboll.studio.libappbase.views.HorizontalListView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/view_border"
android:id="@+id/tags_listview"
android:paddingLeft="10dp"/>
<RelativeLayout </HorizontalScrollView>
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:layout_alignParentBottom="true"
android:layout_below="@+id/viewlogLinearLayout1">
<ScrollView </LinearLayout>
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF000000"
android:id="@+id/viewlogScrollViewLog">
<TextView <RelativeLayout
android:layout_width="match_parent" android:orientation="vertical"
android:layout_height="match_parent" android:layout_width="match_parent"
android:text="Text" android:layout_height="wrap_content"
android:textColor="#FF00FF00" android:layout_weight="1.0"
android:textIsSelectable="true" android:layout_alignParentBottom="true"
android:id="@+id/viewlogTextViewLog"/> android:layout_below="@+id/viewlogLinearLayout1">
</ScrollView> <ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF000000"
android:id="@+id/viewlogScrollViewLog">
</RelativeLayout> <TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Text"
android:textColor="#FF00FF00"
android:textIsSelectable="true"
android:id="@+id/viewlogTextViewLog"/>
</ScrollView>
</RelativeLayout>
</RelativeLayout> </RelativeLayout>

View File

@ -1,32 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardBackgroundColor="#F5F5F5"
app:cardElevation="4dp"
app:cardCornerRadius="4dp"
android:id="@+id/listviewauthinfoCardView1"
android:layout_marginLeft="0dp"
android:layout_marginRight="5dp">
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="24dp"
android:layout_marginLeft="5dp"
android:id="@+id/viewlogtagTextView1"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="24dp"
android:id="@+id/viewlogtagCheckBox1"/>
</LinearLayout>
</androidx.cardview.widget.CardView>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<style name="APPBaseTheme" parent="Theme.AppCompat.Light.NoActionBar"> <style name="APPBaseTheme" parent="@android:style/Theme.Holo.Light.NoActionBar">
<item name="themeGlobalCrashActivity">@style/GlobalCrashActivityTheme</item> <item name="themeGlobalCrashActivity">@style/GlobalCrashActivityTheme</item>
</style> </style>