import android.support.v4.app.ActivityCompat;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
+import android.view.Gravity;
+import android.view.View;
+import android.view.WindowManager;
import com.enqualcomm.support.Config;
import com.enqualcomm.support.Constants;
import com.enqualcomm.support.utils.Connection;
import com.enqualcomm.support.utils.ICLogger;
import com.enqualcomm.support.utils.ProfileManager;
+import com.enqualcomm.support.utils.SharePreferenceUtil;
import com.enqualcomm.support.utils.TemperatureUtil;
import com.enqualcomm.support.utils.TimeUtil;
import com.enqualcomm.support.utils.Util;
import java.io.File;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
}
private static int targetStep = -1;
+ private static boolean isAchieveShow = false;
public static StringMessage AP03(Runtime ds) {
//处理心跳数据的时候,处理一下运动目标是否达标,如果达表的,弹出一个窗,表扬一下。
targetStep = 0;
}
}
- ICLogger.d("target step == > " + targetStep);
+ ICLogger.d("target step == > " + targetStep + " current total step == > " + totalStepCount);
//判断是否达标
if (totalStepCount >= targetStep) {
- //弹窗提示
- ICLogger.d("今日运动目标已达成...");
- //TODO:
-
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ String format = simpleDateFormat.format(new Date());
+ String record = SharePreferenceUtil.getPrefString(ds.getContextProxy().context,
+ "show_sport_target_flag", "");
+ if (!format.equals(record)) {
+ //弹窗提示
+ ICLogger.d("今日运动目标已达成...");
+ showLocalUpdateTips(ds.getContextProxy().context);
+ }
}
//示例数据:IWAP03,06000908000102,5555,30# IWAP03,000000null00000,0,0#
return genStringMessage(cmdMap.get(CMD_TYPE.AP03),
return str;
}
+ /**
+ * 展示本地安装和提示框
+ */
+ private static void showLocalUpdateTips(Context context) {
+ if (isAchieveShow) {
+ return;
+ }
+ WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
+ WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
+ layoutParams.gravity = Gravity.CENTER;
+ layoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
+ layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
+ layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
+ layoutParams.alpha = 1.0f;
+ layoutParams.packageName = context.getPackageName();
+ layoutParams.buttonBrightness = 1f;
+ layoutParams.windowAnimations = android.R.style.Animation_Dialog;
+ View view = View.inflate(context, R.layout.dialog_tips, null);
+ View okBtn = view.findViewById(R.id.button_ok);
+ okBtn.setOnClickListener(v -> {
+ if (manager != null) {
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ //今天已经展示过了。
+ //今天的执法犯法
+ SharePreferenceUtil.setPrefString(context, "show_sport_target_flag",
+ simpleDateFormat.format(new Date()));
+ isAchieveShow = false;
+ manager.removeView(view);
+ }
+ });
+ if (manager != null) {
+ isAchieveShow = true;
+ manager.addView(view, layoutParams);
+ }
+ }
+
public static StringMessage genStringMessage(String cmdName, String msg) {
StringMessage sm = new StringMessage(new String[]{cmdName, msg});
sm.refresh(msg);
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/grey"
+ android:padding="4dp"
+ android:paddingLeft="20dp"
+ android:paddingRight="20dp">
+
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="5dp"
+ android:gravity="center_vertical|center_horizontal"
+ android:text="@string/sport_target_achieve"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textColor="@color/white"
+ android:textIsSelectable="true" />
+
+ <ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_below="@id/title"
+ android:layout_marginBottom="46dp"
+ android:paddingTop="5dp"
+ android:paddingBottom="5dp">
+
+ <TextView
+ android:id="@+id/description"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="left"
+ android:padding="4dp"
+ android:text="@string/sport_aim_achieve_tips_text"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textColor="@color/white"
+ android:textIsSelectable="true"
+ android:textSize="18sp" />
+ </ScrollView>
+
+ <!-- Alert dialog style buttons along the bottom. -->
+ <Button
+ android:id="@+id/button_ok"
+ android:layout_width="wrap_content"
+ android:layout_height="32dp"
+ android:layout_alignParentBottom="true"
+ android:layout_centerHorizontal="true"
+ android:background="@drawable/selector_next_step"
+ android:text="@string/commit_text"
+ android:textColor="@color/white"
+ android:textSize="20sp" />
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:layout_above="@id/button_ok"
+ android:layout_marginBottom="5dp"
+ android:background="@color/white" />
+
+</RelativeLayout>
<string name="it">意大利</string>
<string name="fr">法语</string>
<string name="de">德语</string>
-
+
<string name="untitled_apn">Untitled</string>
<!-- APN error dialog title -->
<string name="error_title"></string>
<string name="error_apn_type">"Apn type you entered is not supported, please re-enter!"</string>
<string name="same_apn_type">"You have entered the same type of APN, please re-enter!"</string>
<string name="empty_apn_type">"You did not entered or select any type of APN, please re-enter!"</string>
+ <string name="sport_target_achieve">Tip:</string>
+ <string name="close_text">关闭</string>
+ <string name="commit_text">确定</string>
+ <string name="sport_aim_achieve_tips_text">恭喜您,运动达标!</string>
<!-- 法语,德语,意大利-->
</resources>