Просмотр исходного кода

<基于1.81版本修改字库文件被压缩问题,增加字库文件更新功能>

weizhengliang 3 лет назад
Родитель
Сommit
938b017fab

+ 5 - 1
app/build.gradle

@@ -24,7 +24,7 @@ android {
         minSdkVersion 21
         targetSdkVersion 26
         versionCode 1
-        versionName "2.1"
+        versionName "1.82"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
         multiDexEnabled true
 
@@ -52,6 +52,10 @@ android {
 
         }
     }
+
+    aaptOptions {
+        noCompress "ttc", "mp3", "apk"  //表示不让aapt压缩的文件后缀
+    }
 }
 
 //获取编译日期

+ 11 - 2
app/src/main/java/com/wdkl/callingmainnurse/service/led/LedC2MManager.java

@@ -59,15 +59,24 @@ public class LedC2MManager extends LedManager {
         if (file.exists()) {
             Constants.ledFontExist = true;
         } else {
+            copyFont();
+        }
+
+        //initHandler();
+    }
+
+    @Override
+    public void copyFont() {
+        super.copyFont();
+        if (ledC2M != null) {
             ledC2M.copyFontFile(new LedC2M.LedFontCheck() {
                 @Override
                 public void onChecked(boolean check) {
                     Constants.ledFontExist = check;
+                    Log.d(TAG, "led font copy end: " + Constants.ledFontExist);
                 }
             });
         }
-
-        //initHandler();
     }
 
     private void initHandler() {

+ 6 - 2
app/src/main/java/com/wdkl/callingmainnurse/service/led/LedManager.java

@@ -33,14 +33,18 @@ public abstract class LedManager {
 
     public abstract void release();
 
-    public boolean checkLedFont() {
+    public long checkLedFont() {
         File file = new File(Constants.C2M_LED_FONT_PATH);
         if (file.exists()) {
             Constants.ledFontExist = true;
+            return file.length();
         } else {
             Constants.ledFontExist = false;
+            return -1;
         }
+    }
 
-        return Constants.ledFontExist;
+    public void copyFont() {
+        //
     }
 }

+ 10 - 3
app/src/main/java/com/wdkl/callingmainnurse/service/led/LedManagerUtils.java

@@ -73,14 +73,21 @@ public class LedManagerUtils {
 
     public void checkFontFile() {
         if (ledManager != null) {
-            if (ledManager.checkLedFont()) {
-                ToastUtil.showToast("字体文件存在!");
+            long size = ledManager.checkLedFont();
+            if (size > 0) {
+                ToastUtil.showToast("字库文件存在!文件大小为: " + size);
             } else {
-                ToastUtil.showToast("字体文件不存在,可能需要重启设备!");
+                ToastUtil.showToast("字库文件不存在,请导入字库文件或尝试重启设备!");
             }
         }
     }
 
+    public void copyFont() {
+        if (ledManager != null) {
+            ledManager.copyFont();
+        }
+    }
+
     public void release() {
         if (ledManager != null) {
             ledManager.release();

+ 9 - 0
app/src/main/java/com/wdkl/callingmainnurse/ui/activity/LedSettingsActivity.java

@@ -48,6 +48,8 @@ public class LedSettingsActivity extends BaseActivity {
     Button ledRefresh;
     @Bind(R.id.btn_show_led_device)
     Button ledShow;
+    @Bind(R.id.btn_update_font)
+    Button ledUpdateFont;
 
     @Bind(R.id.group_led_info_type)
     RadioGroup groupLedType;
@@ -184,6 +186,13 @@ public class LedSettingsActivity extends BaseActivity {
             }
         });
 
+        ledUpdateFont.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                LedManagerUtils.getInstance().copyFont();
+            }
+        });
+
         ledRefresh.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {

+ 11 - 2
app/src/main/res/layout/activity_led_settings_layout.xml

@@ -45,6 +45,15 @@
             android:text="开/关点阵屏"
             android:textSize="24sp"
             android:background="@drawable/selector_setting_button"/>
+        <Button
+            android:id="@+id/btn_check_font"
+            android:layout_width="0dp"
+            android:layout_height="60dp"
+            android:layout_weight="1"
+            android:layout_margin="4dp"
+            android:text="检查字库文件"
+            android:textSize="24sp"
+            android:background="@drawable/selector_setting_button"/>
     </LinearLayout>
 
     <LinearLayout
@@ -53,12 +62,12 @@
         android:padding="8dp"
         android:gravity="center_vertical">
         <Button
-            android:id="@+id/btn_check_font"
+            android:id="@+id/btn_update_font"
             android:layout_width="0dp"
             android:layout_height="60dp"
             android:layout_weight="1"
             android:layout_margin="4dp"
-            android:text="检查字体文件"
+            android:text="更新字库文件"
             android:textSize="24sp"
             android:background="@drawable/selector_setting_button"/>
         <Button

+ 3 - 0
listenvision/build.gradle

@@ -18,6 +18,9 @@ android {
         }
     }
 
+    aaptOptions {
+        noCompress "ttc", "mp3", "apk"  //表示不让aapt压缩的文件后缀
+    }
 }
 
 dependencies {

+ 3 - 0
listenvision/src/main/java/com/listenvision/LedC2M.java

@@ -35,6 +35,9 @@ public class LedC2M extends led {
                 file.mkdirs();
             }
             File outFile = new File(dstPath + "/" + fileName);
+            if (outFile.exists()) {
+                outFile.delete();
+            }
             InputStream is = context.getAssets().open(fileName);
             FileOutputStream fos = new FileOutputStream(outFile);
             byte[] buffer = new byte[1024];

BIN
listenvision/src/main/jniLibs/armeabi-v7a/libledplayer7.so