From c74dbc404725e6d01f4894d59f16e5087555aef2 Mon Sep 17 00:00:00 2001 From: fanhuitong <981964879@qq.com> Date: Mon, 26 Sep 2022 22:33:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=90=88=E4=BD=9C=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ttutils/activity/main/MainActivity.java | 30 ++++++- .../tt/ttutils/utils/java/GlideLoadUtils.java | 78 +++++++++++++++++++ .../main/res/layout-land/activity_main.xml | 35 +++++++++ .../main/res/layout-port/activity_main.xml | 35 +++++++++ 4 files changed, 176 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/com/tt/ttutils/utils/java/GlideLoadUtils.java diff --git a/app/src/main/java/com/tt/ttutils/activity/main/MainActivity.java b/app/src/main/java/com/tt/ttutils/activity/main/MainActivity.java index b4d3205..080ed36 100644 --- a/app/src/main/java/com/tt/ttutils/activity/main/MainActivity.java +++ b/app/src/main/java/com/tt/ttutils/activity/main/MainActivity.java @@ -99,6 +99,14 @@ public class MainActivity extends ImmerseBaseActivity { @BindView(R.id.bt_camera_refresh) Button bt_camera_refresh; + @BindView(R.id.tv_net_statu) + TextView tv_net_statu; + @BindView(R.id.bt_net_close) + Button bt_net_close; + @BindView(R.id.bt_net_open) + Button bt_net_open; + @BindView(R.id.bt_net_refresh) + Button bt_net_refresh; private ServiceConnection mServiceConnection; private INoteAidlInterface noteAidlInterface; @@ -322,9 +330,9 @@ public class MainActivity extends ImmerseBaseActivity { // Log.e("mIGetInfoConnection", "getForbidAPP: " + forbidAPP); boolean isControl = getInfoInterface.isControl(); Log.e("mIGetInfoConnection", "isControl: " + isControl); - boolean isAvailable = getInfoInterface.inControl("com.zhiduoke.fxy"); + boolean isAvailable = getInfoInterface.inControl("com.youku.phone"); Log.e("mIGetInfoConnection", "inControl: " + isAvailable); - String content = getInfoInterface.getDisableContent("com.zhiduoke.fxy"); + String content = getInfoInterface.getDisableContent("com.youku.phone"); Log.e("mIGetInfoConnection", "getDisableContent: " + content); // textView.setText(userInfo); @@ -373,6 +381,24 @@ public class MainActivity extends ImmerseBaseActivity { sendBroadcast(cameraIntent); } }); + + bt_net_close.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Settings.System.putString(getContentResolver(), "app_web_white_list", + "com.android.browser:baidu.com,taobao.com,qq.com;com.uiui.browser:jd.com,bilibili.com,baidu.com;org.chromium.browser:zhihu.com,baidu.com,taobao.com,qq.com"); + Settings.System.putString(getContentResolver(), "app_view_click_disabled", + "com.android.gallery3d:12345,78901;com.android.settings:9876543,12346"); + + } + }); + bt_net_open.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Settings.System.putString(getContentResolver(), "app_web_white_list", "null"); + Settings.System.putString(getContentResolver(), "app_view_click_disabled", "null"); + } + }); } @Override diff --git a/app/src/main/java/com/tt/ttutils/utils/java/GlideLoadUtils.java b/app/src/main/java/com/tt/ttutils/utils/java/GlideLoadUtils.java new file mode 100644 index 0000000..5de124a --- /dev/null +++ b/app/src/main/java/com/tt/ttutils/utils/java/GlideLoadUtils.java @@ -0,0 +1,78 @@ +package com.tt.ttutils.utils.java; + +import android.annotation.TargetApi; +import android.app.Activity; +import android.content.Context; +import android.os.Build; +import android.util.Log; +import android.widget.ImageView; + +import androidx.fragment.app.Fragment; + +import com.bumptech.glide.Glide; + +/** + * Glide 加载 简单判空封装 防止异步加载数据时调用Glide 抛出异常 + * Created by Li_Xavier on 2017/6/20 0020. + */ +public class GlideLoadUtils { + private String TAG = "ImageLoader"; + + /** + * 借助内部类 实现线程安全的单例模式 + * 属于懒汉式单例,因为Java机制规定,内部类SingletonHolder只有在getInstance() + * 方法第一次调用的时候才会被加载(实现了lazy),而且其加载过程是线程安全的。 + * 内部类加载的时候实例化一次instance。 + */ + public GlideLoadUtils() { + } + + private static class GlideLoadUtilsHolder { + private final static GlideLoadUtils INSTANCE = new GlideLoadUtils(); + } + + public static GlideLoadUtils getInstance() { + return GlideLoadUtilsHolder.INSTANCE; + } + + /** + * Glide 加载 简单判空封装 防止异步加载数据时调用Glide 抛出异常 + * + * @param context + * @param url 加载图片的url地址 String + * @param imageView 加载图片的ImageView 控件 + * @param default_image 图片展示错误的本地图片 id + */ + public void glideLoad(Context context, String url, ImageView imageView, int default_image) { + if (context != null) { + Glide.with(context).load(url).centerCrop().error(default_image).into(imageView); + } else { + Log.i(TAG, "Picture loading failed,context is null"); + } + } + + @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) + public void glideLoad(Activity activity, String url, ImageView imageView, int default_image) { + if (!activity.isDestroyed()) { + Glide.with(activity).load(url).centerCrop().error(default_image).into(imageView); + } else { + Log.i(TAG, "Picture loading failed,activity is Destroyed"); + } + } + + public void glideLoad(Fragment fragment, String url, ImageView imageView, int default_image) { + if (fragment != null && fragment.getActivity() != null) { + Glide.with(fragment).load(url).centerCrop().error(default_image).into(imageView); + } else { + Log.i(TAG, "Picture loading failed,fragment is null"); + } + } + + public void glideLoad(android.app.Fragment fragment, String url, ImageView imageView, int default_image) { + if (fragment != null && fragment.getActivity() != null) { + Glide.with(fragment).load(url).centerCrop().error(default_image).into(imageView); + } else { + Log.i(TAG, "Picture loading failed,android.app.Fragment is null"); + } + } +} diff --git a/app/src/main/res/layout-land/activity_main.xml b/app/src/main/res/layout-land/activity_main.xml index e431189..ba9b855 100644 --- a/app/src/main/res/layout-land/activity_main.xml +++ b/app/src/main/res/layout-land/activity_main.xml @@ -52,6 +52,41 @@ app:layout_constraintEnd_toEndOf="parent" /> + + + + +