Browse Source

提交类型 处理问题反馈
提交内容 处理设备管理的问题反馈

Bitliker 7 years ago
parent
commit
34a9299a39

+ 10 - 0
app_modular/appworks/src/main/java/com/uas/appworks/activity/ScheduleSettingActivity.java

@@ -2,6 +2,7 @@ package com.uas.appworks.activity;
 
 import android.content.Intent;
 import android.os.Bundle;
+import android.text.TextUtils;
 import android.view.View;
 import android.widget.TextView;
 
@@ -33,6 +34,15 @@ public class ScheduleSettingActivity extends BaseActivity {
         saveSystemSv = findViewById(R.id.saveSystemSv);
         warmTimeTv = (TextView) findViewById(R.id.warmTimeTv);
         repeatTv = (TextView) findViewById(R.id.repeatTv);
+
+        String warnTime = PreferenceUtils.getString(PreferenceUtils.Constants.DEF_WARN_TIME);
+        if (!TextUtils.isEmpty(warnTime)) {
+            warmTimeTv.setText(warnTime);
+        }
+        String repeat = PreferenceUtils.getString(PreferenceUtils.Constants.DEF_REPEAT_TIME);
+        if (!TextUtils.isEmpty(repeat)) {
+            repeatTv.setText(repeat);
+        }
         findViewById(R.id.warmTimeRl).setOnClickListener(mOnClickListener);
         findViewById(R.id.repeatRl).setOnClickListener(mOnClickListener);
         saveSystemSv.setChecked(PreferenceUtils.getBoolean(PreferenceUtils.Constants.SAVE_SYSTEM_SCHEDULE, true));

+ 63 - 43
app_modular/appworks/src/main/java/com/uas/appworks/activity/SchedulerCreateActivity.java

@@ -78,19 +78,20 @@ public class SchedulerCreateActivity extends BaseNetActivity {
                 initSchedule();
             }
         }
-        setTitle(isEnable?R.string.create_scheduler:R.string.scheduler_detail);
+        setTitle(isEnable ? R.string.create_scheduler : R.string.scheduler_detail);
         findById();
         initView();
         updateEnable(isEnable);
     }
 
     private void initSchedule() {
+        String warnTime = PreferenceUtils.getString(PreferenceUtils.Constants.DEF_WARN_TIME);
         mSchedule = new Schedule();
         mSchedule.setStartTime(System.currentTimeMillis() + 1000 * 5 * 60);
         mSchedule.setEndTime(System.currentTimeMillis() + 1000 * 10 * 60);
         mSchedule.setTag(types[0]);
         mSchedule.setRepeat(PreferenceUtils.getString(ct, PreferenceUtils.Constants.DEF_REPEAT_TIME, repeats[0]));
-        mSchedule.setWarnTime(0);
+        mSchedule.setWarnTime(getWarnForText(warnTime,0));
         mSchedule.setType(getString(R.string.app_name));
     }
 
@@ -241,11 +242,11 @@ public class SchedulerCreateActivity extends BaseNetActivity {
         allDaySv.setClickable(isEnable);
         allDaySv.setFocusable(isEnable);
         allDaySv.setOnCheckedChangeListener(isEnable ? mOnCheckedChangeListener : null);
-        if (isEnable){
+        if (isEnable) {
             contentEd.setFocusableInTouchMode(true);
             contentEd.requestFocus();
             contentEd.setSelection(contentEd.getText().length());
-            CommonUtil.openKeybord(contentEd,this);
+            CommonUtil.openKeybord(contentEd, this);
         }
     }
 
@@ -385,14 +386,11 @@ public class SchedulerCreateActivity extends BaseNetActivity {
     }
 
     private void submit() {
-       if ( mSchedule.getStartTime()>= mSchedule.getEndTime()){
-           showToast("结束时间必须大于开始时间!!");
-           submiting=false;
-           return;
-       }
-
-
-
+        if (mSchedule.getStartTime() >= mSchedule.getEndTime()) {
+            showToast("结束时间必须大于开始时间!!");
+            submiting = false;
+            return;
+        }
         showProgress();
         String url = isUpdate ? "schedule/updateSchedule" : "schedule/saveSchedule";
         mSchedule.setRemarks(contentEd.getText().toString());
@@ -418,19 +416,7 @@ public class SchedulerCreateActivity extends BaseNetActivity {
                 warnRealTime = DateFormatUtil.str2Long(DateFormatUtil.long2Str(mSchedule.getStartTime(), DateFormatUtil.YMD) + " 09:00:00", DateFormatUtil.YMD_HMS) - minth * 24 * 60;
             }
         } else {
-            if (warnStr.equals(warns[1])) {
-                warnTime = 0;
-            } else if (warnStr.equals(warns[2])) {
-                warnTime = 5;
-            } else if (warnStr.equals(warns[3])) {
-                warnTime = 15;
-            } else if (warnStr.equals(warns[4])) {
-                warnTime = 30;
-            } else if (warnStr.equals(warns[5])) {
-                warnTime = 60;
-            } else if (warnStr.equals(warns[6])) {
-                warnTime = 60 * 24;
-            }
+            warnTime = getWarnForText(warnStr,warnTime);
             warnRealTime = mSchedule.getStartTime() - warnTime * minth;
         }
         mSchedule.setWarnRealTime(warnRealTime);
@@ -457,8 +443,24 @@ public class SchedulerCreateActivity extends BaseNetActivity {
             mBuilder.addParams("scheduleId", mSchedule.getId());
         }
         requestHttp(mBuilder, mOnSmartHttpListener);
+    }
 
