diff --git a/app/build.gradle b/app/build.gradle index f402b98..8c4b5ed 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,8 +16,8 @@ android { applicationId "com.uiui.aios" minSdkVersion 24 targetSdkVersion 29 - versionCode 22 - versionName "3.1" + versionCode 23 + versionName "3.2" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/com/uiui/aios/activity/alarm/AlarmClockActivity.java b/app/src/main/java/com/uiui/aios/activity/alarm/AlarmClockActivity.java index ac26efe..1104b27 100644 --- a/app/src/main/java/com/uiui/aios/activity/alarm/AlarmClockActivity.java +++ b/app/src/main/java/com/uiui/aios/activity/alarm/AlarmClockActivity.java @@ -1,5 +1,8 @@ package com.uiui.aios.activity.alarm; +import android.view.View; +import android.widget.ImageView; + import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -20,6 +23,9 @@ public class AlarmClockActivity extends BaseActivity implements AlarmClockContac @BindView(R.id.recyclerView) RecyclerView recyclerView; + @BindView(R.id.iv_back) + ImageView iv_back; + private AlarmClockPresenter mPresenter; private AlarmAdapter mAlarmAdapter; @@ -39,7 +45,12 @@ public class AlarmClockActivity extends BaseActivity implements AlarmClockContac mAlarmAdapter = new AlarmAdapter(); recyclerView.setLayoutManager(new LinearLayoutManager(AlarmClockActivity.this)); recyclerView.setAdapter(mAlarmAdapter); - + iv_back.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + finish(); + } + }); } @Override diff --git a/app/src/main/java/com/uiui/aios/alarm/AlarmUtils.java b/app/src/main/java/com/uiui/aios/alarm/AlarmUtils.java index 78fefcf..8e8caac 100644 --- a/app/src/main/java/com/uiui/aios/alarm/AlarmUtils.java +++ b/app/src/main/java/com/uiui/aios/alarm/AlarmUtils.java @@ -584,6 +584,8 @@ public class AlarmUtils { timestamp += (8 - day_of_week) * AlarmManager.INTERVAL_DAY; break; default: + timestamp += (6 - day_of_week) * AlarmManager.INTERVAL_DAY; + break; } Intent intent = new Intent(action); intent.putExtra("title", extra); diff --git a/app/src/main/java/com/uiui/aios/bean/UserAvatarInfo.java b/app/src/main/java/com/uiui/aios/bean/UserAvatarInfo.java new file mode 100644 index 0000000..b538052 --- /dev/null +++ b/app/src/main/java/com/uiui/aios/bean/UserAvatarInfo.java @@ -0,0 +1,44 @@ +package com.uiui.aios.bean; + +import java.io.Serializable; + +public class UserAvatarInfo implements Serializable { + private static final long serialVersionUID = 7700643058775210597L; + + String username; + String avatar; + String gread; + int id; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getAvatar() { + return avatar; + } + + public void setAvatar(String avatar) { + this.avatar = avatar; + } + + public String getGread() { + return gread; + } + + public void setGread(String gread) { + this.gread = gread; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } +} diff --git a/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java b/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java index c493612..4f9b6ab 100644 --- a/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java +++ b/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java @@ -30,6 +30,7 @@ import android.widget.TextView; import com.amap.api.location.AMapLocation; import com.amap.api.location.AMapLocationListener; import com.blankj.utilcode.util.NetworkUtils; +import com.bumptech.glide.Glide; import com.google.gson.Gson; import com.qweather.sdk.bean.base.Code; import com.qweather.sdk.bean.base.Lang; @@ -48,8 +49,10 @@ import com.uiui.aios.adapter.NotificationAdapter; import com.uiui.aios.adapter.SOSNnmberAdapter; import com.uiui.aios.bean.AlarmClockData; import com.uiui.aios.bean.AlarmItem; +import com.uiui.aios.bean.BaseResponse; import com.uiui.aios.bean.HealthCode; import com.uiui.aios.bean.SnInfo; +import com.uiui.aios.bean.UserAvatarInfo; import com.uiui.aios.dialog.SingleDialog; import com.uiui.aios.manager.AmapManager; import com.uiui.aios.alarm.AlarmUtils; @@ -67,6 +70,9 @@ import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; +import io.reactivex.rxjava3.annotations.NonNull; +import io.reactivex.rxjava3.core.Observer; +import io.reactivex.rxjava3.disposables.Disposable; /** @@ -112,6 +118,8 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt RecyclerView rv_sos; @BindView(R.id.iv_note_nodata) ImageView iv_note_nodata; + @BindView(R.id.iv_head) + ImageView iv_head; @BindView(R.id.cl_health) ConstraintLayout mClHealth; @@ -121,6 +129,8 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt ConstraintLayout mClFace; @BindView(R.id.cl_hand) ConstraintLayout mClHand; + @BindView(R.id.tv_name) + TextView tv_name; private String TAG = CustomFragment.class.getSimpleName(); // private int[] mShaderColors = new int[]{0xFFfa3db5, 0xFFF8867E, 0xFFF79F6B, 0xFFF79F6B, 0xFFF79F6B, 0xFFF8867E, 0xFFfa3db5}; @@ -418,6 +428,45 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt } private void initData() { + NetInterfaceManager.getInstance().getSnInfo(new NetInterfaceManager.SnInfoCallback() { + @Override + public void setSnInfo(SnInfo snInfo) { + if (snInfo != null) { + if (TextUtils.isEmpty(snInfo.getSn_name())) { + tv_name.setText("未设置"); + } else { + tv_name.setText(snInfo.getSn_name()); + } + } else { + tv_name.setText("未设置"); + } + } + }); + NetInterfaceManager.getInstance().getUserAvatarInfoControl() + .subscribe(new Observer>() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e("getUserAvatarInfoControl", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse userAvatarInfoBaseResponse) { + Log.e("getUserAvatarInfoControl", "onNext: " + userAvatarInfoBaseResponse); + if (userAvatarInfoBaseResponse.code == 200) { + Glide.with(iv_head).load(userAvatarInfoBaseResponse.data.getAvatar()).into(iv_head); + } + } + + @Override + public void onError(@NonNull Throwable e) { + Log.e("getUserAvatarInfoControl", "onError: " + e.getMessage()); + } + + @Override + public void onComplete() { + Log.e("getUserAvatarInfoControl", "onComplete: "); + } + }); initAmap(); getAlarmClock(); } diff --git a/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java b/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java index f057f51..bc37c14 100644 --- a/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java +++ b/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java @@ -21,6 +21,7 @@ import com.uiui.aios.bean.HealthCode; import com.uiui.aios.bean.NetDesktopIcon; import com.uiui.aios.bean.SnInfo; import com.uiui.aios.bean.SystemSettings; +import com.uiui.aios.bean.UserAvatarInfo; import com.uiui.aios.bean.UserId; import com.uiui.aios.disklrucache.CacheHelper; import com.uiui.aios.manager.ConnectManager; @@ -41,6 +42,7 @@ import com.uiui.aios.network.api.SendScreenshotApi; import com.uiui.aios.network.api.Setting; import com.uiui.aios.network.api.UpdateAlarmClockApi; import com.uiui.aios.network.api.UpdateDesktopApi; +import com.uiui.aios.network.api.UserInfoControl; import com.uiui.aios.network.interceptor.RepeatRequestInterceptor; import com.uiui.aios.utils.GsonUtils; import com.uiui.aios.utils.Utils; @@ -164,6 +166,13 @@ public class NetInterfaceManager { .observeOn(AndroidSchedulers.mainThread()); } + public Observable> getUserAvatarInfoControl() { + return mRetrofit.create(UserInfoControl.class) + .getUserAvatarInfo(Utils.getSerial()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()); + } + public Observable>> getAlarmClockObservable() { return mRetrofit .create(AlarmClockApi.class) diff --git a/app/src/main/java/com/uiui/aios/network/URLAddress.java b/app/src/main/java/com/uiui/aios/network/URLAddress.java index 11bb55e..2d19589 100644 --- a/app/src/main/java/com/uiui/aios/network/URLAddress.java +++ b/app/src/main/java/com/uiui/aios/network/URLAddress.java @@ -4,6 +4,8 @@ public class URLAddress { public static final String ROOT_URL = "https://led.zuoyepad.com/android/"; /*设备信息接口*/ public static final String SNINFO = "sn/getSnInfo"; + /*获取用户头像和信息*/ + public static final String GET_USER_AVATAR_INFO = "sn/getUserAvatarInfo"; /*获取闹钟*/ public static final String GET_ALARM_CLOCK = "getAlarmClock"; /*应用使用记录*/ diff --git a/app/src/main/java/com/uiui/aios/network/api/UserInfoControl.java b/app/src/main/java/com/uiui/aios/network/api/UserInfoControl.java new file mode 100644 index 0000000..316594e --- /dev/null +++ b/app/src/main/java/com/uiui/aios/network/api/UserInfoControl.java @@ -0,0 +1,19 @@ +package com.uiui.aios.network.api; + + +import com.uiui.aios.bean.BaseResponse; +import com.uiui.aios.bean.UserAvatarInfo; +import com.uiui.aios.network.URLAddress; + +import io.reactivex.rxjava3.core.Observable; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.POST; + +public interface UserInfoControl { + @FormUrlEncoded + @POST(URLAddress.GET_USER_AVATAR_INFO) + Observable> getUserAvatarInfo( + @Field("sn") String sn + ); +} diff --git a/app/src/main/java/com/uiui/aios/service/main/MainService.java b/app/src/main/java/com/uiui/aios/service/main/MainService.java index d00b6ae..708aae8 100644 --- a/app/src/main/java/com/uiui/aios/service/main/MainService.java +++ b/app/src/main/java/com/uiui/aios/service/main/MainService.java @@ -168,7 +168,7 @@ public class MainService extends BaseService implements MainSContact.MainSView, break; case AlarmUtils.WORKING_DAY: if (day_of_week < 5 || day_of_week == 7) { - AlarmUtils.getInstance().setDayLoopAlarm(MainService.ALARMWAKEUP, alarmClockData.getTitle(), alarmClockData.getId(), alarmClockData.getTime()); + AlarmUtils.getInstance().setWorkDayAlarm(MainService.ALARMWAKEUP, alarmClockData.getTitle(), alarmClockData.getId(), alarmClockData.getTime()); } break; case AlarmUtils.OFF_DAY: diff --git a/app/src/main/res/drawable-hdpi/back.png b/app/src/main/res/drawable-hdpi/back.png deleted file mode 100644 index 1118b60..0000000 Binary files a/app/src/main/res/drawable-hdpi/back.png and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/back_black.png b/app/src/main/res/drawable-hdpi/back_black.png new file mode 100644 index 0000000..02c754e Binary files /dev/null and b/app/src/main/res/drawable-hdpi/back_black.png differ diff --git a/app/src/main/res/drawable-hdpi/back_white.png b/app/src/main/res/drawable-hdpi/back_white.png new file mode 100644 index 0000000..28e130e Binary files /dev/null and b/app/src/main/res/drawable-hdpi/back_white.png differ diff --git a/app/src/main/res/layout-land/activity_applist.xml b/app/src/main/res/layout-land/activity_applist.xml index 6231c52..fafea65 100644 --- a/app/src/main/res/layout-land/activity_applist.xml +++ b/app/src/main/res/layout-land/activity_applist.xml @@ -19,7 +19,7 @@ android:layout_marginStart="8dp" android:adjustViewBounds="true" android:scaleType="centerCrop" - android:src="@drawable/back" + android:src="@drawable/back_white" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/app/src/main/res/layout-land/activity_weather.xml b/app/src/main/res/layout-land/activity_weather.xml index 99ce23b..fd3af79 100644 --- a/app/src/main/res/layout-land/activity_weather.xml +++ b/app/src/main/res/layout-land/activity_weather.xml @@ -17,7 +17,7 @@ android:adjustViewBounds="true" android:layout_marginStart="8dp" android:scaleType="centerCrop" - android:src="@drawable/back" + android:src="@drawable/back_white" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/app/src/main/res/layout-land/fragment_custom.xml b/app/src/main/res/layout-land/fragment_custom.xml index 48a5a07..fe5c47c 100644 --- a/app/src/main/res/layout-land/fragment_custom.xml +++ b/app/src/main/res/layout-land/fragment_custom.xml @@ -104,6 +104,7 @@ app:layout_constraintTop_toTopOf="parent" /> + + + android:orientation="horizontal"> + android:layout_height="match_parent" + android:layout_weight="1"> @@ -170,9 +170,16 @@ + + + - - - @@ -389,6 +390,7 @@ - - \ No newline at end of file diff --git a/app/src/main/res/layout-port/activity_applist.xml b/app/src/main/res/layout-port/activity_applist.xml index 6231c52..fafea65 100644 --- a/app/src/main/res/layout-port/activity_applist.xml +++ b/app/src/main/res/layout-port/activity_applist.xml @@ -19,7 +19,7 @@ android:layout_marginStart="8dp" android:adjustViewBounds="true" android:scaleType="centerCrop" - android:src="@drawable/back" + android:src="@drawable/back_white" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/app/src/main/res/layout-port/activity_weather.xml b/app/src/main/res/layout-port/activity_weather.xml index 99ce23b..fd3af79 100644 --- a/app/src/main/res/layout-port/activity_weather.xml +++ b/app/src/main/res/layout-port/activity_weather.xml @@ -17,7 +17,7 @@ android:adjustViewBounds="true" android:layout_marginStart="8dp" android:scaleType="centerCrop" - android:src="@drawable/back" + android:src="@drawable/back_white" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/app/src/main/res/layout/activity_alarm_clock.xml b/app/src/main/res/layout/activity_alarm_clock.xml index ecd47fb..211262c 100644 --- a/app/src/main/res/layout/activity_alarm_clock.xml +++ b/app/src/main/res/layout/activity_alarm_clock.xml @@ -7,8 +7,44 @@ tools:context=".activity.alarm.AlarmClockActivity"> + android:layout_height="32dp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + + + + + + +