diff --git a/app/build.gradle b/app/build.gradle index 2b1a755..adf276e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,8 +16,8 @@ android { applicationId "com.uiuios.aios" minSdkVersion 24 targetSdkVersion 29 - versionCode 14 - versionName "2.3" + versionCode 17 + versionName "2.6" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/com/uiuios/aios/activity/main/MainActivity.java b/app/src/main/java/com/uiuios/aios/activity/main/MainActivity.java index ba0efa3..b594bb3 100644 --- a/app/src/main/java/com/uiuios/aios/activity/main/MainActivity.java +++ b/app/src/main/java/com/uiuios/aios/activity/main/MainActivity.java @@ -104,10 +104,10 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { is_twoscreen = Settings.Global.getInt(getContentResolver(), "is_twoscreen", 1) == 1; if (is_twoscreen) { - appListIndex = 2; - defaultCurrent = 1; - mSecondFragment = new SecondFragment(); - mFragments.add(mSecondFragment); +// appListIndex = 2; +// defaultCurrent = 1; +// mSecondFragment = new SecondFragment(); +// mFragments.add(mSecondFragment); } mCustomFragment = new CustomFragment(); mFragments.add(mCustomFragment); diff --git a/app/src/main/java/com/uiuios/aios/fragment/custom/CustomFragment.java b/app/src/main/java/com/uiuios/aios/fragment/custom/CustomFragment.java index 16c0ef5..cc4e02f 100644 --- a/app/src/main/java/com/uiuios/aios/fragment/custom/CustomFragment.java +++ b/app/src/main/java/com/uiuios/aios/fragment/custom/CustomFragment.java @@ -9,6 +9,8 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.net.ConnectivityManager; import android.net.NetworkCapabilities; import android.net.NetworkInfo; @@ -72,6 +74,7 @@ import com.uiuios.aios.network.URLAddress; import com.uiuios.aios.tpush.MessageReceiver; import com.uiuios.aios.utils.ApkUtils; import com.uiuios.aios.utils.AppUtil; +import com.uiuios.aios.utils.BitmapUtils; import com.uiuios.aios.utils.NetStateUtils; import com.uiuios.aios.utils.SchemeUtils; import com.uiuios.aios.utils.ToastUtil; @@ -153,18 +156,19 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom @BindView(R.id.rv_sos) RecyclerView rv_sos; @BindView(R.id.iv_note_nodata) - TextView iv_note_nodata; + ImageView iv_note_nodata; // @BindView(R.id.iv_head) // ImageView iv_head; @BindView(R.id.tv_name) TextView tv_name; @BindView(R.id.iv_app) ImageView iv_app; - + @BindView(R.id.iv_battery) + ImageView iv_battery; private static final String TAG = CustomFragment.class.getSimpleName(); // private int[] mShaderColors = new int[]{0xFFfa3db5, 0xFFF8867E, 0xFFF79F6B, 0xFFF79F6B, 0xFFF79F6B, 0xFFF8867E, 0xFFfa3db5}; - private int[] mShaderColors = new int[]{0xFFff9300, 0xFFff9300, 0xFFff9300, 0xFFff9300, 0xFFff9300, 0xFFff9300, 0xFFff9300}; + private int[] mShaderColors = new int[]{0xFF05d192, 0xFF05d192, 0xFF05d192, 0xFF05d192, 0xFF05d192, 0xFF05d192, 0xFF05d192}; private int[] mShaderColorsRed = new int[]{0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000, 0xFFFF0000}; private View rootView; private List alarmItemList; @@ -351,6 +355,10 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (Intent.ACTION_BATTERY_CHANGED.equals(action)) { + //你可以读到充电状态,如果在充电,可以读到是usb还是交流电 + int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1); + boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING || + status == BatteryManager.BATTERY_STATUS_FULL; // 当前电量 int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0); // 最大电量 @@ -358,6 +366,7 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom int elec = (level * 100) / scale; Log.i(TAG, "electricity:=" + elec + "%"); tv_battery.setText(elec + "%"); + notifyBattery(level, scale, status, isCharging); } else if (Intent.ACTION_POWER_CONNECTED.equals(action) || Intent.ACTION_POWER_DISCONNECTED.equals(action) || Intent.ACTION_BATTERY_LOW.equals(action) @@ -368,6 +377,11 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom } } + public void notifyBattery(int level, int scale, int status, boolean isCharging) { + Bitmap bitmap = BitmapUtils.getbatteryIcon(mContext, BitmapFactory.decodeResource(getResources(), R.drawable.battery_icon), level, isCharging); + iv_battery.setImageBitmap(bitmap); + } + private BroadcastReceiver mbatteryReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { @@ -828,19 +842,19 @@ public class CustomFragment extends BaseFragment implements CustomContact.Custom }); } - private void getAlarmCache(){ + private void getAlarmCache() { String jsonString = mCacheHelper.getAsString(URLAddress.GET_ALARM_CLOCK); Gson gson = new Gson(); Type type = new TypeToken>() { }.getType(); List list = gson.fromJson(jsonString, type); if (list == null || list.size() == 0) { + rv_noti.setVisibility(View.GONE); + iv_note_nodata.setVisibility(View.VISIBLE); + } else { notificationAdapter.setDataList(list); rv_noti.setVisibility(View.VISIBLE); iv_note_nodata.setVisibility(View.GONE); - } else { - rv_noti.setVisibility(View.GONE); - iv_note_nodata.setVisibility(View.VISIBLE); } } diff --git a/app/src/main/java/com/uiuios/aios/utils/ApkUtils.java b/app/src/main/java/com/uiuios/aios/utils/ApkUtils.java index aff3da0..d7d0e4e 100644 --- a/app/src/main/java/com/uiuios/aios/utils/ApkUtils.java +++ b/app/src/main/java/com/uiuios/aios/utils/ApkUtils.java @@ -77,9 +77,9 @@ public class ApkUtils { this.add("com.uiui.city"); this.add("com.uiui.health"); // this.add("com.alldocube.store"); - this.add("com.android.fmradio"); - this.add("com.android.documentsui"); - this.add("com.android.calculator2"); +// this.add("com.android.fmradio"); +// this.add("com.android.documentsui"); +// this.add("com.android.calculator2"); }}; private static HashSet allHintPackage = new HashSet() {{ this.add("com.android.uiuios"); diff --git a/app/src/main/java/com/uiuios/aios/utils/BitmapUtils.java b/app/src/main/java/com/uiuios/aios/utils/BitmapUtils.java index d18acb9..150513b 100644 --- a/app/src/main/java/com/uiuios/aios/utils/BitmapUtils.java +++ b/app/src/main/java/com/uiuios/aios/utils/BitmapUtils.java @@ -4,12 +4,19 @@ import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; import android.graphics.PixelFormat; +import android.graphics.Rect; +import android.graphics.RectF; +import android.graphics.Typeface; import android.graphics.drawable.AdaptiveIconDrawable; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.Build; +import com.uiuios.aios.R; + import java.io.ByteArrayOutputStream; public class BitmapUtils { @@ -69,4 +76,54 @@ public class BitmapUtils { return null; } } + + public static Bitmap getbatteryIcon(Context context, Bitmap bitmap, int level, boolean charging) { + String st_level = String.valueOf(level); + int paddingLeft = 6; + int paddingRight = 8; + int paddingTop = 6; + int paddingBottom = 6; + int width = bitmap.getWidth(); + int height = bitmap.getHeight(); + Bitmap background = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); + Bitmap bitmapScale = Bitmap.createScaledBitmap(bitmap, width, height, true); + Canvas canvas = new Canvas(); + canvas.setBitmap(background); + Paint paint = new Paint(); + if (charging) { + paint.setColor(context.getColor(R.color.charging_color)); + } else { + if (level <= 20) { + paint.setColor(Color.RED); + } else { + paint.setColor(context.getColor(R.color.no_charging_color)); + } + } + //设置画笔类型 + paint.setStyle(Paint.Style.FILL); + //使用画笔在画布上画矩形 + paint.setAntiAlias(true); + Rect mSrcRect = new Rect(0, 0, width, height); + canvas.drawBitmap(bitmapScale, mSrcRect, mSrcRect, null); + RectF rectF = new RectF(paddingLeft, paddingTop, (bitmap.getWidth() - paddingRight) * level / 100, bitmap.getHeight() - paddingBottom);// 设置个新的长方形 + canvas.drawRoundRect(rectF, 3, 3, paint); + + final float mDensity = context.getResources().getDisplayMetrics().density; + Rect rect = new Rect(); + Paint mDatePaint = new Paint(); + mDatePaint.setTypeface(Typeface.SANS_SERIF); + mDatePaint.setTextSize((int) 9F * mDensity);//文字大小 + mDatePaint.setColor(Color.BLACK); + mDatePaint.setAntiAlias(true); + + mDatePaint.getTextBounds(st_level, 0, st_level.length(), rect); + //通过文字获取矩形的面积 + int width1 = rect.right - rect.left; + int height1 = rect.bottom - rect.top; + int width2 = background.getWidth(); + int height2 = background.getHeight(); + canvas.drawText(st_level, (width2 - width1) / 2 - rect.left, (height2 - height1) / 2 - rect.top, mDatePaint); + return background; + } + } diff --git a/app/src/main/res/drawable-hdpi/battery_bg.png b/app/src/main/res/drawable-hdpi/battery_bg.png new file mode 100644 index 0000000..19f2a81 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/battery_bg.png differ diff --git a/app/src/main/res/drawable-hdpi/battery_icon.png b/app/src/main/res/drawable-hdpi/battery_icon.png index c54a198..5a674e8 100644 Binary files a/app/src/main/res/drawable-hdpi/battery_icon.png and b/app/src/main/res/drawable-hdpi/battery_icon.png differ diff --git a/app/src/main/res/drawable-hdpi/default_head.png b/app/src/main/res/drawable-hdpi/default_head.png index 2568371..ff991dd 100644 Binary files a/app/src/main/res/drawable-hdpi/default_head.png and b/app/src/main/res/drawable-hdpi/default_head.png differ diff --git a/app/src/main/res/drawable-hdpi/home_contact_icon.png b/app/src/main/res/drawable-hdpi/home_contact_icon.png index 878dbd4..a6dbd79 100644 Binary files a/app/src/main/res/drawable-hdpi/home_contact_icon.png and b/app/src/main/res/drawable-hdpi/home_contact_icon.png differ diff --git a/app/src/main/res/drawable-hdpi/home_quick_app.png b/app/src/main/res/drawable-hdpi/home_quick_app.png index 484855b..9ad3924 100644 Binary files a/app/src/main/res/drawable-hdpi/home_quick_app.png and b/app/src/main/res/drawable-hdpi/home_quick_app.png differ diff --git a/app/src/main/res/drawable-hdpi/home_reminder_icon.png b/app/src/main/res/drawable-hdpi/home_reminder_icon.png index d7ef6f0..7d4c936 100644 Binary files a/app/src/main/res/drawable-hdpi/home_reminder_icon.png and b/app/src/main/res/drawable-hdpi/home_reminder_icon.png differ diff --git a/app/src/main/res/drawable-hdpi/home_settings_icon.png b/app/src/main/res/drawable-hdpi/home_settings_icon.png index de873cf..e61d4e2 100644 Binary files a/app/src/main/res/drawable-hdpi/home_settings_icon.png and b/app/src/main/res/drawable-hdpi/home_settings_icon.png differ diff --git a/app/src/main/res/drawable-hdpi/home_sos_icon.png b/app/src/main/res/drawable-hdpi/home_sos_icon.png index 7adedc0..e5efd36 100644 Binary files a/app/src/main/res/drawable-hdpi/home_sos_icon.png and b/app/src/main/res/drawable-hdpi/home_sos_icon.png differ diff --git a/app/src/main/res/drawable-hdpi/icon_family_space.png b/app/src/main/res/drawable-hdpi/icon_family_space.png index 4f47639..56b0dfe 100644 Binary files a/app/src/main/res/drawable-hdpi/icon_family_space.png and b/app/src/main/res/drawable-hdpi/icon_family_space.png differ diff --git a/app/src/main/res/drawable-hdpi/systemapp_icon.png b/app/src/main/res/drawable-hdpi/systemapp_icon.png index ec5d434..ad6f256 100644 Binary files a/app/src/main/res/drawable-hdpi/systemapp_icon.png and b/app/src/main/res/drawable-hdpi/systemapp_icon.png differ diff --git a/app/src/main/res/drawable-hdpi/wifi_connect.png b/app/src/main/res/drawable-hdpi/wifi_connect.png index 2be1fea..4d3e69f 100644 Binary files a/app/src/main/res/drawable-hdpi/wifi_connect.png and b/app/src/main/res/drawable-hdpi/wifi_connect.png differ diff --git a/app/src/main/res/drawable-hdpi/wifi_disconnect.png b/app/src/main/res/drawable-hdpi/wifi_disconnect.png index 758411b..821a495 100644 Binary files a/app/src/main/res/drawable-hdpi/wifi_disconnect.png and b/app/src/main/res/drawable-hdpi/wifi_disconnect.png differ diff --git a/app/src/main/res/drawable-hdpi/wifi_icon.png b/app/src/main/res/drawable-hdpi/wifi_icon.png deleted file mode 100644 index cc62e04..0000000 Binary files a/app/src/main/res/drawable-hdpi/wifi_icon.png and /dev/null differ diff --git a/app/src/main/res/drawable/background_weather_rain.xml b/app/src/main/res/drawable/background_weather_rain.xml index f8ef3be..357afef 100644 --- a/app/src/main/res/drawable/background_weather_rain.xml +++ b/app/src/main/res/drawable/background_weather_rain.xml @@ -3,7 +3,7 @@ xmlns:android="http://schemas.android.com/apk/res/android"> + android:color="#bad9f9" /> + android:color="#fcebc3" /> + android:color="#90a1b7" /> + android:color="@color/alarm_bg_color" /> + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/custom_bg_health.xml b/app/src/main/res/drawable/custom_bg_health.xml index 82577af..0bfd56f 100644 --- a/app/src/main/res/drawable/custom_bg_health.xml +++ b/app/src/main/res/drawable/custom_bg_health.xml @@ -3,7 +3,7 @@ xmlns:android="http://schemas.android.com/apk/res/android"> + android:color="@color/health_bg_color" /> @@ -216,7 +214,7 @@ android:layout_marginStart="@dimen/dp_8" android:layout_marginTop="@dimen/dp_8" android:text="天气预报" - android:textColor="@color/white" + android:textColor="@color/default_text_color" android:textSize="@dimen/sp_15" android:textStyle="bold" app:layout_constraintStart_toStartOf="parent" @@ -229,7 +227,7 @@ android:layout_marginEnd="@dimen/dp_36" android:gravity="center_vertical" android:text="10℃" - android:textColor="@color/white" + android:textColor="@color/default_text_color" android:textSize="@dimen/sp_30" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" @@ -243,7 +241,7 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/dp_2" android:text="位置" - android:textColor="@color/white" + android:textColor="@color/default_text_color" android:textSize="@dimen/sp_16" android:textStyle="bold" app:layout_constraintStart_toStartOf="@+id/tv_temp" @@ -255,7 +253,7 @@ android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_4" android:text="天气" - android:textColor="@color/white" + android:textColor="@color/default_text_color" android:textSize="@dimen/sp_16" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="@+id/tv_location" @@ -272,7 +270,7 @@ android:layout_marginEnd="@dimen/dp_2" android:layout_marginBottom="@dimen/dp_2" android:layout_weight="3" - android:background="@drawable/custom_bg_white"> + android:background="@drawable/custom_bg_alarm"> + + @@ -317,7 +328,7 @@ android:layout_marginEnd="@dimen/dp_4" android:layout_marginBottom="@dimen/dp_2" android:layout_weight="2" - android:background="@drawable/custom_bg_white"> + android:background="@drawable/custom_bg_sos"> @@ -463,8 +475,8 @@ app:cpvDuration="1000" app:cpvLabelTextColor="@color/black" app:cpvLabelTextSize="26sp" - app:cpvNormalColor="#FFD3D3D3" - app:cpvProgressColor="#ff9300" + app:cpvNormalColor="#bae2d6" + app:cpvProgressColor="#05d192" app:cpvShowTick="false" app:cpvStrokeWidth="@dimen/dp_16" app:layout_constraintBottom_toBottomOf="parent" @@ -530,7 +542,7 @@ android:layout_marginStart="@dimen/dp_8" android:layout_marginTop="@dimen/dp_8" android:text="快捷应用" - android:textColor="@color/title_gray" + android:textColor="@color/default_text_color" android:textSize="@dimen/sp_15" android:textStyle="bold" app:layout_constraintStart_toStartOf="parent" @@ -541,7 +553,7 @@ android:layout_width="@dimen/dp_68" android:layout_height="@dimen/dp_68" android:adjustViewBounds="true" - android:scaleType="fitCenter" + android:scaleType="centerInside" android:src="@drawable/home_quick_app" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" @@ -559,7 +571,7 @@ android:layout_marginEnd="@dimen/dp_2" android:layout_marginBottom="@dimen/dp_4" android:layout_weight="1" - android:background="@drawable/custom_bg_white"> + android:background="@drawable/custom_bg_contact"> diff --git a/app/src/main/res/layout-port/fragment_custom.xml b/app/src/main/res/layout-port/fragment_custom.xml index 35318e1..2f311df 100644 --- a/app/src/main/res/layout-port/fragment_custom.xml +++ b/app/src/main/res/layout-port/fragment_custom.xml @@ -101,7 +101,7 @@ app:layout_constraintTop_toTopOf="parent"> @@ -281,7 +281,7 @@ android:layout_marginEnd="@dimen/dp_2" android:layout_marginBottom="@dimen/dp_2" android:layout_weight="1" - android:background="@drawable/custom_bg_white"> + android:background="@drawable/custom_bg_alarm"> + + + android:background="@drawable/custom_bg_alarm"> + android:background="@drawable/custom_bg_alarm"> #00D56B #3b6ab9 - #00d56b - #b25353 - #3f8f4b + #ecfafd + #e1e5fa + #fadfdf + #e0fbf3 #e08c61 - #536fae - #00d56b + #e8eafc + #fcf3e7 #eae8e8 #bbbaba @@ -34,4 +35,10 @@ #858585 #F44250 #F5AAA7 + + #323a4c + #323a4c + + #00d56b + #a0a0a0