-
+    private int getWarnForText(String text,int def) {
+        int warnTime = def;
+        if (text.equals(warns[1])) {
+            warnTime = 0;
+        } else if (text.equals(warns[2])) {
+            warnTime = 5;
+        } else if (text.equals(warns[3])) {
+            warnTime = 15;
+        } else if (text.equals(warns[4])) {
+            warnTime = 30;
+        } else if (text.equals(warns[5])) {
+            warnTime = 60;
+        } else if (text.equals(warns[6])) {
+            warnTime = 60 * 24;
+        }
+        return warnTime;
     }
 
     private void deleteSchedule() {
@@ -506,7 +508,6 @@ public class SchedulerCreateActivity extends BaseNetActivity {
                 case DELETE:
                     if (JSONUtil.getBoolean(object, "success")) {
                         Toast.makeText(ct, "删除成功!!", Toast.LENGTH_LONG).show();
-                        deleteFormSystem();
                         int id = JSONUtil.getInt(object, "data");
                         mSchedule.setId(id);
                         deleteFormSystem();
@@ -526,25 +527,44 @@ public class SchedulerCreateActivity extends BaseNetActivity {
     };
 
     private void deleteFormSystem() {
-        new VeriftyDialog.Builder(ct)
-                .setTitle(getString(R.string.app_name))
-                .setCanceledOnTouchOutside(false)
-                .setShowCancel(true)
-                .setContent("删除成功,是否同步删除系统日程!!")
-                .build(new VeriftyDialog.OnDialogClickListener() {
-                    @Override
-                    public void result(boolean clickSure) {
-                        if (clickSure) {
-                            deleteFormSystem(mSchedule);
-                        } else {
-                            setResult(0x11);
-                            onBackPressed();
-                        }
-                    }
-                });
+        requestPermission(Manifest.permission.WRITE_CALENDAR, new Runnable() {
+            @Override
+            public void run() {
+                boolean has = ScheduleUtils.hasSystemCalendar(ct, mSchedule.getId());
+                if (has) {
+                    new VeriftyDialog.Builder(ct)
+                            .setTitle(getString(R.string.app_name))
+                            .setCanceledOnTouchOutside(false)
+                            .setShowCancel(true)
+                            .setContent("删除成功,是否同步删除系统日程!!")
+                            .build(new VeriftyDialog.OnDialogClickListener() {
+                                @Override
+                                public void result(boolean clickSure) {
+                                    if (clickSure) {
+                                        deleteFormSystem(mSchedule);
+                                    } else {
+                                        setResult(0x11);
+                                        onBackPressed();
+                                    }
+                                }
+                            });
+                } else {
+                    setResult(0x11);
+                    onBackPressed();
+                }
+            }
+        }, new Runnable() {
+            @Override
+            public void run() {
+                showToast(R.string.not_system_permission);
+            }
+        });
+
     }
 
     private void deleteFormSc() {
+
+
         new VeriftyDialog.Builder(ct)
                 .setTitle(getString(R.string.app_name))
                 .setCanceledOnTouchOutside(false)

+ 18 - 2
app_modular/appworks/src/main/java/com/uas/appworks/utils/ScheduleUtils.java

@@ -104,7 +104,7 @@ public class ScheduleUtils {
         int calId = checkCalendarAccount(context);
         if (calId < 0) {
             // 获取账户id失败直接返回,添加日历事件失败
-            if (addCalendarAccount(context)==-1 ) {
+            if (addCalendarAccount(context) == -1) {
                 return -1;
             }
         }
@@ -191,7 +191,7 @@ public class ScheduleUtils {
             return mSchedules;
         }
         String selection = CalendarContract.Events.CAN_PARTIALLY_UPDATE + " =? "
-                +"and ( ("
+                + "and ( ("
                 + CalendarContract.Events.DTSTART + " >=? and " + CalendarContract.Events.DTSTART + " <=? ) or ("
                 + CalendarContract.Events.DTEND + " >=? and " + CalendarContract.Events.DTEND + " <=? ) or ( "
                 + CalendarContract.Events.DTSTART + " <? and " + CalendarContract.Events.DTEND + " >?"
@@ -243,6 +243,22 @@ public class ScheduleUtils {
         }
     }
 
+    public static boolean hasSystemCalendar(Context context, int id) {
+        boolean has=false;
+        try {
+              if (ActivityCompat.checkSelfPermission(context, Manifest.permission.READ_CALENDAR) != PackageManager.PERMISSION_GRANTED) {
+                return false;
+            }
+            String where = CalendarContract.Events.ORGANIZER + " =? and " + CalendarContract.Events.SELF_ATTENDEE_STATUS + " =? ";
+            String[] whereArgs = new String[]{DEF_EMAIL, String.valueOf(id)};
+            Cursor c = context.getContentResolver().query(CalendarContract.Events.CONTENT_URI,
+                    null, where, whereArgs, null);
+            has=c!=null&&c.getCount()>0;
+        } finally {
+            return has;
+        }
+    }
+
     /**
      * 更新系统日程
      *

+ 10 - 6
app_modular/appworks/src/main/res/layout/activity_schedule_setting.xml

@@ -40,20 +40,22 @@
         android:id="@+id/warmTimeRl"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:background="@color/white"
-        android:padding="@dimen/padding">
+        android:background="@color/white">
 
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="提示时间默认"
+            android:layout_centerVertical="true"
             android:textColor="#FF383838"
             android:textSize="14sp" />
 
         <TextView
             android:id="@+id/warmTimeTv"
-            android:layout_width="wrap_content"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
+            android:padding="@dimen/padding"
+            android:gravity="right|center_vertical"
             android:layout_alignParentRight="true"
             android:layout_centerVertical="true"
             android:drawableRight="@drawable/oa_next"
@@ -72,22 +74,24 @@
         android:id="@+id/repeatRl"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:background="@color/white"
-        android:padding="@dimen/padding">
+        android:background="@color/white">
 
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="提醒重复默认"
             android:textColor="#FF383838"
+            android:layout_centerVertical="true"
             android:textSize="14sp" />
 
         <TextView
             android:id="@+id/repeatTv"
-            android:layout_width="wrap_content"
+            android:layout_width="match_parent"
+            android:gravity="center_vertical|right"
             android:layout_height="wrap_content"
             android:layout_alignParentRight="true"
             android:layout_centerVertical="true"
+            android:padding="@dimen/padding"
             android:drawableRight="@drawable/oa_next"
             android:text="不重复"
             android:drawablePadding="@dimen/padding"

+ 18 - 9
app_modular/appworks/src/main/res/layout/activity_scheduler_create.xml

@@ -18,8 +18,8 @@
         android:layout_marginLeft="@dimen/padding"
         android:layout_marginRight="@dimen/padding"
         android:background="@null"
-        android:padding="@dimen/padding"
         android:hint="请输入日程内容…"
+        android:padding="@dimen/padding"
         android:textColor="#5D5D5D"
         android:textSize="13sp"
         app:layout_constraintLeft_toLeftOf="parent"
@@ -82,13 +82,16 @@
 
     <TextView
         android:id="@+id/startTimeTv"
-        android:layout_width="wrap_content"
+        android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:drawablePadding="@dimen/paddingMin"
         android:drawableRight="@drawable/oa_next"
+        android:gravity="right|center_vertical"
+        android:padding="@dimen/padding"
         android:textColor="#909090"
         android:textSize="11sp"
         app:layout_constraintBottom_toBottomOf="@id/startTimeTag"
+        app:layout_constraintLeft_toRightOf="@id/startTimeTag"
         app:layout_constraintRight_toRightOf="@id/contentEd"
         app:layout_constraintTop_toTopOf="@id/startTimeTag" />
 
@@ -117,13 +120,16 @@
 
     <TextView
         android:id="@+id/endTimeTv"
-        android:layout_width="wrap_content"
+        android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:drawablePadding="@dimen/paddingMin"
         android:drawableRight="@drawable/oa_next"
+        android:gravity="right|center_vertical"
+        android:padding="@dimen/padding"
         android:textColor="#FF909090"
         android:textSize="11sp"
         app:layout_constraintBottom_toBottomOf="@id/endTimeTag"
+        app:layout_constraintLeft_toRightOf="@id/endTimeTag"
         app:layout_constraintRight_toRightOf="@id/contentEd"
         app:layout_constraintTop_toTopOf="@id/endTimeTag" />
 
@@ -155,12 +161,13 @@
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:drawablePadding="@dimen/paddingMin"
-        android:padding="@dimen/padding"
         android:drawableRight="@drawable/oa_next"
+        android:gravity="right|center_vertical"
+        android:padding="@dimen/padding"
         android:textColor="#FF909090"
         android:textSize="11sp"
-        app:layout_constraintLeft_toRightOf="@id/warnTag"
         app:layout_constraintBottom_toBottomOf="@id/warnTag"
+        app:layout_constraintLeft_toRightOf="@id/warnTag"
         app:layout_constraintRight_toRightOf="@id/contentEd"
         app:layout_constraintTop_toTopOf="@id/warnTag" />
 
@@ -193,11 +200,12 @@
         android:layout_height="wrap_content"
         android:drawablePadding="@dimen/paddingMin"
         android:drawableRight="@drawable/oa_next"
+        android:gravity="right|center_vertical"
+        android:padding="@dimen/padding"
         android:textColor="#FF909090"
         android:textSize="11sp"
-        android:padding="@dimen/padding"
-        app:layout_constraintLeft_toRightOf="@id/repeatTag"
         app:layout_constraintBottom_toBottomOf="@id/repeatTag"
+        app:layout_constraintLeft_toRightOf="@id/repeatTag"
         app:layout_constraintRight_toRightOf="@id/contentEd"
         app:layout_constraintTop_toTopOf="@id/repeatTag" />
 
@@ -230,11 +238,12 @@
         android:layout_height="wrap_content"
         android:drawablePadding="@dimen/paddingMin"
         android:drawableRight="@drawable/oa_next"
+        android:gravity="right|center_vertical"
+        android:padding="@dimen/padding"
         android:textColor="#FF909090"
         android:textSize="11sp"
-        android:padding="@dimen/padding"
-        app:layout_constraintLeft_toRightOf="@id/typeTag"
         app:layout_constraintBottom_toBottomOf="@id/typeTag"
+        app:layout_constraintLeft_toRightOf="@id/typeTag"
         app:layout_constraintRight_toRightOf="@id/contentEd"
         app:layout_constraintTop_toTopOf="@id/typeTag" />