version:2.0

fix:
update:通知变化时更新
This commit is contained in:
2022-06-08 09:29:55 +08:00
parent 190810bdc0
commit f954fc036d
13 changed files with 630 additions and 218 deletions

View File

@@ -17,6 +17,7 @@ import com.uiui.aios.R;
import com.uiui.aios.adapter.APPListAdapter;
import com.uiui.aios.base.BaseActivity;
import com.uiui.aios.bean.AppListInfo;
import com.uiui.aios.service.NotificationService;
import com.uiui.aios.utils.ApkUtils;
import com.uiui.aios.utils.BitmapUtils;
import com.uiui.aios.view.RecyclerViewSpacesItemDecoration;
@@ -87,6 +88,12 @@ public class APPListActivity extends BaseActivity {
mRecyclerView.addItemDecoration(new RecyclerViewSpacesItemDecoration(stringIntegerHashMap));
mRecyclerView.setAdapter(adapter);
adapter.setAppListInfos(appinfoList);
NotificationService.setListener(new NotificationService.NotificationListener() {
@Override
public void onListenerUpdate() {
adapter.notifyDataSetChanged();
}
});
}
}

View File

@@ -44,7 +44,6 @@ import com.tencent.mmkv.MMKV;
import com.uiui.aios.BuildConfig;
import com.uiui.aios.R;
import com.uiui.aios.activity.APPListActivity;
import com.uiui.aios.activity.CodeActivity;
import com.uiui.aios.activity.EmergencyActivity;
import com.uiui.aios.activity.weather.WeatherActivity;
import com.uiui.aios.adapter.NotificationAdapter;
@@ -54,6 +53,7 @@ import com.uiui.aios.bean.AlarmItem;
import com.uiui.aios.utils.AmapManager;
import com.uiui.aios.utils.ApkUtils;
import com.uiui.aios.utils.AppUtil;
import com.uiui.aios.utils.SchemeUtils;
import com.uiui.aios.utils.Utils;
import java.lang.reflect.Method;
@@ -75,38 +75,34 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
// @BindView(R.id.cl_alarm)
// ConstraintLayout cl_alarm;
@BindView(R.id.cl_wifi)
ConstraintLayout cl_wifi;
@BindView(R.id.qr_code)
ConstraintLayout qr_code;
// @BindView(R.id.cl_wifi)
// ConstraintLayout cl_wifi;
@BindView(R.id.cl_sos)
ConstraintLayout cl_soso;
@BindView(R.id.cl_allapp)
ConstraintLayout cl_allapp;
@BindView(R.id.cl_weather)
ConstraintLayout cl_weather;
@BindView(R.id.cl_battery)
ConstraintLayout cl_battery;
// @BindView(R.id.tv_add)
// @BindView(R.id.cl_battery)
// ConstraintLayout cl_battery;
// @BindView(R.id.tv_add)
// TextView tv_add;
@BindView(R.id.tv_battery)
TextView tv_battery;
// @BindView(R.id.tv_battery)
// TextView tv_battery;
@BindView(R.id.tv_location)
TextView tv_location;
@BindView(R.id.iv_pic)
ImageView iv_pic;
@BindView(R.id.tv_temp)
TextView tv_temp;
@BindView(R.id.cpv)
CircleProgressView cpv;
@BindView(R.id.iv_charging)
ImageView iv_charging;
// @BindView(R.id.cpv)
// CircleProgressView cpv;
// @BindView(R.id.iv_charging)
// ImageView iv_charging;
@BindView(R.id.rv_noti)
RecyclerView rv_noti;
// @BindView(R.id.rv_clock)
// @BindView(R.id.rv_clock)
// RecyclerView rv_clock;
@BindView(R.id.wifi_ssid)
TextView wifi_ssid;
// @BindView(R.id.wifi_ssid)
// TextView wifi_ssid;
@BindView(R.id.iv_sos)
ImageView iv_sos;
@BindView(R.id.rv_sos)
@@ -114,6 +110,14 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
@BindView(R.id.iv_note_nodata)
ImageView iv_note_nodata;
@BindView(R.id.cl_health)
ConstraintLayout mClHealth;
@BindView(R.id.cl_tongue)
ConstraintLayout mClTongue;
@BindView(R.id.cl_face)
ConstraintLayout mClFace;
@BindView(R.id.cl_hand)
ConstraintLayout mClHand;
private String TAG = CustomFragment.class.getSimpleName();
// private int[] mShaderColors = new int[]{0xFFfa3db5, 0xFFF8867E, 0xFFF79F6B, 0xFFF79F6B, 0xFFF79F6B, 0xFFF8867E, 0xFFfa3db5};
@@ -121,7 +125,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
private View rootView;
private List<AlarmItem> alarmItemList;
private NotificationAdapter notificationAdapter;
// private AlarmClockAdapter alarmClockAdapter;
// private AlarmClockAdapter alarmClockAdapter;
private SOSNnmberAdapter sosNnmberAdapter;
private MMKV mmkv;
private Context mContext;
@@ -177,18 +181,17 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
}
@Override
public void onDisconnected() {
wifi_ssid.setText("WiFi未连接");
// wifi_ssid.setText("WiFi未连接");
}
@Override
public void onConnected(NetworkUtils.NetworkType networkType) {
if (networkType == NetworkUtils.NetworkType.NETWORK_WIFI) {
wifi_ssid.setText(getConnectWifiSsid());
// wifi_ssid.setText(getConnectWifiSsid());
} else {
wifi_ssid.setText("WiFi未连接");
// wifi_ssid.setText("WiFi未连接");
}
}
@@ -239,7 +242,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 0);
int elec = (level * 100) / scale;
Log.i(TAG, "electricity:=" + elec + "%");
tv_battery.setText(elec + "%");
// tv_battery.setText(elec + "%");
} else if (Intent.ACTION_POWER_CONNECTED.equals(action)
|| Intent.ACTION_POWER_DISCONNECTED.equals(action)
|| Intent.ACTION_BATTERY_LOW.equals(action)
@@ -285,13 +288,13 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
private void initView() {
Log.e(TAG, "initView: " + Utils.getBatteryLevel(getActivity()));
tv_battery.setText(Utils.getBatteryLevel(getActivity()) + "%");
cpv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
killBackgroundApp();
}
});
// tv_battery.setText(Utils.getBatteryLevel(getActivity()) + "%");
// cpv.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// killBackgroundApp();
// }
// });
// cl_alarm.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
@@ -302,16 +305,10 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
rv_noti.setLayoutManager(new LinearLayoutManager(getActivity()));
rv_noti.setAdapter(notificationAdapter);
if (isWifiConnect()) {
wifi_ssid.setText(getConnectWifiSsid());
// wifi_ssid.setText(getConnectWifiSsid());
} else {
wifi_ssid.setText("WiFi未连接");
// wifi_ssid.setText("WiFi未连接");
}
cl_wifi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)); //直接进入手机中的wifi网络设置界面
}
});
// alarmClockAdapter = new AlarmClockAdapter();
// rv_clock.setLayoutManager(new LinearLayoutManager(getActivity()));
// rv_clock.setAdapter(alarmClockAdapter);
@@ -327,35 +324,54 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
getActivity().startActivity(intent);
}
});
cl_allapp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
getActivity().startActivity(new Intent(getActivity(), APPListActivity.class));
}
});
cl_weather.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(getActivity(), WeatherActivity.class));
}
});
cl_battery.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent powerUsageIntent = new Intent(Intent.ACTION_POWER_USAGE_SUMMARY);
ResolveInfo resolveInfo = mContext.getPackageManager().resolveActivity(powerUsageIntent, 0);
// check that the Battery app exists on this device
if (resolveInfo != null) {
startActivity(powerUsageIntent);
}
}
});
qr_code.setOnClickListener(new View.OnClickListener() {
// cl_battery.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View view) {
// Intent powerUsageIntent = new Intent(Intent.ACTION_POWER_USAGE_SUMMARY);
// ResolveInfo resolveInfo = mContext.getPackageManager().resolveActivity(powerUsageIntent, 0);
//// check that the Battery app exists on this device
// if (resolveInfo != null) {
// startActivity(powerUsageIntent);
// }
// }
// });
mClHealth.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(getActivity(), CodeActivity.class));
// startActivity(new Intent(getActivity(), CodeActivity.class));
// SchemeUtils.openScheme(getActivity(), SchemeUtils.SCHEME_TONGUE);
}
});
mClTongue.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// startActivity(new Intent(getActivity(), CodeActivity.class));
// startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)); //直接进入手机中的wifi网络设置界面
SchemeUtils.openScheme(getActivity(), SchemeUtils.SCHEME_TONGUE);
}
});
mClFace.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// startActivity(new Intent(getActivity(), CodeActivity.class));
SchemeUtils.openScheme(getActivity(), SchemeUtils.SCHEME_FACE);
}
});
mClHand.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// startActivity(new Intent(getActivity(), CodeActivity.class));
// getActivity().startActivity(new Intent(getActivity(), APPListActivity.class));
SchemeUtils.openScheme(getActivity(), SchemeUtils.SCHEME_HAND);
}
});
// setAlarm();
refreshMemory();
}
@@ -479,7 +495,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
WeatherHourlyBean.HourlyBean now = hourly.get(0);
String imageName = "he" + now.getIcon();
Log.e(TAG, "onSuccess: " + imageName);
if (isAdded()){
if (isAdded()) {
int resId = getResources().getIdentifier(imageName, "drawable", getActivity().getPackageName());
Log.e(TAG, "onSuccess: " + resId);
if (resId == 0) {
@@ -530,8 +546,8 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
long avail = AppUtil.getAvailMemory(mContext);
long total = AppUtil.getTotalMemory(mContext);
int x = (int) (((total - avail) / (double) total) * 100);
cpv.setProgressColor(mShaderColors);
cpv.showAnimation(0, x, 1000);
// cpv.setProgressColor(mShaderColors);
// cpv.showAnimation(0, x, 1000);
float x2 = (((total - avail) / (float) total));
}

View File

@@ -6,7 +6,9 @@ import android.util.Log;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* @author TT
@@ -15,14 +17,14 @@ public class NotificationService extends NotificationListenerService {
private static final String TAG = NotificationService.class.getSimpleName();
private static HashMap<String, List<StatusBarNotification>> notificationMap = new HashMap<String, List<StatusBarNotification>>();
private static NotificationListener mListener;
private static Set<NotificationListener> mListener = new HashSet<NotificationListener>();
private void updateNotification() {
notificationMap.clear();
StatusBarNotification[] statusBarNotifications = getActiveNotifications();
for (StatusBarNotification sbn : statusBarNotifications) {
String pkg = sbn.getPackageName();
Log.e(TAG, "onListenerConnected: " + pkg);
Log.e(TAG, "onListenerUpdate: " + pkg);
if (notificationMap.get(pkg) == null) {
notificationMap.put(pkg, new ArrayList<>());
notificationMap.get(pkg).add(sbn);
@@ -30,7 +32,7 @@ public class NotificationService extends NotificationListenerService {
notificationMap.get(pkg).add(sbn);
}
}
Log.e(TAG, "onListenerConnected: " + notificationMap);
Log.e(TAG, "onListenerUpdate: " + notificationMap);
}
public static int getNotificationLength(String pkg) {
@@ -42,15 +44,11 @@ public class NotificationService extends NotificationListenerService {
}
public static void setListener(NotificationListener listener) {
mListener = listener;
mListener.add(listener);
}
public interface NotificationListener {
void onListenerConnected();
void onNotificationPosted(StatusBarNotification sbn);
void onNotificationRemoved(StatusBarNotification sbn);
void onListenerUpdate();
}
@Override
@@ -61,10 +59,11 @@ public class NotificationService extends NotificationListenerService {
@Override
public void onListenerConnected() {
super.onListenerConnected();
Log.e(TAG, "onListenerConnected: " + getActiveNotifications().length);
Log.e(TAG, "onListenerUpdate: " + getActiveNotifications().length);
updateNotification();
if (mListener != null)
mListener.onListenerConnected();
for (NotificationListener listener : mListener) {
listener.onListenerUpdate();
}
}
@Override
@@ -72,8 +71,9 @@ public class NotificationService extends NotificationListenerService {
super.onNotificationPosted(sbn);
Log.e(TAG, "onNotificationPosted: " + getActiveNotifications().length);
updateNotification();
if (mListener != null)
mListener.onNotificationPosted(sbn);
for (NotificationListener listener : mListener) {
listener.onListenerUpdate();
}
}
@Override
@@ -81,8 +81,9 @@ public class NotificationService extends NotificationListenerService {
super.onNotificationRemoved(sbn);
Log.e(TAG, "onNotificationRemoved: " + getActiveNotifications().length);
updateNotification();
if (mListener != null)
mListener.onNotificationRemoved(sbn);
for (NotificationListener listener : mListener) {
listener.onListenerUpdate();
}
}

View File

@@ -24,7 +24,6 @@ import java.io.BufferedReader;
import java.io.FileReader;
public class AppUtil {
private static String TAG = AppUtil.class.getSimpleName();
/**
@@ -88,4 +87,5 @@ public class AppUtil {
// Byte转位KB或MB
return memory * 1024;
}
}

View File

@@ -0,0 +1,30 @@
package com.uiui.aios.utils;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.text.TextUtils;
import android.util.Log;
public class SchemeUtils {
private static String TAG = SchemeUtils.class.getSimpleName();
public static final String SCHEME_TONGUE = "uiuihealth://tongue";
public static final String SCHEME_FACE = "uiuihealth://face";
public static final String SCHEME_HAND = "uiuihealth://hand";
public static void openScheme(Activity context, String uri) {
if (TextUtils.isEmpty(uri)) {
return;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
try {
context.startActivity(intent);
} catch (Exception e) {
Log.e(TAG, "openScheme: " + e.getMessage());
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -220,7 +220,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/qr_code"
android:id="@+id/cl_health"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="8dp"
@@ -234,7 +234,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="健康"
android:text="健康档案"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
@@ -246,7 +246,7 @@
android:layout_height="100dp"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/health_code"
android:src="@drawable/home_clinical_detection"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -255,6 +255,7 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_tongue"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="8dp"
@@ -267,137 +268,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="设备状态"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_battery"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_charging"
android:layout_width="32dp"
android:layout_height="23dp"
android:layout_marginStart="32dp"
android:adjustViewBounds="true"
android:scaleType="centerInside"
android:src="@drawable/charging_icon"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_battery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:gravity="center"
android:maxLines="1"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/iv_charging"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_wifi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp">
<ImageView
android:id="@+id/iv_wifi"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginStart="32dp"
android:adjustViewBounds="true"
android:scaleType="centerInside"
android:src="@drawable/wifi_icon"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/wifi_ssid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/iv_wifi"
app:layout_constraintTop_toTopOf="@+id/iv_wifi" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:layout_weight="1"
android:background="@drawable/custom_background">
<com.king.view.circleprogressview.CircleProgressView
android:id="@+id/cpv"
android:layout_width="144dp"
android:layout_height="144dp"
app:cpvDuration="1000"
app:cpvLabelTextSize="26sp"
app:cpvNormalColor="#D8D6D7"
app:cpvShowTick="false"
app:cpvStrokeWidth="20dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="一键加速"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_allapp"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:layout_weight="1"
android:background="@drawable/custom_background">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="系统应用"
android:text="AI舌诊"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
@@ -405,12 +276,77 @@
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/iv_allapp"
android:layout_width="100dp"
android:layout_height="100dp"
android:adjustViewBounds="true"
android:scaleType="centerInside"
android:src="@drawable/systemapp_icon"
android:scaleType="fitCenter"
android:src="@drawable/home_clinical_tongue"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_face"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:layout_weight="1"
android:background="@drawable/custom_background">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="AI面诊"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/home_clinical_face"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_hand"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:layout_weight="1"
android:background="@drawable/custom_background">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="AI手诊"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/home_clinical_hand"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"

View File

@@ -0,0 +1,422 @@
<?xml version="1.0" encoding="utf-8"?>
<com.uiui.aios.view.CustomContent xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="20dp"
android:layout_marginBottom="30dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_weather"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:layout_weight="3"
android:background="@drawable/custom_background">
<ImageView
android:id="@+id/iv_pic"
android:layout_width="180dp"
android:layout_height="180dp"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/he100"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView3" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="天气预报"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_temp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:gravity="center_vertical"
android:text="10℃"
android:textColor="@color/black"
android:textSize="40sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/iv_pic"
app:layout_constraintStart_toEndOf="@+id/iv_pic"
app:layout_constraintTop_toTopOf="@+id/iv_pic"
app:layout_constraintVertical_bias="0.296" />
<TextView
android:id="@+id/tv_location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="位置"
android:textColor="@color/black"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="@+id/tv_temp"
app:layout_constraintTop_toBottomOf="@+id/tv_temp" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_note"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:layout_weight="3"
android:background="@drawable/custom_background">
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="爱心守护"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/iv_note_nodata"
android:layout_width="150dp"
android:layout_height="150dp"
android:adjustViewBounds="true"
android:scaleType="centerInside"
android:src="@drawable/note_nodata"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_noti"
android:layout_width="match_parent"
android:layout_height="0dp"
android:overScrollMode="never"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView4" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_sos"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:layout_weight="2"
android:background="@drawable/custom_background">
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="紧急呼叫"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/iv_sos"
android:layout_width="100dp"
android:layout_height="100dp"
android:adjustViewBounds="true"
android:scaleType="centerInside"
android:src="@drawable/sos_icon"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_sos"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView7" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
<!-- android:id="@+id/cl_alarm"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_height="match_parent"-->
<!-- android:layout_margin="8dp"-->
<!-- android:layout_weight="1"-->
<!-- android:background="@drawable/custom_background"-->
<!-- tools:ignore="NestedWeights">-->
<!-- <TextView-->
<!-- android:id="@+id/textView5"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginStart="8dp"-->
<!-- android:layout_marginTop="8dp"-->
<!-- android:text="我的闹钟"-->
<!-- android:textColor="@color/black"-->
<!-- android:textSize="20sp"-->
<!-- android:textStyle="bold"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent" />-->
<!-- <TextView-->
<!-- android:id="@+id/tv_add"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:background="@drawable/tv_background"-->
<!-- android:gravity="center_horizontal"-->
<!-- android:text="添加闹钟"-->
<!-- android:textColor="@color/white"-->
<!-- android:textSize="15sp"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toTopOf="parent" />-->
<!-- <androidx.recyclerview.widget.RecyclerView-->
<!-- android:id="@+id/rv_clock"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:overScrollMode="never"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toBottomOf="@+id/textView5" />-->
<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_health"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:layout_weight="1"
android:background="@drawable/custom_background"
tools:ignore="NestedWeights">
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="健康码"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:adjustViewBounds="true"
android:scaleType="fitCenter"
android:src="@drawable/health_code"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:layout_weight="1"
android:background="@drawable/custom_background">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="设备状态"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_battery"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_charging"
android:layout_width="32dp"
android:layout_height="23dp"
android:layout_marginStart="32dp"
android:adjustViewBounds="true"
android:scaleType="centerInside"
android:src="@drawable/charging_icon"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_battery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:gravity="center"
android:maxLines="1"
android:singleLine="true"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/iv_charging"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_wifi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp">
<ImageView
android:id="@+id/iv_wifi"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginStart="32dp"
android:adjustViewBounds="true"
android:scaleType="centerInside"
android:src="@drawable/wifi_icon"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/wifi_ssid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="32dp"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/iv_wifi"
app:layout_constraintTop_toTopOf="@+id/iv_wifi" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:layout_weight="1"
android:background="@drawable/custom_background">
<com.king.view.circleprogressview.CircleProgressView
android:id="@+id/cpv"
android:layout_width="144dp"
android:layout_height="144dp"
app:cpvDuration="1000"
app:cpvLabelTextSize="26sp"
app:cpvNormalColor="#D8D6D7"
app:cpvShowTick="false"
app:cpvStrokeWidth="20dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="一键加速"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_hand"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:layout_weight="1"
android:background="@drawable/custom_background">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="系统应用"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/iv_allapp"
android:layout_width="100dp"
android:layout_height="100dp"
android:adjustViewBounds="true"
android:scaleType="centerInside"
android:src="@drawable/systemapp_icon"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</LinearLayout>
</com.uiui.aios.view.CustomContent>

View File

@@ -217,7 +217,7 @@
<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/qr_code"
android:id="@+id/cl_health"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="8dp"
@@ -395,7 +395,7 @@
android:orientation="horizontal">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_allapp"
android:id="@+id/cl_hand"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="8dp"