APPBase去除 Support 依赖
This commit is contained in:
		@@ -46,25 +46,4 @@ android {
 | 
			
		||||
dependencies {
 | 
			
		||||
    api project(':libappbase')
 | 
			
		||||
    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'
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
#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
 | 
			
		||||
libraryProject=libappbase
 | 
			
		||||
baseVersion=2.1
 | 
			
		||||
publishVersion=2.1.5
 | 
			
		||||
buildCount=0
 | 
			
		||||
buildCount=47
 | 
			
		||||
baseBetaVersion=2.1.6
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@
 | 
			
		||||
        android:name=".App"
 | 
			
		||||
        android:icon="@drawable/ic_launcher"
 | 
			
		||||
        android:label="@string/app_name"
 | 
			
		||||
        android:theme="@style/AppTheme"
 | 
			
		||||
        android:theme="@style/MyAppTheme"
 | 
			
		||||
        android:resizeableActivity="true">
 | 
			
		||||
 | 
			
		||||
        <activity
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,12 @@
 | 
			
		||||
package cc.winboll.studio.appbase;
 | 
			
		||||
 | 
			
		||||
import android.app.Activity;
 | 
			
		||||
import android.content.ComponentName;
 | 
			
		||||
import android.content.Intent;
 | 
			
		||||
import android.os.Bundle;
 | 
			
		||||
import android.view.View;
 | 
			
		||||
import android.widget.CheckBox;
 | 
			
		||||
import androidx.appcompat.app.AppCompatActivity;
 | 
			
		||||
import androidx.appcompat.widget.Toolbar;
 | 
			
		||||
import android.widget.Toolbar;
 | 
			
		||||
import cc.winboll.studio.appbase.R;
 | 
			
		||||
import cc.winboll.studio.appbase.services.MainService;
 | 
			
		||||
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.LogUtils;
 | 
			
		||||
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.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";
 | 
			
		||||
 | 
			
		||||
@@ -32,7 +31,7 @@ public class MainActivity extends AppCompatActivity {
 | 
			
		||||
        setContentView(R.layout.activity_main);
 | 
			
		||||
 | 
			
		||||
        Toolbar toolbar = findViewById(R.id.activitymainToolbar1);
 | 
			
		||||
        setSupportActionBar(toolbar);
 | 
			
		||||
        setActionBar(toolbar);
 | 
			
		||||
 | 
			
		||||
        CheckBox cbIsDebugMode = findViewById(R.id.activitymainCheckBox1);
 | 
			
		||||
        cbIsDebugMode.setChecked(GlobalApplication.isDebuging());
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,6 @@ package cc.winboll.studio.appbase.receivers;
 | 
			
		||||
 * @Date 2025/02/13 06:58:04
 | 
			
		||||
 * @Describe 主要广播接收器
 | 
			
		||||
 */
 | 
			
		||||
import android.appwidget.AppWidgetManager;
 | 
			
		||||
import android.content.BroadcastReceiver;
 | 
			
		||||
import android.content.ComponentName;
 | 
			
		||||
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.libappbase.AppUtils;
 | 
			
		||||
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.lang.ref.WeakReference;
 | 
			
		||||
import java.text.SimpleDateFormat;
 | 
			
		||||
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 {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
	android:layout_width="match_parent"
 | 
			
		||||
	android:layout_height="match_parent">
 | 
			
		||||
 | 
			
		||||
	<androidx.appcompat.widget.Toolbar
 | 
			
		||||
	<android.widget.Toolbar
 | 
			
		||||
		android:layout_width="match_parent"
 | 
			
		||||
		android:layout_height="wrap_content"
 | 
			
		||||
		android:id="@+id/activitymainToolbar1"/>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<resources>
 | 
			
		||||
    <style name="AppTheme" parent="APPBaseTheme">
 | 
			
		||||
    <style name="MyAppTheme" parent="APPBaseTheme">
 | 
			
		||||
        <item name="attrColorPrimary">@color/colorPrimary</item>
 | 
			
		||||
        <item name="themeGlobalCrashActivity">@style/MyGlobalCrashActivityTheme</item>
 | 
			
		||||
    </style>
 | 
			
		||||
 
 | 
			
		||||
@@ -21,26 +21,4 @@ android {
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
    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'
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
#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
 | 
			
		||||
libraryProject=libappbase
 | 
			
		||||
baseVersion=2.1
 | 
			
		||||
publishVersion=2.1.5
 | 
			
		||||
buildCount=0
 | 
			
		||||
buildCount=47
 | 
			
		||||
baseBetaVersion=2.1.6
 | 
			
		||||
 
 | 
			
		||||
@@ -6,17 +6,13 @@ package cc.winboll.studio.libappbase;
 | 
			
		||||
 * @Describe 全局应用类
 | 
			
		||||
 */
 | 
			
		||||
import android.app.Application;
 | 
			
		||||
import android.content.ComponentName;
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
import android.content.Intent;
 | 
			
		||||
import android.content.SharedPreferences;
 | 
			
		||||
import android.content.pm.ApplicationInfo;
 | 
			
		||||
import android.content.pm.PackageManager;
 | 
			
		||||
import android.os.Handler;
 | 
			
		||||
import android.os.Looper;
 | 
			
		||||
import android.view.Gravity;
 | 
			
		||||
import com.hjq.toast.ToastUtils;
 | 
			
		||||
import com.hjq.toast.style.WhiteToastStyle;
 | 
			
		||||
import cc.winboll.studio.libappbase.utils.ToastUtils;
 | 
			
		||||
 | 
			
		||||
public class GlobalApplication extends Application {
 | 
			
		||||
 | 
			
		||||
@@ -78,8 +74,8 @@ public class GlobalApplication extends Application {
 | 
			
		||||
        ToastUtils.init(this);
 | 
			
		||||
        // 设置 Toast 布局样式
 | 
			
		||||
        //ToastUtils.setView(R.layout.toast_custom_view);
 | 
			
		||||
        ToastUtils.setStyle(new WhiteToastStyle());
 | 
			
		||||
        ToastUtils.setGravity(Gravity.BOTTOM, 0, 200);
 | 
			
		||||
        //ToastUtils.setStyle(new WhiteToastStyle());
 | 
			
		||||
        //ToastUtils.setGravity(Gravity.BOTTOM, 0, 200);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static String getAppName(Context context) {
 | 
			
		||||
 
 | 
			
		||||
@@ -21,11 +21,9 @@ import android.view.MenuItem;
 | 
			
		||||
import android.widget.LinearLayout;
 | 
			
		||||
import android.widget.TextView;
 | 
			
		||||
import android.widget.Toast;
 | 
			
		||||
import androidx.appcompat.widget.Toolbar;
 | 
			
		||||
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_RESTART = 1;
 | 
			
		||||
@@ -47,10 +45,10 @@ public final class GlobalCrashActivity extends AppCompatActivity implements Menu
 | 
			
		||||
        setContentView(R.layout.activity_globalcrash);
 | 
			
		||||
        mGlobalCrashReportView = findViewById(R.id.activityglobalcrashGlobalCrashReportView1);
 | 
			
		||||
        mGlobalCrashReportView.setReport(mLog);
 | 
			
		||||
        setSupportActionBar(mGlobalCrashReportView.getToolbar());
 | 
			
		||||
        setActionBar(mGlobalCrashReportView.getToolbar());
 | 
			
		||||
        
 | 
			
		||||
        getSupportActionBar().setTitle(CrashHandler.TITTLE);
 | 
			
		||||
        getSupportActionBar().setSubtitle(GlobalApplication.getAppName(getApplicationContext()));
 | 
			
		||||
        getActionBar().setTitle(CrashHandler.TITTLE);
 | 
			
		||||
        getActionBar().setSubtitle(GlobalApplication.getAppName(getApplicationContext()));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 
 | 
			
		||||
@@ -15,8 +15,8 @@ import android.view.Menu;
 | 
			
		||||
import android.view.MenuItem;
 | 
			
		||||
import android.widget.LinearLayout;
 | 
			
		||||
import android.widget.TextView;
 | 
			
		||||
import androidx.appcompat.widget.Toolbar;
 | 
			
		||||
import cc.winboll.studio.libappbase.R;
 | 
			
		||||
import android.widget.Toolbar;
 | 
			
		||||
 | 
			
		||||
public class GlobalCrashReportView extends LinearLayout {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -16,16 +16,15 @@ import android.view.View;
 | 
			
		||||
import android.view.ViewGroup;
 | 
			
		||||
import android.widget.AdapterView;
 | 
			
		||||
import android.widget.ArrayAdapter;
 | 
			
		||||
import android.widget.BaseAdapter;
 | 
			
		||||
import android.widget.CheckBox;
 | 
			
		||||
import android.widget.RelativeLayout;
 | 
			
		||||
import android.widget.ScrollView;
 | 
			
		||||
import android.widget.Spinner;
 | 
			
		||||
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.R;
 | 
			
		||||
import cc.winboll.studio.libappbase.views.HorizontalListView;
 | 
			
		||||
import java.text.Collator;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.Collections;
 | 
			
		||||
@@ -51,7 +50,7 @@ public class LogView extends RelativeLayout {
 | 
			
		||||
    Spinner mLogLevelSpinner;
 | 
			
		||||
    ArrayAdapter<CharSequence> mLogLevelSpinnerAdapter;
 | 
			
		||||
    // 标签列表
 | 
			
		||||
    RecyclerView recyclerView;
 | 
			
		||||
    HorizontalListView mListViewTags;
 | 
			
		||||
 | 
			
		||||
    public LogView(Context context) {
 | 
			
		||||
        super(context);
 | 
			
		||||
@@ -190,11 +189,9 @@ public class LogView extends RelativeLayout {
 | 
			
		||||
        cbALLTAG.setChecked(isAllSelect);
 | 
			
		||||
 | 
			
		||||
        // 加载标签表
 | 
			
		||||
        recyclerView = findViewById(cc.winboll.studio.libappbase.R.id.viewlogRecyclerView1);
 | 
			
		||||
        LinearLayoutManager layoutManager = new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false);
 | 
			
		||||
        recyclerView.setLayoutManager(layoutManager);
 | 
			
		||||
        mTAGListAdapter = new TAGListAdapter(mapTAGList);
 | 
			
		||||
        recyclerView.setAdapter(mTAGListAdapter);
 | 
			
		||||
        mListViewTags = findViewById(cc.winboll.studio.libappbase.R.id.tags_listview);
 | 
			
		||||
        mTAGListAdapter = new TAGListAdapter(mContext, mapTAGList);
 | 
			
		||||
        mListViewTags.setAdapter(mTAGListAdapter);
 | 
			
		||||
 | 
			
		||||
        // 可以添加点击监听器来处理勾选框状态变化后的逻辑,比如获取当前勾选情况等
 | 
			
		||||
        mTAGListAdapter.notifyDataSetChanged();
 | 
			
		||||
@@ -305,16 +302,33 @@ 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 List<TAGItemModel> itemList;
 | 
			
		||||
 | 
			
		||||
        public TAGListAdapter(Map<String, Boolean> map) {
 | 
			
		||||
        public TAGListAdapter(Context context, Map<String, Boolean> map) {
 | 
			
		||||
            this.context = context;
 | 
			
		||||
            mapOrigin = map;
 | 
			
		||||
            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) {
 | 
			
		||||
            itemList = new ArrayList<TAGItemModel>();
 | 
			
		||||
            for (Map.Entry<String, Boolean> entry : map.entrySet()) {
 | 
			
		||||
@@ -330,15 +344,19 @@ public class LogView extends RelativeLayout {
 | 
			
		||||
            super.notifyDataSetChanged();
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        @NonNull
 | 
			
		||||
        @Override
 | 
			
		||||
        public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
 | 
			
		||||
            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_logtag, parent, false);
 | 
			
		||||
            return new ViewHolder(view);
 | 
			
		||||
        }
 | 
			
		||||
        public View getView(int position, View convertView, ViewGroup parent) {
 | 
			
		||||
            ViewHolder holder;
 | 
			
		||||
            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);
 | 
			
		||||
            holder.tvText.setText(item.getTag());
 | 
			
		||||
            holder.cbChecked.setChecked(item.isChecked());
 | 
			
		||||
@@ -349,22 +367,13 @@ public class LogView extends RelativeLayout {
 | 
			
		||||
                        LogUtils.setTAGListEnable(item.getTag(), ((CheckBox)v).isChecked());
 | 
			
		||||
                    }
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            return convertView;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        public int getItemCount() {
 | 
			
		||||
            return itemList.size();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public class ViewHolder extends RecyclerView.ViewHolder {
 | 
			
		||||
        public class ViewHolder {
 | 
			
		||||
            TextView tvText;
 | 
			
		||||
            CheckBox cbChecked;
 | 
			
		||||
 | 
			
		||||
            public ViewHolder(@NonNull View itemView) {
 | 
			
		||||
                super(itemView);
 | 
			
		||||
                tvText = itemView.findViewById(R.id.viewlogtagTextView1);
 | 
			
		||||
                cbChecked = itemView.findViewById(R.id.viewlogtagCheckBox1);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -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();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -14,9 +14,9 @@ import android.widget.RemoteViews;
 | 
			
		||||
import cc.winboll.studio.libappbase.LogUtils;
 | 
			
		||||
import cc.winboll.studio.libappbase.R;
 | 
			
		||||
import cc.winboll.studio.libappbase.utils.ServiceUtils;
 | 
			
		||||
import com.hjq.toast.ToastUtils;
 | 
			
		||||
import android.content.ServiceConnection;
 | 
			
		||||
import android.os.IBinder;
 | 
			
		||||
import cc.winboll.studio.libappbase.utils.ToastUtils;
 | 
			
		||||
 | 
			
		||||
public class StatusWidget extends AppWidgetProvider {
 | 
			
		||||
 | 
			
		||||
@@ -35,6 +35,7 @@ public class StatusWidget extends AppWidgetProvider {
 | 
			
		||||
    public void onReceive(Context context, Intent intent) {
 | 
			
		||||
        super.onReceive(context, intent);
 | 
			
		||||
        if (intent.getAction().equals(ACTION_STATUS_UPDATE)) {
 | 
			
		||||
            ToastUtils.show("Test");
 | 
			
		||||
            AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
 | 
			
		||||
            int[] appWidgetIds = appWidgetManager.getAppWidgetIds(new ComponentName(context, StatusWidget.class));
 | 
			
		||||
            for (int appWidgetId : appWidgetIds) {
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@ import android.content.BroadcastReceiver;
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
import android.content.Intent;
 | 
			
		||||
import cc.winboll.studio.libappbase.LogUtils;
 | 
			
		||||
import com.hjq.toast.ToastUtils;
 | 
			
		||||
import cc.winboll.studio.libappbase.utils.ToastUtils;
 | 
			
		||||
 | 
			
		||||
public class StatusWidgetClickListener extends BroadcastReceiver {
 | 
			
		||||
    
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										22
									
								
								libappbase/src/main/res/layout/item_logtag.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								libappbase/src/main/res/layout/item_logtag.xml
									
									
									
									
									
										Normal 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>
 | 
			
		||||
 | 
			
		||||
@@ -7,7 +7,7 @@
 | 
			
		||||
	android:layout_height="match_parent"
 | 
			
		||||
	android:id="@+id/viewglobalcrashreportLinearLayout1">
 | 
			
		||||
 | 
			
		||||
	<androidx.appcompat.widget.Toolbar
 | 
			
		||||
	<android.widget.Toolbar
 | 
			
		||||
		android:layout_width="match_parent"
 | 
			
		||||
		android:layout_height="wrap_content"
 | 
			
		||||
		android:id="@+id/viewglobalcrashreportToolbar1"/>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,121 +1,128 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<RelativeLayout
 | 
			
		||||
    xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    android:orientation="vertical"
 | 
			
		||||
    android:layout_width="match_parent"
 | 
			
		||||
    android:layout_height="match_parent"
 | 
			
		||||
    android:background="#FF000000">
 | 
			
		||||
	xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
	android:orientation="vertical"
 | 
			
		||||
	android:layout_width="match_parent"
 | 
			
		||||
	android:layout_height="match_parent"
 | 
			
		||||
	android:background="#FF000000">
 | 
			
		||||
 | 
			
		||||
    <RelativeLayout
 | 
			
		||||
        xmlns:app="http://schemas.android.com/apk/res-auto"
 | 
			
		||||
        android:orientation="horizontal"
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="40dp"
 | 
			
		||||
        android:layout_alignParentTop="true"
 | 
			
		||||
        android:background="@drawable/bg_shadow"
 | 
			
		||||
        android:id="@+id/viewlogRelativeLayoutToolbar">
 | 
			
		||||
	<RelativeLayout
 | 
			
		||||
		xmlns:app="http://schemas.android.com/apk/res-auto"
 | 
			
		||||
		android:orientation="horizontal"
 | 
			
		||||
		android:layout_width="match_parent"
 | 
			
		||||
		android:layout_height="40dp"
 | 
			
		||||
		android:layout_alignParentTop="true"
 | 
			
		||||
		android:background="@drawable/bg_shadow"
 | 
			
		||||
		android:id="@+id/viewlogRelativeLayoutToolbar">
 | 
			
		||||
 | 
			
		||||
        <Button
 | 
			
		||||
            android:layout_width="wrap_content"
 | 
			
		||||
            android:layout_height="36dp"
 | 
			
		||||
            android:text="Clean"
 | 
			
		||||
            android:textSize="14dp"
 | 
			
		||||
            android:layout_centerVertical="true"
 | 
			
		||||
            android:id="@+id/viewlogButtonClean"
 | 
			
		||||
            android:layout_marginLeft="5dp"/>
 | 
			
		||||
		<Button
 | 
			
		||||
			android:layout_width="wrap_content"
 | 
			
		||||
			android:layout_height="36dp"
 | 
			
		||||
			android:text="Clean"
 | 
			
		||||
			android:textSize="14dp"
 | 
			
		||||
			android:layout_centerVertical="true"
 | 
			
		||||
			android:id="@+id/viewlogButtonClean"
 | 
			
		||||
			android:layout_marginLeft="5dp"/>
 | 
			
		||||
 | 
			
		||||
        <TextView
 | 
			
		||||
            android:background="#FF000000"
 | 
			
		||||
            android:layout_width="wrap_content"
 | 
			
		||||
            android:layout_height="24dp"
 | 
			
		||||
            android:text="LV:"
 | 
			
		||||
            android:layout_toRightOf="@+id/viewlogButtonClean"
 | 
			
		||||
            android:layout_centerVertical="true"
 | 
			
		||||
            android:id="@+id/viewlogTextView1"
 | 
			
		||||
            android:textColor="#FFFFFFFF"/>
 | 
			
		||||
		<TextView
 | 
			
		||||
			android:background="#FF000000"
 | 
			
		||||
			android:layout_width="wrap_content"
 | 
			
		||||
			android:layout_height="24dp"
 | 
			
		||||
			android:text="LV:"
 | 
			
		||||
			android:layout_toRightOf="@+id/viewlogButtonClean"
 | 
			
		||||
			android:layout_centerVertical="true"
 | 
			
		||||
			android:id="@+id/viewlogTextView1"
 | 
			
		||||
			android:textColor="#FFFFFFFF"/>
 | 
			
		||||
 | 
			
		||||
        <Spinner
 | 
			
		||||
            android:background="#FFFFFFFF"
 | 
			
		||||
            android:layout_width="wrap_content"
 | 
			
		||||
            android:layout_height="24dp"
 | 
			
		||||
            android:layout_toRightOf="@+id/viewlogTextView1"
 | 
			
		||||
            android:layout_centerVertical="true"
 | 
			
		||||
            android:id="@+id/viewlogSpinner1"/>
 | 
			
		||||
		<Spinner
 | 
			
		||||
			android:background="#FFFFFFFF"
 | 
			
		||||
			android:layout_width="wrap_content"
 | 
			
		||||
			android:layout_height="24dp"
 | 
			
		||||
			android:layout_toRightOf="@+id/viewlogTextView1"
 | 
			
		||||
			android:layout_centerVertical="true"
 | 
			
		||||
			android:id="@+id/viewlogSpinner1"/>
 | 
			
		||||
 | 
			
		||||
        <CheckBox
 | 
			
		||||
            android:layout_width="wrap_content"
 | 
			
		||||
            android:layout_height="24dp"
 | 
			
		||||
            android:layout_toLeftOf="@+id/viewlogButtonCopy"
 | 
			
		||||
            android:layout_centerVertical="true"
 | 
			
		||||
            android:text="Selectable"
 | 
			
		||||
            android:background="#FFFFFFFF"
 | 
			
		||||
            android:paddingRight="10dp"
 | 
			
		||||
            android:textSize="16dp"
 | 
			
		||||
            android:id="@+id/viewlogCheckBoxSelectable"/>
 | 
			
		||||
		<CheckBox
 | 
			
		||||
			android:layout_width="wrap_content"
 | 
			
		||||
			android:layout_height="24dp"
 | 
			
		||||
			android:layout_toLeftOf="@+id/viewlogButtonCopy"
 | 
			
		||||
			android:layout_centerVertical="true"
 | 
			
		||||
			android:text="Selectable"
 | 
			
		||||
			android:background="#FFFFFFFF"
 | 
			
		||||
			android:paddingRight="10dp"
 | 
			
		||||
			android:textSize="16dp"
 | 
			
		||||
			android:id="@+id/viewlogCheckBoxSelectable"/>
 | 
			
		||||
 | 
			
		||||
        <Button
 | 
			
		||||
            android:layout_width="wrap_content"
 | 
			
		||||
            android:layout_height="36dp"
 | 
			
		||||
            android:text="Copy"
 | 
			
		||||
            android:layout_alignParentRight="true"
 | 
			
		||||
            android:textSize="14dp"
 | 
			
		||||
            android:layout_centerVertical="true"
 | 
			
		||||
            android:id="@+id/viewlogButtonCopy"
 | 
			
		||||
            android:layout_marginRight="5dp"/>
 | 
			
		||||
		<Button
 | 
			
		||||
			android:layout_width="wrap_content"
 | 
			
		||||
			android:layout_height="36dp"
 | 
			
		||||
			android:text="Copy"
 | 
			
		||||
			android:layout_alignParentRight="true"
 | 
			
		||||
			android:textSize="14dp"
 | 
			
		||||
			android:layout_centerVertical="true"
 | 
			
		||||
			android:id="@+id/viewlogButtonCopy"
 | 
			
		||||
			android:layout_marginRight="5dp"/>
 | 
			
		||||
 | 
			
		||||
    </RelativeLayout>
 | 
			
		||||
	</RelativeLayout>
 | 
			
		||||
 | 
			
		||||
    <LinearLayout
 | 
			
		||||
        android:orientation="horizontal"
 | 
			
		||||
        android:layout_width="match_parent"
 | 
			
		||||
        android:layout_height="40dp"
 | 
			
		||||
        android:background="@drawable/bg_shadow"
 | 
			
		||||
        android:layout_below="@+id/viewlogRelativeLayoutToolbar"
 | 
			
		||||
        android:id="@+id/viewlogLinearLayout1"
 | 
			
		||||
        android:gravity="center_vertical">
 | 
			
		||||
	<LinearLayout
 | 
			
		||||
		android:orientation="horizontal"
 | 
			
		||||
		android:layout_width="match_parent"
 | 
			
		||||
		android:layout_height="40dp"
 | 
			
		||||
		android:layout_below="@+id/viewlogRelativeLayoutToolbar"
 | 
			
		||||
		android:id="@+id/viewlogLinearLayout1"
 | 
			
		||||
		android:gravity="center_vertical"
 | 
			
		||||
		android:background="#FFC0F4C2">
 | 
			
		||||
 | 
			
		||||
        <CheckBox
 | 
			
		||||
            android:layout_width="wrap_content"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:text="ALL"
 | 
			
		||||
            android:id="@+id/viewlogCheckBox1"/>
 | 
			
		||||
		<CheckBox
 | 
			
		||||
			android:layout_width="wrap_content"
 | 
			
		||||
			android:layout_height="wrap_content"
 | 
			
		||||
			android:text="ALL"
 | 
			
		||||
			android:id="@+id/viewlogCheckBox1"/>
 | 
			
		||||
 | 
			
		||||
        <androidx.recyclerview.widget.RecyclerView
 | 
			
		||||
            android:layout_width="0dp"
 | 
			
		||||
            android:layout_height="wrap_content"
 | 
			
		||||
            android:background="@drawable/view_border"
 | 
			
		||||
            android:id="@+id/viewlogRecyclerView1"
 | 
			
		||||
            android:layout_weight="1.0"
 | 
			
		||||
            android:layout_marginRight="5dp"
 | 
			
		||||
            android:padding="2dp"/>
 | 
			
		||||
		<HorizontalScrollView
 | 
			
		||||
			android:layout_width="0dp"
 | 
			
		||||
			android:layout_height="match_parent"
 | 
			
		||||
			android:scrollbars="none"
 | 
			
		||||
			android:layout_weight="1.0"
 | 
			
		||||
			android:background="#FF97F2E3">
 | 
			
		||||
 | 
			
		||||
    </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
 | 
			
		||||
        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">
 | 
			
		||||
		</HorizontalScrollView>
 | 
			
		||||
 | 
			
		||||
        <ScrollView
 | 
			
		||||
            android:layout_width="match_parent"
 | 
			
		||||
            android:layout_height="match_parent"
 | 
			
		||||
            android:background="#FF000000"
 | 
			
		||||
            android:id="@+id/viewlogScrollViewLog">
 | 
			
		||||
	</LinearLayout>
 | 
			
		||||
 | 
			
		||||
            <TextView
 | 
			
		||||
                android:layout_width="match_parent"
 | 
			
		||||
                android:layout_height="match_parent"
 | 
			
		||||
                android:text="Text"
 | 
			
		||||
                android:textColor="#FF00FF00"
 | 
			
		||||
                android:textIsSelectable="true"
 | 
			
		||||
                android:id="@+id/viewlogTextViewLog"/>
 | 
			
		||||
	<RelativeLayout
 | 
			
		||||
		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>
 | 
			
		||||
		<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>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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>
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<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>
 | 
			
		||||
    </style>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user