diff --git a/app/src/main/java/com/uiuios/aios/activity/ControlActivity.java b/app/src/main/java/com/uiuios/aios/activity/ControlActivity.java index e785d4f..ad43865 100644 --- a/app/src/main/java/com/uiuios/aios/activity/ControlActivity.java +++ b/app/src/main/java/com/uiuios/aios/activity/ControlActivity.java @@ -40,6 +40,7 @@ import com.uiuios.aios.view.RulerSeekBar; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.HashSet; import java.util.List; @@ -66,7 +67,7 @@ public class ControlActivity extends AppCompatActivity { @BindView(R.id.tv_bt_ssid) TextView tv_bt_ssid; -// @BindView(R.id.tv_font_size) + // @BindView(R.id.tv_font_size) // TextView tv_font_size; @BindView(R.id.seekBar) RulerSeekBar seekBar; @@ -538,53 +539,136 @@ public class ControlActivity extends AppCompatActivity { private boolean flashing = false; private CameraManager cameraManager; - private void getFlashlight() { - if (isFlashlightAvailable()) { - tv_flashlight_switch.setText("关"); - cl_flashlight.setBackground(getDrawable(R.drawable.control_background_item_dis)); - } else { - tv_flashlight_switch.setText("不可用"); - cl_flashlight.setBackground(getDrawable(R.drawable.control_background_item_dis)); - return; - } -// if (isFlashlightEnabled()) { -// tv_flashlight_switch.setText("开"); -// cl_flashlight.setBackground(getDrawable(R.drawable.control_background_item)); -// } else { +// private void getFlashlight() { +// if (isFlashlightAvailable()) { // tv_flashlight_switch.setText("关"); // cl_flashlight.setBackground(getDrawable(R.drawable.control_background_item_dis)); +// } else { +// tv_flashlight_switch.setText("不可用"); +// cl_flashlight.setBackground(getDrawable(R.drawable.control_background_item_dis)); +// return; // } +//// if (isFlashlightEnabled()) { +//// tv_flashlight_switch.setText("开"); +//// cl_flashlight.setBackground(getDrawable(R.drawable.control_background_item)); +//// } else { +//// tv_flashlight_switch.setText("关"); +//// cl_flashlight.setBackground(getDrawable(R.drawable.control_background_item_dis)); +//// } +// +// cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE); +// +// cl_flashlight.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View view) { +// if (flashing) { +// try { +// String CameraId = cameraManager.getCameraIdList()[0]; +// cameraManager.setTorchMode(CameraId, false); +// } catch (CameraAccessException e) { +// e.printStackTrace(); +// } +// flashing = false; +// tv_flashlight_switch.setText("关"); +// cl_flashlight.setBackground(getDrawable(R.drawable.control_background_item_dis)); +// } else { +// try { +// String CameraId = cameraManager.getCameraIdList()[0]; +// cameraManager.setTorchMode(CameraId, true); +// } catch (CameraAccessException e) { +// e.printStackTrace(); +// } +// tv_flashlight_switch.setText("开"); +// cl_flashlight.setBackground(getDrawable(R.drawable.control_background_item)); +// flashing = true; +// } +// } +// }); +// } - cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE); + BroadcastReceiver mTimeUpdateReceiver; - cl_flashlight.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - if (flashing) { - try { - String CameraId = cameraManager.getCameraIdList()[0]; - cameraManager.setTorchMode(CameraId, false); - } catch (CameraAccessException e) { - e.printStackTrace(); - } - flashing = false; - tv_flashlight_switch.setText("关"); - cl_flashlight.setBackground(getDrawable(R.drawable.control_background_item_dis)); - } else { - try { - String CameraId = cameraManager.getCameraIdList()[0]; - cameraManager.setTorchMode(CameraId, true); - } catch (CameraAccessException e) { - e.printStackTrace(); - } - tv_flashlight_switch.setText("开"); - cl_flashlight.setBackground(getDrawable(R.drawable.control_background_item)); - flashing = true; - } + class TimeUpdateReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + if (intent == null) return; + String action = intent.getAction(); + if (action == null || action.isEmpty()) return; + + if (action.equals(Intent.ACTION_TIME_TICK)) { + //系统每1分钟发送一次广播 + updateTimeUi(); + } else if (action.equals(Intent.ACTION_TIME_CHANGED)) { + //系统手动更改时间发送广播 + updateTimeUi(); } - }); + } } + private void updateTimeUi() { + long time = System.currentTimeMillis(); + SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm"); + String timeText = timeFormat.format(time); + tv_flashlight.setText(timeText); + SimpleDateFormat format = new SimpleDateFormat("MM月dd日"); + String dataText = format.format(time); + tv_flashlight_switch.setText(dataText); + } + + private void getFlashlight() { + if (mTimeUpdateReceiver == null) { + mTimeUpdateReceiver = new TimeUpdateReceiver(); + } + IntentFilter filter = new IntentFilter(); + filter.addAction(Intent.ACTION_TIME_TICK); + filter.addAction(Intent.ACTION_TIME_CHANGED); + registerReceiver(mTimeUpdateReceiver, filter); + updateTimeUi(); +// if (isFlashlightAvailable()) { +// tv_flashlight_switch.setText("关"); +// cl_flashlight.setBackground(mContext.getDrawable(R.drawable.control_background_item_dis)); +// } else { +// tv_flashlight_switch.setText("不可用"); +// cl_flashlight.setBackground(mContext.getDrawable(R.drawable.control_background_item_dis)); +// return; +// } +//// if (isFlashlightEnabled()) { +//// tv_flashlight_switch.setText("开"); +//// cl_flashlight.setBackground(getDrawable(R.drawable.control_background_item)); +//// } else { +//// tv_flashlight_switch.setText("关"); +//// cl_flashlight.setBackground(getDrawable(R.drawable.control_background_item_dis)); +//// } +// +// cameraManager = (CameraManager) mContext.getSystemService(Context.CAMERA_SERVICE); +// +// cl_flashlight.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View view) { +// if (flashing) { +// try { +// String CameraId = cameraManager.getCameraIdList()[0]; +// cameraManager.setTorchMode(CameraId, false); +// } catch (CameraAccessException e) { +// e.printStackTrace(); +// } +// flashing = false; +// tv_flashlight_switch.setText("关"); +// cl_flashlight.setBackground(mContext.getDrawable(R.drawable.control_background_item_dis)); +// } else { +// try { +// String CameraId = cameraManager.getCameraIdList()[0]; +// cameraManager.setTorchMode(CameraId, true); +// } catch (CameraAccessException e) { +// e.printStackTrace(); +// } +// tv_flashlight_switch.setText("开"); +// cl_flashlight.setBackground(mContext.getDrawable(R.drawable.control_background_item)); +// flashing = true; +// } +// } +// }); + } private boolean isFlashlightAvailable() { return getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH); @@ -763,5 +847,6 @@ public class ControlActivity extends AppCompatActivity { protected void onDestroy() { super.onDestroy(); if (mWifiReceiver != null) unregisterReceiver(mWifiReceiver); + if (mTimeUpdateReceiver != null) unregisterReceiver(mTimeUpdateReceiver); } } diff --git a/app/src/main/java/com/uiuios/aios/manager/AmapManager.java b/app/src/main/java/com/uiuios/aios/manager/AmapManager.java index 4383657..60e217a 100644 --- a/app/src/main/java/com/uiuios/aios/manager/AmapManager.java +++ b/app/src/main/java/com/uiuios/aios/manager/AmapManager.java @@ -27,6 +27,7 @@ public class AmapManager { private LocationClientOption mOption; private BDLocation mLocation; private CacheHelper mCacheHelper; + private MMKV mmkv = MMKV.defaultMMKV(); private static final String AMAPLOCATION_JSON_KEY = "MAPLOCATION_JSON_STRING"; public static final String LONGITUDE_KEY = "map_longitude_key"; @@ -74,7 +75,7 @@ public class AmapManager { public BDLocation getNowMapLocation() { if (mLocation == null) { - String aMapLocationjson = mCacheHelper.getAsString(AMAPLOCATION_JSON_KEY); + String aMapLocationjson = mmkv.decodeString(AMAPLOCATION_JSON_KEY); if (TextUtils.isEmpty(aMapLocationjson)) { return null; } @@ -147,7 +148,7 @@ public class AmapManager { case BDLocation.TypeGpsLocation:// GPS定位结果 case BDLocation.TypeNetWorkLocation:// 网络定位结果 case BDLocation.TypeOffLineLocation:// 离线定位结果 - mCacheHelper.put(AMAPLOCATION_JSON_KEY, GsonUtils.toJsonString(location)); + mmkv.encode(AMAPLOCATION_JSON_KEY, GsonUtils.toJsonString(location)); Log.e(TAG, "onLocationChanged: " + "定位成功"); Log.e(TAG, "onLocationChanged: longitude = " + location.getLongitude()); Log.e(TAG, "onLocationChanged: latitude = " + location.getLatitude()); diff --git a/app/src/main/java/com/uiuios/aios/view/RulerSeekBar.java b/app/src/main/java/com/uiuios/aios/view/RulerSeekBar.java index 9302370..183707e 100644 --- a/app/src/main/java/com/uiuios/aios/view/RulerSeekBar.java +++ b/app/src/main/java/com/uiuios/aios/view/RulerSeekBar.java @@ -37,7 +37,7 @@ public class RulerSeekBar extends androidx.appcompat.widget.AppCompatSeekBar { */ private boolean isShowTopOfThumb = true; - private int radius = 8; + private int radius = 12; public RulerSeekBar(Context context) { super(context); @@ -60,7 +60,7 @@ public class RulerSeekBar extends androidx.appcompat.widget.AppCompatSeekBar { private void init() { //创建绘制刻度线的画笔 mRulerPaint = new Paint(); - mRulerPaint.setColor(mRulerColor); + mRulerPaint.setColor(Color.parseColor("#d0cccc")); mRulerPaint.setAntiAlias(true); //Api21及以上调用,去掉滑块后面的背景 diff --git a/app/src/main/res/drawable-hdpi/font_size.png b/app/src/main/res/drawable-hdpi/font_size.png new file mode 100644 index 0000000..84e2d3f Binary files /dev/null and b/app/src/main/res/drawable-hdpi/font_size.png differ diff --git a/app/src/main/res/drawable-hdpi/time1.png b/app/src/main/res/drawable-hdpi/time1.png new file mode 100644 index 0000000..3b9ffc0 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/time1.png differ diff --git a/app/src/main/res/drawable/shape_thumb_icon.xml b/app/src/main/res/drawable/shape_thumb_icon.xml index 5722823..f2171a8 100644 --- a/app/src/main/res/drawable/shape_thumb_icon.xml +++ b/app/src/main/res/drawable/shape_thumb_icon.xml @@ -5,6 +5,8 @@ - - + + \ No newline at end of file diff --git a/app/src/main/res/layout-land/activity_control.xml b/app/src/main/res/layout-land/activity_control.xml index 28fdac5..d83e2ba 100644 --- a/app/src/main/res/layout-land/activity_control.xml +++ b/app/src/main/res/layout-land/activity_control.xml @@ -43,8 +43,8 @@ + + + + + + + + + + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.32" /> + app:layout_constraintStart_toStartOf="@+id/tv_wifi" + app:layout_constraintTop_toBottomOf="@+id/tv_wifi" + app:layout_constraintVertical_bias="0.2" /> - - - - - - - - + app:layout_constraintStart_toStartOf="@+id/linearLayout" + app:layout_constraintTop_toTopOf="parent" /> - + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toEndOf="@+id/imageView" + app:layout_constraintTop_toBottomOf="@+id/seekBar"> + + + + + + + + + + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.32" /> - - - - - - - - - + app:layout_constraintStart_toEndOf="@+id/tv_battery" + app:layout_constraintStart_toStartOf="@+id/tv_battery" + app:layout_constraintTop_toBottomOf="@+id/tv_battery" + app:layout_constraintVertical_bias="0.2" /> @@ -478,6 +492,7 @@ android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_16" android:layout_marginEnd="@dimen/dp_16" + android:maxLines="2" android:text="未知" android:textColor="@color/white" android:textSize="@dimen/sp_12" diff --git a/app/src/main/res/layout-land/item_weather.xml b/app/src/main/res/layout-land/item_weather.xml index ba1ad16..db8cef0 100644 --- a/app/src/main/res/layout-land/item_weather.xml +++ b/app/src/main/res/layout-land/item_weather.xml @@ -29,7 +29,7 @@ android:maxLines="1" android:singleLine="true" android:text="17:48" - android:textColor="@color/black" + android:textColor="@color/white" android:textSize="@dimen/sp_20" app:layout_constraintBottom_toTopOf="@+id/iv_weather" app:layout_constraintEnd_toEndOf="parent" @@ -52,7 +52,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/dp_8" - android:textColor="@color/black" + android:textColor="@color/white" android:textSize="@dimen/sp_20" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" @@ -64,7 +64,7 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/dp_8" android:text="15-22" - android:textColor="@color/black" + android:textColor="@color/white" android:textSize="26sp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/app/src/main/res/layout-port/activity_control.xml b/app/src/main/res/layout-port/activity_control.xml index 5620200..a08ca6d 100644 --- a/app/src/main/res/layout-port/activity_control.xml +++ b/app/src/main/res/layout-port/activity_control.xml @@ -43,7 +43,7 @@ + + + + + + + + + + + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.3" /> + + + + + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.3" /> - - - + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.3" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -53,7 +53,7 @@ android:id="@+id/tv_weather" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:textColor="@color/black" + android:textColor="@color/white" android:textSize="@dimen/sp_20" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" @@ -66,7 +66,7 @@ android:layout_height="wrap_content" android:text="15-22" android:layout_marginTop="@dimen/dp_8" - android:textColor="@color/black" + android:textColor="@color/white" android:textSize="26sp" app:layout_constraintEnd_toEndOf="@+id/iv_weather" app:layout_constraintStart_toStartOf="@+id/iv_weather"