Browse Source

1. 사용자가 의사일때, 스피너에 의사이름 매핑이 안되는 현상
- ( LeftMenu -> setSpinnerAdapter 의사이름 매핑 로직 추가 )
2. 환자검색 조건 중 등록번호가 입력되었을 때, 검색이 안되는 현상
- ( DataParser -> getPatientList 단일 데이타 파싱 부분 주석 처리 및 테스트 진행 완료 )
3. WhiteListCheck 로직 추가
- ( MainActivity -> whiteListCheck() 추가 )

jeongminRyu 4 years ago
parent
commit
09919b679f

+ 0 - 1
.idea/gradle.xml

@@ -14,7 +14,6 @@
           </set>
         </option>
         <option name="resolveModulePerSourceSet" value="false" />
-        <option name="useQualifiedModuleNames" value="true" />
       </GradleProjectSettings>
     </option>
   </component>

+ 35 - 0
.idea/jarRepositories.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RemoteRepositoriesConfiguration">
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="jboss.community" />
+      <option name="name" value="JBoss Community repository" />
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="BintrayJCenter" />
+      <option name="name" value="BintrayJCenter" />
+      <option name="url" value="https://jcenter.bintray.com/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="maven" />
+      <option name="name" value="maven" />
+      <option name="url" value="https://jitpack.io" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="Google" />
+      <option name="name" value="Google" />
+      <option name="url" value="https://dl.google.com/dl/android/maven2/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="maven2" />
+      <option name="name" value="maven2" />
+      <option name="url" value="https://oss.sonatype.org/content/repositories/ksoap2-android-releases/" />
+    </remote-repository>
+  </component>
+</project>

+ 3 - 1
app/build.gradle

