diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fcb62b3..31e507a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -35,6 +35,10 @@
android:restoreAnyVersion="true"
android:supportsRtl="true"
android:theme="@style/AppTheme">
+
healthCodes) {
+ mMagicIndicator.setNavigator(scaleCircleNavigator);
+ scaleCircleNavigator.setCircleCount(healthCodes.size());
+ scaleCircleNavigator.setNormalCircleColor(Color.DKGRAY);
+ scaleCircleNavigator.setSelectedCircleColor(Color.LTGRAY);
+ scaleCircleNavigator.setCircleClickListener(new ScaleCircleNavigator.OnCircleClickListener() {
+ @Override
+ public void onClick(int index) {
+
+ }
+ });
+ ViewPagerHelper.bind(mMagicIndicator, mViewPager);
+ List imageViews = new ArrayList<>();
+ for (HealthCode healthCode : healthCodes) {
+ ImageView image = new ImageView(this);
+ image.setAdjustViewBounds(true);
+ image.setScaleType(ImageView.ScaleType.FIT_CENTER);
+ Glide.with(this).load(healthCode.getImg()).into(image);
+ imageViews.add(image);
+ }
+ mHealthCodeAdapter.setImageViews(imageViews);
+ mHealthCodeAdapter.notifyDataSetChanged();
+ }
+
+
+ private void getHealthCode() {
+ NetInterfaceManager.getInstance().getHealthCodeApi()
+ .getArticleDetails(Utils.getSerial())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .compose(RxLifecycle.bindUntilEvent(lifecycleSubject, ActivityEvent.DESTROY))
+ .subscribe(new Observer>>() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+ Log.e("getHealthCode", "onSubscribe: ");
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse> listBaseResponse) {
+ Log.e("getHealthCode", "onNext: " + listBaseResponse);
+ if (listBaseResponse.code == 200) {
+ List healthCodeList = listBaseResponse.data;
+ setImageViews(healthCodeList);
+ } else {
+
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e("getHealthCode", "onError: ");
+ }
+
+ @Override
+ public void onComplete() {
+ Log.e("getHealthCode", "onComplete: ");
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/uiui/os/activity/main/MainActivity.java b/app/src/main/java/com/uiui/os/activity/main/MainActivity.java
index 0d5c15e..4c1a401 100644
--- a/app/src/main/java/com/uiui/os/activity/main/MainActivity.java
+++ b/app/src/main/java/com/uiui/os/activity/main/MainActivity.java
@@ -32,6 +32,7 @@ import com.uiui.os.bean.DesktopIcon;
import com.uiui.os.fragment.AppListFragment;
import com.uiui.os.fragment.BaseFragmentPagerAdapter;
import com.uiui.os.fragment.CustomFragment;
+import com.uiui.os.fragment.SecondFragment;
import com.uiui.os.utils.APKUtils;
import com.uiui.os.utils.AppUsedTimeUtils;
import com.uiui.os.view.ScaleCircleNavigator;
@@ -60,6 +61,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
private BaseFragmentPagerAdapter mBaseFragmentPagerAdapter;
private List mFragments;
private CustomFragment mCustomFragment;
+ private SecondFragment mSecondFragment;
@Override
public int getLayoutId() {
@@ -79,6 +81,8 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
mBaseFragmentPagerAdapter = new BaseFragmentPagerAdapter(mFragmentManager, mFragments);
// fragmentTransaction.add(R.id.viewPager, appListFragment);
// fragmentTransaction.commit();
+ mSecondFragment = new SecondFragment();
+ mFragments.add(mSecondFragment);
mCustomFragment = new CustomFragment();
mFragments.add(mCustomFragment);
diff --git a/app/src/main/java/com/uiui/os/adapter/HealthCodeAdapter.java b/app/src/main/java/com/uiui/os/adapter/HealthCodeAdapter.java
new file mode 100644
index 0000000..8cf2d8e
--- /dev/null
+++ b/app/src/main/java/com/uiui/os/adapter/HealthCodeAdapter.java
@@ -0,0 +1,43 @@
+package com.uiui.os.adapter;
+
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+
+import androidx.annotation.NonNull;
+import androidx.viewpager.widget.PagerAdapter;
+
+import java.util.List;
+
+public class HealthCodeAdapter extends PagerAdapter {
+ private List mImageViews;
+
+ public void setImageViews(List imageViews) {
+ this.mImageViews = imageViews;
+ }
+
+ @Override
+ public int getCount() {
+ return mImageViews == null ? 0 : mImageViews.size();
+ }
+
+ @Override
+ public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
+ return view == object;
+
+ }
+
+ @NonNull
+ @Override
+ public Object instantiateItem(@NonNull ViewGroup container, int position) {
+ // 给 container 添加一个view
+ container.addView(mImageViews.get(position));
+ // 返回一个和该view相对的object
+ return mImageViews.get(position);
+ }
+
+ @Override
+ public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
+ container.removeView(mImageViews.get(position));
+ }
+}
diff --git a/app/src/main/java/com/uiui/os/bean/HealthCode.java b/app/src/main/java/com/uiui/os/bean/HealthCode.java
new file mode 100644
index 0000000..d9bf59a
--- /dev/null
+++ b/app/src/main/java/com/uiui/os/bean/HealthCode.java
@@ -0,0 +1,26 @@
+package com.uiui.os.bean;
+
+import java.io.Serializable;
+
+public class HealthCode implements Serializable {
+ private static final long serialVersionUID = 3722434160181671038L;
+
+ int id;
+ String img;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getImg() {
+ return img;
+ }
+
+ public void setImg(String img) {
+ this.img = img;
+ }
+}
diff --git a/app/src/main/java/com/uiui/os/fragment/CustomFragment.java b/app/src/main/java/com/uiui/os/fragment/CustomFragment.java
index 3b1dcc7..36b6ad8 100644
--- a/app/src/main/java/com/uiui/os/fragment/CustomFragment.java
+++ b/app/src/main/java/com/uiui/os/fragment/CustomFragment.java
@@ -44,6 +44,7 @@ import com.tencent.mmkv.MMKV;
import com.uiui.os.BuildConfig;
import com.uiui.os.R;
import com.uiui.os.activity.APPListActivity;
+import com.uiui.os.activity.CodeActivity;
import com.uiui.os.activity.EmergencyActivity;
import com.uiui.os.activity.weather.WeatherActivity;
import com.uiui.os.adapter.AlarmClockAdapter;
@@ -72,10 +73,13 @@ import butterknife.ButterKnife;
* create an instance of this fragment.
*/
public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkStatusChangedListener {
- @BindView(R.id.cl_alarm)
- ConstraintLayout cl_alarm;
+// @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_sos)
ConstraintLayout cl_soso;
@BindView(R.id.cl_allapp)
@@ -84,8 +88,8 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
ConstraintLayout cl_weather;
@BindView(R.id.cl_battery)
ConstraintLayout cl_battery;
- @BindView(R.id.tv_add)
- TextView tv_add;
+// @BindView(R.id.tv_add)
+// TextView tv_add;
@BindView(R.id.tv_battery)
TextView tv_battery;
@BindView(R.id.tv_location)
@@ -100,8 +104,8 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
ImageView iv_charging;
@BindView(R.id.rv_noti)
RecyclerView rv_noti;
- @BindView(R.id.rv_clock)
- RecyclerView rv_clock;
+// @BindView(R.id.rv_clock)
+// RecyclerView rv_clock;
@BindView(R.id.wifi_ssid)
TextView wifi_ssid;
@BindView(R.id.iv_sos)
@@ -118,7 +122,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
private View rootView;
private List alarmItemList;
private NotificationAdapter notificationAdapter;
- private AlarmClockAdapter alarmClockAdapter;
+// private AlarmClockAdapter alarmClockAdapter;
private SOSNnmberAdapter sosNnmberAdapter;
private MMKV mmkv;
private Context mContext;
@@ -157,7 +161,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
public void setAlarmItem(List alarmItem) {
this.alarmItemList = alarmItem;
- setAlarm();
+// setAlarm();
}
@Override
@@ -287,12 +291,12 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
killBackgroundApp();
}
});
- cl_alarm.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- APKUtils.openPackage(getActivity(), "com.alarmclock.uiui");
- }
- });
+// cl_alarm.setOnClickListener(new View.OnClickListener() {
+// @Override
+// public void onClick(View v) {
+// APKUtils.openPackage(getActivity(), "com.alarmclock.uiui");
+// }
+// });
notificationAdapter = new NotificationAdapter();
rv_noti.setLayoutManager(new LinearLayoutManager(getActivity()));
rv_noti.setAdapter(notificationAdapter);
@@ -307,9 +311,9 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)); //直接进入手机中的wifi网络设置界面
}
});
- alarmClockAdapter = new AlarmClockAdapter();
- rv_clock.setLayoutManager(new LinearLayoutManager(getActivity()));
- rv_clock.setAdapter(alarmClockAdapter);
+// alarmClockAdapter = new AlarmClockAdapter();
+// rv_clock.setLayoutManager(new LinearLayoutManager(getActivity()));
+// rv_clock.setAdapter(alarmClockAdapter);
sosNnmberAdapter = new SOSNnmberAdapter();
rv_sos.setLayoutManager(new LinearLayoutManager(getActivity()));
rv_sos.setAdapter(sosNnmberAdapter);
@@ -345,14 +349,20 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
}
}
});
- setAlarm();
+ qr_code.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ startActivity(new Intent(getActivity(), CodeActivity.class));
+ }
+ });
+// setAlarm();
refreshMemory();
}
@Override
public void onResume() {
super.onResume();
- setAlarm();
+// setAlarm();
setSosNumber();
}
@@ -372,12 +382,12 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt
private void setAlarm() {
if (rootView == null) return;
if (alarmItemList == null) {
- tv_add.setVisibility(View.VISIBLE);
- rv_clock.setVisibility(View.GONE);
+// tv_add.setVisibility(View.VISIBLE);
+// rv_clock.setVisibility(View.GONE);
} else {
- tv_add.setVisibility(View.GONE);
- rv_clock.setVisibility(View.VISIBLE);
- alarmClockAdapter.setAlarmItemList(alarmItemList);
+// tv_add.setVisibility(View.GONE);
+// rv_clock.setVisibility(View.VISIBLE);
+// alarmClockAdapter.setAlarmItemList(alarmItemList);
}
}
diff --git a/app/src/main/java/com/uiui/os/fragment/SecondFragment.java b/app/src/main/java/com/uiui/os/fragment/SecondFragment.java
new file mode 100644
index 0000000..3dd5b65
--- /dev/null
+++ b/app/src/main/java/com/uiui/os/fragment/SecondFragment.java
@@ -0,0 +1,65 @@
+package com.uiui.os.fragment;
+
+import android.os.Bundle;
+
+import androidx.fragment.app.Fragment;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.uiui.os.R;
+
+/**
+ * A simple {@link Fragment} subclass.
+ * Use the {@link SecondFragment#newInstance} factory method to
+ * create an instance of this fragment.
+ */
+public class SecondFragment extends Fragment {
+ // TODO: Rename parameter arguments, choose names that match
+ // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
+ private static final String ARG_PARAM1 = "param1";
+ private static final String ARG_PARAM2 = "param2";
+
+ // TODO: Rename and change types of parameters
+ private String mParam1;
+ private String mParam2;
+
+ public SecondFragment() {
+ // Required empty public constructor
+ }
+
+ /**
+ * Use this factory method to create a new instance of
+ * this fragment using the provided parameters.
+ *
+ * @param param1 Parameter 1.
+ * @param param2 Parameter 2.
+ * @return A new instance of fragment SecondFragment.
+ */
+ // TODO: Rename and change types and number of parameters
+ public static SecondFragment newInstance(String param1, String param2) {
+ SecondFragment fragment = new SecondFragment();
+ Bundle args = new Bundle();
+ args.putString(ARG_PARAM1, param1);
+ args.putString(ARG_PARAM2, param2);
+ fragment.setArguments(args);
+ return fragment;
+ }
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ if (getArguments() != null) {
+ mParam1 = getArguments().getString(ARG_PARAM1);
+ mParam2 = getArguments().getString(ARG_PARAM2);
+ }
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ // Inflate the layout for this fragment
+ return inflater.inflate(R.layout.fragment_second, container, false);
+ }
+}
diff --git a/app/src/main/java/com/uiui/os/network/NetInterfaceManager.java b/app/src/main/java/com/uiui/os/network/NetInterfaceManager.java
index 678cd29..377ff88 100644
--- a/app/src/main/java/com/uiui/os/network/NetInterfaceManager.java
+++ b/app/src/main/java/com/uiui/os/network/NetInterfaceManager.java
@@ -10,6 +10,7 @@ import com.uiui.os.bean.NetDesktopIcon;
import com.uiui.os.network.api.AlarmClockApi;
import com.uiui.os.network.api.AppUsageRecordApi;
import com.uiui.os.network.api.GetDesktopApi;
+import com.uiui.os.network.api.HealthCodeApi;
import com.uiui.os.network.api.RunNewApp;
import com.uiui.os.network.api.SOSRecordApi;
import com.uiui.os.network.api.SendScreenshotApi;
@@ -202,7 +203,6 @@ public class NetInterfaceManager {
}
-
public AppUsageRecordApi getAppUsageRecordControl() {
return mRetrofit.create(AppUsageRecordApi.class);
}
@@ -210,4 +210,8 @@ public class NetInterfaceManager {
public SendScreenshotApi getScreenshotApi() {
return mRetrofit.create(SendScreenshotApi.class);
}
+
+ public HealthCodeApi getHealthCodeApi() {
+ return mRetrofit.create(HealthCodeApi.class);
+ }
}
diff --git a/app/src/main/java/com/uiui/os/network/URLAddress.java b/app/src/main/java/com/uiui/os/network/URLAddress.java
index 08e425d..6ed6623 100644
--- a/app/src/main/java/com/uiui/os/network/URLAddress.java
+++ b/app/src/main/java/com/uiui/os/network/URLAddress.java
@@ -26,5 +26,7 @@ public class URLAddress {
public static final String GET_GOODS_DETAILS = "getGoodsDetails";
/*获取资讯详情*/
public static final String GET_ARTICLE_DETAILS = "getArticleDetails";
+ /*获取健康吗*/
+ public static final String GET_HEALTH_CODE = "getHealthCode";
}
diff --git a/app/src/main/java/com/uiui/os/network/api/HealthCodeApi.java b/app/src/main/java/com/uiui/os/network/api/HealthCodeApi.java
new file mode 100644
index 0000000..1c07478
--- /dev/null
+++ b/app/src/main/java/com/uiui/os/network/api/HealthCodeApi.java
@@ -0,0 +1,18 @@
+package com.uiui.os.network.api;
+
+import com.uiui.os.bean.BaseResponse;
+import com.uiui.os.bean.HealthCode;
+import com.uiui.os.network.URLAddress;
+
+import java.util.List;
+
+import io.reactivex.rxjava3.core.Observable;
+import retrofit2.http.GET;
+import retrofit2.http.Query;
+
+public interface HealthCodeApi {
+ @GET(URLAddress.GET_HEALTH_CODE)
+ Observable>> getArticleDetails(
+ @Query("sn") String sn
+ );
+}
diff --git a/app/src/main/res/drawable-hdpi/com_android_appstore.png b/app/src/main/res/drawable-hdpi/com_android_appstore.png
index cfc37e9..d318a48 100644
Binary files a/app/src/main/res/drawable-hdpi/com_android_appstore.png and b/app/src/main/res/drawable-hdpi/com_android_appstore.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_android_browser.png b/app/src/main/res/drawable-hdpi/com_android_browser.png
index 28d243b..f0c9cb1 100644
Binary files a/app/src/main/res/drawable-hdpi/com_android_browser.png and b/app/src/main/res/drawable-hdpi/com_android_browser.png differ
diff --git a/app/src/main/res/drawable-hdpi/com_uiui_sn.png b/app/src/main/res/drawable-hdpi/com_uiui_sn.png
new file mode 100644
index 0000000..900dded
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/com_uiui_sn.png differ
diff --git a/app/src/main/res/drawable-hdpi/health_code.png b/app/src/main/res/drawable-hdpi/health_code.png
new file mode 100644
index 0000000..a67a4a5
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/health_code.png differ
diff --git a/app/src/main/res/layout-land/activity_code.xml b/app/src/main/res/layout-land/activity_code.xml
new file mode 100644
index 0000000..30efa0b
--- /dev/null
+++ b/app/src/main/res/layout-land/activity_code.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-land/fragment_custom.xml b/app/src/main/res/layout-land/fragment_custom.xml
index 542f591..997d023 100644
--- a/app/src/main/res/layout-land/fragment_custom.xml
+++ b/app/src/main/res/layout-land/fragment_custom.xml
@@ -171,8 +171,56 @@
android:layout_weight="1"
android:orientation="horizontal">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-port/activity_code.xml b/app/src/main/res/layout-port/activity_code.xml
new file mode 100644
index 0000000..30efa0b
--- /dev/null
+++ b/app/src/main/res/layout-port/activity_code.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-port/fragment_custom.xml b/app/src/main/res/layout-port/fragment_custom.xml
index 18ddbfa..10b4fa8 100644
--- a/app/src/main/res/layout-port/fragment_custom.xml
+++ b/app/src/main/res/layout-port/fragment_custom.xml
@@ -170,13 +170,60 @@
app:layout_constraintTop_toBottomOf="@+id/textView11" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ android:background="@drawable/custom_background"
+ tools:ignore="NestedWeights">
-
-
@@ -294,9 +329,9 @@
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginStart="32dp"
- android:src="@drawable/wifi_icon"
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" />
diff --git a/app/src/main/res/layout-port/fragment_second.xml b/app/src/main/res/layout-port/fragment_second.xml
new file mode 100644
index 0000000..7127939
--- /dev/null
+++ b/app/src/main/res/layout-port/fragment_second.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png
index 6b56b9c..83ce022 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png
index 6b56b9c..83ce022 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index 6b56b9c..83ce022 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index 6b56b9c..83ce022 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
index 6b56b9c..83ce022 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