@@ -60,8 +60,10 @@ android {
         dev {
             applicationIdSuffix ".dev"
             buildConfigField "String", "originalPackageName", "\"com.dbs.mplus.fatima\""
-            buildConfigField "String", "CONSENT_SERVER_URL", "\"http://192.168.43.170/\""
+//            buildConfigField "String", "CONSENT_SERVER_URL", "\"http://192.168.43.170/\""
 //            buildConfigField "String", "CONSENT_SERVER_URL", "\"http://192.168.100.124:8070/\""
+            buildConfigField "String", "CONSENT_SERVER_URL", "\"http://172.16.10.193:80/\""
+
             buildConfigField "String", "CONSENT_EFORM_SERVER_URL", "\"http://192.168.43.170:8070/eformservice.aspx/\""
 //            buildConfigField "String", "CONSENT_EFORM_SERVER_URL", "\"http://192.168.100.124:8090/eformservice.aspx/\""
             buildConfigField "String", "INST_CD", "\"111\""

+ 1 - 0
app/src/main/AndroidManifest.xml

@@ -12,6 +12,7 @@
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
     <uses-permission android:name="android.permission.GET_TASKS" />
+    <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
 
     <permission
         android:name="android.permission.NETWORK_SETTINGS"

+ 52 - 1
app/src/main/java/com/dbs/mplus/fatima/MainActivity.java

@@ -1,5 +1,6 @@
 package com.dbs.mplus.fatima;
 
+import androidx.annotation.Nullable;
 import androidx.appcompat.app.AppCompatActivity;
 
 import android.Manifest;
@@ -8,6 +9,8 @@ import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
+import android.os.PowerManager;
+import android.provider.Settings;
 import android.util.Log;
 import android.view.View;
 
@@ -177,7 +180,8 @@ public class MainActivity extends AppCompatActivity {
     PermissionListener permissionListener = new PermissionListener() {
       @Override
       public void onPermissionGranted() {
-        nextActivity();
+//        nextActivity();
+        whiteListCheck();
       }
 
       @Override
@@ -193,6 +197,53 @@ public class MainActivity extends AppCompatActivity {
         .check();
   }
 
+  /**
+   * 앱 배터리 사용량 최적화 모드 체크
+   * 최적화 모드 중지될 때 까지 무한루프
+   * 최적화 모드가 중지되었다면 기존 로직을 수행
+   * 2020.12.16
+   * jmRyu
+   * Start
+   */
+  private void whiteListCheck() {
+    PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
+    // 패키지 명으로 최적화 모드 사용 여부 체크 ( 최적화 모드 사용 상태 = false, 최적화 모드 중지 상태 = true )
+    boolean isPowered = powerManager.isIgnoringBatteryOptimizations(mContext.getPackageName());
+    if (isPowered) {
+      nextActivity();
+    } else {
+      setWhiteList();
+    }
+  }
+
+  /**
+   * 배터리 사용량 최적화 중지 System Setting Alert 호출
+   */
+  private void setWhiteList() {
+    csAlert.show();
+    csAlert.setContent(mContext.getString(R.string.whiteList), ConsentConfig.ALERT_BTN_TYPE);
+    csAlert.btnConfirm2.setOnClickListener(new View.OnClickListener() {
+      @Override
+      public void onClick(View v) {
+        csAlert.dismiss();
+        Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
+        intent.setData(Uri.parse("package:" + mContext.getPackageName()));
+        startActivityForResult(intent, 0);
+      }
+    });
+  }
+
+  /**
+   * System Setting Alert 에서 result 를 받았을때 다시 체크로직 수행
+   */
+  @Override
+  protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+    super.onActivityResult(requestCode, resultCode, data);
+
+    if (requestCode == 0) {
+      whiteListCheck();
+    }
+  }
 
   private void nextActivity() {
 

+ 4 - 4
app/src/main/java/com/dbs/mplus/fatima/activity/LoginActivity.java

@@ -67,13 +67,13 @@ public class LoginActivity extends AppCompatActivity {
     btnLogin = (Button) findViewById(R.id.btnLogin);
 
 
-    etId.setText("104287");
     //33213321
-    etPasswd.setText("sysedps!@#");
+//    etId.setText("104287");
+//    etPasswd.setText("sysedps!@#");
 
     //의사
-//    etId.setText("105435");
-//    etPasswd.setText("sysedps!@#");
+    etId.setText("105435");
+    etPasswd.setText("sysedps!@#");
 
     // 산부인과 의사
 //    etId.setText("104012");

+ 11 - 0
app/src/main/java/com/dbs/mplus/fatima/activity/activityEvent/LeftMenu.java

@@ -471,6 +471,7 @@ public class LeftMenu {
             String _deptCd = deptListVO.getDeptCd();
             if (instance.dutplcedeptCd.equals(_deptCd)) {
               instance.wardSpinner.setSelection(i);
+              break;
             }
           }
 
@@ -483,6 +484,7 @@ public class LeftMenu {
             String _deptCd = deptListVO.getDeptCd();
             if (instance.dutplcedeptCd.equals(_deptCd)) {
               instance.deptSpinner.setSelection(i);
+              break;
             }
           }
 
@@ -491,6 +493,15 @@ public class LeftMenu {
           instance.doctorSpinner.setAdapter(deptSpinnerAdapter);
           instance.doctorSpinner.setOnItemSelectedListener(onItemSelectedListener);
 
+          for (int i = 0; i < arrayList.size(); i++) {
+            DoctorListVO doctorListVO = (DoctorListVO) arrayList.get(i);
+            String _empNo = doctorListVO.getDoctorId();
+            if (instance.emplNo.equals(_empNo)) {
+              instance.doctorSpinner.setSelection(i);
+              break;
+            }
+          }
+
         }
       }
     });

+ 14 - 14
app/src/main/java/com/dbs/mplus/fatima/httpTask/DataParser.java

@@ -76,20 +76,20 @@ public class DataParser {
     ArrayList<HashMap<String, String>> mapArrayList = Util.parseJSON(mContext, res);
     ArrayList<HashMap<String, String>> list = null;
 
-    if (mapArrayList.size() == 0) {
-      return arrayList;
-    } else {
-      if (mapArrayList.size() == 1) {
-        HashMap<String, String> temp = mapArrayList.get(0);
-        for (String key : temp.keySet()) {
-          String data = temp.get(key);
-          if (data.equals("")) {
-            return arrayList;
-          }
-        }
-
-      }
-    }
+//    if (mapArrayList.size() == 0) {
+//      return arrayList;
+//    } else {
+//      if (mapArrayList.size() == 1) {
+//        HashMap<String, String> temp = mapArrayList.get(0);
+//        for (String key : temp.keySet()) {
+//          String data = temp.get(key);
+//          if (data.equals("")) {
+//            return arrayList;
+//          }
+//        }
+//
+//      }
+//    }
 
     if (mapArrayList.get(0).get("PatListVO") == null) {
       list = mapArrayList;

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -154,4 +154,5 @@
     <string name="saveFailed">%1s저장에 실패하였습니다.</string>
     <string name="notMatchedVersion">버전정보가 일치하지 않습니다. \n업데이트 버전 : %1s \n 현재 앱 버전 : %1s</string>
     <string name="versionFailed">버전 정보를 확인할 수 없습니다. 다시 시도해주세요.</string>
+    <string name="whiteList">동의서 저장을 위해서 \"배터리 사용량 최적화 중지\" 허용이 필요합니다.</string>
 </resources>