Selaa lähdekoodia

aandroid kerry 迁移前提交

Ray Zhang 5 vuotta sitten
vanhempi
commit
01f5d382be
100 muutettua tiedostoa jossa 7176 lisäystä ja 147 poistoa
  1. 1 1
      ApexDrivers/ApexDrivers.iml
  2. 1 0
      ApexDrivers/FunctionTest/.gitignore
  3. 32 0
      ApexDrivers/FunctionTest/build.gradle
  4. 21 0
      ApexDrivers/FunctionTest/proguard-rules.pro
  5. 7 7
      ApexDrivers/FunctionTest/src/androidTest/java/com/example/functiontest/ExampleInstrumentedTest.java
  6. 32 0
      ApexDrivers/FunctionTest/src/main/AndroidManifest.xml
  7. 199 0
      ApexDrivers/FunctionTest/src/main/java/com/example/functiontest/MainActivity.java
  8. 68 0
      ApexDrivers/FunctionTest/src/main/java/com/example/functiontest/TestService.java
  9. 30 0
      ApexDrivers/FunctionTest/src/main/res/drawable-v24/ic_launcher_foreground.xml
  10. 170 0
      ApexDrivers/FunctionTest/src/main/res/drawable/ic_launcher_background.xml
  11. 64 0
      ApexDrivers/FunctionTest/src/main/res/layout/activity_main.xml
  12. 5 0
      ApexDrivers/FunctionTest/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
  13. 5 0
      ApexDrivers/FunctionTest/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
  14. BIN
      ApexDrivers/FunctionTest/src/main/res/mipmap-hdpi/ic_launcher.png
  15. BIN
      ApexDrivers/FunctionTest/src/main/res/mipmap-hdpi/ic_launcher_round.png
  16. BIN
      ApexDrivers/FunctionTest/src/main/res/mipmap-mdpi/ic_launcher.png
  17. BIN
      ApexDrivers/FunctionTest/src/main/res/mipmap-mdpi/ic_launcher_round.png
  18. BIN
      ApexDrivers/FunctionTest/src/main/res/mipmap-xhdpi/ic_launcher.png
  19. BIN
      ApexDrivers/FunctionTest/src/main/res/mipmap-xhdpi/ic_launcher_round.png
  20. BIN
      ApexDrivers/FunctionTest/src/main/res/mipmap-xxhdpi/ic_launcher.png
  21. BIN
      ApexDrivers/FunctionTest/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
  22. BIN
      ApexDrivers/FunctionTest/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  23. BIN
      ApexDrivers/FunctionTest/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
  24. 6 0
      ApexDrivers/FunctionTest/src/main/res/values/colors.xml
  25. 3 0
      ApexDrivers/FunctionTest/src/main/res/values/strings.xml
  26. 10 0
      ApexDrivers/FunctionTest/src/main/res/values/styles.xml
  27. 1 1
      ApexDrivers/FunctionTest/src/test/java/com/example/functiontest/ExampleUnitTest.java
  28. 1 0
      ApexDrivers/RALocationLib/.gitignore
  29. 33 0
      ApexDrivers/RALocationLib/build.gradle
  30. 1 0
      ApexDrivers/RALocationLib/build/.transforms/6cc7486635a86fb65b24028285895d54.bin
  31. BIN
      ApexDrivers/RALocationLib/build/.transforms/6cc7486635a86fb65b24028285895d54/classes/classes.dex
  32. 12 0
      ApexDrivers/RALocationLib/build/generated/source/buildConfig/debug/com/usai/redant/ralocationlib/BuildConfig.java
  33. 14 0
      ApexDrivers/RALocationLib/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml
  34. 27 0
      ApexDrivers/RALocationLib/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json
  35. 1 0
      ApexDrivers/RALocationLib/build/intermediates/annotation_processor_list/debug/annotationProcessors.json
  36. BIN
      ApexDrivers/RALocationLib/build/intermediates/compile_library_classes_jar/debug/classes.jar
  37. BIN
      ApexDrivers/RALocationLib/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar
  38. 2754 0
      ApexDrivers/RALocationLib/build/intermediates/compile_symbol_list/debug/R.txt
  39. BIN
      ApexDrivers/RALocationLib/build/intermediates/incremental/debug-mergeNativeLibs/merge-state
  40. 2 0
      ApexDrivers/RALocationLib/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml
  41. 2 0
      ApexDrivers/RALocationLib/build/intermediates/incremental/mergeDebugShaders/merger.xml
  42. 2 0
      ApexDrivers/RALocationLib/build/intermediates/incremental/packageDebugAssets/merger.xml
  43. 1 0
      ApexDrivers/RALocationLib/build/intermediates/incremental/packageDebugResources/compile-file-map.properties
  44. 2 0
      ApexDrivers/RALocationLib/build/intermediates/incremental/packageDebugResources/merger.xml
  45. BIN
      ApexDrivers/RALocationLib/build/intermediates/javac/debug/classes/com/usai/redant/ralocationlib/BuildConfig.class
  46. BIN
      ApexDrivers/RALocationLib/build/intermediates/javac/debug/classes/com/usai/redant/ralocationlib/service/RATask3Tracing$1.class
  47. BIN
      ApexDrivers/RALocationLib/build/intermediates/javac/debug/classes/com/usai/redant/ralocationlib/service/RATask3Tracing$2.class
  48. BIN
      ApexDrivers/RALocationLib/build/intermediates/javac/debug/classes/com/usai/redant/ralocationlib/service/RATask3Tracing$3.class
  49. BIN
      ApexDrivers/RALocationLib/build/intermediates/javac/debug/classes/com/usai/redant/ralocationlib/service/RATask3Tracing$4.class
  50. BIN
      ApexDrivers/RALocationLib/build/intermediates/javac/debug/classes/com/usai/redant/ralocationlib/service/RATask3Tracing$TracingTaskCallback.class
  51. BIN
      ApexDrivers/RALocationLib/build/intermediates/javac/debug/classes/com/usai/redant/ralocationlib/service/RATask3Tracing.class
  52. 14 0
      ApexDrivers/RALocationLib/build/intermediates/library_manifest/debug/AndroidManifest.xml
  53. 2 0
      ApexDrivers/RALocationLib/build/intermediates/local_only_symbol_list/debug/R-def.txt
  54. 20 0
      ApexDrivers/RALocationLib/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt
  55. 27 0
      ApexDrivers/RALocationLib/build/intermediates/merged_manifests/debug/output.json
  56. 1 0
      ApexDrivers/RALocationLib/build/intermediates/navigation_json/debug/navigation.json
  57. BIN
      ApexDrivers/RALocationLib/build/intermediates/runtime_library_classes_jar/debug/classes.jar
  58. 1710 0
      ApexDrivers/RALocationLib/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt
  59. 45 0
      ApexDrivers/RALocationLib/build/outputs/logs/manifest-merger-debug-report.txt
  60. 0 0
      ApexDrivers/RALocationLib/consumer-rules.pro
  61. 21 0
      ApexDrivers/RALocationLib/proguard-rules.pro
  62. 6 0
      ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
  63. 492 0
      ApexDrivers/RALocationLib/src/main/java/com/usai/redant/ralocationlib/service/RATask3Tracing.java
  64. 5 4
      ApexDrivers/RAUtilsLibrary/build.gradle
  65. 1 1
      ApexDrivers/RAUtilsLibrary/proguard-project.txt
  66. 52 69
      ApexDrivers/RAUtilsLibrary/src/main/AndroidManifest.xml
  67. 345 0
      ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/application/RAApplication.java
  68. 26 0
      ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/application/RedantApplication.java
  69. 2 2
      ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/base/BaseObject.java
  70. 4 0
      ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/base/NoProguard.java
  71. 2 0
      ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/receiver/AlarmReceiver.java
  72. 148 0
      ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/service/RAService3.java
  73. 29 0
      ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/service/RATask3.java
  74. 104 0
      ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/service/RATask3Notifiacation.java
  75. 180 0
      ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/service/RATask3Upload.java
  76. 3 3
      ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/upload/RAOperationQueue.java
  77. 17 9
      ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/upload/RAUploadManager.java
  78. 226 0
      ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/upload/TaskActivity.java
  79. 22 13
      ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/upload/UploadListActivity.java
  80. 1 0
      ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/utils/ImageUtil.java
  81. 18 5
      ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/utils/Network.java
  82. BIN
      ApexDrivers/RAUtilsLibrary/src/main/res/drawable-hdpi/ic_action_reload.png
  83. BIN
      ApexDrivers/RAUtilsLibrary/src/main/res/drawable-mdpi/ic_action_reload.png
  84. BIN
      ApexDrivers/RAUtilsLibrary/src/main/res/drawable-xhdpi/ic_action_reload.png
  85. BIN
      ApexDrivers/RAUtilsLibrary/src/main/res/drawable-xxhdpi/ic_action_reload.png
  86. 2 2
      ApexDrivers/RAUtilsLibrary/src/main/res/layout/actionbar_customtitle.xml
  87. 2 2
      ApexDrivers/RAUtilsLibrary/src/main/res/layout/file_viewer_activity.xml
  88. 2 2
      ApexDrivers/RAUtilsLibrary/src/main/res/layout/pdf_preview_activity.xml
  89. 2 2
      ApexDrivers/RAUtilsLibrary/src/main/res/layout/ra_signature_activity.xml
  90. 2 2
      ApexDrivers/RAUtilsLibrary/src/main/res/layout/upload_list_activity.xml
  91. 110 0
      ApexDrivers/RAUtilsLibrary/src/main/res/layout/upload_list_cell.xml
  92. 1 1
      ApexDrivers/RAUtilsLibrary/src/main/res/values/colors.xml
  93. 1 1
      ApexDrivers/apexcrm/build.gradle
  94. 5 5
      ApexDrivers/apexdriverscn/build.gradle
  95. 2 2
      ApexDrivers/apexdriverscn/src/androidTest/java/com/usai/apex/apexdriverscn/ExampleInstrumentedTest.java
  96. 11 9
      ApexDrivers/apexdriversi/build.gradle
  97. 2 2
      ApexDrivers/apexdriversi/src/androidTest/java/com/usai/apex/apexdriversi/ExampleInstrumentedTest.java
  98. 3 1
      ApexDrivers/apexdriversi/src/main/AndroidManifest.xml
  99. BIN
      ApexDrivers/apexdriversi/src/main/ic_launcher-playstore.png
  100. 1 1
      ApexDrivers/apexdriversi/src/main/res/mipmap-anydpi-v26/ic_launcher.xml

+ 1 - 1
ApexDrivers/ApexDrivers.iml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<module external.linked.project.id="ApexDrivers" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4">
+<module external.linked.project.id="ApexDrivers" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
   <component name="FacetManager">
     <facet type="java-gradle" name="Java-Gradle">
       <configuration>

+ 1 - 0
ApexDrivers/FunctionTest/.gitignore

@@ -0,0 +1 @@
+/build

+ 32 - 0
ApexDrivers/FunctionTest/build.gradle

@@ -0,0 +1,32 @@
+apply plugin: 'com.android.application'
+
+android {
+    compileSdkVersion 29
+
+    defaultConfig {
+        applicationId "com.example.functiontest"
+        minSdkVersion 24
+        targetSdkVersion 29
+        versionCode 1
+        versionName "1.0"
+
+        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+    }
+
+    buildTypes {
+        release {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+        }
+    }
+}
+
+dependencies {
+    implementation fileTree(dir: "libs", include: ["*.jar"])
+    implementation 'androidx.appcompat:appcompat:1.2.0'
+    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
+    testImplementation 'junit:junit:4.12'
+    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
+    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
+    implementation project(path: ':RAUtilsLibrary')
+}

+ 21 - 0
ApexDrivers/FunctionTest/proguard-rules.pro

@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile

+ 7 - 7
ApexDrivers/apexmap/src/androidTest/java/redant/usai/com/apexmap/ExampleInstrumentedTest.java → ApexDrivers/FunctionTest/src/androidTest/java/com/example/functiontest/ExampleInstrumentedTest.java

@@ -1,8 +1,9 @@
-package redant.usai.com.apexmap;
+package com.example.functiontest;
 
 import android.content.Context;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.platform.app.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -19,8 +20,7 @@ public class ExampleInstrumentedTest {
     @Test
     public void useAppContext() {
         // Context of the app under test.
-        Context appContext = InstrumentationRegistry.getTargetContext();
-
-        assertEquals("redant.usai.com.apexmap.test", appContext.getPackageName());
+        Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
+        assertEquals("com.example.functiontest", appContext.getPackageName());
     }
-}
+}

+ 32 - 0
ApexDrivers/FunctionTest/src/main/AndroidManifest.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.example.functiontest">
+    <uses-permission android:name="android.alarm.permission.SET_ALARM" />
+    <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
+    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+    <application
+        android:allowBackup="true"
+        android:icon="@mipmap/ic_launcher"
+        android:label="@string/app_name"
+        android:roundIcon="@mipmap/ic_launcher_round"
+        android:supportsRtl="true"
+        android:theme="@style/AppTheme">
+        <service
+            android:name=".TestService"
+            android:enabled="true"
+            android:exported="true"></service>
+
+        <activity android:name=".MainActivity">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+    </application>
+
+</manifest>

+ 199 - 0
ApexDrivers/FunctionTest/src/main/java/com/example/functiontest/MainActivity.java

@@ -0,0 +1,199 @@
+package com.example.functiontest;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.Manifest;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.ServiceConnection;
+import android.os.Build;
+import android.os.Bundle;
+import android.os.IBinder;
+import android.util.Log;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+import com.usai.redant.rautils.utils.RAUtil;
+
+public class MainActivity extends AppCompatActivity {
+String TAG="MainActivity";
+
+    private ServiceConnection mServiceConnection;
+    private TestService mService;
+
+
+    TextView tv_out;
+
+    private void checkPermissions() {
+
+//        String[] permissions = {Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE};
+
+        String[] permissions = {
+//                Manifest.permission.CAMERA,
+//                Manifest.permission.VIBRATE,
+//                Manifest.permission.READ_CONTACTS,
+//                Manifest.permission.READ_PHONE_STATE,
+                Manifest.permission.WRITE_EXTERNAL_STORAGE,
+                Manifest.permission.READ_EXTERNAL_STORAGE,
+//                Manifest.permission.RECEIVE_BOOT_COMPLETED,
+//                Manifest.permission.ACCESS_NETWORK_STATE,
+//                Manifest.permission.ACCESS_WIFI_STATE,
+                Manifest.permission.INTERNET,
+                Manifest.permission.ACCESS_FINE_LOCATION,
+                Manifest.permission.ACCESS_COARSE_LOCATION
+//
+//                Manifest.permission.CHANGE_CONFIGURATION
+
+
+
+        };
+
+        RAUtil.checkPermissions(this,permissions);
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_main);
+
+
+
+        checkPermissions();
+
+        tv_out= findViewById(R.id.tv_out);
+
+
+
+
+
+        Button btn_start = findViewById(R.id.btn_start);
+        btn_start.setOnClickListener(new View.OnClickListener()
+        {
+
+            @Override
+            public void onClick(View view) {
+                if(mService!=null)
+                    mService.startBackgroundLocation();
+            }
+        });
+
+        Button btn_stop = findViewById(R.id.btn_stop);
+        btn_stop.setOnClickListener(new View.OnClickListener()
+        {
+
+            @Override
+            public void onClick(View view) {
+
+                if(mService!=null)
+                    mService.stopBackgroundLocation();
+
+
+            }
+        });
+
+        Button btn_location = findViewById(R.id.btn_location);
+        btn_location.setOnClickListener(new View.OnClickListener()
+        {
+
+            @Override
+            public void onClick(View view) {
+
+            }
+        });
+
+        Button btn_cache = findViewById(R.id.btn_cache);
+        btn_cache.setOnClickListener(new View.OnClickListener()
+        {
+
+            @Override
+            public void onClick(View view) {
+
+            }
+        });
+
+        final Button btn_stop_service = findViewById(R.id.btn_stop_service);
+        btn_stop_service.setOnClickListener(new View.OnClickListener()
+        {
+
+            @Override
+            public void onClick(View view) {
+
+                if(mService==null)
+                {
+                    btn_stop_service.setText("STOP SERVICE");
+
+                    mServiceConnection = new ServiceConnection() {
+                        @Override
+                        public void onServiceConnected(ComponentName name, IBinder service) {
+
+                            TestService.Service3Binder binder = (TestService.Service3Binder)service;
+                            mService = (TestService)binder.getService();
+
+                        }
+
+                        @Override
+                        public void onServiceDisconnected(ComponentName name) {
+
+                            mService = null;
+                        }
+                    };
+
+
+
+                    Intent serviceIntent = new Intent();
+                    serviceIntent.setClass(MainActivity.this, TestService.class);
+
+                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O&&false) {
+
+                        MainActivity.this.startForegroundService(serviceIntent);
+                    } else {
+
+                        MainActivity.this.startService(serviceIntent);
+                    }
+
+                    Intent intent = new Intent(getApplicationContext(),TestService.class);
+                    bindService(intent,mServiceConnection, Context.BIND_AUTO_CREATE);
+
+                }
+                else
+                {
+                    btn_stop_service.setText("START SERVICE");
+                    if(mService!=null)
+                    {
+                        mService.stopSelf();
+                        mService=null;
+                    }
+
+                    if (mServiceConnection != null) {
+                        unbindService(mServiceConnection);
+                    }
+                }
+
+            }
+        });
+
+
+
+
+        Log.d(TAG, "onCreate: ");
+
+
+
+
+
+        /** Service */
+
+
+    }
+
+    @Override
+    protected void onDestroy() {
+
+        if (mServiceConnection != null) {
+            unbindService(mServiceConnection);
+        }
+        super.onDestroy();
+    }
+}

+ 68 - 0
ApexDrivers/FunctionTest/src/main/java/com/example/functiontest/TestService.java

@@ -0,0 +1,68 @@
+package com.example.functiontest;
+
+import android.content.Context;
+import android.content.Intent;
+import android.location.Location;
+import android.util.Log;
+
+import com.usai.redant.rautils.receiver.RABroadcast;
+import com.usai.redant.rautils.service.RAService3;
+import com.usai.redant.rautils.service.RATask3Tracing;
+
+public class TestService extends RAService3 {
+    String TAG="TestService";
+    public TestService() {
+
+
+       CHANNEL_ID = "TestService";
+       CHANNEL_NAME = "TestService";
+       LAUNCH_MSG = "SERVICE IS RUNNING";
+
+
+
+    }
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+        RATask3Tracing tracingTask = new RATask3Tracing();
+
+        Context c=this.getApplication();
+        tracingTask.Setup(this.getApplicationContext(), false, new RATask3Tracing.TracingTaskCallback() {
+            @Override
+            public void onLocationChanged(Location location) {
+                Log.i(TAG, "onLocationChanged " + location);
+            }
+        });
+
+
+        addTask(tracingTask);
+    }
+
+//    @Override
+//    public IBinder onBind(Intent intent) {
+//        // TODO: Return the communication channel to the service.
+//        throw new UnsupportedOperationException("Not yet implemented");
+//    }
+
+
+    @Override
+    public void onDestroy() {
+
+        super.onDestroy();
+    }
+
+
+
+    // location
+    public void startBackgroundLocation() {
+        Log.d(TAG, "startLocation: ");
+        sendBroadcast(new Intent(RABroadcast.ACTION_LOCATION_ENABLE_TRACING).setPackage(getPackageName()));
+    }
+
+    public void stopBackgroundLocation() {
+        Log.d(TAG, "stopLocation: ");
+        sendBroadcast(new Intent(RABroadcast.ACTION_LOCATION_DISABLE_TRACING).setPackage(getPackageName()));
+    }
+
+}

+ 30 - 0
ApexDrivers/FunctionTest/src/main/res/drawable-v24/ic_launcher_foreground.xml

@@ -0,0 +1,30 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:aapt="http://schemas.android.com/aapt"
+    android:width="108dp"
+    android:height="108dp"
+    android:viewportWidth="108"
+    android:viewportHeight="108">
+    <path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
+        <aapt:attr name="android:fillColor">
+            <gradient
+                android:endX="85.84757"
+                android:endY="92.4963"
+                android:startX="42.9492"
+                android:startY="49.59793"
+                android:type="linear">
+                <item
+                    android:color="#44000000"
+                    android:offset="0.0" />
+                <item
+                    android:color="#00000000"
+                    android:offset="1.0" />
+            </gradient>
+        </aapt:attr>
+    </path>
+    <path
+        android:fillColor="#FFFFFF"
+        android:fillType="nonZero"
+        android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
+        android:strokeWidth="1"
+        android:strokeColor="#00000000" />
+</vector>

+ 170 - 0
ApexDrivers/FunctionTest/src/main/res/drawable/ic_launcher_background.xml

@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="108dp"
+    android:height="108dp"
+    android:viewportWidth="108"
+    android:viewportHeight="108">
+    <path
+        android:fillColor="#3DDC84"
+        android:pathData="M0,0h108v108h-108z" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M9,0L9,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M19,0L19,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M29,0L29,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M39,0L39,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M49,0L49,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M59,0L59,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M69,0L69,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M79,0L79,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M89,0L89,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M99,0L99,108"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,9L108,9"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,19L108,19"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,29L108,29"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,39L108,39"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,49L108,49"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,59L108,59"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,69L108,69"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,79L108,79"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,89L108,89"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0,99L108,99"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M19,29L89,29"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M19,39L89,39"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M19,49L89,49"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M19,59L89,59"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M19,69L89,69"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M19,79L89,79"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M29,19L29,89"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M39,19L39,89"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M49,19L49,89"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M59,19L59,89"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M69,19L69,89"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M79,19L79,89"
+        android:strokeWidth="0.8"
+        android:strokeColor="#33FFFFFF" />
+</vector>

+ 64 - 0
ApexDrivers/FunctionTest/src/main/res/layout/activity_main.xml

@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".MainActivity">
+
+    <TextView
+        android:id="@+id/tv_out"
+        android:layout_width="0dp"
+        android:layout_height="400dp"
+        android:layout_marginStart="8dp"
+        android:layout_marginTop="8dp"
+        android:layout_marginEnd="8dp"
+        android:layout_marginBottom="331dp"
+        android:text="TextView"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_marginTop="8dp"
+        android:orientation="vertical"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/tv_out">
+
+        <Button
+            android:id="@+id/btn_start"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:text="star tracing" />
+
+        <Button
+            android:id="@+id/btn_stop"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:text="stop tracing" />
+
+        <Button
+            android:id="@+id/btn_location"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:text="location" />
+
+        <Button
+            android:id="@+id/btn_cache"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:text="cached location" />
+
+        <Button
+            android:id="@+id/btn_stop_service"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:text="START SERVICE" />
+    </LinearLayout>
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 5 - 0
ApexDrivers/FunctionTest/src/main/res/mipmap-anydpi-v26/ic_launcher.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+    <background android:drawable="@drawable/ic_launcher_background" />
+    <foreground android:drawable="@drawable/ic_launcher_foreground" />
+</adaptive-icon>

+ 5 - 0
ApexDrivers/FunctionTest/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+    <background android:drawable="@drawable/ic_launcher_background" />
+    <foreground android:drawable="@drawable/ic_launcher_foreground" />
+</adaptive-icon>

BIN
ApexDrivers/FunctionTest/src/main/res/mipmap-hdpi/ic_launcher.png


BIN
ApexDrivers/FunctionTest/src/main/res/mipmap-hdpi/ic_launcher_round.png


BIN
ApexDrivers/FunctionTest/src/main/res/mipmap-mdpi/ic_launcher.png


BIN
ApexDrivers/FunctionTest/src/main/res/mipmap-mdpi/ic_launcher_round.png


BIN
ApexDrivers/FunctionTest/src/main/res/mipmap-xhdpi/ic_launcher.png


BIN
ApexDrivers/FunctionTest/src/main/res/mipmap-xhdpi/ic_launcher_round.png


BIN
ApexDrivers/FunctionTest/src/main/res/mipmap-xxhdpi/ic_launcher.png


BIN
ApexDrivers/FunctionTest/src/main/res/mipmap-xxhdpi/ic_launcher_round.png


BIN
ApexDrivers/FunctionTest/src/main/res/mipmap-xxxhdpi/ic_launcher.png


BIN
ApexDrivers/FunctionTest/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png


+ 6 - 0
ApexDrivers/FunctionTest/src/main/res/values/colors.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <color name="colorPrimary">#6200EE</color>
+    <color name="colorPrimaryDark">#3700B3</color>
+    <color name="colorAccent">#03DAC5</color>
+</resources>

+ 3 - 0
ApexDrivers/FunctionTest/src/main/res/values/strings.xml

@@ -0,0 +1,3 @@
+<resources>
+    <string name="app_name">FunctionTestApplication</string>
+</resources>

+ 10 - 0
ApexDrivers/FunctionTest/src/main/res/values/styles.xml

@@ -0,0 +1,10 @@
+<resources>
+    <!-- Base application theme. -->
+    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
+        <!-- Customize your theme here. -->
+        <item name="colorPrimary">@color/colorPrimary</item>
+        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
+        <item name="colorAccent">@color/colorAccent</item>
+    </style>
+
+</resources>

+ 1 - 1
ApexDrivers/apexmap/src/test/java/redant/usai/com/apexmap/ExampleUnitTest.java → ApexDrivers/FunctionTest/src/test/java/com/example/functiontest/ExampleUnitTest.java

@@ -1,4 +1,4 @@
-package redant.usai.com.apexmap;
+package com.example.functiontest;
 
 import org.junit.Test;
 

+ 1 - 0
ApexDrivers/RALocationLib/.gitignore

@@ -0,0 +1 @@
+/build

+ 33 - 0
ApexDrivers/RALocationLib/build.gradle

@@ -0,0 +1,33 @@
+apply plugin: 'com.android.library'
+
+android {
+    compileSdkVersion 29
+
+    defaultConfig {
+        minSdkVersion 24
+        targetSdkVersion 29
+        versionCode 1
+        versionName "1.0"
+
+        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+        consumerProguardFiles "consumer-rules.pro"
+    }
+
+    buildTypes {
+        release {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+        }
+    }
+}
+
+dependencies {
+    implementation fileTree(dir: "libs", include: ["*.jar"])
+    implementation 'androidx.appcompat:appcompat:1.2.0'
+    testImplementation 'junit:junit:4.12'
+    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
+    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
+    api project(':RAUtilsLibrary')
+    api 'com.google.android.gms:play-services-location:17.1.0'
+
+}

+ 1 - 0
ApexDrivers/RALocationLib/build/.transforms/6cc7486635a86fb65b24028285895d54.bin

@@ -0,0 +1 @@
+o/classes

BIN
ApexDrivers/RALocationLib/build/.transforms/6cc7486635a86fb65b24028285895d54/classes/classes.dex


+ 12 - 0
ApexDrivers/RALocationLib/build/generated/source/buildConfig/debug/com/usai/redant/ralocationlib/BuildConfig.java

@@ -0,0 +1,12 @@
+/**
+ * Automatically generated file. DO NOT MODIFY
+ */
+package com.usai.redant.ralocationlib;
+
+public final class BuildConfig {
+  public static final boolean DEBUG = Boolean.parseBoolean("true");
+  public static final String LIBRARY_PACKAGE_NAME = "com.usai.redant.ralocationlib";
+  public static final String BUILD_TYPE = "debug";
+  public static final int VERSION_CODE = 1;
+  public static final String VERSION_NAME = "1.0";
+}

+ 14 - 0
ApexDrivers/RALocationLib/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.usai.redant.ralocationlib"
+    android:versionCode="1"
+    android:versionName="1.0" >
+
+    <uses-sdk
+        android:minSdkVersion="24"
+        android:targetSdkVersion="29" />
+
+    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+
+</manifest>

+ 27 - 0
ApexDrivers/RALocationLib/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json

@@ -0,0 +1,27 @@
+{
+  "version": 1,
+  "applicationId": "com.usai.redant.ralocationlib",
+  "variantType": "LIBRARY",
+  "elements": [
+    {
+      "outputType": {
+        "type": "AAPT_FRIENDLY_MERGED_MANIFESTS"
+      },
+      "apkData": {
+        "type": "MAIN",
+        "splits": [],
+        "versionCode": 1,
+        "versionName": "1.0",
+        "outputFile": "RALocationLib-debug.aar",
+        "fullName": "debug",
+        "baseName": "debug",
+        "dirName": ""
+      },
+      "path": "AndroidManifest.xml",
+      "properties": {
+        "packageId": "com.usai.redant.ralocationlib",
+        "split": ""
+      }
+    }
+  ]
+}

+ 1 - 0
ApexDrivers/RALocationLib/build/intermediates/annotation_processor_list/debug/annotationProcessors.json

@@ -0,0 +1 @@
+{}

BIN
ApexDrivers/RALocationLib/build/intermediates/compile_library_classes_jar/debug/classes.jar


BIN
ApexDrivers/RALocationLib/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar


+ 2754 - 0
ApexDrivers/RALocationLib/build/intermediates/compile_symbol_list/debug/R.txt

@@ -0,0 +1,2754 @@
+int anim abc_fade_in 0x0
+int anim abc_fade_out 0x0
+int anim abc_grow_fade_in_from_bottom 0x0
+int anim abc_popup_enter 0x0
+int anim abc_popup_exit 0x0
+int anim abc_shrink_fade_out_from_bottom 0x0
+int anim abc_slide_in_bottom 0x0
+int anim abc_slide_in_top 0x0
+int anim abc_slide_out_bottom 0x0
+int anim abc_slide_out_top 0x0
+int anim abc_tooltip_enter 0x0
+int anim abc_tooltip_exit 0x0
+int anim btn_checkbox_to_checked_box_inner_merged_animation 0x0
+int anim btn_checkbox_to_checked_box_outer_merged_animation 0x0
+int anim btn_checkbox_to_checked_icon_null_animation 0x0
+int anim btn_checkbox_to_unchecked_box_inner_merged_animation 0x0
+int anim btn_checkbox_to_unchecked_check_path_merged_animation 0x0
+int anim btn_checkbox_to_unchecked_icon_null_animation 0x0
+int anim btn_radio_to_off_mtrl_dot_group_animation 0x0
+int anim btn_radio_to_off_mtrl_ring_outer_animation 0x0
+int anim btn_radio_to_off_mtrl_ring_outer_path_animation 0x0
+int anim btn_radio_to_on_mtrl_dot_group_animation 0x0
+int anim btn_radio_to_on_mtrl_ring_outer_animation 0x0
+int anim btn_radio_to_on_mtrl_ring_outer_path_animation 0x0
+int anim dialog_in 0x0
+int anim dialog_out 0x0
+int array country_codes 0x0
+int array preferences_front_light_options 0x0
+int array preferences_front_light_values 0x0
+int attr actionBarDivider 0x0
+int attr actionBarItemBackground 0x0
+int attr actionBarPopupTheme 0x0
+int attr actionBarSize 0x0
+int attr actionBarSplitStyle 0x0
+int attr actionBarStyle 0x0
+int attr actionBarTabBarStyle 0x0
+int attr actionBarTabStyle 0x0
+int attr actionBarTabTextStyle 0x0
+int attr actionBarTheme 0x0
+int attr actionBarWidgetTheme 0x0
+int attr actionButtonStyle 0x0
+int attr actionDropDownStyle 0x0
+int attr actionLayout 0x0
+int attr actionMenuTextAppearance 0x0
+int attr actionMenuTextColor 0x0
+int attr actionModeBackground 0x0
+int attr actionModeCloseButtonStyle 0x0
+int attr actionModeCloseDrawable 0x0
+int attr actionModeCopyDrawable 0x0
+int attr actionModeCutDrawable 0x0
+int attr actionModeFindDrawable 0x0
+int attr actionModePasteDrawable 0x0
+int attr actionModePopupWindowStyle 0x0
+int attr actionModeSelectAllDrawable 0x0
+int attr actionModeShareDrawable 0x0
+int attr actionModeSplitBackground 0x0
+int attr actionModeStyle 0x0
+int attr actionModeWebSearchDrawable 0x0
+int attr actionOverflowButtonStyle 0x0
+int attr actionOverflowMenuStyle 0x0
+int attr actionProviderClass 0x0
+int attr actionViewClass 0x0
+int attr activityChooserViewStyle 0x0
+int attr alertDialogButtonGroupStyle 0x0
+int attr alertDialogCenterButtons 0x0
+int attr alertDialogStyle 0x0
+int attr alertDialogTheme 0x0
+int attr allowStacking 0x0
+int attr alpha 0x0
+int attr alphabeticModifiers 0x0
+int attr altSrc 0x0
+int attr animate_relativeTo 0x0
+int attr applyMotionScene 0x0
+int attr arcMode 0x0
+int attr arrowHeadLength 0x0
+int attr arrowShaftLength 0x0
+int attr attributeName 0x0
+int attr autoCompleteTextViewStyle 0x0
+int attr autoSizeMaxTextSize 0x0
+int attr autoSizeMinTextSize 0x0
+int attr autoSizePresetSizes 0x0
+int attr autoSizeStepGranularity 0x0
+int attr autoSizeTextType 0x0
+int attr autoTransition 0x0
+int attr background 0x0
+int attr backgroundSplit 0x0
+int attr backgroundStacked 0x0
+int attr backgroundTint 0x0
+int attr backgroundTintMode 0x0
+int attr barLength 0x0
+int attr barrierAllowsGoneWidgets 0x0
+int attr barrierDirection 0x0
+int attr barrierMargin 0x0
+int attr borderlessButtonStyle 0x0
+int attr brightness 0x0
+int attr buttonBarButtonStyle 0x0
+int attr buttonBarNegativeButtonStyle 0x0
+int attr buttonBarNeutralButtonStyle 0x0
+int attr buttonBarPositiveButtonStyle 0x0
+int attr buttonBarStyle 0x0
+int attr buttonCompat 0x0
+int attr buttonGravity 0x0
+int attr buttonIconDimen 0x0
+int attr buttonPanelSideLayout 0x0
+int attr buttonSize 0x0
+int attr buttonStyle 0x0
+int attr buttonStyleSmall 0x0
+int attr buttonTint 0x0
+int attr buttonTintMode 0x0
+int attr chainUseRtl 0x0
+int attr checkboxStyle 0x0
+int attr checkedTextViewStyle 0x0
+int attr circleCrop 0x0
+int attr circleRadius 0x0
+int attr clickAction 0x0
+int attr closeIcon 0x0
+int attr closeItemLayout 0x0
+int attr collapseContentDescription 0x0
+int attr collapseIcon 0x0
+int attr color 0x0
+int attr colorAccent 0x0
+int attr colorBackgroundFloating 0x0
+int attr colorButtonNormal 0x0
+int attr colorControlActivated 0x0
+int attr colorControlHighlight 0x0
+int attr colorControlNormal 0x0
+int attr colorError 0x0
+int attr colorPrimary 0x0
+int attr colorPrimaryDark 0x0
+int attr colorScheme 0x0
+int attr colorSwitchThumbNormal 0x0
+int attr commitIcon 0x0
+int attr constraintSet 0x0
+int attr constraintSetEnd 0x0
+int attr constraintSetStart 0x0
+int attr constraint_referenced_ids 0x0
+int attr constraints 0x0
+int attr content 0x0
+int attr contentDescription 0x0
+int attr contentInsetEnd 0x0
+int attr contentInsetEndWithActions 0x0
+int attr contentInsetLeft 0x0
+int attr contentInsetRight 0x0
+int attr contentInsetStart 0x0
+int attr contentInsetStartWithNavigation 0x0
+int attr contrast 0x0
+int attr controlBackground 0x0
+int attr crossfade 0x0
+int attr currentState 0x0
+int attr curveFit 0x0
+int attr customBoolean 0x0
+int attr customColorDrawableValue 0x0
+int attr customColorValue 0x0
+int attr customDimension 0x0
+int attr customFloatValue 0x0
+int attr customIntegerValue 0x0
+int attr customNavigationLayout 0x0
+int attr customPixelDimension 0x0
+int attr customStringValue 0x0
+int attr defaultDuration 0x0
+int attr defaultQueryHint 0x0
+int attr defaultState 0x0
+int attr deltaPolarAngle 0x0
+int attr deltaPolarRadius 0x0
+int attr deriveConstraintsFrom 0x0
+int attr dialogCornerRadius 0x0
+int attr dialogPreferredPadding 0x0
+int attr dialogTheme 0x0
+int attr displayOptions 0x0
+int attr divider 0x0
+int attr dividerHorizontal 0x0
+int attr dividerPadding 0x0
+int attr dividerVertical 0x0
+int attr dragDirection 0x0
+int attr dragScale 0x0
+int attr dragThreshold 0x0
+int attr drawPath 0x0
+int attr drawableBottomCompat 0x0
+int attr drawableEndCompat 0x0
+int attr drawableLeftCompat 0x0
+int attr drawableRightCompat 0x0
+int attr drawableSize 0x0
+int attr drawableStartCompat 0x0
+int attr drawableTint 0x0
+int attr drawableTintMode 0x0
+int attr drawableTopCompat 0x0
+int attr drawerArrowStyle 0x0
+int attr dropDownListViewStyle 0x0
+int attr dropdownListPreferredItemHeight 0x0
+int attr duration 0x0
+int attr editTextBackground 0x0
+int attr editTextColor 0x0
+int attr editTextStyle 0x0
+int attr elevation 0x0
+int attr expandActivityOverflowButtonDrawable 0x0
+int attr firstBaselineToTopHeight 0x0
+int attr flow_firstHorizontalBias 0x0
+int attr flow_firstHorizontalStyle 0x0
+int attr flow_firstVerticalBias 0x0
+int attr flow_firstVerticalStyle 0x0
+int attr flow_horizontalAlign 0x0
+int attr flow_horizontalBias 0x0
+int attr flow_horizontalGap 0x0
+int attr flow_horizontalStyle 0x0
+int attr flow_lastHorizontalBias 0x0
+int attr flow_lastHorizontalStyle 0x0
+int attr flow_lastVerticalBias 0x0
+int attr flow_lastVerticalStyle 0x0
+int attr flow_maxElementsWrap 0x0
+int attr flow_padding 0x0
+int attr flow_verticalAlign 0x0
+int attr flow_verticalBias 0x0
+int attr flow_verticalGap 0x0
+int attr flow_verticalStyle 0x0
+int attr flow_wrapMode 0x0
+int attr font 0x0
+int attr fontFamily 0x0
+int attr fontProviderAuthority 0x0
+int attr fontProviderCerts 0x0
+int attr fontProviderFetchStrategy 0x0
+int attr fontProviderFetchTimeout 0x0
+int attr fontProviderPackage 0x0
+int attr fontProviderQuery 0x0
+int attr fontStyle 0x0
+int attr fontVariationSettings 0x0
+int attr fontWeight 0x0
+int attr framePosition 0x0
+int attr gapBetweenBars 0x0
+int attr goIcon 0x0
+int attr height 0x0
+int attr hideOnContentScroll 0x0
+int attr homeAsUpIndicator 0x0
+int attr homeLayout 0x0
+int attr icon 0x0
+int attr iconTint 0x0
+int attr iconTintMode 0x0
+int attr iconifiedByDefault 0x0
+int attr imageAspectRatio 0x0
+int attr imageAspectRatioAdjust 0x0
+int attr imageButtonStyle 0x0
+int attr indeterminateProgressStyle 0x0
+int attr initialActivityCount 0x0
+int attr isLightTheme 0x0
+int attr itemPadding 0x0
+int attr keyPositionType 0x0
+int attr lastBaselineToBottomHeight 0x0
+int attr layout 0x0
+int attr layoutDescription 0x0
+int attr layoutDuringTransition 0x0
+int attr layout_constrainedHeight 0x0
+int attr layout_constrainedWidth 0x0
+int attr layout_constraintBaseline_creator 0x0
+int attr layout_constraintBaseline_toBaselineOf 0x0
+int attr layout_constraintBottom_creator 0x0
+int attr layout_constraintBottom_toBottomOf 0x0
+int attr layout_constraintBottom_toTopOf 0x0
+int attr layout_constraintCircle 0x0
+int attr layout_constraintCircleAngle 0x0
+int attr layout_constraintCircleRadius 0x0
+int attr layout_constraintDimensionRatio 0x0
+int attr layout_constraintEnd_toEndOf 0x0
+int attr layout_constraintEnd_toStartOf 0x0
+int attr layout_constraintGuide_begin 0x0
+int attr layout_constraintGuide_end 0x0
+int attr layout_constraintGuide_percent 0x0
+int attr layout_constraintHeight_default 0x0
+int attr layout_constraintHeight_max 0x0
+int attr layout_constraintHeight_min 0x0
+int attr layout_constraintHeight_percent 0x0
+int attr layout_constraintHorizontal_bias 0x0
+int attr layout_constraintHorizontal_chainStyle 0x0
+int attr layout_constraintHorizontal_weight 0x0
+int attr layout_constraintLeft_creator 0x0
+int attr layout_constraintLeft_toLeftOf 0x0
+int attr layout_constraintLeft_toRightOf 0x0
+int attr layout_constraintRight_creator 0x0
+int attr layout_constraintRight_toLeftOf 0x0
+int attr layout_constraintRight_toRightOf 0x0
+int attr layout_constraintStart_toEndOf 0x0
+int attr layout_constraintStart_toStartOf 0x0
+int attr layout_constraintTag 0x0
+int attr layout_constraintTop_creator 0x0
+int attr layout_constraintTop_toBottomOf 0x0
+int attr layout_constraintTop_toTopOf 0x0
+int attr layout_constraintVertical_bias 0x0
+int attr layout_constraintVertical_chainStyle 0x0
+int attr layout_constraintVertical_weight 0x0
+int attr layout_constraintWidth_default 0x0
+int attr layout_constraintWidth_max 0x0
+int attr layout_constraintWidth_min 0x0
+int attr layout_constraintWidth_percent 0x0
+int attr layout_editor_absoluteX 0x0
+int attr layout_editor_absoluteY 0x0
+int attr layout_goneMarginBottom 0x0
+int attr layout_goneMarginEnd 0x0
+int attr layout_goneMarginLeft 0x0
+int attr layout_goneMarginRight 0x0
+int attr layout_goneMarginStart 0x0
+int attr layout_goneMarginTop 0x0
+int attr layout_optimizationLevel 0x0
+int attr limitBoundsTo 0x0
+int attr lineHeight 0x0
+int attr listChoiceBackgroundIndicator 0x0
+int attr listChoiceIndicatorMultipleAnimated 0x0
+int attr listChoiceIndicatorSingleAnimated 0x0
+int attr listDividerAlertDialog 0x0
+int attr listItemLayout 0x0
+int attr listLayout 0x0
+int attr listMenuViewStyle 0x0
+int attr listPopupWindowStyle 0x0
+int attr listPreferredItemHeight 0x0
+int attr listPreferredItemHeightLarge 0x0
+int attr listPreferredItemHeightSmall 0x0
+int attr listPreferredItemPaddingEnd 0x0
+int attr listPreferredItemPaddingLeft 0x0
+int attr listPreferredItemPaddingRight 0x0
+int attr listPreferredItemPaddingStart 0x0
+int attr logo 0x0
+int attr logoDescription 0x0
+int attr maxAcceleration 0x0
+int attr maxButtonHeight 0x0
+int attr maxHeight 0x0
+int attr maxVelocity 0x0
+int attr maxWidth 0x0
+int attr measureWithLargestChild 0x0
+int attr menu 0x0
+int attr minHeight 0x0
+int attr minWidth 0x0
+int attr mock_diagonalsColor 0x0
+int attr mock_label 0x0
+int attr mock_labelBackgroundColor 0x0
+int attr mock_labelColor 0x0
+int attr mock_showDiagonals 0x0
+int attr mock_showLabel 0x0
+int attr motionDebug 0x0
+int attr motionInterpolator 0x0
+int attr motionPathRotate 0x0
+int attr motionProgress 0x0
+int attr motionStagger 0x0
+int attr motionTarget 0x0
+int attr motion_postLayoutCollision 0x0
+int attr motion_triggerOnCollision 0x0
+int attr moveWhenScrollAtTop 0x0
+int attr multiChoiceItemLayout 0x0
+int attr navigationContentDescription 0x0
+int attr navigationIcon 0x0
+int attr navigationMode 0x0
+int attr nestedScrollFlags 0x0
+int attr numericModifiers 0x0
+int attr onCross 0x0
+int attr onHide 0x0
+int attr onNegativeCross 0x0
+int attr onPositiveCross 0x0
+int attr onShow 0x0
+int attr onTouchUp 0x0
+int attr overlapAnchor 0x0
+int attr overlay 0x0
+int attr paddingBottomNoButtons 0x0
+int attr paddingEnd 0x0
+int attr paddingStart 0x0
+int attr paddingTopNoTitle 0x0
+int attr panelBackground 0x0
+int attr panelMenuListTheme 0x0
+int attr panelMenuListWidth 0x0
+int attr pathMotionArc 0x0
+int attr path_percent 0x0
+int attr percentHeight 0x0
+int attr percentWidth 0x0
+int attr percentX 0x0
+int attr percentY 0x0
+int attr perpendicularPath_percent 0x0
+int attr pivotAnchor 0x0
+int attr placeholder_emptyVisibility 0x0
+int attr popupMenuStyle 0x0
+int attr popupTheme 0x0
+int attr popupWindowStyle 0x0
+int attr preserveIconSpacing 0x0
+int attr progressBarPadding 0x0
+int attr progressBarStyle 0x0
+int attr queryBackground 0x0
+int attr queryHint 0x0
+int attr radioButtonStyle 0x0
+int attr ratingBarStyle 0x0
+int attr ratingBarStyleIndicator 0x0
+int attr ratingBarStyleSmall 0x0
+int attr region_heightLessThan 0x0
+int attr region_heightMoreThan 0x0
+int attr region_widthLessThan 0x0
+int attr region_widthMoreThan 0x0
+int attr round 0x0
+int attr roundPercent 0x0
+int attr saturation 0x0
+int attr sb_handlerColor 0x0
+int attr sb_horizontal 0x0
+int attr sb_indicatorColor 0x0
+int attr sb_indicatorTextColor 0x0
+int attr scopeUris 0x0
+int attr searchHintIcon 0x0
+int attr searchIcon 0x0
+int attr searchViewStyle 0x0
+int attr seekBarStyle 0x0
+int attr selectableItemBackground 0x0
+int attr selectableItemBackgroundBorderless 0x0
+int attr showAsAction 0x0
+int attr showDividers 0x0
+int attr showPaths 0x0
+int attr showText 0x0
+int attr showTitle 0x0
+int attr singleChoiceItemLayout 0x0
+int attr sizePercent 0x0
+int attr spinBars 0x0
+int attr spinnerDropDownItemStyle 0x0
+int attr spinnerStyle 0x0
+int attr splitTrack 0x0
+int attr srcCompat 0x0
+int attr staggered 0x0
+int attr state_above_anchor 0x0
+int attr subMenuArrow 0x0
+int attr submitBackground 0x0
+int attr subtitle 0x0
+int attr subtitleTextAppearance 0x0
+int attr subtitleTextColor 0x0
+int attr subtitleTextStyle 0x0
+int attr suggestionRowLayout 0x0
+int attr switchMinWidth 0x0
+int attr switchPadding 0x0
+int attr switchStyle 0x0
+int attr switchTextAppearance 0x0
+int attr targetId 0x0
+int attr telltales_tailColor 0x0
+int attr telltales_tailScale 0x0
+int attr telltales_velocityMode 0x0
+int attr textAllCaps 0x0
+int attr textAppearanceLargePopupMenu 0x0
+int attr textAppearanceListItem 0x0
+int attr textAppearanceListItemSecondary 0x0
+int attr textAppearanceListItemSmall 0x0
+int attr textAppearancePopupMenuHeader 0x0
+int attr textAppearanceSearchResultSubtitle 0x0
+int attr textAppearanceSearchResultTitle 0x0
+int attr textAppearanceSmallPopupMenu 0x0
+int attr textColorAlertDialogListItem 0x0
+int attr textColorSearchUrl 0x0
+int attr textLocale 0x0
+int attr theme 0x0
+int attr thickness 0x0
+int attr thumbTextPadding 0x0
+int attr thumbTint 0x0
+int attr thumbTintMode 0x0
+int attr tickMark 0x0
+int attr tickMarkTint 0x0
+int attr tickMarkTintMode 0x0
+int attr tint 0x0
+int attr tintMode 0x0
+int attr title 0x0
+int attr titleMargin 0x0
+int attr titleMarginBottom 0x0
+int attr titleMarginEnd 0x0
+int attr titleMarginStart 0x0
+int attr titleMarginTop 0x0
+int attr titleMargins 0x0
+int attr titleTextAppearance 0x0
+int attr titleTextColor 0x0
+int attr titleTextStyle 0x0
+int attr toolbarNavigationButtonStyle 0x0
+int attr toolbarStyle 0x0
+int attr tooltipForegroundColor 0x0
+int attr tooltipFrameBackground 0x0
+int attr tooltipText 0x0
+int attr touchAnchorId 0x0
+int attr touchAnchorSide 0x0
+int attr touchRegionId 0x0
+int attr track 0x0
+int attr trackTint 0x0
+int attr trackTintMode 0x0
+int attr transitionDisable 0x0
+int attr transitionEasing 0x0
+int attr transitionFlags 0x0
+int attr transitionPathRotate 0x0
+int attr triggerId 0x0
+int attr triggerReceiver 0x0
+int attr triggerSlack 0x0
+int attr ttcIndex 0x0
+int attr viewInflaterClass 0x0
+int attr visibilityMode 0x0
+int attr voiceIcon 0x0
+int attr warmth 0x0
+int attr waveDecay 0x0
+int attr waveOffset 0x0
+int attr wavePeriod 0x0
+int attr waveShape 0x0
+int attr waveVariesBy 0x0
+int attr windowActionBar 0x0
+int attr windowActionBarOverlay 0x0
+int attr windowActionModeOverlay 0x0
+int attr windowFixedHeightMajor 0x0
+int attr windowFixedHeightMinor 0x0
+int attr windowFixedWidthMajor 0x0
+int attr windowFixedWidthMinor 0x0
+int attr windowMinWidthMajor 0x0
+int attr windowMinWidthMinor 0x0
+int attr windowNoTitle 0x0
+int bool abc_action_bar_embed_tabs 0x0
+int bool abc_allow_stacked_button_bar 0x0
+int bool abc_config_actionMenuItemAllCaps 0x0
+int color abc_background_cache_hint_selector_material_dark 0x0
+int color abc_background_cache_hint_selector_material_light 0x0
+int color abc_btn_colored_borderless_text_material 0x0
+int color abc_btn_colored_text_material 0x0
+int color abc_color_highlight_material 0x0
+int color abc_decor_view_status_guard 0x0
+int color abc_decor_view_status_guard_light 0x0
+int color abc_hint_foreground_material_dark 0x0
+int color abc_hint_foreground_material_light 0x0
+int color abc_primary_text_disable_only_material_dark 0x0
+int color abc_primary_text_disable_only_material_light 0x0
+int color abc_primary_text_material_dark 0x0
+int color abc_primary_text_material_light 0x0
+int color abc_search_url_text 0x0
+int color abc_search_url_text_normal 0x0
+int color abc_search_url_text_pressed 0x0
+int color abc_search_url_text_selected 0x0
+int color abc_secondary_text_material_dark 0x0
+int color abc_secondary_text_material_light 0x0
+int color abc_tint_btn_checkable 0x0
+int color abc_tint_default 0x0
+int color abc_tint_edittext 0x0
+int color abc_tint_seek_thumb 0x0
+int color abc_tint_spinner 0x0
+int color abc_tint_switch_track 0x0
+int color accent_material_dark 0x0
+int color accent_material_light 0x0
+int color androidx_core_ripple_material_light 0x0
+int color androidx_core_secondary_text_default_material_light 0x0
+int color background_floating_material_dark 0x0
+int color background_floating_material_light 0x0
+int color background_material_dark 0x0
+int color background_material_light 0x0
+int color blue 0x0
+int color bright_foreground_disabled_material_dark 0x0
+int color bright_foreground_disabled_material_light 0x0
+int color bright_foreground_inverse_material_dark 0x0
+int color bright_foreground_inverse_material_light 0x0
+int color bright_foreground_material_dark 0x0
+int color bright_foreground_material_light 0x0
+int color button_material_dark 0x0
+int color button_material_light 0x0
+int color colorAccent 0x0
+int color colorPrimary 0x0
+int color colorPrimaryDark 0x0
+int color common_google_signin_btn_text_dark 0x0
+int color common_google_signin_btn_text_dark_default 0x0
+int color common_google_signin_btn_text_dark_disabled 0x0
+int color common_google_signin_btn_text_dark_focused 0x0
+int color common_google_signin_btn_text_dark_pressed 0x0
+int color common_google_signin_btn_text_light 0x0
+int color common_google_signin_btn_text_light_default 0x0
+int color common_google_signin_btn_text_light_disabled 0x0
+int color common_google_signin_btn_text_light_focused 0x0
+int color common_google_signin_btn_text_light_pressed 0x0
+int color common_google_signin_btn_tint 0x0
+int color dim_foreground_disabled_material_dark 0x0
+int color dim_foreground_disabled_material_light 0x0
+int color dim_foreground_material_dark 0x0
+int color dim_foreground_material_light 0x0
+int color error_color_material_dark 0x0
+int color error_color_material_light 0x0
+int color foreground_material_dark 0x0
+int color foreground_material_light 0x0
+int color highlighted_text_material_dark 0x0
+int color highlighted_text_material_light 0x0
+int color material_blue_grey_800 0x0
+int color material_blue_grey_900 0x0
+int color material_blue_grey_950 0x0
+int color material_deep_teal_200 0x0
+int color material_deep_teal_500 0x0
+int color material_grey_100 0x0
+int color material_grey_300 0x0
+int color material_grey_50 0x0
+int color material_grey_600 0x0
+int color material_grey_800 0x0
+int color material_grey_850 0x0
+int color material_grey_900 0x0
+int color message_fail 0x0
+int color message_success 0x0
+int color notification_action_color_filter 0x0
+int color notification_icon_bg_color 0x0
+int color notification_material_background_media_default_color 0x0
+int color pdf_preview_icon_gray 0x0
+int color possible_result_points 0x0
+int color primary_dark_material_dark 0x0
+int color primary_dark_material_light 0x0
+int color primary_material_dark 0x0
+int color primary_material_light 0x0
+int color primary_text_default_material_dark 0x0
+int color primary_text_default_material_light 0x0
+int color primary_text_disabled_material_dark 0x0
+int color primary_text_disabled_material_light 0x0
+int color ra_white 0x0
+int color result_view 0x0
+int color ripple_material_dark 0x0
+int color ripple_material_light 0x0
+int color secondary_text_default_material_dark 0x0
+int color secondary_text_default_material_light 0x0
+int color secondary_text_disabled_material_dark 0x0
+int color secondary_text_disabled_material_light 0x0
+int color status_text 0x0
+int color switch_thumb_disabled_material_dark 0x0
+int color switch_thumb_disabled_material_light 0x0
+int color switch_thumb_material_dark 0x0
+int color switch_thumb_material_light 0x0
+int color switch_thumb_normal_material_dark 0x0
+int color switch_thumb_normal_material_light 0x0
+int color tooltip_background_dark 0x0
+int color tooltip_background_light 0x0
+int color transparent 0x0
+int color viewfinder_laser 0x0
+int color viewfinder_mask 0x0
+int dimen abc_action_bar_content_inset_material 0x0
+int dimen abc_action_bar_content_inset_with_nav 0x0
+int dimen abc_action_bar_default_height_material 0x0
+int dimen abc_action_bar_default_padding_end_material 0x0
+int dimen abc_action_bar_default_padding_start_material 0x0
+int dimen abc_action_bar_elevation_material 0x0
+int dimen abc_action_bar_icon_vertical_padding_material 0x0
+int dimen abc_action_bar_overflow_padding_end_material 0x0
+int dimen abc_action_bar_overflow_padding_start_material 0x0
+int dimen abc_action_bar_stacked_max_height 0x0
+int dimen abc_action_bar_stacked_tab_max_width 0x0
+int dimen abc_action_bar_subtitle_bottom_margin_material 0x0
+int dimen abc_action_bar_subtitle_top_margin_material 0x0
+int dimen abc_action_button_min_height_material 0x0
+int dimen abc_action_button_min_width_material 0x0
+int dimen abc_action_button_min_width_overflow_material 0x0
+int dimen abc_alert_dialog_button_bar_height 0x0
+int dimen abc_alert_dialog_button_dimen 0x0
+int dimen abc_button_inset_horizontal_material 0x0
+int dimen abc_button_inset_vertical_material 0x0
+int dimen abc_button_padding_horizontal_material 0x0
+int dimen abc_button_padding_vertical_material 0x0
+int dimen abc_cascading_menus_min_smallest_width 0x0
+int dimen abc_config_prefDialogWidth 0x0
+int dimen abc_control_corner_material 0x0
+int dimen abc_control_inset_material 0x0
+int dimen abc_control_padding_material 0x0
+int dimen abc_dialog_corner_radius_material 0x0
+int dimen abc_dialog_fixed_height_major 0x0
+int dimen abc_dialog_fixed_height_minor 0x0
+int dimen abc_dialog_fixed_width_major 0x0
+int dimen abc_dialog_fixed_width_minor 0x0
+int dimen abc_dialog_list_padding_bottom_no_buttons 0x0
+int dimen abc_dialog_list_padding_top_no_title 0x0
+int dimen abc_dialog_min_width_major 0x0
+int dimen abc_dialog_min_width_minor 0x0
+int dimen abc_dialog_padding_material 0x0
+int dimen abc_dialog_padding_top_material 0x0
+int dimen abc_dialog_title_divider_material 0x0
+int dimen abc_disabled_alpha_material_dark 0x0
+int dimen abc_disabled_alpha_material_light 0x0
+int dimen abc_dropdownitem_icon_width 0x0
+int dimen abc_dropdownitem_text_padding_left 0x0
+int dimen abc_dropdownitem_text_padding_right 0x0
+int dimen abc_edit_text_inset_bottom_material 0x0
+int dimen abc_edit_text_inset_horizontal_material 0x0
+int dimen abc_edit_text_inset_top_material 0x0
+int dimen abc_floating_window_z 0x0
+int dimen abc_list_item_height_large_material 0x0
+int dimen abc_list_item_height_material 0x0
+int dimen abc_list_item_height_small_material 0x0
+int dimen abc_list_item_padding_horizontal_material 0x0
+int dimen abc_panel_menu_list_width 0x0
+int dimen abc_progress_bar_height_material 0x0
+int dimen abc_search_view_preferred_height 0x0
+int dimen abc_search_view_preferred_width 0x0
+int dimen abc_seekbar_track_background_height_material 0x0
+int dimen abc_seekbar_track_progress_height_material 0x0
+int dimen abc_select_dialog_padding_start_material 0x0
+int dimen abc_switch_padding 0x0
+int dimen abc_text_size_body_1_material 0x0
+int dimen abc_text_size_body_2_material 0x0
+int dimen abc_text_size_button_material 0x0
+int dimen abc_text_size_caption_material 0x0
+int dimen abc_text_size_display_1_material 0x0
+int dimen abc_text_size_display_2_material 0x0
+int dimen abc_text_size_display_3_material 0x0
+int dimen abc_text_size_display_4_material 0x0
+int dimen abc_text_size_headline_material 0x0
+int dimen abc_text_size_large_material 0x0
+int dimen abc_text_size_medium_material 0x0
+int dimen abc_text_size_menu_header_material 0x0
+int dimen abc_text_size_menu_material 0x0
+int dimen abc_text_size_small_material 0x0
+int dimen abc_text_size_subhead_material 0x0
+int dimen abc_text_size_subtitle_material_toolbar 0x0
+int dimen abc_text_size_title_material 0x0
+int dimen abc_text_size_title_material_toolbar 0x0
+int dimen compat_button_inset_horizontal_material 0x0
+int dimen compat_button_inset_vertical_material 0x0
+int dimen compat_button_padding_horizontal_material 0x0
+int dimen compat_button_padding_vertical_material 0x0
+int dimen compat_control_corner_material 0x0
+int dimen compat_notification_large_icon_max_height 0x0
+int dimen compat_notification_large_icon_max_width 0x0
+int dimen disabled_alpha_material_dark 0x0
+int dimen disabled_alpha_material_light 0x0
+int dimen highlight_alpha_material_colored 0x0
+int dimen highlight_alpha_material_dark 0x0
+int dimen highlight_alpha_material_light 0x0
+int dimen hint_alpha_material_dark 0x0
+int dimen hint_alpha_material_light 0x0
+int dimen hint_pressed_alpha_material_dark 0x0
+int dimen hint_pressed_alpha_material_light 0x0
+int dimen notification_action_icon_size 0x0
+int dimen notification_action_text_size 0x0
+int dimen notification_big_circle_margin 0x0
+int dimen notification_content_margin_start 0x0
+int dimen notification_large_icon_height 0x0
+int dimen notification_large_icon_width 0x0
+int dimen notification_main_column_padding_top 0x0
+int dimen notification_media_narrow_margin 0x0
+int dimen notification_right_icon_size 0x0
+int dimen notification_right_side_padding_top 0x0
+int dimen notification_small_icon_background_padding 0x0
+int dimen notification_small_icon_size_as_large 0x0
+int dimen notification_subtext_size 0x0
+int dimen notification_top_pad 0x0
+int dimen notification_top_pad_large_text 0x0
+int dimen tooltip_corner_radius 0x0
+int dimen tooltip_horizontal_padding 0x0
+int dimen tooltip_margin 0x0
+int dimen tooltip_precise_anchor_extra_offset 0x0
+int dimen tooltip_precise_anchor_threshold 0x0
+int dimen tooltip_vertical_padding 0x0
+int dimen tooltip_y_offset_non_touch 0x0
+int dimen tooltip_y_offset_touch 0x0
+int drawable abc_ab_share_pack_mtrl_alpha 0x0
+int drawable abc_action_bar_item_background_material 0x0
+int drawable abc_btn_borderless_material 0x0
+int drawable abc_btn_check_material 0x0
+int drawable abc_btn_check_material_anim 0x0
+int drawable abc_btn_check_to_on_mtrl_000 0x0
+int drawable abc_btn_check_to_on_mtrl_015 0x0
+int drawable abc_btn_colored_material 0x0
+int drawable abc_btn_default_mtrl_shape 0x0
+int drawable abc_btn_radio_material 0x0
+int drawable abc_btn_radio_material_anim 0x0
+int drawable abc_btn_radio_to_on_mtrl_000 0x0
+int drawable abc_btn_radio_to_on_mtrl_015 0x0
+int drawable abc_btn_switch_to_on_mtrl_00001 0x0
+int drawable abc_btn_switch_to_on_mtrl_00012 0x0
+int drawable abc_cab_background_internal_bg 0x0
+int drawable abc_cab_background_top_material 0x0
+int drawable abc_cab_background_top_mtrl_alpha 0x0
+int drawable abc_control_background_material 0x0
+int drawable abc_dialog_material_background 0x0
+int drawable abc_edit_text_material 0x0
+int drawable abc_ic_ab_back_material 0x0
+int drawable abc_ic_arrow_drop_right_black_24dp 0x0
+int drawable abc_ic_clear_material 0x0
+int drawable abc_ic_commit_search_api_mtrl_alpha 0x0
+int drawable abc_ic_go_search_api_material 0x0
+int drawable abc_ic_menu_copy_mtrl_am_alpha 0x0
+int drawable abc_ic_menu_cut_mtrl_alpha 0x0
+int drawable abc_ic_menu_overflow_material 0x0
+int drawable abc_ic_menu_paste_mtrl_am_alpha 0x0
+int drawable abc_ic_menu_selectall_mtrl_alpha 0x0
+int drawable abc_ic_menu_share_mtrl_alpha 0x0
+int drawable abc_ic_search_api_material 0x0
+int drawable abc_ic_star_black_16dp 0x0
+int drawable abc_ic_star_black_36dp 0x0
+int drawable abc_ic_star_black_48dp 0x0
+int drawable abc_ic_star_half_black_16dp 0x0
+int drawable abc_ic_star_half_black_36dp 0x0
+int drawable abc_ic_star_half_black_48dp 0x0
+int drawable abc_ic_voice_search_api_material 0x0
+int drawable abc_item_background_holo_dark 0x0
+int drawable abc_item_background_holo_light 0x0
+int drawable abc_list_divider_material 0x0
+int drawable abc_list_divider_mtrl_alpha 0x0
+int drawable abc_list_focused_holo 0x0
+int drawable abc_list_longpressed_holo 0x0
+int drawable abc_list_pressed_holo_dark 0x0
+int drawable abc_list_pressed_holo_light 0x0
+int drawable abc_list_selector_background_transition_holo_dark 0x0
+int drawable abc_list_selector_background_transition_holo_light 0x0
+int drawable abc_list_selector_disabled_holo_dark 0x0
+int drawable abc_list_selector_disabled_holo_light 0x0
+int drawable abc_list_selector_holo_dark 0x0
+int drawable abc_list_selector_holo_light 0x0
+int drawable abc_menu_hardkey_panel_mtrl_mult 0x0
+int drawable abc_popup_background_mtrl_mult 0x0
+int drawable abc_ratingbar_indicator_material 0x0
+int drawable abc_ratingbar_material 0x0
+int drawable abc_ratingbar_small_material 0x0
+int drawable abc_scrubber_control_off_mtrl_alpha 0x0
+int drawable abc_scrubber_control_to_pressed_mtrl_000 0x0
+int drawable abc_scrubber_control_to_pressed_mtrl_005 0x0
+int drawable abc_scrubber_primary_mtrl_alpha 0x0
+int drawable abc_scrubber_track_mtrl_alpha 0x0
+int drawable abc_seekbar_thumb_material 0x0
+int drawable abc_seekbar_tick_mark_material 0x0
+int drawable abc_seekbar_track_material 0x0
+int drawable abc_spinner_mtrl_am_alpha 0x0
+int drawable abc_spinner_textfield_background_material 0x0
+int drawable abc_switch_thumb_material 0x0
+int drawable abc_switch_track_mtrl_alpha 0x0
+int drawable abc_tab_indicator_material 0x0
+int drawable abc_tab_indicator_mtrl_alpha 0x0
+int drawable abc_text_cursor_material 0x0
+int drawable abc_text_select_handle_left_mtrl_dark 0x0
+int drawable abc_text_select_handle_left_mtrl_light 0x0
+int drawable abc_text_select_handle_middle_mtrl_dark 0x0
+int drawable abc_text_select_handle_middle_mtrl_light 0x0
+int drawable abc_text_select_handle_right_mtrl_dark 0x0
+int drawable abc_text_select_handle_right_mtrl_light 0x0
+int drawable abc_textfield_activated_mtrl_alpha 0x0
+int drawable abc_textfield_default_mtrl_alpha 0x0
+int drawable abc_textfield_search_activated_mtrl_alpha 0x0
+int drawable abc_textfield_search_default_mtrl_alpha 0x0
+int drawable abc_textfield_search_material 0x0
+int drawable abc_vector_test 0x0
+int drawable actionsheet_round_corner_highlight_bg 0x0
+int drawable actionsheet_round_corner_normal_bg 0x0
+int drawable actionsheet_round_corner_selected_bg 0x0
+int drawable btn_checkbox_checked_mtrl 0x0
+int drawable btn_checkbox_checked_to_unchecked_mtrl_animation 0x0
+int drawable btn_checkbox_unchecked_mtrl 0x0
+int drawable btn_checkbox_unchecked_to_checked_mtrl_animation 0x0
+int drawable btn_radio_off_mtrl 0x0
+int drawable btn_radio_off_to_on_mtrl_animation 0x0
+int drawable btn_radio_on_mtrl 0x0
+int drawable btn_radio_on_to_off_mtrl_animation 0x0
+int drawable common_full_open_on_phone 0x0
+int drawable common_google_signin_btn_icon_dark 0x0
+int drawable common_google_signin_btn_icon_dark_focused 0x0
+int drawable common_google_signin_btn_icon_dark_normal 0x0
+int drawable common_google_signin_btn_icon_dark_normal_background 0x0
+int drawable common_google_signin_btn_icon_disabled 0x0
+int drawable common_google_signin_btn_icon_light 0x0
+int drawable common_google_signin_btn_icon_light_focused 0x0
+int drawable common_google_signin_btn_icon_light_normal 0x0
+int drawable common_google_signin_btn_icon_light_normal_background 0x0
+int drawable common_google_signin_btn_text_dark 0x0
+int drawable common_google_signin_btn_text_dark_focused 0x0
+int drawable common_google_signin_btn_text_dark_normal 0x0
+int drawable common_google_signin_btn_text_dark_normal_background 0x0
+int drawable common_google_signin_btn_text_disabled 0x0
+int drawable common_google_signin_btn_text_light 0x0
+int drawable common_google_signin_btn_text_light_focused 0x0
+int drawable common_google_signin_btn_text_light_normal 0x0
+int drawable common_google_signin_btn_text_light_normal_background 0x0
+int drawable default_scroll_handle_bottom 0x0
+int drawable default_scroll_handle_left 0x0
+int drawable default_scroll_handle_right 0x0
+int drawable default_scroll_handle_top 0x0
+int drawable googleg_disabled_color_18 0x0
+int drawable googleg_standard_color_18 0x0
+int drawable ic_action_reload 0x0
+int drawable ic_file 0x0
+int drawable ic_folder 0x0
+int drawable ic_launcher_background 0x0
+int drawable ic_launcher_foreground 0x0
+int drawable notification_action_background 0x0
+int drawable notification_bg 0x0
+int drawable notification_bg_low 0x0
+int drawable notification_bg_low_normal 0x0
+int drawable notification_bg_low_pressed 0x0
+int drawable notification_bg_normal 0x0
+int drawable notification_bg_normal_pressed 0x0
+int drawable notification_icon_background 0x0
+int drawable notification_template_icon_bg 0x0
+int drawable notification_template_icon_low_bg 0x0
+int drawable notification_tile_bg 0x0
+int drawable notify_panel_notification_icon_bg 0x0
+int drawable ra_button_background 0x0
+int drawable ra_clear_background 0x0
+int drawable ra_greenbg_round_corner_25 0x0
+int drawable ra_infinite_photo_index_round_corner 0x0
+int drawable ra_redbg_round_corner_25 0x0
+int drawable ra_round_corner_10 0x0
+int drawable ra_signature_clear 0x0
+int drawable ra_signature_save 0x0
+int drawable tooltip_frame_dark 0x0
+int drawable tooltip_frame_light 0x0
+int id NO_DEBUG 0x0
+int id SHOW_ALL 0x0
+int id SHOW_PATH 0x0
+int id SHOW_PROGRESS 0x0
+int id accelerate 0x0
+int id accessibility_action_clickable_span 0x0
+int id accessibility_custom_action_0 0x0
+int id accessibility_custom_action_1 0x0
+int id accessibility_custom_action_10 0x0
+int id accessibility_custom_action_11 0x0
+int id accessibility_custom_action_12 0x0
+int id accessibility_custom_action_13 0x0
+int id accessibility_custom_action_14 0x0
+int id accessibility_custom_action_15 0x0
+int id accessibility_custom_action_16 0x0
+int id accessibility_custom_action_17 0x0
+int id accessibility_custom_action_18 0x0
+int id accessibility_custom_action_19 0x0
+int id accessibility_custom_action_2 0x0
+int id accessibility_custom_action_20 0x0
+int id accessibility_custom_action_21 0x0
+int id accessibility_custom_action_22 0x0
+int id accessibility_custom_action_23 0x0
+int id accessibility_custom_action_24 0x0
+int id accessibility_custom_action_25 0x0
+int id accessibility_custom_action_26 0x0
+int id accessibility_custom_action_27 0x0
+int id accessibility_custom_action_28 0x0
+int id accessibility_custom_action_29 0x0
+int id accessibility_custom_action_3 0x0
+int id accessibility_custom_action_30 0x0
+int id accessibility_custom_action_31 0x0
+int id accessibility_custom_action_4 0x0
+int id accessibility_custom_action_5 0x0
+int id accessibility_custom_action_6 0x0
+int id accessibility_custom_action_7 0x0
+int id accessibility_custom_action_8 0x0
+int id accessibility_custom_action_9 0x0
+int id action0 0x0
+int id action_bar 0x0
+int id action_bar_activity_content 0x0
+int id action_bar_container 0x0
+int id action_bar_root 0x0
+int id action_bar_spinner 0x0
+int id action_bar_subtitle 0x0
+int id action_bar_title 0x0
+int id action_container 0x0
+int id action_context_bar 0x0
+int id action_divider 0x0
+int id action_image 0x0
+int id action_menu_divider 0x0
+int id action_menu_presenter 0x0
+int id action_mode_bar 0x0
+int id action_mode_bar_stub 0x0
+int id action_mode_close_button 0x0
+int id action_sign_in 0x0
+int id action_text 0x0
+int id actions 0x0
+int id activity_chooser_view_content 0x0
+int id add 0x0
+int id adjust_height 0x0
+int id adjust_width 0x0
+int id alertTitle 0x0
+int id aligned 0x0
+int id animateToEnd 0x0
+int id animateToStart 0x0
+int id asConfigured 0x0
+int id async 0x0
+int id auto 0x0
+int id autoComplete 0x0
+int id autoCompleteToEnd 0x0
+int id autoCompleteToStart 0x0
+int id baseline 0x0
+int id blocking 0x0
+int id bottom 0x0
+int id bounce 0x0
+int id btn_reload 0x0
+int id btn_switch 0x0
+int id buttonPanel 0x0
+int id cancel_action 0x0
+int id center 0x0
+int id chain 0x0
+int id checkbox 0x0
+int id checked 0x0
+int id chronometer 0x0
+int id clear_upload_list_btn 0x0
+int id constraintLayout 0x0
+int id content 0x0
+int id contentPanel 0x0
+int id cos 0x0
+int id custom 0x0
+int id customPanel 0x0
+int id dark 0x0
+int id decelerate 0x0
+int id decelerateAndComplete 0x0
+int id decode 0x0
+int id decode_failed 0x0
+int id decode_succeeded 0x0
+int id decor_content_parent 0x0
+int id default_activity_button 0x0
+int id deltaRelative 0x0
+int id dialog_button 0x0
+int id dragDown 0x0
+int id dragEnd 0x0
+int id dragLeft 0x0
+int id dragRight 0x0
+int id dragStart 0x0
+int id dragUp 0x0
+int id easeIn 0x0
+int id easeInOut 0x0
+int id easeOut 0x0
+int id edit_query 0x0
+int id end 0x0
+int id end_padder 0x0
+int id expand_activities_button 0x0
+int id expanded_menu 0x0
+int id file_cell_icon 0x0
+int id file_cell_name_tv 0x0
+int id file_list_view 0x0
+int id flip 0x0
+int id forever 0x0
+int id gone 0x0
+int id group_divider 0x0
+int id home 0x0
+int id honorRequest 0x0
+int id icon 0x0
+int id icon_group 0x0
+int id icon_only 0x0
+int id ignore 0x0
+int id ignoreRequest 0x0
+int id image 0x0
+int id info 0x0
+int id invisible 0x0
+int id italic 0x0
+int id jumpToEnd 0x0
+int id jumpToStart 0x0
+int id launch_product_query 0x0
+int id layout 0x0
+int id left 0x0
+int id light 0x0
+int id line1 0x0
+int id line3 0x0
+int id linear 0x0
+int id listMode 0x0
+int id list_item 0x0
+int id media_actions 0x0
+int id message 0x0
+int id middle 0x0
+int id motion_base 0x0
+int id multiply 0x0
+int id none 0x0
+int id normal 0x0
+int id notification_background 0x0
+int id notification_main_column 0x0
+int id notification_main_column_container 0x0
+int id off 0x0
+int id on 0x0
+int id packed 0x0
+int id parent 0x0
+int id parentPanel 0x0
+int id parentRelative 0x0
+int id path 0x0
+int id pathRelative 0x0
+int id pdfView 0x0
+int id pdf_preview_action_open 0x0
+int id pdf_preview_action_send 0x0
+int id percent 0x0
+int id position 0x0
+int id postLayout 0x0
+int id preview_view 0x0
+int id progress_circular 0x0
+int id progress_horizontal 0x0
+int id quit 0x0
+int id ra_date_day_picker 0x0
+int id ra_date_month_picker 0x0
+int id ra_date_time_picker_cancel_btn 0x0
+int id ra_date_time_picker_confirm_panel 0x0
+int id ra_date_time_picker_loop_panel 0x0
+int id ra_date_time_picker_ok_btn 0x0
+int id ra_date_time_picker_title_tv 0x0
+int id ra_date_year_picker 0x0
+int id ra_infinite_photo_carousel 0x0
+int id ra_infinite_photo_indicator_tv 0x0
+int id ra_infinite_photo_iv 0x0
+int id ra_signature_clear_btn 0x0
+int id ra_signature_content_view 0x0
+int id ra_signature_save_btn 0x0
+int id ra_time_picker_hour 0x0
+int id ra_time_picker_minute 0x0
+int id ra_time_picker_second 0x0
+int id radio 0x0
+int id rectangles 0x0
+int id restart_preview 0x0
+int id return_scan_result 0x0
+int id reverseSawtooth 0x0
+int id right 0x0
+int id right_icon 0x0
+int id right_side 0x0
+int id sawtooth 0x0
+int id screen 0x0
+int id scrollIndicatorDown 0x0
+int id scrollIndicatorUp 0x0
+int id scrollView 0x0
+int id search_badge 0x0
+int id search_bar 0x0
+int id search_button 0x0
+int id search_close_btn 0x0
+int id search_edit_frame 0x0
+int id search_go_btn 0x0
+int id search_mag_icon 0x0
+int id search_plate 0x0
+int id search_src_text 0x0
+int id search_voice_btn 0x0
+int id select_dialog_listview 0x0
+int id shortcut 0x0
+int id sin 0x0
+int id spacer 0x0
+int id spline 0x0
+int id split_action_bar 0x0
+int id spread 0x0
+int id spread_inside 0x0
+int id square 0x0
+int id src_atop 0x0
+int id src_in 0x0
+int id src_over 0x0
+int id standard 0x0
+int id start 0x0
+int id startHorizontal 0x0
+int id startVertical 0x0
+int id staticLayout 0x0
+int id staticPostLayout 0x0
+int id status_bar_latest_event_content 0x0
+int id status_view 0x0
+int id stop 0x0
+int id submenuarrow 0x0
+int id submit_area 0x0
+int id tabMode 0x0
+int id tag_accessibility_actions 0x0
+int id tag_accessibility_clickable_spans 0x0
+int id tag_accessibility_heading 0x0
+int id tag_accessibility_pane_title 0x0
+int id tag_screen_reader_focusable 0x0
+int id tag_transition_group 0x0
+int id tag_unhandled_key_event_manager 0x0
+int id tag_unhandled_key_listeners 0x0
+int id task_list 0x0
+int id text 0x0
+int id text2 0x0
+int id textSpacerNoButtons 0x0
+int id textSpacerNoTitle 0x0
+int id textView1 0x0
+int id time 0x0
+int id title 0x0
+int id titleDividerNoCustom 0x0
+int id title_template 0x0
+int id top 0x0
+int id topPanel 0x0
+int id triangle 0x0
+int id unchecked 0x0
+int id uniform 0x0
+int id up 0x0
+int id upload_err_tv 0x0
+int id upload_name_tv 0x0
+int id upload_percent_tv 0x0
+int id upload_progressBar 0x0
+int id upload_progress_tv 0x0
+int id upload_state_tv 0x0
+int id viewfinder_view 0x0
+int id visible 0x0
+int id wide 0x0
+int id wrap 0x0
+int id wrap_content 0x0
+int integer abc_config_activityDefaultDur 0x0
+int integer abc_config_activityShortDur 0x0
+int integer cancel_button_image_alpha 0x0
+int integer config_tooltipAnimTime 0x0
+int integer google_play_services_version 0x0
+int integer status_bar_notification_info_maxnum 0x0
+int interpolator btn_checkbox_checked_mtrl_animation_interpolator_0 0x0
+int interpolator btn_checkbox_checked_mtrl_animation_interpolator_1 0x0
+int interpolator btn_checkbox_unchecked_mtrl_animation_interpolator_0 0x0
+int interpolator btn_checkbox_unchecked_mtrl_animation_interpolator_1 0x0
+int interpolator btn_radio_to_off_mtrl_animation_interpolator_0 0x0
+int interpolator btn_radio_to_on_mtrl_animation_interpolator_0 0x0
+int interpolator fast_out_slow_in 0x0
+int layout abc_action_bar_title_item 0x0
+int layout abc_action_bar_up_container 0x0
+int layout abc_action_menu_item_layout 0x0
+int layout abc_action_menu_layout 0x0
+int layout abc_action_mode_bar 0x0
+int layout abc_action_mode_close_item_material 0x0
+int layout abc_activity_chooser_view 0x0
+int layout abc_activity_chooser_view_list_item 0x0
+int layout abc_alert_dialog_button_bar_material 0x0
+int layout abc_alert_dialog_material 0x0
+int layout abc_alert_dialog_title_material 0x0
+int layout abc_cascading_menu_item_layout 0x0
+int layout abc_dialog_title_material 0x0
+int layout abc_expanded_menu_layout 0x0
+int layout abc_list_menu_item_checkbox 0x0
+int layout abc_list_menu_item_icon 0x0
+int layout abc_list_menu_item_layout 0x0
+int layout abc_list_menu_item_radio 0x0
+int layout abc_popup_menu_header_item_layout 0x0
+int layout abc_popup_menu_item_layout 0x0
+int layout abc_screen_content_include 0x0
+int layout abc_screen_simple 0x0
+int layout abc_screen_simple_overlay_action_mode 0x0
+int layout abc_screen_toolbar 0x0
+int layout abc_search_dropdown_item_icons_2line 0x0
+int layout abc_search_view 0x0
+int layout abc_select_dialog_material 0x0
+int layout abc_tooltip 0x0
+int layout action_sheet 0x0
+int layout actionbar_customtitle 0x0
+int layout capture 0x0
+int layout custom_dialog 0x0
+int layout file_viewer_activity 0x0
+int layout file_viewer_cell 0x0
+int layout notification_action 0x0
+int layout notification_action_tombstone 0x0
+int layout notification_media_action 0x0
+int layout notification_media_cancel_action 0x0
+int layout notification_template_big_media 0x0
+int layout notification_template_big_media_custom 0x0
+int layout notification_template_big_media_narrow 0x0
+int layout notification_template_big_media_narrow_custom 0x0
+int layout notification_template_custom_big 0x0
+int layout notification_template_icon_group 0x0
+int layout notification_template_lines_media 0x0
+int layout notification_template_media 0x0
+int layout notification_template_media_custom 0x0
+int layout notification_template_part_chronometer 0x0
+int layout notification_template_part_time 0x0
+int layout pdf_preview_activity 0x0
+int layout ra_date_picker_compact_view 0x0
+int layout ra_date_picker_regular_view 0x0
+int layout ra_date_time_picker_dialog_content_view 0x0
+int layout ra_infinite_photo_activity 0x0
+int layout ra_infinite_photo_cell 0x0
+int layout ra_signature_activity 0x0
+int layout ra_time_picker_view 0x0
+int layout select_dialog_item_material 0x0
+int layout select_dialog_multichoice_material 0x0
+int layout select_dialog_singlechoice_material 0x0
+int layout support_simple_spinner_dropdown_item 0x0
+int layout upload_list_activity 0x0
+int layout upload_list_cell 0x0
+int menu pdf_preview_menu 0x0
+int menu ra_signature_menu 0x0
+int menu ra_upload_list_menu 0x0
+int raw beep 0x0
+int raw license 0x0
+int string abc_action_bar_home_description 0x0
+int string abc_action_bar_up_description 0x0
+int string abc_action_menu_overflow_description 0x0
+int string abc_action_mode_done 0x0
+int string abc_activity_chooser_view_see_all 0x0
+int string abc_activitychooserview_choose_application 0x0
+int string abc_capital_off 0x0
+int string abc_capital_on 0x0
+int string abc_menu_alt_shortcut_label 0x0
+int string abc_menu_ctrl_shortcut_label 0x0
+int string abc_menu_delete_shortcut_label 0x0
+int string abc_menu_enter_shortcut_label 0x0
+int string abc_menu_function_shortcut_label 0x0
+int string abc_menu_meta_shortcut_label 0x0
+int string abc_menu_shift_shortcut_label 0x0
+int string abc_menu_space_shortcut_label 0x0
+int string abc_menu_sym_shortcut_label 0x0
+int string abc_prepend_shortcut_label 0x0
+int string abc_search_hint 0x0
+int string abc_searchview_description_clear 0x0
+int string abc_searchview_description_query 0x0
+int string abc_searchview_description_search 0x0
+int string abc_searchview_description_submit 0x0
+int string abc_searchview_description_voice 0x0
+int string abc_shareactionprovider_share_with 0x0
+int string abc_shareactionprovider_share_with_application 0x0
+int string abc_toolbar_collapse_description 0x0
+int string app_name 0x0
+int string common_google_play_services_enable_button 0x0
+int string common_google_play_services_enable_text 0x0
+int string common_google_play_services_enable_title 0x0
+int string common_google_play_services_install_button 0x0
+int string common_google_play_services_install_text 0x0
+int string common_google_play_services_install_title 0x0
+int string common_google_play_services_notification_channel_name 0x0
+int string common_google_play_services_notification_ticker 0x0
+int string common_google_play_services_unknown_issue 0x0
+int string common_google_play_services_unsupported_text 0x0
+int string common_google_play_services_update_button 0x0
+int string common_google_play_services_update_text 0x0
+int string common_google_play_services_update_title 0x0
+int string common_google_play_services_updating_text 0x0
+int string common_google_play_services_wear_update_text 0x0
+int string common_open_on_phone 0x0
+int string common_signin_button_text 0x0
+int string common_signin_button_text_long 0x0
+int string msg_camera_framework_bug 0x0
+int string msg_default_status 0x0
+int string pdf_preview_open 0x0
+int string pdf_preview_share 0x0
+int string preferences_actions_title 0x0
+int string preferences_auto_focus_title 0x0
+int string preferences_bulk_mode_summary 0x0
+int string preferences_bulk_mode_title 0x0
+int string preferences_copy_to_clipboard_title 0x0
+int string preferences_custom_product_search_summary 0x0
+int string preferences_custom_product_search_title 0x0
+int string preferences_decode_1D_title 0x0
+int string preferences_decode_Data_Matrix_title 0x0
+int string preferences_decode_QR_title 0x0
+int string preferences_device_bug_workarounds_title 0x0
+int string preferences_disable_continuous_focus_summary 0x0
+int string preferences_disable_continuous_focus_title 0x0
+int string preferences_front_light_auto 0x0
+int string preferences_front_light_off 0x0
+int string preferences_front_light_on 0x0
+int string preferences_front_light_summary 0x0
+int string preferences_front_light_title 0x0
+int string preferences_general_title 0x0
+int string preferences_invert_scan_summary 0x0
+int string preferences_invert_scan_title 0x0
+int string preferences_play_beep_title 0x0
+int string preferences_remember_duplicates_summary 0x0
+int string preferences_remember_duplicates_title 0x0
+int string preferences_result_title 0x0
+int string preferences_scanning_title 0x0
+int string preferences_search_country 0x0
+int string preferences_supplemental_summary 0x0
+int string preferences_supplemental_title 0x0
+int string preferences_try_bsplus 0x0
+int string preferences_try_bsplus_summary 0x0
+int string preferences_vibrate_title 0x0
+int string ra_allow_camera_and_storage 0x0
+int string ra_btn_cancel 0x0
+int string ra_btn_ok 0x0
+int string ra_clear_ask 0x0
+int string ra_clear_title 0x0
+int string ra_email_no_email 0x0
+int string ra_map_alert_no_google_map 0x0
+int string ra_sorry 0x0
+int string ra_title_warning 0x0
+int string ra_upload_empty 0x0
+int string ra_upload_menu_clear 0x0
+int string ra_upload_title 0x0
+int string search_menu_title 0x0
+int string status_bar_notification_info_overflow 0x0
+int string zxing_button_ok 0x0
+int style AlertDialog_AppCompat 0x0
+int style AlertDialog_AppCompat_Light 0x0
+int style Animation_AppCompat_Dialog 0x0
+int style Animation_AppCompat_DropDownUp 0x0
+int style Animation_AppCompat_Tooltip 0x0
+int style AppTheme 0x0
+int style Base_AlertDialog_AppCompat 0x0
+int style Base_AlertDialog_AppCompat_Light 0x0
+int style Base_Animation_AppCompat_Dialog 0x0
+int style Base_Animation_AppCompat_DropDownUp 0x0
+int style Base_Animation_AppCompat_Tooltip 0x0
+int style Base_DialogWindowTitleBackground_AppCompat 0x0
+int style Base_DialogWindowTitle_AppCompat 0x0
+int style Base_TextAppearance_AppCompat 0x0
+int style Base_TextAppearance_AppCompat_Body1 0x0
+int style Base_TextAppearance_AppCompat_Body2 0x0
+int style Base_TextAppearance_AppCompat_Button 0x0
+int style Base_TextAppearance_AppCompat_Caption 0x0
+int style Base_TextAppearance_AppCompat_Display1 0x0
+int style Base_TextAppearance_AppCompat_Display2 0x0
+int style Base_TextAppearance_AppCompat_Display3 0x0
+int style Base_TextAppearance_AppCompat_Display4 0x0
+int style Base_TextAppearance_AppCompat_Headline 0x0
+int style Base_TextAppearance_AppCompat_Inverse 0x0
+int style Base_TextAppearance_AppCompat_Large 0x0
+int style Base_TextAppearance_AppCompat_Large_Inverse 0x0
+int style Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Large 0x0
+int style Base_TextAppearance_AppCompat_Light_Widget_PopupMenu_Small 0x0
+int style Base_TextAppearance_AppCompat_Medium 0x0
+int style Base_TextAppearance_AppCompat_Medium_Inverse 0x0
+int style Base_TextAppearance_AppCompat_Menu 0x0
+int style Base_TextAppearance_AppCompat_SearchResult 0x0
+int style Base_TextAppearance_AppCompat_SearchResult_Subtitle 0x0
+int style Base_TextAppearance_AppCompat_SearchResult_Title 0x0
+int style Base_TextAppearance_AppCompat_Small 0x0
+int style Base_TextAppearance_AppCompat_Small_Inverse 0x0
+int style Base_TextAppearance_AppCompat_Subhead 0x0
+int style Base_TextAppearance_AppCompat_Subhead_Inverse 0x0
+int style Base_TextAppearance_AppCompat_Title 0x0
+int style Base_TextAppearance_AppCompat_Title_Inverse 0x0
+int style Base_TextAppearance_AppCompat_Tooltip 0x0
+int style Base_TextAppearance_AppCompat_Widget_ActionBar_Menu 0x0
+int style Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle 0x0
+int style Base_TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse 0x0
+int style Base_TextAppearance_AppCompat_Widget_ActionBar_Title 0x0
+int style Base_TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse 0x0
+int style Base_TextAppearance_AppCompat_Widget_ActionMode_Subtitle 0x0
+int style Base_TextAppearance_AppCompat_Widget_ActionMode_Title 0x0
+int style Base_TextAppearance_AppCompat_Widget_Button 0x0
+int style Base_TextAppearance_AppCompat_Widget_Button_Borderless_Colored 0x0
+int style Base_TextAppearance_AppCompat_Widget_Button_Colored 0x0
+int style Base_TextAppearance_AppCompat_Widget_Button_Inverse 0x0
+int style Base_TextAppearance_AppCompat_Widget_DropDownItem 0x0
+int style Base_TextAppearance_AppCompat_Widget_PopupMenu_Header 0x0
+int style Base_TextAppearance_AppCompat_Widget_PopupMenu_Large 0x0
+int style Base_TextAppearance_AppCompat_Widget_PopupMenu_Small 0x0
+int style Base_TextAppearance_AppCompat_Widget_Switch 0x0
+int style Base_TextAppearance_AppCompat_Widget_TextView_SpinnerItem 0x0
+int style Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item 0x0
+int style Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle 0x0
+int style Base_TextAppearance_Widget_AppCompat_Toolbar_Title 0x0
+int style Base_ThemeOverlay_AppCompat 0x0
+int style Base_ThemeOverlay_AppCompat_ActionBar 0x0
+int style Base_ThemeOverlay_AppCompat_Dark 0x0
+int style Base_ThemeOverlay_AppCompat_Dark_ActionBar 0x0
+int style Base_ThemeOverlay_AppCompat_Dialog 0x0
+int style Base_ThemeOverlay_AppCompat_Dialog_Alert 0x0
+int style Base_ThemeOverlay_AppCompat_Light 0x0
+int style Base_Theme_AppCompat 0x0
+int style Base_Theme_AppCompat_CompactMenu 0x0
+int style Base_Theme_AppCompat_Dialog 0x0
+int style Base_Theme_AppCompat_DialogWhenLarge 0x0
+int style Base_Theme_AppCompat_Dialog_Alert 0x0
+int style Base_Theme_AppCompat_Dialog_FixedSize 0x0
+int style Base_Theme_AppCompat_Dialog_MinWidth 0x0
+int style Base_Theme_AppCompat_Light 0x0
+int style Base_Theme_AppCompat_Light_DarkActionBar 0x0
+int style Base_Theme_AppCompat_Light_Dialog 0x0
+int style Base_Theme_AppCompat_Light_DialogWhenLarge 0x0
+int style Base_Theme_AppCompat_Light_Dialog_Alert 0x0
+int style Base_Theme_AppCompat_Light_Dialog_FixedSize 0x0
+int style Base_Theme_AppCompat_Light_Dialog_MinWidth 0x0
+int style Base_V21_ThemeOverlay_AppCompat_Dialog 0x0
+int style Base_V21_Theme_AppCompat 0x0
+int style Base_V21_Theme_AppCompat_Dialog 0x0
+int style Base_V21_Theme_AppCompat_Light 0x0
+int style Base_V21_Theme_AppCompat_Light_Dialog 0x0
+int style Base_V22_Theme_AppCompat 0x0
+int style Base_V22_Theme_AppCompat_Light 0x0
+int style Base_V23_Theme_AppCompat 0x0
+int style Base_V23_Theme_AppCompat_Light 0x0
+int style Base_V26_Theme_AppCompat 0x0
+int style Base_V26_Theme_AppCompat_Light 0x0
+int style Base_V26_Widget_AppCompat_Toolbar 0x0
+int style Base_V28_Theme_AppCompat 0x0
+int style Base_V28_Theme_AppCompat_Light 0x0
+int style Base_V7_ThemeOverlay_AppCompat_Dialog 0x0
+int style Base_V7_Theme_AppCompat 0x0
+int style Base_V7_Theme_AppCompat_Dialog 0x0
+int style Base_V7_Theme_AppCompat_Light 0x0
+int style Base_V7_Theme_AppCompat_Light_Dialog 0x0
+int style Base_V7_Widget_AppCompat_AutoCompleteTextView 0x0
+int style Base_V7_Widget_AppCompat_EditText 0x0
+int style Base_V7_Widget_AppCompat_Toolbar 0x0
+int style Base_Widget_AppCompat_ActionBar 0x0
+int style Base_Widget_AppCompat_ActionBar_Solid 0x0
+int style Base_Widget_AppCompat_ActionBar_TabBar 0x0
+int style Base_Widget_AppCompat_ActionBar_TabText 0x0
+int style Base_Widget_AppCompat_ActionBar_TabView 0x0
+int style Base_Widget_AppCompat_ActionButton 0x0
+int style Base_Widget_AppCompat_ActionButton_CloseMode 0x0
+int style Base_Widget_AppCompat_ActionButton_Overflow 0x0
+int style Base_Widget_AppCompat_ActionMode 0x0
+int style Base_Widget_AppCompat_ActivityChooserView 0x0
+int style Base_Widget_AppCompat_AutoCompleteTextView 0x0
+int style Base_Widget_AppCompat_Button 0x0
+int style Base_Widget_AppCompat_ButtonBar 0x0
+int style Base_Widget_AppCompat_ButtonBar_AlertDialog 0x0
+int style Base_Widget_AppCompat_Button_Borderless 0x0
+int style Base_Widget_AppCompat_Button_Borderless_Colored 0x0
+int style Base_Widget_AppCompat_Button_ButtonBar_AlertDialog 0x0
+int style Base_Widget_AppCompat_Button_Colored 0x0
+int style Base_Widget_AppCompat_Button_Small 0x0
+int style Base_Widget_AppCompat_CompoundButton_CheckBox 0x0
+int style Base_Widget_AppCompat_CompoundButton_RadioButton 0x0
+int style Base_Widget_AppCompat_CompoundButton_Switch 0x0
+int style Base_Widget_AppCompat_DrawerArrowToggle 0x0
+int style Base_Widget_AppCompat_DrawerArrowToggle_Common 0x0
+int style Base_Widget_AppCompat_DropDownItem_Spinner 0x0
+int style Base_Widget_AppCompat_EditText 0x0
+int style Base_Widget_AppCompat_ImageButton 0x0
+int style Base_Widget_AppCompat_Light_ActionBar 0x0
+int style Base_Widget_AppCompat_Light_ActionBar_Solid 0x0
+int style Base_Widget_AppCompat_Light_ActionBar_TabBar 0x0
+int style Base_Widget_AppCompat_Light_ActionBar_TabText 0x0
+int style Base_Widget_AppCompat_Light_ActionBar_TabText_Inverse 0x0
+int style Base_Widget_AppCompat_Light_ActionBar_TabView 0x0
+int style Base_Widget_AppCompat_Light_PopupMenu 0x0
+int style Base_Widget_AppCompat_Light_PopupMenu_Overflow 0x0
+int style Base_Widget_AppCompat_ListMenuView 0x0
+int style Base_Widget_AppCompat_ListPopupWindow 0x0
+int style Base_Widget_AppCompat_ListView 0x0
+int style Base_Widget_AppCompat_ListView_DropDown 0x0
+int style Base_Widget_AppCompat_ListView_Menu 0x0
+int style Base_Widget_AppCompat_PopupMenu 0x0
+int style Base_Widget_AppCompat_PopupMenu_Overflow 0x0
+int style Base_Widget_AppCompat_PopupWindow 0x0
+int style Base_Widget_AppCompat_ProgressBar 0x0
+int style Base_Widget_AppCompat_ProgressBar_Horizontal 0x0
+int style Base_Widget_AppCompat_RatingBar 0x0
+int style Base_Widget_AppCompat_RatingBar_Indicator 0x0
+int style Base_Widget_AppCompat_RatingBar_Small 0x0
+int style Base_Widget_AppCompat_SearchView 0x0
+int style Base_Widget_AppCompat_SearchView_ActionBar 0x0
+int style Base_Widget_AppCompat_SeekBar 0x0
+int style Base_Widget_AppCompat_SeekBar_Discrete 0x0
+int style Base_Widget_AppCompat_Spinner 0x0
+int style Base_Widget_AppCompat_Spinner_Underlined 0x0
+int style Base_Widget_AppCompat_TextView 0x0
+int style Base_Widget_AppCompat_TextView_SpinnerItem 0x0
+int style Base_Widget_AppCompat_Toolbar 0x0
+int style Base_Widget_AppCompat_Toolbar_Button_Navigation 0x0
+int style CaptureTheme 0x0
+int style DialogAnimation 0x0
+int style Platform_AppCompat 0x0
+int style Platform_AppCompat_Light 0x0
+int style Platform_ThemeOverlay_AppCompat 0x0
+int style Platform_ThemeOverlay_AppCompat_Dark 0x0
+int style Platform_ThemeOverlay_AppCompat_Light 0x0
+int style Platform_V21_AppCompat 0x0
+int style Platform_V21_AppCompat_Light 0x0
+int style Platform_V25_AppCompat 0x0
+int style Platform_V25_AppCompat_Light 0x0
+int style Platform_Widget_AppCompat_Spinner 0x0
+int style RADialog 0x0
+int style RtlOverlay_DialogWindowTitle_AppCompat 0x0
+int style RtlOverlay_Widget_AppCompat_ActionBar_TitleItem 0x0
+int style RtlOverlay_Widget_AppCompat_DialogTitle_Icon 0x0
+int style RtlOverlay_Widget_AppCompat_PopupMenuItem 0x0
+int style RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup 0x0
+int style RtlOverlay_Widget_AppCompat_PopupMenuItem_Shortcut 0x0
+int style RtlOverlay_Widget_AppCompat_PopupMenuItem_SubmenuArrow 0x0
+int style RtlOverlay_Widget_AppCompat_PopupMenuItem_Text 0x0
+int style RtlOverlay_Widget_AppCompat_PopupMenuItem_Title 0x0
+int style RtlOverlay_Widget_AppCompat_SearchView_MagIcon 0x0
+int style RtlOverlay_Widget_AppCompat_Search_DropDown 0x0
+int style RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1 0x0
+int style RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2 0x0
+int style RtlOverlay_Widget_AppCompat_Search_DropDown_Query 0x0
+int style RtlOverlay_Widget_AppCompat_Search_DropDown_Text 0x0
+int style RtlUnderlay_Widget_AppCompat_ActionButton 0x0
+int style RtlUnderlay_Widget_AppCompat_ActionButton_Overflow 0x0
+int style TextAppearance_AppCompat 0x0
+int style TextAppearance_AppCompat_Body1 0x0
+int style TextAppearance_AppCompat_Body2 0x0
+int style TextAppearance_AppCompat_Button 0x0
+int style TextAppearance_AppCompat_Caption 0x0
+int style TextAppearance_AppCompat_Display1 0x0
+int style TextAppearance_AppCompat_Display2 0x0
+int style TextAppearance_AppCompat_Display3 0x0
+int style TextAppearance_AppCompat_Display4 0x0
+int style TextAppearance_AppCompat_Headline 0x0
+int style TextAppearance_AppCompat_Inverse 0x0
+int style TextAppearance_AppCompat_Large 0x0
+int style TextAppearance_AppCompat_Large_Inverse 0x0
+int style TextAppearance_AppCompat_Light_SearchResult_Subtitle 0x0
+int style TextAppearance_AppCompat_Light_SearchResult_Title 0x0
+int style TextAppearance_AppCompat_Light_Widget_PopupMenu_Large 0x0
+int style TextAppearance_AppCompat_Light_Widget_PopupMenu_Small 0x0
+int style TextAppearance_AppCompat_Medium 0x0
+int style TextAppearance_AppCompat_Medium_Inverse 0x0
+int style TextAppearance_AppCompat_Menu 0x0
+int style TextAppearance_AppCompat_SearchResult_Subtitle 0x0
+int style TextAppearance_AppCompat_SearchResult_Title 0x0
+int style TextAppearance_AppCompat_Small 0x0
+int style TextAppearance_AppCompat_Small_Inverse 0x0
+int style TextAppearance_AppCompat_Subhead 0x0
+int style TextAppearance_AppCompat_Subhead_Inverse 0x0
+int style TextAppearance_AppCompat_Title 0x0
+int style TextAppearance_AppCompat_Title_Inverse 0x0
+int style TextAppearance_AppCompat_Tooltip 0x0
+int style TextAppearance_AppCompat_Widget_ActionBar_Menu 0x0
+int style TextAppearance_AppCompat_Widget_ActionBar_Subtitle 0x0
+int style TextAppearance_AppCompat_Widget_ActionBar_Subtitle_Inverse 0x0
+int style TextAppearance_AppCompat_Widget_ActionBar_Title 0x0
+int style TextAppearance_AppCompat_Widget_ActionBar_Title_Inverse 0x0
+int style TextAppearance_AppCompat_Widget_ActionMode_Subtitle 0x0
+int style TextAppearance_AppCompat_Widget_ActionMode_Subtitle_Inverse 0x0
+int style TextAppearance_AppCompat_Widget_ActionMode_Title 0x0
+int style TextAppearance_AppCompat_Widget_ActionMode_Title_Inverse 0x0
+int style TextAppearance_AppCompat_Widget_Button 0x0
+int style TextAppearance_AppCompat_Widget_Button_Borderless_Colored 0x0
+int style TextAppearance_AppCompat_Widget_Button_Colored 0x0
+int style TextAppearance_AppCompat_Widget_Button_Inverse 0x0
+int style TextAppearance_AppCompat_Widget_DropDownItem 0x0
+int style TextAppearance_AppCompat_Widget_PopupMenu_Header 0x0
+int style TextAppearance_AppCompat_Widget_PopupMenu_Large 0x0
+int style TextAppearance_AppCompat_Widget_PopupMenu_Small 0x0
+int style TextAppearance_AppCompat_Widget_Switch 0x0
+int style TextAppearance_AppCompat_Widget_TextView_SpinnerItem 0x0
+int style TextAppearance_Compat_Notification 0x0
+int style TextAppearance_Compat_Notification_Info 0x0
+int style TextAppearance_Compat_Notification_Info_Media 0x0
+int style TextAppearance_Compat_Notification_Line2 0x0
+int style TextAppearance_Compat_Notification_Line2_Media 0x0
+int style TextAppearance_Compat_Notification_Media 0x0
+int style TextAppearance_Compat_Notification_Time 0x0
+int style TextAppearance_Compat_Notification_Time_Media 0x0
+int style TextAppearance_Compat_Notification_Title 0x0
+int style TextAppearance_Compat_Notification_Title_Media 0x0
+int style TextAppearance_Widget_AppCompat_ExpandedMenu_Item 0x0
+int style TextAppearance_Widget_AppCompat_Toolbar_Subtitle 0x0
+int style TextAppearance_Widget_AppCompat_Toolbar_Title 0x0
+int style ThemeOverlay_AppCompat 0x0
+int style ThemeOverlay_AppCompat_ActionBar 0x0
+int style ThemeOverlay_AppCompat_Dark 0x0
+int style ThemeOverlay_AppCompat_Dark_ActionBar 0x0
+int style ThemeOverlay_AppCompat_DayNight 0x0
+int style ThemeOverlay_AppCompat_DayNight_ActionBar 0x0
+int style ThemeOverlay_AppCompat_Dialog 0x0
+int style ThemeOverlay_AppCompat_Dialog_Alert 0x0
+int style ThemeOverlay_AppCompat_Light 0x0
+int style Theme_AppCompat 0x0
+int style Theme_AppCompat_CompactMenu 0x0
+int style Theme_AppCompat_DayNight 0x0
+int style Theme_AppCompat_DayNight_DarkActionBar 0x0
+int style Theme_AppCompat_DayNight_Dialog 0x0
+int style Theme_AppCompat_DayNight_DialogWhenLarge 0x0
+int style Theme_AppCompat_DayNight_Dialog_Alert 0x0
+int style Theme_AppCompat_DayNight_Dialog_MinWidth 0x0
+int style Theme_AppCompat_DayNight_NoActionBar 0x0
+int style Theme_AppCompat_Dialog 0x0
+int style Theme_AppCompat_DialogWhenLarge 0x0
+int style Theme_AppCompat_Dialog_Alert 0x0
+int style Theme_AppCompat_Dialog_MinWidth 0x0
+int style Theme_AppCompat_Empty 0x0
+int style Theme_AppCompat_Light 0x0
+int style Theme_AppCompat_Light_DarkActionBar 0x0
+int style Theme_AppCompat_Light_Dialog 0x0
+int style Theme_AppCompat_Light_DialogWhenLarge 0x0
+int style Theme_AppCompat_Light_Dialog_Alert 0x0
+int style Theme_AppCompat_Light_Dialog_MinWidth 0x0
+int style Theme_AppCompat_Light_NoActionBar 0x0
+int style Theme_AppCompat_Light_NoActionBar_FullScreen 0x0
+int style Theme_AppCompat_NoActionBar 0x0
+int style Widget_AppCompat_ActionBar 0x0
+int style Widget_AppCompat_ActionBar_Solid 0x0
+int style Widget_AppCompat_ActionBar_TabBar 0x0
+int style Widget_AppCompat_ActionBar_TabText 0x0
+int style Widget_AppCompat_ActionBar_TabView 0x0
+int style Widget_AppCompat_ActionButton 0x0
+int style Widget_AppCompat_ActionButton_CloseMode 0x0
+int style Widget_AppCompat_ActionButton_Overflow 0x0
+int style Widget_AppCompat_ActionMode 0x0
+int style Widget_AppCompat_ActivityChooserView 0x0
+int style Widget_AppCompat_AutoCompleteTextView 0x0
+int style Widget_AppCompat_Button 0x0
+int style Widget_AppCompat_ButtonBar 0x0
+int style Widget_AppCompat_ButtonBar_AlertDialog 0x0
+int style Widget_AppCompat_Button_Borderless 0x0
+int style Widget_AppCompat_Button_Borderless_Colored 0x0
+int style Widget_AppCompat_Button_ButtonBar_AlertDialog 0x0
+int style Widget_AppCompat_Button_Colored 0x0
+int style Widget_AppCompat_Button_Small 0x0
+int style Widget_AppCompat_CompoundButton_CheckBox 0x0
+int style Widget_AppCompat_CompoundButton_RadioButton 0x0
+int style Widget_AppCompat_CompoundButton_Switch 0x0
+int style Widget_AppCompat_DrawerArrowToggle 0x0
+int style Widget_AppCompat_DropDownItem_Spinner 0x0
+int style Widget_AppCompat_EditText 0x0
+int style Widget_AppCompat_ImageButton 0x0
+int style Widget_AppCompat_Light_ActionBar 0x0
+int style Widget_AppCompat_Light_ActionBar_Solid 0x0
+int style Widget_AppCompat_Light_ActionBar_Solid_Inverse 0x0
+int style Widget_AppCompat_Light_ActionBar_TabBar 0x0
+int style Widget_AppCompat_Light_ActionBar_TabBar_Inverse 0x0
+int style Widget_AppCompat_Light_ActionBar_TabText 0x0
+int style Widget_AppCompat_Light_ActionBar_TabText_Inverse 0x0
+int style Widget_AppCompat_Light_ActionBar_TabView 0x0
+int style Widget_AppCompat_Light_ActionBar_TabView_Inverse 0x0
+int style Widget_AppCompat_Light_ActionButton 0x0
+int style Widget_AppCompat_Light_ActionButton_CloseMode 0x0
+int style Widget_AppCompat_Light_ActionButton_Overflow 0x0
+int style Widget_AppCompat_Light_ActionMode_Inverse 0x0
+int style Widget_AppCompat_Light_ActivityChooserView 0x0
+int style Widget_AppCompat_Light_AutoCompleteTextView 0x0
+int style Widget_AppCompat_Light_DropDownItem_Spinner 0x0
+int style Widget_AppCompat_Light_ListPopupWindow 0x0
+int style Widget_AppCompat_Light_ListView_DropDown 0x0
+int style Widget_AppCompat_Light_PopupMenu 0x0
+int style Widget_AppCompat_Light_PopupMenu_Overflow 0x0
+int style Widget_AppCompat_Light_SearchView 0x0
+int style Widget_AppCompat_Light_Spinner_DropDown_ActionBar 0x0
+int style Widget_AppCompat_ListMenuView 0x0
+int style Widget_AppCompat_ListPopupWindow 0x0
+int style Widget_AppCompat_ListView 0x0
+int style Widget_AppCompat_ListView_DropDown 0x0
+int style Widget_AppCompat_ListView_Menu 0x0
+int style Widget_AppCompat_PopupMenu 0x0
+int style Widget_AppCompat_PopupMenu_Overflow 0x0
+int style Widget_AppCompat_PopupWindow 0x0
+int style Widget_AppCompat_ProgressBar 0x0
+int style Widget_AppCompat_ProgressBar_Horizontal 0x0
+int style Widget_AppCompat_RatingBar 0x0
+int style Widget_AppCompat_RatingBar_Indicator 0x0
+int style Widget_AppCompat_RatingBar_Small 0x0
+int style Widget_AppCompat_SearchView 0x0
+int style Widget_AppCompat_SearchView_ActionBar 0x0
+int style Widget_AppCompat_SeekBar 0x0
+int style Widget_AppCompat_SeekBar_Discrete 0x0
+int style Widget_AppCompat_Spinner 0x0
+int style Widget_AppCompat_Spinner_DropDown 0x0
+int style Widget_AppCompat_Spinner_DropDown_ActionBar 0x0
+int style Widget_AppCompat_Spinner_Underlined 0x0
+int style Widget_AppCompat_TextView 0x0
+int style Widget_AppCompat_TextView_SpinnerItem 0x0
+int style Widget_AppCompat_Toolbar 0x0
+int style Widget_AppCompat_Toolbar_Button_Navigation 0x0
+int style Widget_Compat_NotificationActionContainer 0x0
+int style Widget_Compat_NotificationActionText 0x0
+int style actionSheet 0x0
+int[] styleable ActionBar { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable ActionBar_background 0
+int styleable ActionBar_backgroundSplit 1
+int styleable ActionBar_backgroundStacked 2
+int styleable ActionBar_contentInsetEnd 3
+int styleable ActionBar_contentInsetEndWithActions 4
+int styleable ActionBar_contentInsetLeft 5
+int styleable ActionBar_contentInsetRight 6
+int styleable ActionBar_contentInsetStart 7
+int styleable ActionBar_contentInsetStartWithNavigation 8
+int styleable ActionBar_customNavigationLayout 9
+int styleable ActionBar_displayOptions 10
+int styleable ActionBar_divider 11
+int styleable ActionBar_elevation 12
+int styleable ActionBar_height 13
+int styleable ActionBar_hideOnContentScroll 14
+int styleable ActionBar_homeAsUpIndicator 15
+int styleable ActionBar_homeLayout 16
+int styleable ActionBar_icon 17
+int styleable ActionBar_indeterminateProgressStyle 18
+int styleable ActionBar_itemPadding 19
+int styleable ActionBar_logo 20
+int styleable ActionBar_navigationMode 21
+int styleable ActionBar_popupTheme 22
+int styleable ActionBar_progressBarPadding 23
+int styleable ActionBar_progressBarStyle 24
+int styleable ActionBar_subtitle 25
+int styleable ActionBar_subtitleTextStyle 26
+int styleable ActionBar_title 27
+int styleable ActionBar_titleTextStyle 28
+int[] styleable ActionBarLayout { 0x10100b3 }
+int styleable ActionBarLayout_android_layout_gravity 0
+int[] styleable ActionMenuItemView { 0x101013f }
+int styleable ActionMenuItemView_android_minWidth 0
+int[] styleable ActionMenuView {  }
+int[] styleable ActionMode { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable ActionMode_background 0
+int styleable ActionMode_backgroundSplit 1
+int styleable ActionMode_closeItemLayout 2
+int styleable ActionMode_height 3
+int styleable ActionMode_subtitleTextStyle 4
+int styleable ActionMode_titleTextStyle 5
+int[] styleable ActivityChooserView { 0x0, 0x0 }
+int styleable ActivityChooserView_expandActivityOverflowButtonDrawable 0
+int styleable ActivityChooserView_initialActivityCount 1
+int[] styleable AlertDialog { 0x10100f2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable AlertDialog_android_layout 0
+int styleable AlertDialog_buttonIconDimen 1
+int styleable AlertDialog_buttonPanelSideLayout 2
+int styleable AlertDialog_listItemLayout 3
+int styleable AlertDialog_listLayout 4
+int styleable AlertDialog_multiChoiceItemLayout 5
+int styleable AlertDialog_showTitle 6
+int styleable AlertDialog_singleChoiceItemLayout 7
+int[] styleable AnimatedStateListDrawableCompat { 0x1010196, 0x101011c, 0x101030c, 0x101030d, 0x1010195, 0x1010194 }
+int styleable AnimatedStateListDrawableCompat_android_constantSize 0
+int styleable AnimatedStateListDrawableCompat_android_dither 1
+int styleable AnimatedStateListDrawableCompat_android_enterFadeDuration 2
+int styleable AnimatedStateListDrawableCompat_android_exitFadeDuration 3
+int styleable AnimatedStateListDrawableCompat_android_variablePadding 4
+int styleable AnimatedStateListDrawableCompat_android_visible 5
+int[] styleable AnimatedStateListDrawableItem { 0x1010199, 0x10100d0 }
+int styleable AnimatedStateListDrawableItem_android_drawable 0
+int styleable AnimatedStateListDrawableItem_android_id 1
+int[] styleable AnimatedStateListDrawableTransition { 0x1010199, 0x101044a, 0x101044b, 0x1010449 }
+int styleable AnimatedStateListDrawableTransition_android_drawable 0
+int styleable AnimatedStateListDrawableTransition_android_fromId 1
+int styleable AnimatedStateListDrawableTransition_android_reversible 2
+int styleable AnimatedStateListDrawableTransition_android_toId 3
+int[] styleable AppCompatImageView { 0x1010119, 0x0, 0x0, 0x0 }
+int styleable AppCompatImageView_android_src 0
+int styleable AppCompatImageView_srcCompat 1
+int styleable AppCompatImageView_tint 2
+int styleable AppCompatImageView_tintMode 3
+int[] styleable AppCompatSeekBar { 0x1010142, 0x0, 0x0, 0x0 }
+int styleable AppCompatSeekBar_android_thumb 0
+int styleable AppCompatSeekBar_tickMark 1
+int styleable AppCompatSeekBar_tickMarkTint 2
+int styleable AppCompatSeekBar_tickMarkTintMode 3
+int[] styleable AppCompatTextHelper { 0x101016e, 0x1010393, 0x101016f, 0x1010170, 0x1010392, 0x101016d, 0x1010034 }
+int styleable AppCompatTextHelper_android_drawableBottom 0
+int styleable AppCompatTextHelper_android_drawableEnd 1
+int styleable AppCompatTextHelper_android_drawableLeft 2
+int styleable AppCompatTextHelper_android_drawableRight 3
+int styleable AppCompatTextHelper_android_drawableStart 4
+int styleable AppCompatTextHelper_android_drawableTop 5
+int styleable AppCompatTextHelper_android_textAppearance 6
+int[] styleable AppCompatTextView { 0x1010034, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable AppCompatTextView_android_textAppearance 0
+int styleable AppCompatTextView_autoSizeMaxTextSize 1
+int styleable AppCompatTextView_autoSizeMinTextSize 2
+int styleable AppCompatTextView_autoSizePresetSizes 3
+int styleable AppCompatTextView_autoSizeStepGranularity 4
+int styleable AppCompatTextView_autoSizeTextType 5
+int styleable AppCompatTextView_drawableBottomCompat 6
+int styleable AppCompatTextView_drawableEndCompat 7
+int styleable AppCompatTextView_drawableLeftCompat 8
+int styleable AppCompatTextView_drawableRightCompat 9
+int styleable AppCompatTextView_drawableStartCompat 10
+int styleable AppCompatTextView_drawableTint 11
+int styleable AppCompatTextView_drawableTintMode 12
+int styleable AppCompatTextView_drawableTopCompat 13
+int styleable AppCompatTextView_firstBaselineToTopHeight 14
+int styleable AppCompatTextView_fontFamily 15
+int styleable AppCompatTextView_fontVariationSettings 16
+int styleable AppCompatTextView_lastBaselineToBottomHeight 17
+int styleable AppCompatTextView_lineHeight 18
+int styleable AppCompatTextView_textAllCaps 19
+int styleable AppCompatTextView_textLocale 20
+int[] styleable AppCompatTheme { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10100ae, 0x1010057, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable AppCompatTheme_actionBarDivider 0
+int styleable AppCompatTheme_actionBarItemBackground 1
+int styleable AppCompatTheme_actionBarPopupTheme 2
+int styleable AppCompatTheme_actionBarSize 3
+int styleable AppCompatTheme_actionBarSplitStyle 4
+int styleable AppCompatTheme_actionBarStyle 5
+int styleable AppCompatTheme_actionBarTabBarStyle 6
+int styleable AppCompatTheme_actionBarTabStyle 7
+int styleable AppCompatTheme_actionBarTabTextStyle 8
+int styleable AppCompatTheme_actionBarTheme 9
+int styleable AppCompatTheme_actionBarWidgetTheme 10
+int styleable AppCompatTheme_actionButtonStyle 11
+int styleable AppCompatTheme_actionDropDownStyle 12
+int styleable AppCompatTheme_actionMenuTextAppearance 13
+int styleable AppCompatTheme_actionMenuTextColor 14
+int styleable AppCompatTheme_actionModeBackground 15
+int styleable AppCompatTheme_actionModeCloseButtonStyle 16
+int styleable AppCompatTheme_actionModeCloseDrawable 17
+int styleable AppCompatTheme_actionModeCopyDrawable 18
+int styleable AppCompatTheme_actionModeCutDrawable 19
+int styleable AppCompatTheme_actionModeFindDrawable 20
+int styleable AppCompatTheme_actionModePasteDrawable 21
+int styleable AppCompatTheme_actionModePopupWindowStyle 22
+int styleable AppCompatTheme_actionModeSelectAllDrawable 23
+int styleable AppCompatTheme_actionModeShareDrawable 24
+int styleable AppCompatTheme_actionModeSplitBackground 25
+int styleable AppCompatTheme_actionModeStyle 26
+int styleable AppCompatTheme_actionModeWebSearchDrawable 27
+int styleable AppCompatTheme_actionOverflowButtonStyle 28
+int styleable AppCompatTheme_actionOverflowMenuStyle 29
+int styleable AppCompatTheme_activityChooserViewStyle 30
+int styleable AppCompatTheme_alertDialogButtonGroupStyle 31
+int styleable AppCompatTheme_alertDialogCenterButtons 32
+int styleable AppCompatTheme_alertDialogStyle 33
+int styleable AppCompatTheme_alertDialogTheme 34
+int styleable AppCompatTheme_android_windowAnimationStyle 35
+int styleable AppCompatTheme_android_windowIsFloating 36
+int styleable AppCompatTheme_autoCompleteTextViewStyle 37
+int styleable AppCompatTheme_borderlessButtonStyle 38
+int styleable AppCompatTheme_buttonBarButtonStyle 39
+int styleable AppCompatTheme_buttonBarNegativeButtonStyle 40
+int styleable AppCompatTheme_buttonBarNeutralButtonStyle 41
+int styleable AppCompatTheme_buttonBarPositiveButtonStyle 42
+int styleable AppCompatTheme_buttonBarStyle 43
+int styleable AppCompatTheme_buttonStyle 44
+int styleable AppCompatTheme_buttonStyleSmall 45
+int styleable AppCompatTheme_checkboxStyle 46
+int styleable AppCompatTheme_checkedTextViewStyle 47
+int styleable AppCompatTheme_colorAccent 48
+int styleable AppCompatTheme_colorBackgroundFloating 49
+int styleable AppCompatTheme_colorButtonNormal 50
+int styleable AppCompatTheme_colorControlActivated 51
+int styleable AppCompatTheme_colorControlHighlight 52
+int styleable AppCompatTheme_colorControlNormal 53
+int styleable AppCompatTheme_colorError 54
+int styleable AppCompatTheme_colorPrimary 55
+int styleable AppCompatTheme_colorPrimaryDark 56
+int styleable AppCompatTheme_colorSwitchThumbNormal 57
+int styleable AppCompatTheme_controlBackground 58
+int styleable AppCompatTheme_dialogCornerRadius 59
+int styleable AppCompatTheme_dialogPreferredPadding 60
+int styleable AppCompatTheme_dialogTheme 61
+int styleable AppCompatTheme_dividerHorizontal 62
+int styleable AppCompatTheme_dividerVertical 63
+int styleable AppCompatTheme_dropDownListViewStyle 64
+int styleable AppCompatTheme_dropdownListPreferredItemHeight 65
+int styleable AppCompatTheme_editTextBackground 66
+int styleable AppCompatTheme_editTextColor 67
+int styleable AppCompatTheme_editTextStyle 68
+int styleable AppCompatTheme_homeAsUpIndicator 69
+int styleable AppCompatTheme_imageButtonStyle 70
+int styleable AppCompatTheme_listChoiceBackgroundIndicator 71
+int styleable AppCompatTheme_listChoiceIndicatorMultipleAnimated 72
+int styleable AppCompatTheme_listChoiceIndicatorSingleAnimated 73
+int styleable AppCompatTheme_listDividerAlertDialog 74
+int styleable AppCompatTheme_listMenuViewStyle 75
+int styleable AppCompatTheme_listPopupWindowStyle 76
+int styleable AppCompatTheme_listPreferredItemHeight 77
+int styleable AppCompatTheme_listPreferredItemHeightLarge 78
+int styleable AppCompatTheme_listPreferredItemHeightSmall 79
+int styleable AppCompatTheme_listPreferredItemPaddingEnd 80
+int styleable AppCompatTheme_listPreferredItemPaddingLeft 81
+int styleable AppCompatTheme_listPreferredItemPaddingRight 82
+int styleable AppCompatTheme_listPreferredItemPaddingStart 83
+int styleable AppCompatTheme_panelBackground 84
+int styleable AppCompatTheme_panelMenuListTheme 85
+int styleable AppCompatTheme_panelMenuListWidth 86
+int styleable AppCompatTheme_popupMenuStyle 87
+int styleable AppCompatTheme_popupWindowStyle 88
+int styleable AppCompatTheme_radioButtonStyle 89
+int styleable AppCompatTheme_ratingBarStyle 90
+int styleable AppCompatTheme_ratingBarStyleIndicator 91
+int styleable AppCompatTheme_ratingBarStyleSmall 92
+int styleable AppCompatTheme_searchViewStyle 93
+int styleable AppCompatTheme_seekBarStyle 94
+int styleable AppCompatTheme_selectableItemBackground 95
+int styleable AppCompatTheme_selectableItemBackgroundBorderless 96
+int styleable AppCompatTheme_spinnerDropDownItemStyle 97
+int styleable AppCompatTheme_spinnerStyle 98
+int styleable AppCompatTheme_switchStyle 99
+int styleable AppCompatTheme_textAppearanceLargePopupMenu 100
+int styleable AppCompatTheme_textAppearanceListItem 101
+int styleable AppCompatTheme_textAppearanceListItemSecondary 102
+int styleable AppCompatTheme_textAppearanceListItemSmall 103
+int styleable AppCompatTheme_textAppearancePopupMenuHeader 104
+int styleable AppCompatTheme_textAppearanceSearchResultSubtitle 105
+int styleable AppCompatTheme_textAppearanceSearchResultTitle 106
+int styleable AppCompatTheme_textAppearanceSmallPopupMenu 107
+int styleable AppCompatTheme_textColorAlertDialogListItem 108
+int styleable AppCompatTheme_textColorSearchUrl 109
+int styleable AppCompatTheme_toolbarNavigationButtonStyle 110
+int styleable AppCompatTheme_toolbarStyle 111
+int styleable AppCompatTheme_tooltipForegroundColor 112
+int styleable AppCompatTheme_tooltipFrameBackground 113
+int styleable AppCompatTheme_viewInflaterClass 114
+int styleable AppCompatTheme_windowActionBar 115
+int styleable AppCompatTheme_windowActionBarOverlay 116
+int styleable AppCompatTheme_windowActionModeOverlay 117
+int styleable AppCompatTheme_windowFixedHeightMajor 118
+int styleable AppCompatTheme_windowFixedHeightMinor 119
+int styleable AppCompatTheme_windowFixedWidthMajor 120
+int styleable AppCompatTheme_windowFixedWidthMinor 121
+int styleable AppCompatTheme_windowMinWidthMajor 122
+int styleable AppCompatTheme_windowMinWidthMinor 123
+int styleable AppCompatTheme_windowNoTitle 124
+int[] styleable ButtonBarLayout { 0x0 }
+int styleable ButtonBarLayout_allowStacking 0
+int[] styleable ColorStateListItem { 0x0, 0x101031f, 0x10101a5 }
+int styleable ColorStateListItem_alpha 0
+int styleable ColorStateListItem_android_alpha 1
+int styleable ColorStateListItem_android_color 2
+int[] styleable CompoundButton { 0x1010107, 0x0, 0x0, 0x0 }
+int styleable CompoundButton_android_button 0
+int styleable CompoundButton_buttonCompat 1
+int styleable CompoundButton_buttonTint 2
+int styleable CompoundButton_buttonTintMode 3
+int[] styleable Constraint { 0x101031f, 0x1010440, 0x10100d0, 0x10100f5, 0x10100fa, 0x10103b6, 0x10100f7, 0x10100f9, 0x10103b5, 0x10100f8, 0x10100f4, 0x1010120, 0x101011f, 0x1010140, 0x101013f, 0x10100c4, 0x1010326, 0x1010327, 0x1010328, 0x1010324, 0x1010325, 0x1010320, 0x1010321, 0x1010322, 0x1010323, 0x10103fa, 0x10100dc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable Constraint_android_alpha 0
+int styleable Constraint_android_elevation 1
+int styleable Constraint_android_id 2
+int styleable Constraint_android_layout_height 3
+int styleable Constraint_android_layout_marginBottom 4
+int styleable Constraint_android_layout_marginEnd 5
+int styleable Constraint_android_layout_marginLeft 6
+int styleable Constraint_android_layout_marginRight 7
+int styleable Constraint_android_layout_marginStart 8
+int styleable Constraint_android_layout_marginTop 9
+int styleable Constraint_android_layout_width 10
+int styleable Constraint_android_maxHeight 11
+int styleable Constraint_android_maxWidth 12
+int styleable Constraint_android_minHeight 13
+int styleable Constraint_android_minWidth 14
+int styleable Constraint_android_orientation 15
+int styleable Constraint_android_rotation 16
+int styleable Constraint_android_rotationX 17
+int styleable Constraint_android_rotationY 18
+int styleable Constraint_android_scaleX 19
+int styleable Constraint_android_scaleY 20
+int styleable Constraint_android_transformPivotX 21
+int styleable Constraint_android_transformPivotY 22
+int styleable Constraint_android_translationX 23
+int styleable Constraint_android_translationY 24
+int styleable Constraint_android_translationZ 25
+int styleable Constraint_android_visibility 26
+int styleable Constraint_animate_relativeTo 27
+int styleable Constraint_barrierAllowsGoneWidgets 28
+int styleable Constraint_barrierDirection 29
+int styleable Constraint_barrierMargin 30
+int styleable Constraint_chainUseRtl 31
+int styleable Constraint_constraint_referenced_ids 32
+int styleable Constraint_drawPath 33
+int styleable Constraint_flow_firstHorizontalBias 34
+int styleable Constraint_flow_firstHorizontalStyle 35
+int styleable Constraint_flow_firstVerticalBias 36
+int styleable Constraint_flow_firstVerticalStyle 37
+int styleable Constraint_flow_horizontalAlign 38
+int styleable Constraint_flow_horizontalBias 39
+int styleable Constraint_flow_horizontalGap 40
+int styleable Constraint_flow_horizontalStyle 41
+int styleable Constraint_flow_lastHorizontalBias 42
+int styleable Constraint_flow_lastHorizontalStyle 43
+int styleable Constraint_flow_lastVerticalBias 44
+int styleable Constraint_flow_lastVerticalStyle 45
+int styleable Constraint_flow_maxElementsWrap 46
+int styleable Constraint_flow_verticalAlign 47
+int styleable Constraint_flow_verticalBias 48
+int styleable Constraint_flow_verticalGap 49
+int styleable Constraint_flow_verticalStyle 50
+int styleable Constraint_flow_wrapMode 51
+int styleable Constraint_layout_constrainedHeight 52
+int styleable Constraint_layout_constrainedWidth 53
+int styleable Constraint_layout_constraintBaseline_creator 54
+int styleable Constraint_layout_constraintBaseline_toBaselineOf 55
+int styleable Constraint_layout_constraintBottom_creator 56
+int styleable Constraint_layout_constraintBottom_toBottomOf 57
+int styleable Constraint_layout_constraintBottom_toTopOf 58
+int styleable Constraint_layout_constraintCircle 59
+int styleable Constraint_layout_constraintCircleAngle 60
+int styleable Constraint_layout_constraintCircleRadius 61
+int styleable Constraint_layout_constraintDimensionRatio 62
+int styleable Constraint_layout_constraintEnd_toEndOf 63
+int styleable Constraint_layout_constraintEnd_toStartOf 64
+int styleable Constraint_layout_constraintGuide_begin 65
+int styleable Constraint_layout_constraintGuide_end 66
+int styleable Constraint_layout_constraintGuide_percent 67
+int styleable Constraint_layout_constraintHeight_default 68
+int styleable Constraint_layout_constraintHeight_max 69
+int styleable Constraint_layout_constraintHeight_min 70
+int styleable Constraint_layout_constraintHeight_percent 71
+int styleable Constraint_layout_constraintHorizontal_bias 72
+int styleable Constraint_layout_constraintHorizontal_chainStyle 73
+int styleable Constraint_layout_constraintHorizontal_weight 74
+int styleable Constraint_layout_constraintLeft_creator 75
+int styleable Constraint_layout_constraintLeft_toLeftOf 76
+int styleable Constraint_layout_constraintLeft_toRightOf 77
+int styleable Constraint_layout_constraintRight_creator 78
+int styleable Constraint_layout_constraintRight_toLeftOf 79
+int styleable Constraint_layout_constraintRight_toRightOf 80
+int styleable Constraint_layout_constraintStart_toEndOf 81
+int styleable Constraint_layout_constraintStart_toStartOf 82
+int styleable Constraint_layout_constraintTag 83
+int styleable Constraint_layout_constraintTop_creator 84
+int styleable Constraint_layout_constraintTop_toBottomOf 85
+int styleable Constraint_layout_constraintTop_toTopOf 86
+int styleable Constraint_layout_constraintVertical_bias 87
+int styleable Constraint_layout_constraintVertical_chainStyle 88
+int styleable Constraint_layout_constraintVertical_weight 89
+int styleable Constraint_layout_constraintWidth_default 90
+int styleable Constraint_layout_constraintWidth_max 91
+int styleable Constraint_layout_constraintWidth_min 92
+int styleable Constraint_layout_constraintWidth_percent 93
+int styleable Constraint_layout_editor_absoluteX 94
+int styleable Constraint_layout_editor_absoluteY 95
+int styleable Constraint_layout_goneMarginBottom 96
+int styleable Constraint_layout_goneMarginEnd 97
+int styleable Constraint_layout_goneMarginLeft 98
+int styleable Constraint_layout_goneMarginRight 99
+int styleable Constraint_layout_goneMarginStart 100
+int styleable Constraint_layout_goneMarginTop 101
+int styleable Constraint_motionProgress 102
+int styleable Constraint_motionStagger 103
+int styleable Constraint_pathMotionArc 104
+int styleable Constraint_pivotAnchor 105
+int styleable Constraint_transitionEasing 106
+int styleable Constraint_transitionPathRotate 107
+int styleable Constraint_visibilityMode 108
+int[] styleable ConstraintLayout_Layout { 0x1010440, 0x1010120, 0x101011f, 0x1010140, 0x101013f, 0x10100c4, 0x10100d5, 0x10100d9, 0x10103b4, 0x10100d6, 0x10100d8, 0x10103b3, 0x10100d7, 0x10100dc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable ConstraintLayout_Layout_android_elevation 0
+int styleable ConstraintLayout_Layout_android_maxHeight 1
+int styleable ConstraintLayout_Layout_android_maxWidth 2
+int styleable ConstraintLayout_Layout_android_minHeight 3
+int styleable ConstraintLayout_Layout_android_minWidth 4
+int styleable ConstraintLayout_Layout_android_orientation 5
+int styleable ConstraintLayout_Layout_android_padding 6
+int styleable ConstraintLayout_Layout_android_paddingBottom 7
+int styleable ConstraintLayout_Layout_android_paddingEnd 8
+int styleable ConstraintLayout_Layout_android_paddingLeft 9
+int styleable ConstraintLayout_Layout_android_paddingRight 10
+int styleable ConstraintLayout_Layout_android_paddingStart 11
+int styleable ConstraintLayout_Layout_android_paddingTop 12
+int styleable ConstraintLayout_Layout_android_visibility 13
+int styleable ConstraintLayout_Layout_barrierAllowsGoneWidgets 14
+int styleable ConstraintLayout_Layout_barrierDirection 15
+int styleable ConstraintLayout_Layout_barrierMargin 16
+int styleable ConstraintLayout_Layout_chainUseRtl 17
+int styleable ConstraintLayout_Layout_constraintSet 18
+int styleable ConstraintLayout_Layout_constraint_referenced_ids 19
+int styleable ConstraintLayout_Layout_flow_firstHorizontalBias 20
+int styleable ConstraintLayout_Layout_flow_firstHorizontalStyle 21
+int styleable ConstraintLayout_Layout_flow_firstVerticalBias 22
+int styleable ConstraintLayout_Layout_flow_firstVerticalStyle 23
+int styleable ConstraintLayout_Layout_flow_horizontalAlign 24
+int styleable ConstraintLayout_Layout_flow_horizontalBias 25
+int styleable ConstraintLayout_Layout_flow_horizontalGap 26
+int styleable ConstraintLayout_Layout_flow_horizontalStyle 27
+int styleable ConstraintLayout_Layout_flow_lastHorizontalBias 28
+int styleable ConstraintLayout_Layout_flow_lastHorizontalStyle 29
+int styleable ConstraintLayout_Layout_flow_lastVerticalBias 30
+int styleable ConstraintLayout_Layout_flow_lastVerticalStyle 31
+int styleable ConstraintLayout_Layout_flow_maxElementsWrap 32
+int styleable ConstraintLayout_Layout_flow_verticalAlign 33
+int styleable ConstraintLayout_Layout_flow_verticalBias 34
+int styleable ConstraintLayout_Layout_flow_verticalGap 35
+int styleable ConstraintLayout_Layout_flow_verticalStyle 36
+int styleable ConstraintLayout_Layout_flow_wrapMode 37
+int styleable ConstraintLayout_Layout_layoutDescription 38
+int styleable ConstraintLayout_Layout_layout_constrainedHeight 39
+int styleable ConstraintLayout_Layout_layout_constrainedWidth 40
+int styleable ConstraintLayout_Layout_layout_constraintBaseline_creator 41
+int styleable ConstraintLayout_Layout_layout_constraintBaseline_toBaselineOf 42
+int styleable ConstraintLayout_Layout_layout_constraintBottom_creator 43
+int styleable ConstraintLayout_Layout_layout_constraintBottom_toBottomOf 44
+int styleable ConstraintLayout_Layout_layout_constraintBottom_toTopOf 45
+int styleable ConstraintLayout_Layout_layout_constraintCircle 46
+int styleable ConstraintLayout_Layout_layout_constraintCircleAngle 47
+int styleable ConstraintLayout_Layout_layout_constraintCircleRadius 48
+int styleable ConstraintLayout_Layout_layout_constraintDimensionRatio 49
+int styleable ConstraintLayout_Layout_layout_constraintEnd_toEndOf 50
+int styleable ConstraintLayout_Layout_layout_constraintEnd_toStartOf 51
+int styleable ConstraintLayout_Layout_layout_constraintGuide_begin 52
+int styleable ConstraintLayout_Layout_layout_constraintGuide_end 53
+int styleable ConstraintLayout_Layout_layout_constraintGuide_percent 54
+int styleable ConstraintLayout_Layout_layout_constraintHeight_default 55
+int styleable ConstraintLayout_Layout_layout_constraintHeight_max 56
+int styleable ConstraintLayout_Layout_layout_constraintHeight_min 57
+int styleable ConstraintLayout_Layout_layout_constraintHeight_percent 58
+int styleable ConstraintLayout_Layout_layout_constraintHorizontal_bias 59
+int styleable ConstraintLayout_Layout_layout_constraintHorizontal_chainStyle 60
+int styleable ConstraintLayout_Layout_layout_constraintHorizontal_weight 61
+int styleable ConstraintLayout_Layout_layout_constraintLeft_creator 62
+int styleable ConstraintLayout_Layout_layout_constraintLeft_toLeftOf 63
+int styleable ConstraintLayout_Layout_layout_constraintLeft_toRightOf 64
+int styleable ConstraintLayout_Layout_layout_constraintRight_creator 65
+int styleable ConstraintLayout_Layout_layout_constraintRight_toLeftOf 66
+int styleable ConstraintLayout_Layout_layout_constraintRight_toRightOf 67
+int styleable ConstraintLayout_Layout_layout_constraintStart_toEndOf 68
+int styleable ConstraintLayout_Layout_layout_constraintStart_toStartOf 69
+int styleable ConstraintLayout_Layout_layout_constraintTag 70
+int styleable ConstraintLayout_Layout_layout_constraintTop_creator 71
+int styleable ConstraintLayout_Layout_layout_constraintTop_toBottomOf 72
+int styleable ConstraintLayout_Layout_layout_constraintTop_toTopOf 73
+int styleable ConstraintLayout_Layout_layout_constraintVertical_bias 74
+int styleable ConstraintLayout_Layout_layout_constraintVertical_chainStyle 75
+int styleable ConstraintLayout_Layout_layout_constraintVertical_weight 76
+int styleable ConstraintLayout_Layout_layout_constraintWidth_default 77
+int styleable ConstraintLayout_Layout_layout_constraintWidth_max 78
+int styleable ConstraintLayout_Layout_layout_constraintWidth_min 79
+int styleable ConstraintLayout_Layout_layout_constraintWidth_percent 80
+int styleable ConstraintLayout_Layout_layout_editor_absoluteX 81
+int styleable ConstraintLayout_Layout_layout_editor_absoluteY 82
+int styleable ConstraintLayout_Layout_layout_goneMarginBottom 83
+int styleable ConstraintLayout_Layout_layout_goneMarginEnd 84
+int styleable ConstraintLayout_Layout_layout_goneMarginLeft 85
+int styleable ConstraintLayout_Layout_layout_goneMarginRight 86
+int styleable ConstraintLayout_Layout_layout_goneMarginStart 87
+int styleable ConstraintLayout_Layout_layout_goneMarginTop 88
+int styleable ConstraintLayout_Layout_layout_optimizationLevel 89
+int[] styleable ConstraintLayout_placeholder { 0x0, 0x0 }
+int styleable ConstraintLayout_placeholder_content 0
+int styleable ConstraintLayout_placeholder_placeholder_emptyVisibility 1
+int[] styleable ConstraintSet { 0x101031f, 0x1010440, 0x10100d0, 0x10100f5, 0x10100fa, 0x10103b6, 0x10100f7, 0x10100f9, 0x10103b5, 0x10100f8, 0x10100f4, 0x1010120, 0x101011f, 0x1010140, 0x101013f, 0x10100c4, 0x10101b5, 0x10101b6, 0x1010326, 0x1010327, 0x1010328, 0x1010324, 0x1010325, 0x1010320, 0x1010321, 0x1010322, 0x1010323, 0x10103fa, 0x10100dc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable ConstraintSet_android_alpha 0
+int styleable ConstraintSet_android_elevation 1
+int styleable ConstraintSet_android_id 2
+int styleable ConstraintSet_android_layout_height 3
+int styleable ConstraintSet_android_layout_marginBottom 4
+int styleable ConstraintSet_android_layout_marginEnd 5
+int styleable ConstraintSet_android_layout_marginLeft 6
+int styleable ConstraintSet_android_layout_marginRight 7
+int styleable ConstraintSet_android_layout_marginStart 8
+int styleable ConstraintSet_android_layout_marginTop 9
+int styleable ConstraintSet_android_layout_width 10
+int styleable ConstraintSet_android_maxHeight 11
+int styleable ConstraintSet_android_maxWidth 12
+int styleable ConstraintSet_android_minHeight 13
+int styleable ConstraintSet_android_minWidth 14
+int styleable ConstraintSet_android_orientation 15
+int styleable ConstraintSet_android_pivotX 16
+int styleable ConstraintSet_android_pivotY 17
+int styleable ConstraintSet_android_rotation 18
+int styleable ConstraintSet_android_rotationX 19
+int styleable ConstraintSet_android_rotationY 20
+int styleable ConstraintSet_android_scaleX 21
+int styleable ConstraintSet_android_scaleY 22
+int styleable ConstraintSet_android_transformPivotX 23
+int styleable ConstraintSet_android_transformPivotY 24
+int styleable ConstraintSet_android_translationX 25
+int styleable ConstraintSet_android_translationY 26
+int styleable ConstraintSet_android_translationZ 27
+int styleable ConstraintSet_android_visibility 28
+int styleable ConstraintSet_animate_relativeTo 29
+int styleable ConstraintSet_barrierAllowsGoneWidgets 30
+int styleable ConstraintSet_barrierDirection 31
+int styleable ConstraintSet_barrierMargin 32
+int styleable ConstraintSet_chainUseRtl 33
+int styleable ConstraintSet_constraint_referenced_ids 34
+int styleable ConstraintSet_deriveConstraintsFrom 35
+int styleable ConstraintSet_drawPath 36
+int styleable ConstraintSet_flow_firstHorizontalBias 37
+int styleable ConstraintSet_flow_firstHorizontalStyle 38
+int styleable ConstraintSet_flow_firstVerticalBias 39
+int styleable ConstraintSet_flow_firstVerticalStyle 40
+int styleable ConstraintSet_flow_horizontalAlign 41
+int styleable ConstraintSet_flow_horizontalBias 42
+int styleable ConstraintSet_flow_horizontalGap 43
+int styleable ConstraintSet_flow_horizontalStyle 44
+int styleable ConstraintSet_flow_lastHorizontalBias 45
+int styleable ConstraintSet_flow_lastHorizontalStyle 46
+int styleable ConstraintSet_flow_lastVerticalBias 47
+int styleable ConstraintSet_flow_lastVerticalStyle 48
+int styleable ConstraintSet_flow_maxElementsWrap 49
+int styleable ConstraintSet_flow_verticalAlign 50
+int styleable ConstraintSet_flow_verticalBias 51
+int styleable ConstraintSet_flow_verticalGap 52
+int styleable ConstraintSet_flow_verticalStyle 53
+int styleable ConstraintSet_flow_wrapMode 54
+int styleable ConstraintSet_layout_constrainedHeight 55
+int styleable ConstraintSet_layout_constrainedWidth 56
+int styleable ConstraintSet_layout_constraintBaseline_creator 57
+int styleable ConstraintSet_layout_constraintBaseline_toBaselineOf 58
+int styleable ConstraintSet_layout_constraintBottom_creator 59
+int styleable ConstraintSet_layout_constraintBottom_toBottomOf 60
+int styleable ConstraintSet_layout_constraintBottom_toTopOf 61
+int styleable ConstraintSet_layout_constraintCircle 62
+int styleable ConstraintSet_layout_constraintCircleAngle 63
+int styleable ConstraintSet_layout_constraintCircleRadius 64
+int styleable ConstraintSet_layout_constraintDimensionRatio 65
+int styleable ConstraintSet_layout_constraintEnd_toEndOf 66
+int styleable ConstraintSet_layout_constraintEnd_toStartOf 67
+int styleable ConstraintSet_layout_constraintGuide_begin 68
+int styleable ConstraintSet_layout_constraintGuide_end 69
+int styleable ConstraintSet_layout_constraintGuide_percent 70
+int styleable ConstraintSet_layout_constraintHeight_default 71
+int styleable ConstraintSet_layout_constraintHeight_max 72
+int styleable ConstraintSet_layout_constraintHeight_min 73
+int styleable ConstraintSet_layout_constraintHeight_percent 74
+int styleable ConstraintSet_layout_constraintHorizontal_bias 75
+int styleable ConstraintSet_layout_constraintHorizontal_chainStyle 76
+int styleable ConstraintSet_layout_constraintHorizontal_weight 77
+int styleable ConstraintSet_layout_constraintLeft_creator 78
+int styleable ConstraintSet_layout_constraintLeft_toLeftOf 79
+int styleable ConstraintSet_layout_constraintLeft_toRightOf 80
+int styleable ConstraintSet_layout_constraintRight_creator 81
+int styleable ConstraintSet_layout_constraintRight_toLeftOf 82
+int styleable ConstraintSet_layout_constraintRight_toRightOf 83
+int styleable ConstraintSet_layout_constraintStart_toEndOf 84
+int styleable ConstraintSet_layout_constraintStart_toStartOf 85
+int styleable ConstraintSet_layout_constraintTag 86
+int styleable ConstraintSet_layout_constraintTop_creator 87
+int styleable ConstraintSet_layout_constraintTop_toBottomOf 88
+int styleable ConstraintSet_layout_constraintTop_toTopOf 89
+int styleable ConstraintSet_layout_constraintVertical_bias 90
+int styleable ConstraintSet_layout_constraintVertical_chainStyle 91
+int styleable ConstraintSet_layout_constraintVertical_weight 92
+int styleable ConstraintSet_layout_constraintWidth_default 93
+int styleable ConstraintSet_layout_constraintWidth_max 94
+int styleable ConstraintSet_layout_constraintWidth_min 95
+int styleable ConstraintSet_layout_constraintWidth_percent 96
+int styleable ConstraintSet_layout_editor_absoluteX 97
+int styleable ConstraintSet_layout_editor_absoluteY 98
+int styleable ConstraintSet_layout_goneMarginBottom 99
+int styleable ConstraintSet_layout_goneMarginEnd 100
+int styleable ConstraintSet_layout_goneMarginLeft 101
+int styleable ConstraintSet_layout_goneMarginRight 102
+int styleable ConstraintSet_layout_goneMarginStart 103
+int styleable ConstraintSet_layout_goneMarginTop 104
+int styleable ConstraintSet_motionProgress 105
+int styleable ConstraintSet_motionStagger 106
+int styleable ConstraintSet_pathMotionArc 107
+int styleable ConstraintSet_pivotAnchor 108
+int styleable ConstraintSet_transitionEasing 109
+int styleable ConstraintSet_transitionPathRotate 110
+int[] styleable CustomAttribute { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable CustomAttribute_attributeName 0
+int styleable CustomAttribute_customBoolean 1
+int styleable CustomAttribute_customColorDrawableValue 2
+int styleable CustomAttribute_customColorValue 3
+int styleable CustomAttribute_customDimension 4
+int styleable CustomAttribute_customFloatValue 5
+int styleable CustomAttribute_customIntegerValue 6
+int styleable CustomAttribute_customPixelDimension 7
+int styleable CustomAttribute_customStringValue 8
+int[] styleable DrawerArrowToggle { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable DrawerArrowToggle_arrowHeadLength 0
+int styleable DrawerArrowToggle_arrowShaftLength 1
+int styleable DrawerArrowToggle_barLength 2
+int styleable DrawerArrowToggle_color 3
+int styleable DrawerArrowToggle_drawableSize 4
+int styleable DrawerArrowToggle_gapBetweenBars 5
+int styleable DrawerArrowToggle_spinBars 6
+int styleable DrawerArrowToggle_thickness 7
+int[] styleable FontFamily { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable FontFamily_fontProviderAuthority 0
+int styleable FontFamily_fontProviderCerts 1
+int styleable FontFamily_fontProviderFetchStrategy 2
+int styleable FontFamily_fontProviderFetchTimeout 3
+int styleable FontFamily_fontProviderPackage 4
+int styleable FontFamily_fontProviderQuery 5
+int[] styleable FontFamilyFont { 0x1010532, 0x101053f, 0x1010570, 0x1010533, 0x101056f, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable FontFamilyFont_android_font 0
+int styleable FontFamilyFont_android_fontStyle 1
+int styleable FontFamilyFont_android_fontVariationSettings 2
+int styleable FontFamilyFont_android_fontWeight 3
+int styleable FontFamilyFont_android_ttcIndex 4
+int styleable FontFamilyFont_font 5
+int styleable FontFamilyFont_fontStyle 6
+int styleable FontFamilyFont_fontVariationSettings 7
+int styleable FontFamilyFont_fontWeight 8
+int styleable FontFamilyFont_ttcIndex 9
+int[] styleable GradientColor { 0x101020b, 0x10101a2, 0x10101a3, 0x101019e, 0x1010512, 0x1010513, 0x10101a4, 0x101019d, 0x1010510, 0x1010511, 0x1010201, 0x10101a1 }
+int styleable GradientColor_android_centerColor 0
+int styleable GradientColor_android_centerX 1
+int styleable GradientColor_android_centerY 2
+int styleable GradientColor_android_endColor 3
+int styleable GradientColor_android_endX 4
+int styleable GradientColor_android_endY 5
+int styleable GradientColor_android_gradientRadius 6
+int styleable GradientColor_android_startColor 7
+int styleable GradientColor_android_startX 8
+int styleable GradientColor_android_startY 9
+int styleable GradientColor_android_tileMode 10
+int styleable GradientColor_android_type 11
+int[] styleable GradientColorItem { 0x10101a5, 0x1010514 }
+int styleable GradientColorItem_android_color 0
+int styleable GradientColorItem_android_offset 1
+int[] styleable ImageFilterView { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable ImageFilterView_altSrc 0
+int styleable ImageFilterView_brightness 1
+int styleable ImageFilterView_contrast 2
+int styleable ImageFilterView_crossfade 3
+int styleable ImageFilterView_overlay 4
+int styleable ImageFilterView_round 5
+int styleable ImageFilterView_roundPercent 6
+int styleable ImageFilterView_saturation 7
+int styleable ImageFilterView_warmth 8
+int[] styleable KeyAttribute { 0x101031f, 0x1010440, 0x1010326, 0x1010327, 0x1010328, 0x1010324, 0x1010325, 0x1010320, 0x1010321, 0x1010322, 0x1010323, 0x10103fa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable KeyAttribute_android_alpha 0
+int styleable KeyAttribute_android_elevation 1
+int styleable KeyAttribute_android_rotation 2
+int styleable KeyAttribute_android_rotationX 3
+int styleable KeyAttribute_android_rotationY 4
+int styleable KeyAttribute_android_scaleX 5
+int styleable KeyAttribute_android_scaleY 6
+int styleable KeyAttribute_android_transformPivotX 7
+int styleable KeyAttribute_android_transformPivotY 8
+int styleable KeyAttribute_android_translationX 9
+int styleable KeyAttribute_android_translationY 10
+int styleable KeyAttribute_android_translationZ 11
+int styleable KeyAttribute_curveFit 12
+int styleable KeyAttribute_framePosition 13
+int styleable KeyAttribute_motionProgress 14
+int styleable KeyAttribute_motionTarget 15
+int styleable KeyAttribute_transitionEasing 16
+int styleable KeyAttribute_transitionPathRotate 17
+int[] styleable KeyCycle { 0x101031f, 0x1010440, 0x1010326, 0x1010327, 0x1010328, 0x1010324, 0x1010325, 0x1010322, 0x1010323, 0x10103fa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable KeyCycle_android_alpha 0
+int styleable KeyCycle_android_elevation 1
+int styleable KeyCycle_android_rotation 2
+int styleable KeyCycle_android_rotationX 3
+int styleable KeyCycle_android_rotationY 4
+int styleable KeyCycle_android_scaleX 5
+int styleable KeyCycle_android_scaleY 6
+int styleable KeyCycle_android_translationX 7
+int styleable KeyCycle_android_translationY 8
+int styleable KeyCycle_android_translationZ 9
+int styleable KeyCycle_curveFit 10
+int styleable KeyCycle_framePosition 11
+int styleable KeyCycle_motionProgress 12
+int styleable KeyCycle_motionTarget 13
+int styleable KeyCycle_transitionEasing 14
+int styleable KeyCycle_transitionPathRotate 15
+int styleable KeyCycle_waveOffset 16
+int styleable KeyCycle_wavePeriod 17
+int styleable KeyCycle_waveShape 18
+int styleable KeyCycle_waveVariesBy 19
+int[] styleable KeyPosition { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable KeyPosition_curveFit 0
+int styleable KeyPosition_drawPath 1
+int styleable KeyPosition_framePosition 2
+int styleable KeyPosition_keyPositionType 3
+int styleable KeyPosition_motionTarget 4
+int styleable KeyPosition_pathMotionArc 5
+int styleable KeyPosition_percentHeight 6
+int styleable KeyPosition_percentWidth 7
+int styleable KeyPosition_percentX 8
+int styleable KeyPosition_percentY 9
+int styleable KeyPosition_sizePercent 10
+int styleable KeyPosition_transitionEasing 11
+int[] styleable KeyTimeCycle { 0x101031f, 0x1010440, 0x1010326, 0x1010327, 0x1010328, 0x1010324, 0x1010325, 0x1010322, 0x1010323, 0x10103fa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable KeyTimeCycle_android_alpha 0
+int styleable KeyTimeCycle_android_elevation 1
+int styleable KeyTimeCycle_android_rotation 2
+int styleable KeyTimeCycle_android_rotationX 3
+int styleable KeyTimeCycle_android_rotationY 4
+int styleable KeyTimeCycle_android_scaleX 5
+int styleable KeyTimeCycle_android_scaleY 6
+int styleable KeyTimeCycle_android_translationX 7
+int styleable KeyTimeCycle_android_translationY 8
+int styleable KeyTimeCycle_android_translationZ 9
+int styleable KeyTimeCycle_curveFit 10
+int styleable KeyTimeCycle_framePosition 11
+int styleable KeyTimeCycle_motionProgress 12
+int styleable KeyTimeCycle_motionTarget 13
+int styleable KeyTimeCycle_transitionEasing 14
+int styleable KeyTimeCycle_transitionPathRotate 15
+int styleable KeyTimeCycle_waveDecay 16
+int styleable KeyTimeCycle_waveOffset 17
+int styleable KeyTimeCycle_wavePeriod 18
+int styleable KeyTimeCycle_waveShape 19
+int[] styleable KeyTrigger { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable KeyTrigger_framePosition 0
+int styleable KeyTrigger_motionTarget 1
+int styleable KeyTrigger_motion_postLayoutCollision 2
+int styleable KeyTrigger_motion_triggerOnCollision 3
+int styleable KeyTrigger_onCross 4
+int styleable KeyTrigger_onNegativeCross 5
+int styleable KeyTrigger_onPositiveCross 6
+int styleable KeyTrigger_triggerId 7
+int styleable KeyTrigger_triggerReceiver 8
+int styleable KeyTrigger_triggerSlack 9
+int[] styleable Layout { 0x10100f5, 0x10100fa, 0x10103b6, 0x10100f7, 0x10100f9, 0x10103b5, 0x10100f8, 0x10100f4, 0x10100c4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable Layout_android_layout_height 0
+int styleable Layout_android_layout_marginBottom 1
+int styleable Layout_android_layout_marginEnd 2
+int styleable Layout_android_layout_marginLeft 3
+int styleable Layout_android_layout_marginRight 4
+int styleable Layout_android_layout_marginStart 5
+int styleable Layout_android_layout_marginTop 6
+int styleable Layout_android_layout_width 7
+int styleable Layout_android_orientation 8
+int styleable Layout_barrierAllowsGoneWidgets 9
+int styleable Layout_barrierDirection 10
+int styleable Layout_barrierMargin 11
+int styleable Layout_chainUseRtl 12
+int styleable Layout_constraint_referenced_ids 13
+int styleable Layout_layout_constrainedHeight 14
+int styleable Layout_layout_constrainedWidth 15
+int styleable Layout_layout_constraintBaseline_creator 16
+int styleable Layout_layout_constraintBaseline_toBaselineOf 17
+int styleable Layout_layout_constraintBottom_creator 18
+int styleable Layout_layout_constraintBottom_toBottomOf 19
+int styleable Layout_layout_constraintBottom_toTopOf 20
+int styleable Layout_layout_constraintCircle 21
+int styleable Layout_layout_constraintCircleAngle 22
+int styleable Layout_layout_constraintCircleRadius 23
+int styleable Layout_layout_constraintDimensionRatio 24
+int styleable Layout_layout_constraintEnd_toEndOf 25
+int styleable Layout_layout_constraintEnd_toStartOf 26
+int styleable Layout_layout_constraintGuide_begin 27
+int styleable Layout_layout_constraintGuide_end 28
+int styleable Layout_layout_constraintGuide_percent 29
+int styleable Layout_layout_constraintHeight_default 30
+int styleable Layout_layout_constraintHeight_max 31
+int styleable Layout_layout_constraintHeight_min 32
+int styleable Layout_layout_constraintHeight_percent 33
+int styleable Layout_layout_constraintHorizontal_bias 34
+int styleable Layout_layout_constraintHorizontal_chainStyle 35
+int styleable Layout_layout_constraintHorizontal_weight 36
+int styleable Layout_layout_constraintLeft_creator 37
+int styleable Layout_layout_constraintLeft_toLeftOf 38
+int styleable Layout_layout_constraintLeft_toRightOf 39
+int styleable Layout_layout_constraintRight_creator 40
+int styleable Layout_layout_constraintRight_toLeftOf 41
+int styleable Layout_layout_constraintRight_toRightOf 42
+int styleable Layout_layout_constraintStart_toEndOf 43
+int styleable Layout_layout_constraintStart_toStartOf 44
+int styleable Layout_layout_constraintTop_creator 45
+int styleable Layout_layout_constraintTop_toBottomOf 46
+int styleable Layout_layout_constraintTop_toTopOf 47
+int styleable Layout_layout_constraintVertical_bias 48
+int styleable Layout_layout_constraintVertical_chainStyle 49
+int styleable Layout_layout_constraintVertical_weight 50
+int styleable Layout_layout_constraintWidth_default 51
+int styleable Layout_layout_constraintWidth_max 52
+int styleable Layout_layout_constraintWidth_min 53
+int styleable Layout_layout_constraintWidth_percent 54
+int styleable Layout_layout_editor_absoluteX 55
+int styleable Layout_layout_editor_absoluteY 56
+int styleable Layout_layout_goneMarginBottom 57
+int styleable Layout_layout_goneMarginEnd 58
+int styleable Layout_layout_goneMarginLeft 59
+int styleable Layout_layout_goneMarginRight 60
+int styleable Layout_layout_goneMarginStart 61
+int styleable Layout_layout_goneMarginTop 62
+int styleable Layout_maxHeight 63
+int styleable Layout_maxWidth 64
+int styleable Layout_minHeight 65
+int styleable Layout_minWidth 66
+int[] styleable LinearLayoutCompat { 0x1010126, 0x1010127, 0x10100af, 0x10100c4, 0x1010128, 0x0, 0x0, 0x0, 0x0 }
+int styleable LinearLayoutCompat_android_baselineAligned 0
+int styleable LinearLayoutCompat_android_baselineAlignedChildIndex 1
+int styleable LinearLayoutCompat_android_gravity 2
+int styleable LinearLayoutCompat_android_orientation 3
+int styleable LinearLayoutCompat_android_weightSum 4
+int styleable LinearLayoutCompat_divider 5
+int styleable LinearLayoutCompat_dividerPadding 6
+int styleable LinearLayoutCompat_measureWithLargestChild 7
+int styleable LinearLayoutCompat_showDividers 8
+int[] styleable LinearLayoutCompat_Layout { 0x10100b3, 0x10100f5, 0x1010181, 0x10100f4 }
+int styleable LinearLayoutCompat_Layout_android_layout_gravity 0
+int styleable LinearLayoutCompat_Layout_android_layout_height 1
+int styleable LinearLayoutCompat_Layout_android_layout_weight 2
+int styleable LinearLayoutCompat_Layout_android_layout_width 3
+int[] styleable ListPopupWindow { 0x10102ac, 0x10102ad }
+int styleable ListPopupWindow_android_dropDownHorizontalOffset 0
+int styleable ListPopupWindow_android_dropDownVerticalOffset 1
+int[] styleable LoadingImageView { 0x0, 0x0, 0x0 }
+int styleable LoadingImageView_circleCrop 0
+int styleable LoadingImageView_imageAspectRatio 1
+int styleable LoadingImageView_imageAspectRatioAdjust 2
+int[] styleable MenuGroup { 0x10101e0, 0x101000e, 0x10100d0, 0x10101de, 0x10101df, 0x1010194 }
+int styleable MenuGroup_android_checkableBehavior 0
+int styleable MenuGroup_android_enabled 1
+int styleable MenuGroup_android_id 2
+int styleable MenuGroup_android_menuCategory 3
+int styleable MenuGroup_android_orderInCategory 4
+int styleable MenuGroup_android_visible 5
+int[] styleable MenuItem { 0x0, 0x0, 0x0, 0x0, 0x10101e3, 0x10101e5, 0x1010106, 0x101000e, 0x1010002, 0x10100d0, 0x10101de, 0x10101e4, 0x101026f, 0x10101df, 0x10101e1, 0x10101e2, 0x1010194, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable MenuItem_actionLayout 0
+int styleable MenuItem_actionProviderClass 1
+int styleable MenuItem_actionViewClass 2
+int styleable MenuItem_alphabeticModifiers 3
+int styleable MenuItem_android_alphabeticShortcut 4
+int styleable MenuItem_android_checkable 5
+int styleable MenuItem_android_checked 6
+int styleable MenuItem_android_enabled 7
+int styleable MenuItem_android_icon 8
+int styleable MenuItem_android_id 9
+int styleable MenuItem_android_menuCategory 10
+int styleable MenuItem_android_numericShortcut 11
+int styleable MenuItem_android_onClick 12
+int styleable MenuItem_android_orderInCategory 13
+int styleable MenuItem_android_title 14
+int styleable MenuItem_android_titleCondensed 15
+int styleable MenuItem_android_visible 16
+int styleable MenuItem_contentDescription 17
+int styleable MenuItem_iconTint 18
+int styleable MenuItem_iconTintMode 19
+int styleable MenuItem_numericModifiers 20
+int styleable MenuItem_showAsAction 21
+int styleable MenuItem_tooltipText 22
+int[] styleable MenuView { 0x101012f, 0x101012d, 0x1010130, 0x1010131, 0x101012c, 0x101012e, 0x10100ae, 0x0, 0x0 }
+int styleable MenuView_android_headerBackground 0
+int styleable MenuView_android_horizontalDivider 1
+int styleable MenuView_android_itemBackground 2
+int styleable MenuView_android_itemIconDisabledAlpha 3
+int styleable MenuView_android_itemTextAppearance 4
+int styleable MenuView_android_verticalDivider 5
+int styleable MenuView_android_windowAnimationStyle 6
+int styleable MenuView_preserveIconSpacing 7
+int styleable MenuView_subMenuArrow 8
+int[] styleable MockView { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable MockView_mock_diagonalsColor 0
+int styleable MockView_mock_label 1
+int styleable MockView_mock_labelBackgroundColor 2
+int styleable MockView_mock_labelColor 3
+int styleable MockView_mock_showDiagonals 4
+int styleable MockView_mock_showLabel 5
+int[] styleable Motion { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable Motion_animate_relativeTo 0
+int styleable Motion_drawPath 1
+int styleable Motion_motionPathRotate 2
+int styleable Motion_motionStagger 3
+int styleable Motion_pathMotionArc 4
+int styleable Motion_transitionEasing 5
+int[] styleable MotionHelper { 0x0, 0x0 }
+int styleable MotionHelper_onHide 0
+int styleable MotionHelper_onShow 1
+int[] styleable MotionLayout { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable MotionLayout_applyMotionScene 0
+int styleable MotionLayout_currentState 1
+int styleable MotionLayout_layoutDescription 2
+int styleable MotionLayout_motionDebug 3
+int styleable MotionLayout_motionProgress 4
+int styleable MotionLayout_showPaths 5
+int[] styleable MotionScene { 0x0, 0x0 }
+int styleable MotionScene_defaultDuration 0
+int styleable MotionScene_layoutDuringTransition 1
+int[] styleable MotionTelltales { 0x0, 0x0, 0x0 }
+int styleable MotionTelltales_telltales_tailColor 0
+int styleable MotionTelltales_telltales_tailScale 1
+int styleable MotionTelltales_telltales_velocityMode 2
+int[] styleable OnClick { 0x0, 0x0 }
+int styleable OnClick_clickAction 0
+int styleable OnClick_targetId 1
+int[] styleable OnSwipe { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable OnSwipe_dragDirection 0
+int styleable OnSwipe_dragScale 1
+int styleable OnSwipe_dragThreshold 2
+int styleable OnSwipe_limitBoundsTo 3
+int styleable OnSwipe_maxAcceleration 4
+int styleable OnSwipe_maxVelocity 5
+int styleable OnSwipe_moveWhenScrollAtTop 6
+int styleable OnSwipe_nestedScrollFlags 7
+int styleable OnSwipe_onTouchUp 8
+int styleable OnSwipe_touchAnchorId 9
+int styleable OnSwipe_touchAnchorSide 10
+int styleable OnSwipe_touchRegionId 11
+int[] styleable PopupWindow { 0x10102c9, 0x1010176, 0x0 }
+int styleable PopupWindow_android_popupAnimationStyle 0
+int styleable PopupWindow_android_popupBackground 1
+int styleable PopupWindow_overlapAnchor 2
+int[] styleable PopupWindowBackgroundState { 0x0 }
+int styleable PopupWindowBackgroundState_state_above_anchor 0
+int[] styleable PropertySet { 0x101031f, 0x10100dc, 0x0, 0x0, 0x0 }
+int styleable PropertySet_android_alpha 0
+int styleable PropertySet_android_visibility 1
+int styleable PropertySet_layout_constraintTag 2
+int styleable PropertySet_motionProgress 3
+int styleable PropertySet_visibilityMode 4
+int[] styleable RecycleListView { 0x0, 0x0 }
+int styleable RecycleListView_paddingBottomNoButtons 0
+int styleable RecycleListView_paddingTopNoTitle 1
+int[] styleable ScrollBar { 0x0, 0x0, 0x0, 0x0 }
+int styleable ScrollBar_sb_handlerColor 0
+int styleable ScrollBar_sb_horizontal 1
+int styleable ScrollBar_sb_indicatorColor 2
+int styleable ScrollBar_sb_indicatorTextColor 3
+int[] styleable SearchView { 0x10100da, 0x1010264, 0x1010220, 0x101011f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable SearchView_android_focusable 0
+int styleable SearchView_android_imeOptions 1
+int styleable SearchView_android_inputType 2
+int styleable SearchView_android_maxWidth 3
+int styleable SearchView_closeIcon 4
+int styleable SearchView_commitIcon 5
+int styleable SearchView_defaultQueryHint 6
+int styleable SearchView_goIcon 7
+int styleable SearchView_iconifiedByDefault 8
+int styleable SearchView_layout 9
+int styleable SearchView_queryBackground 10
+int styleable SearchView_queryHint 11
+int styleable SearchView_searchHintIcon 12
+int styleable SearchView_searchIcon 13
+int styleable SearchView_submitBackground 14
+int styleable SearchView_suggestionRowLayout 15
+int styleable SearchView_voiceIcon 16
+int[] styleable SignInButton { 0x0, 0x0, 0x0 }
+int styleable SignInButton_buttonSize 0
+int styleable SignInButton_colorScheme 1
+int styleable SignInButton_scopeUris 2
+int[] styleable Spinner { 0x1010262, 0x10100b2, 0x1010176, 0x101017b, 0x0 }
+int styleable Spinner_android_dropDownWidth 0
+int styleable Spinner_android_entries 1
+int styleable Spinner_android_popupBackground 2
+int styleable Spinner_android_prompt 3
+int styleable Spinner_popupTheme 4
+int[] styleable State { 0x10100d0, 0x0 }
+int styleable State_android_id 0
+int styleable State_constraints 1
+int[] styleable StateListDrawable { 0x1010196, 0x101011c, 0x101030c, 0x101030d, 0x1010195, 0x1010194 }
+int styleable StateListDrawable_android_constantSize 0
+int styleable StateListDrawable_android_dither 1
+int styleable StateListDrawable_android_enterFadeDuration 2
+int styleable StateListDrawable_android_exitFadeDuration 3
+int styleable StateListDrawable_android_variablePadding 4
+int styleable StateListDrawable_android_visible 5
+int[] styleable StateListDrawableItem { 0x1010199 }
+int styleable StateListDrawableItem_android_drawable 0
+int[] styleable StateSet { 0x0 }
+int styleable StateSet_defaultState 0
+int[] styleable SwitchCompat { 0x1010125, 0x1010124, 0x1010142, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable SwitchCompat_android_textOff 0
+int styleable SwitchCompat_android_textOn 1
+int styleable SwitchCompat_android_thumb 2
+int styleable SwitchCompat_showText 3
+int styleable SwitchCompat_splitTrack 4
+int styleable SwitchCompat_switchMinWidth 5
+int styleable SwitchCompat_switchPadding 6
+int styleable SwitchCompat_switchTextAppearance 7
+int styleable SwitchCompat_thumbTextPadding 8
+int styleable SwitchCompat_thumbTint 9
+int styleable SwitchCompat_thumbTintMode 10
+int styleable SwitchCompat_track 11
+int styleable SwitchCompat_trackTint 12
+int styleable SwitchCompat_trackTintMode 13
+int[] styleable TextAppearance { 0x10103ac, 0x1010161, 0x1010162, 0x1010163, 0x1010164, 0x1010098, 0x101009a, 0x101009b, 0x1010585, 0x1010095, 0x1010097, 0x1010096, 0x0, 0x0, 0x0, 0x0 }
+int styleable TextAppearance_android_fontFamily 0
+int styleable TextAppearance_android_shadowColor 1
+int styleable TextAppearance_android_shadowDx 2
+int styleable TextAppearance_android_shadowDy 3
+int styleable TextAppearance_android_shadowRadius 4
+int styleable TextAppearance_android_textColor 5
+int styleable TextAppearance_android_textColorHint 6
+int styleable TextAppearance_android_textColorLink 7
+int styleable TextAppearance_android_textFontWeight 8
+int styleable TextAppearance_android_textSize 9
+int styleable TextAppearance_android_textStyle 10
+int styleable TextAppearance_android_typeface 11
+int styleable TextAppearance_fontFamily 12
+int styleable TextAppearance_fontVariationSettings 13
+int styleable TextAppearance_textAllCaps 14
+int styleable TextAppearance_textLocale 15
+int[] styleable Toolbar { 0x10100af, 0x1010140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable Toolbar_android_gravity 0
+int styleable Toolbar_android_minHeight 1
+int styleable Toolbar_buttonGravity 2
+int styleable Toolbar_collapseContentDescription 3
+int styleable Toolbar_collapseIcon 4
+int styleable Toolbar_contentInsetEnd 5
+int styleable Toolbar_contentInsetEndWithActions 6
+int styleable Toolbar_contentInsetLeft 7
+int styleable Toolbar_contentInsetRight 8
+int styleable Toolbar_contentInsetStart 9
+int styleable Toolbar_contentInsetStartWithNavigation 10
+int styleable Toolbar_logo 11
+int styleable Toolbar_logoDescription 12
+int styleable Toolbar_maxButtonHeight 13
+int styleable Toolbar_menu 14
+int styleable Toolbar_navigationContentDescription 15
+int styleable Toolbar_navigationIcon 16
+int styleable Toolbar_popupTheme 17
+int styleable Toolbar_subtitle 18
+int styleable Toolbar_subtitleTextAppearance 19
+int styleable Toolbar_subtitleTextColor 20
+int styleable Toolbar_title 21
+int styleable Toolbar_titleMargin 22
+int styleable Toolbar_titleMarginBottom 23
+int styleable Toolbar_titleMarginEnd 24
+int styleable Toolbar_titleMarginStart 25
+int styleable Toolbar_titleMarginTop 26
+int styleable Toolbar_titleMargins 27
+int styleable Toolbar_titleTextAppearance 28
+int styleable Toolbar_titleTextColor 29
+int[] styleable Transform { 0x1010440, 0x1010326, 0x1010327, 0x1010328, 0x1010324, 0x1010325, 0x1010320, 0x1010321, 0x1010322, 0x1010323, 0x10103fa }
+int styleable Transform_android_elevation 0
+int styleable Transform_android_rotation 1
+int styleable Transform_android_rotationX 2
+int styleable Transform_android_rotationY 3
+int styleable Transform_android_scaleX 4
+int styleable Transform_android_scaleY 5
+int styleable Transform_android_transformPivotX 6
+int styleable Transform_android_transformPivotY 7
+int styleable Transform_android_translationX 8
+int styleable Transform_android_translationY 9
+int styleable Transform_android_translationZ 10
+int[] styleable Transition { 0x10100d0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable Transition_android_id 0
+int styleable Transition_autoTransition 1
+int styleable Transition_constraintSetEnd 2
+int styleable Transition_constraintSetStart 3
+int styleable Transition_duration 4
+int styleable Transition_layoutDuringTransition 5
+int styleable Transition_motionInterpolator 6
+int styleable Transition_pathMotionArc 7
+int styleable Transition_staggered 8
+int styleable Transition_transitionDisable 9
+int styleable Transition_transitionFlags 10
+int[] styleable Variant { 0x0, 0x0, 0x0, 0x0, 0x0 }
+int styleable Variant_constraints 0
+int styleable Variant_region_heightLessThan 1
+int styleable Variant_region_heightMoreThan 2
+int styleable Variant_region_widthLessThan 3
+int styleable Variant_region_widthMoreThan 4
+int[] styleable View { 0x10100da, 0x1010000, 0x0, 0x0, 0x0 }
+int styleable View_android_focusable 0
+int styleable View_android_theme 1
+int styleable View_paddingEnd 2
+int styleable View_paddingStart 3
+int styleable View_theme 4
+int[] styleable ViewBackgroundHelper { 0x10100d4, 0x0, 0x0 }
+int styleable ViewBackgroundHelper_android_background 0
+int styleable ViewBackgroundHelper_backgroundTint 1
+int styleable ViewBackgroundHelper_backgroundTintMode 2
+int[] styleable ViewStubCompat { 0x10100d0, 0x10100f3, 0x10100f2 }
+int styleable ViewStubCompat_android_id 0
+int styleable ViewStubCompat_android_inflatedId 1
+int styleable ViewStubCompat_android_layout 2
+int xml preferences 0x0
+int xml ra_provider_paths 0x0

BIN
ApexDrivers/RALocationLib/build/intermediates/incremental/debug-mergeNativeLibs/merge-state


+ 2 - 0
ApexDrivers/RALocationLib/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml

@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/debug/jniLibs"/></dataSet></merger>

+ 2 - 0
ApexDrivers/RALocationLib/build/intermediates/incremental/mergeDebugShaders/merger.xml

@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/debug/shaders"/></dataSet></merger>

+ 2 - 0
ApexDrivers/RALocationLib/build/intermediates/incremental/packageDebugAssets/merger.xml

@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/assets"/><source path="/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/build/intermediates/shader_assets/debug/out"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/debug/assets"/></dataSet></merger>

+ 1 - 0
ApexDrivers/RALocationLib/build/intermediates/incremental/packageDebugResources/compile-file-map.properties

@@ -0,0 +1 @@
+#Thu Oct 15 15:07:01 CST 2020

+ 2 - 0
ApexDrivers/RALocationLib/build/intermediates/incremental/packageDebugResources/merger.xml

@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/res"/><source path="/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/build/generated/res/rs/debug"/><source path="/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/res"/><source path="/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/build/generated/res/rs/debug"/><source path="/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/debug/res"/></dataSet><mergedItems/></merger>

BIN
ApexDrivers/RALocationLib/build/intermediates/javac/debug/classes/com/usai/redant/ralocationlib/BuildConfig.class


BIN
ApexDrivers/RALocationLib/build/intermediates/javac/debug/classes/com/usai/redant/ralocationlib/service/RATask3Tracing$1.class


BIN
ApexDrivers/RALocationLib/build/intermediates/javac/debug/classes/com/usai/redant/ralocationlib/service/RATask3Tracing$2.class


BIN
ApexDrivers/RALocationLib/build/intermediates/javac/debug/classes/com/usai/redant/ralocationlib/service/RATask3Tracing$3.class


BIN
ApexDrivers/RALocationLib/build/intermediates/javac/debug/classes/com/usai/redant/ralocationlib/service/RATask3Tracing$4.class


BIN
ApexDrivers/RALocationLib/build/intermediates/javac/debug/classes/com/usai/redant/ralocationlib/service/RATask3Tracing$TracingTaskCallback.class


BIN
ApexDrivers/RALocationLib/build/intermediates/javac/debug/classes/com/usai/redant/ralocationlib/service/RATask3Tracing.class


+ 14 - 0
ApexDrivers/RALocationLib/build/intermediates/library_manifest/debug/AndroidManifest.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.usai.redant.ralocationlib"
+    android:versionCode="1"
+    android:versionName="1.0" >
+
+    <uses-sdk
+        android:minSdkVersion="24"
+        android:targetSdkVersion="29" />
+
+    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+
+</manifest>

+ 2 - 0
ApexDrivers/RALocationLib/build/intermediates/local_only_symbol_list/debug/R-def.txt

@@ -0,0 +1,2 @@
+R_DEF: Internal format may change without notice
+local

+ 20 - 0
ApexDrivers/RALocationLib/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt

@@ -0,0 +1,20 @@
+1<?xml version="1.0" encoding="utf-8"?>
+2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+3    package="com.usai.redant.ralocationlib"
+4    android:versionCode="1"
+5    android:versionName="1.0" >
+6
+7    <uses-sdk
+8        android:minSdkVersion="24"
+8-->/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+9        android:targetSdkVersion="29" />
+9-->/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+10
+11    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+11-->/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:4:5-81
+11-->/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:4:22-78
+12    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+12-->/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:5:5-79
+12-->/Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:5:22-76
+13
+14</manifest>

+ 27 - 0
ApexDrivers/RALocationLib/build/intermediates/merged_manifests/debug/output.json

@@ -0,0 +1,27 @@
+{
+  "version": 1,
+  "applicationId": "com.usai.redant.ralocationlib",
+  "variantType": "LIBRARY",
+  "elements": [
+    {
+      "outputType": {
+        "type": "MERGED_MANIFESTS"
+      },
+      "apkData": {
+        "type": "MAIN",
+        "splits": [],
+        "versionCode": 1,
+        "versionName": "1.0",
+        "outputFile": "RALocationLib-debug.aar",
+        "fullName": "debug",
+        "baseName": "debug",
+        "dirName": ""
+      },
+      "path": "../../library_manifest/debug/AndroidManifest.xml",
+      "properties": {
+        "packageId": "com.usai.redant.ralocationlib",
+        "split": ""
+      }
+    }
+  ]
+}

+ 1 - 0
ApexDrivers/RALocationLib/build/intermediates/navigation_json/debug/navigation.json

@@ -0,0 +1 @@
+[]

BIN
ApexDrivers/RALocationLib/build/intermediates/runtime_library_classes_jar/debug/classes.jar


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1710 - 0
ApexDrivers/RALocationLib/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt


+ 45 - 0
ApexDrivers/RALocationLib/build/outputs/logs/manifest-merger-debug-report.txt

@@ -0,0 +1,45 @@
+-- Merging decision tree log ---
+manifest
+ADDED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:1:1-6:12
+INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:1:1-6:12
+INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:1:1-6:12
+INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:1:1-6:12
+INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:1:1-6:12
+INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:1:1-6:12
+INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:1:1-6:12
+	package
+		ADDED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:2:5-44
+		INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+		INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+	android:versionName
+		INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+		ADDED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:1:1-6:12
+		INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+	android:versionCode
+		INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+		ADDED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:1:1-6:12
+		INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+	xmlns:android
+		ADDED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:1:11-69
+uses-permission#android.permission.ACCESS_COARSE_LOCATION
+ADDED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:4:5-81
+	android:name
+		ADDED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:4:22-78
+uses-permission#android.permission.ACCESS_FINE_LOCATION
+ADDED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:5:5-79
+	android:name
+		ADDED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml:5:22-76
+uses-sdk
+INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml reason: use-sdk injection requested
+INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+	android:targetSdkVersion
+		INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+		ADDED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+		INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+	android:minSdkVersion
+		INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+		ADDED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml
+		INJECTED from /Users/ruizhang/Documents/CODE_ANDROID/ERPSuiteAndroid/ApexDrivers/RALocationLib/src/main/AndroidManifest.xml

+ 0 - 0
ApexDrivers/RALocationLib/consumer-rules.pro


+ 21 - 0
ApexDrivers/RALocationLib/proguard-rules.pro

@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile

+ 6 - 0
ApexDrivers/RALocationLib/src/main/AndroidManifest.xml

@@ -0,0 +1,6 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.usai.redant.ralocationlib">
+
+    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+</manifest>

+ 492 - 0
ApexDrivers/RALocationLib/src/main/java/com/usai/redant/ralocationlib/service/RATask3Tracing.java

@@ -0,0 +1,492 @@
+package com.usai.redant.ralocationlib.service;
+
+import android.Manifest;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.pm.PackageManager;
+import android.location.Location;
+import android.util.Log;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.core.app.ActivityCompat;
+
+import com.google.android.gms.location.FusedLocationProviderClient;
+import com.google.android.gms.location.LocationCallback;
+import com.google.android.gms.location.LocationRequest;
+import com.google.android.gms.location.LocationResult;
+import com.google.android.gms.location.LocationServices;
+import com.google.android.gms.tasks.OnCompleteListener;
+import com.google.android.gms.tasks.Task;
+import com.usai.redant.rautils.location.SystemLocation;
+import com.usai.redant.rautils.receiver.RABroadcast;
+import com.usai.redant.rautils.receiver.RABroadcastReceiver;
+import com.usai.redant.rautils.service.RATask3;
+import com.usai.redant.rautils.utils.dbgUtil;
+
+public class RATask3Tracing extends RATask3 {
+
+
+    public interface TracingTaskCallback {
+
+        //此类将去掉
+//        public abstract Location RequestCachedLocation();
+//        public abstract void RequestLocation_ByBroadcast(String receiverID);
+
+        public abstract void onLocationChanged(Location location);
+//        public abstract void onLogin();
+//		public abstract void onLogout();
+    }
+
+
+    TracingTaskCallback tracingCallback;
+//    private IntentFilter msgFilter = new IntentFilter();
+
+    private static boolean System_Location_Flag = false;
+    public static final int DEFAULT_LOCATION_TIMEINTERVAL = 30 * 1000;
+
+    protected static boolean backgroundLocationTracing = false; //后台追踪
+
+    private Location mCurrentLocation; // 当前定位位置,可为空
+    private Location mLastNotNullLocation; // 最后一次获取的非空Location
+
+    private LocationRequest mLocationRequest;
+
+    /**
+     * Provides access to the Fused Location Provider API.
+     */
+    private FusedLocationProviderClient mFusedLocationClient;
+
+    /**
+     * Callback for changes in location.
+     */
+    private LocationCallback mLocationCallback;
+
+//    private Handler mServiceHandler;
+
+    /**
+     * The current location.
+     */
+    private Location mLocation;
+
+
+
+
+    String TAG="RATask3Tracing";
+
+    private BroadcastReceiver locationReceiver = new RABroadcastReceiver() {
+
+        public void onReceive(Context context, Intent intent) {
+            String action = intent
+                    .getAction();
+
+            Log.d(TAG, "onReceive: " + action);
+            dbgUtil.fileLog(context,TAG+"   RABroadcastReceiver: onReceive  " + action);
+            // 如果捕捉到的action是ACTION_BATTERY_CHANGED
+
+
+            if (RABroadcast.ACTION_LOCATION_ENABLE_TRACING.equals(action)) {
+                enable_locationTracing();
+            } else
+            if (RABroadcast.ACTION_LOCATION_DISABLE_TRACING
+                    .equals(action)) {
+
+                disable_locationTracing();
+            } else
+            if (RABroadcast.ACTION_LOCATION_REQUEST_LOCATION
+                    .equals(action)) {
+
+
+                String receiverID = intent.getStringExtra("receiverID");
+//                locationManager.requestSingleUpdate();
+                request_location(receiverID);
+//                locationCallback.onLocationChanged();
+            }
+
+
+
+        }
+    };
+    void disable_locationTracing() {
+
+
+        backgroundLocationTracing = false;
+        if (System_Location_Flag) {
+
+            removeLocationUpdates();
+
+        } else {
+
+
+            removeLocationUpdates();
+//        locationManager.removeUpdates(locationListener);
+        }
+    }
+
+
+    void enable_locationTracing() {
+
+        if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
+            // TODO: Consider calling
+            //    ActivityCompat#requestPermissions
+            // here to request the missing permissions, and then overriding
+            //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
+            //                                          int[] grantResults)
+            // to handle the case where the user grants the permission. See the documentation
+            // for ActivityCompat#requestPermissions for more details.
+            return;
+        }
+
+        backgroundLocationTracing = true;
+        if (System_Location_Flag) {
+
+            initLocation();
+
+        } else {
+
+            Log.d(TAG, "enable_locationTracing: ");
+            initLocation();
+            requestLocationUpdates();
+//        locationManager.requestLocationUpdates(
+//                "fused", timeInterval, distance,
+//                locationListener);
+//        if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
+//
+//
+//
+//
+//        } else if (locationManager
+//                .isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
+//
+//
+//            locationManager.requestLocationUpdates(
+//                    LocationManager.NETWORK_PROVIDER, timeInterval, distance,
+//                    locationListener);
+//
+//        }
+
+        }
+
+    }
+
+    protected Location request_cachedlocation() {
+        if (ActivityCompat.checkSelfPermission(context , Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
+
+            return null;
+        }
+
+
+        //使用GPS获取上一次的地址,这样获取到的信息需要多次,才能够显示出来,所以后面有动态的判断
+//        Location location = locationManager.getLastKnownLocation("fused");
+//        return location;
+        return null;
+
+    }
+
+    protected void request_location(final String receiverID) {
+
+
+        if (receiverID == null)
+            throw new IllegalArgumentException("receiverID can't be null");
+
+
+        if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
+            // TODO: Consider calling
+            //    ActivityCompat#requestPermissions
+            // here to request the missing permissions, and then overriding
+            //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
+            //                                          int[] grantResults)
+            // to handle the case where the user grants the permission. See the documentation
+            // for ActivityCompat#requestPermissions for more details.
+            return;
+        }
+
+        backgroundLocationTracing = true;
+        if (System_Location_Flag) {
+
+            initLocation();
+
+        } else {
+
+            initLocation();
+            requestLocationUpdates();
+//        locationManager.requestLocationUpdates(
+//                "fused", timeInterval, distance,
+//                locationListener);
+//        if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
+//
+//
+//
+//
+//        } else if (locationManager
+//                .isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
+//
+//
+//            locationManager.requestLocationUpdates(
+//                    LocationManager.NETWORK_PROVIDER, timeInterval, distance,
+//                    locationListener);
+//
+//        }
+
+        }
+
+    }
+
+//    public Location RequestCachedLocation()
+//    {
+//        if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
+//
+//            return null;
+//        }
+//
+//
+//        //使用GPS获取上一次的地址,这样获取到的信息需要多次,才能够显示出来,所以后面有动态的判断
+////        Location location = locationManager.getLastKnownLocation("fused");
+////        return location;
+//        return null;
+//    }
+////        public abstract void RequestLocation_ByBroadcast(String receiverID);
+//
+//    public void onLocationChanged(Location location)
+//    {
+//
+//    }
+//        public abstract void onLogin();
+//		public abstract void onLogout();
+
+    @Override
+    protected void finalize() throws Throwable {
+
+            Log.e(TAG, "finalize: ");
+
+            Stop(context);
+//        if (uploadManager != null)
+//            uploadManager.saveTasks();
+//        if(mServiceHandler!=null)
+//            mServiceHandler.removeCallbacksAndMessages(null);
+        context.unregisterReceiver(locationReceiver);
+
+        super.finalize();
+    }
+
+
+
+
+    public void Setup(Context context,boolean systemLocation, TracingTaskCallback callback) {
+        super.Setup(context);
+        tracingCallback=callback;
+        msgFilter.addAction(RABroadcast.ACTION_LOCATION_ENABLE_TRACING);
+        msgFilter.addAction(RABroadcast.ACTION_LOCATION_DISABLE_TRACING);
+        msgFilter.addAction(RABroadcast.ACTION_LOCATION_REQUEST_LOCATION);
+        context.registerReceiver(locationReceiver, msgFilter);
+        System_Location_Flag = systemLocation;
+
+
+        if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
+            // TODO: Consider calling
+            //    ActivityCompat#requestPermissions
+            // here to request the missing permissions, and then overriding
+            //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
+            //                                          int[] grantResults)
+            // to handle the case where the user grants the permission. See the documentation
+            // for ActivityCompat#requestPermissions for more details.
+//                return;
+        }
+        else
+        {
+
+            initLocation();
+
+        }
+
+
+    }
+
+    @Override
+    protected void Pause(Context context) {
+
+    }
+
+    @Override
+    protected void Resume(Context context) {
+
+    }
+
+    @Override
+    protected void Stop(Context context) {
+        disable_locationTracing();
+
+    }
+
+
+
+
+
+    private void setCurrentLocation(Location location) {
+        mCurrentLocation = location;
+        if (location != null) {
+            mLastNotNullLocation = location;
+        }
+
+
+
+    }
+
+    public Location getCurrentLocation() {
+        return mCurrentLocation;
+
+
+    }
+
+    public Location getLastKnownLocation() {
+
+
+        return mLastNotNullLocation;
+
+    }
+
+    public void initLocation() {
+
+        if (System_Location_Flag) {
+
+            SystemLocation.sharedLocation().adjustLocation = true;
+            SystemLocation.sharedLocation().requestLocation(context.getApplicationContext(), new SystemLocation.SystemLocationChangeCallback() {
+                @Override
+                public void onLocationChanged(Location location) {
+
+                    Log.d(TAG, "onLocationChanged: " + location);
+                    setCurrentLocation(location);
+                }
+            });
+
+        } else {
+
+            if(mFusedLocationClient!=null)
+                return;
+            Log.d(TAG, "initLocation: ");
+            mFusedLocationClient = LocationServices.getFusedLocationProviderClient(context);
+
+            mLocationCallback = new LocationCallback() {
+                @Override
+                public void onLocationResult(LocationResult locationResult) {
+                    super.onLocationResult(locationResult);
+
+                    Log.i(TAG, "FusedLocationClient onLocationResult: " + locationResult.getLastLocation());
+//                    onNewLocation(locationResult.getLastLocation());
+
+
+                    Location location = locationResult.getLastLocation();
+                    if(tracingCallback!=null)
+                        tracingCallback.onLocationChanged(location);
+                    setCurrentLocation(location);
+                }
+            };
+
+            createLocationRequest();
+            getLastLocation();
+
+        }
+
+
+    }
+
+
+    private void createLocationRequest() {
+
+        if (System_Location_Flag) {
+
+        } else {
+
+            mLocationRequest = new LocationRequest();
+            mLocationRequest.setInterval(DEFAULT_LOCATION_TIMEINTERVAL);
+            mLocationRequest.setFastestInterval(DEFAULT_LOCATION_TIMEINTERVAL/2);
+            mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
+        }
+
+    }
+
+    private void requestLocationUpdates() {
+        Log.i(TAG, "Requesting location updates");
+
+        if (System_Location_Flag) {
+
+        } else {
+
+            //        Utils.setRequestingLocationUpdates(this, true);
+//        startService(new Intent(getApplicationContext(), LocationUpdatesService.class));
+            try {
+
+                Log.d(TAG, "requestLocationUpdates: ");
+//                long dbg_l = mLocationRequest.getNumUpdates();
+//                if(backgroundLocationTracing)
+//                    mLocationRequest.setNumUpdates(0);
+//                else
+//                    mLocationRequest.setNumUpdates(1);
+                mFusedLocationClient.requestLocationUpdates(mLocationRequest,
+                        mLocationCallback, null);
+            } catch (SecurityException unlikely) {
+//            Utils.setRequestingLocationUpdates(this, false);
+                Log.e(TAG, "Lost location permission. Could not request updates. " + unlikely);
+            }
+        }
+    }
+
+    /**
+     * Removes location updates. Note that in this sample we merely log the
+     * {@link SecurityException}.
+     */
+    private void removeLocationUpdates() {
+        Log.i(TAG, "Removing location updates");
+
+        if (System_Location_Flag) {
+
+            SystemLocation.sharedLocation().stopRequestLocation();
+
+        } else {
+
+            try {
+                mFusedLocationClient.removeLocationUpdates(mLocationCallback);
+//            Utils.setRequestingLocationUpdates(this, false);
+//                stopSelf();
+            } catch (SecurityException unlikely) {
+//            Utils.setRequestingLocationUpdates(this, true);
+                Log.e(TAG, "Lost location permission. Could not remove updates. " + unlikely);
+            }
+
+        }
+
+    }
+    private void getLastLocation() {
+
+        if (System_Location_Flag) {
+
+        } else {
+
+            try {
+                mFusedLocationClient.getLastLocation()
+                        .addOnCompleteListener(new OnCompleteListener<Location>() {
+                            @Override
+                            public void onComplete(@NonNull Task<Location> task) {
+                                if (task.isSuccessful() && task.getResult() != null) {
+                                    mLocation = task.getResult();
+                                } else {
+                                    Log.w(TAG, "Failed to get location.");
+                                }
+                            }
+                        });
+            } catch (SecurityException unlikely) {
+                Log.e(TAG, "Lost location permission." + unlikely);
+            }
+
+        }
+
+    }
+    // sub function Notification
+//    protected String url_checknotification = null;
+//    int pushcheck_timeInterval = DEFAULT_PUSHNOTIFICATION_TIMEINTERVAL;
+
+
+}

+ 5 - 4
ApexDrivers/RAUtilsLibrary/build.gradle

@@ -12,8 +12,8 @@ android {
     }
     buildTypes {
         release {
-            minifyEnabled true
-            zipAlignEnabled true
+//            minifyEnabled true
+//            zipAlignEnabled true
 //            shrinkResources true
 //            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
         }
@@ -51,15 +51,16 @@ android {
 }
 
 dependencies {
-    implementation 'androidx.appcompat:appcompat:1.1.0'
+    implementation 'androidx.appcompat:appcompat:1.2.0'
 //    testImplementation 'junit:junit:4.12'
 //    androidTestImplementation 'com.android.support.test:runner:1.0.2'
 //    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
     api files('libs/bcprov-jdk15on-157.jar')
     api files('libs/httpmime-4.1.1.jar')
-//    api 'com.google.android.gms:play-services-location:17.0.0'
+
     api files('libs/core-2.3.0.jar')
     api 'com.github.barteksc:android-pdf-viewer:3.2.0-beta.1'
+    implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
 }
 
 

+ 1 - 1
ApexDrivers/RAUtilsLibrary/proguard-project.txt

@@ -22,7 +22,7 @@
 -dontwarn javax.naming.**
 
 
-
+#-keep class * extends com.usai.redant.rautils.base.NoProguard {*;}
 
 #-keep class com.usai.redant.camera.CameraManager
 -keep class javax.naming.*

+ 52 - 69
ApexDrivers/RAUtilsLibrary/src/main/AndroidManifest.xml

@@ -1,98 +1,81 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          xmlns:tools="http://schemas.android.com/tools"
-          package="com.usai.redant.rautils">
+    xmlns:tools="http://schemas.android.com/tools"
+    package="com.usai.redant.rautils">
 
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
 
-    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
-    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
-    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
-
-    <!-- 写联系人权限 -->
-    <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
-    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
-
+    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 写联系人权限 -->
+    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
+    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
     <!--
          <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
     <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
     -->
-    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
-    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
-    <uses-permission android:name="android.permission.INTERNET"/>
-    <uses-permission android:name="android.permission.READ_CONTACTS"/>
-    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
-    <!-- External storage for caching. -->
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.READ_CONTACTS" />
+    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <!-- External storage for caching. -->
     <!-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> -->
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
-    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
-
-    <!-- Calendar -->
-    <uses-permission android:name="android.permission.READ_CALENDAR"/>
-    <uses-permission android:name="android.permission.WRITE_CALENDAR"/>
-
-    <uses-permission android:name="android.permission.CAMERA"/>
-    <uses-permission android:name="android.permission.WAKE_LOCK"/>
-    <uses-permission android:name="android.permission.VIBRATE"/>
-    <uses-permission android:name="android.permission.FLASHLIGHT"/>
-    <!-- 调用硬件相机权限 -->
-    <uses-feature android:name="android.hardware.camera"/>
-    <uses-feature android:name="android.hardware.camera.autofocus"/>
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- Calendar -->
+    <uses-permission android:name="android.permission.READ_CALENDAR" />
+    <uses-permission android:name="android.permission.WRITE_CALENDAR" />
+    <uses-permission android:name="android.permission.CAMERA" />
+    <uses-permission android:name="android.permission.WAKE_LOCK" />
+    <uses-permission android:name="android.permission.VIBRATE" />
+    <uses-permission android:name="android.permission.FLASHLIGHT" /> <!-- 调用硬件相机权限 -->
+    <uses-feature android:name="android.hardware.camera" />
+    <uses-feature android:name="android.hardware.camera.autofocus" />
 
     <application
         android:allowBackup="true"
-        android:supportsRtl="true"
-
-        >
-        <!--android:theme="@style/AppTheme"-->
-
-
+        android:supportsRtl="true">
+<!--        <service-->
+<!--            android:name=".service.RAService3"-->
+<!--            android:enabled="true"-->
+<!--            android:exported="true"></service>-->
+        <!-- android:theme="@style/AppTheme" -->
         <!-- <service -->
         <!-- android:name=".Service.RAService" -->
         <!-- android:enabled="true" -->
         <!-- android:exported="true" /> -->
-
-        <!--Android 7.0 以后文件操作-->
-        <!--<provider-->
-            <!--android:name="android.support.v4.content.FileProvider"-->
-            <!--android:authorities="com.usai.apex.radant.utils.fileprovider"-->
-            <!--android:exported="false"-->
-            <!--android:grantUriPermissions="true">-->
-            <!--<meta-data-->
-                <!--android:name="android.support.FILE_PROVIDER_PATHS"-->
-                <!--android:resource="@xml/ra_provider_paths" />-->
-        <!--</provider>-->
-
+        <!-- Android 7.0 以后文件操作 -->
+        <!-- <provider -->
+        <!-- android:name="android.support.v4.content.FileProvider" -->
+        <!-- android:authorities="com.usai.apex.radant.utils.fileprovider" -->
+        <!-- android:exported="false" -->
+        <!-- android:grantUriPermissions="true"> -->
+        <!-- <meta-data -->
+        <!-- android:name="android.support.FILE_PROVIDER_PATHS" -->
+        <!-- android:resource="@xml/ra_provider_paths" /> -->
+        <!-- </provider> -->
         <receiver
             android:name=".receiver.RABroadcastReceiver"
             android:enabled="true"
-            android:exported="false">
-        </receiver>
-
-        <activity android:name=".fileviewer.FileViewerActivity">
-        </activity>
+            android:exported="false"></receiver>
 
+        <activity android:name=".fileviewer.FileViewerActivity"></activity>
         <activity
-            android:name="com.usai.redant.rautils.zxing.camera.PreferencesActivity"
-            android:screenOrientation="portrait"/>
+            android:name=".zxing.camera.PreferencesActivity"
+            android:screenOrientation="portrait" />
         <activity
-            android:name="com.usai.redant.rautils.zxing.codescanner.CaptureActivity"
+            android:name=".zxing.codescanner.CaptureActivity"
             android:clearTaskOnLaunch="true"
             android:label="Scan"
             android:screenOrientation="sensorLandscape"
             android:stateNotNeeded="true"
             android:theme="@style/CaptureTheme"
-            android:windowSoftInputMode="stateAlwaysHidden"/>
-
-        <activity android:name=".preview.RAPDFPreviewActivity"/>
-
-        <activity android:name=".infinitephoto.InfinitePhotoActivity"
-            android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"/>
-
-        <activity android:name=".signature.SignatureActivity"
-
-            />
-        <!--android:theme="@style/Theme.AppCompat.Light.DarkActionBar"-->
-    </application>
+            android:windowSoftInputMode="stateAlwaysHidden" />
+        <activity android:name=".preview.RAPDFPreviewActivity" />
+        <activity
+            android:name=".infinitephoto.InfinitePhotoActivity"
+            android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen" />
+        <activity android:name=".signature.SignatureActivity" />
+        <activity
+            android:name=".upload.TaskActivity"
+          android:theme="@style/Theme.AppCompat.Light" />
+                </application>
 
-</manifest>
+            </manifest>

+ 345 - 0
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/application/RAApplication.java

@@ -0,0 +1,345 @@
+package com.usai.redant.rautils.application;
+
+import android.app.Activity;
+//import android.app.Application;
+import android.app.Notification;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.ServiceConnection;
+import android.content.SharedPreferences;
+import android.graphics.BitmapFactory;
+import android.net.Uri;
+import android.os.Build;
+import android.os.Bundle;
+import android.os.IBinder;
+import android.provider.Settings;
+import androidx.core.app.NotificationCompat;
+import android.text.TextUtils;
+
+import com.usai.redant.rautils.receiver.RABroadcast;
+import com.usai.redant.rautils.service.RAService;
+import com.usai.redant.rautils.service.RAService3;
+
+import static android.app.Notification.VISIBILITY_PUBLIC;
+import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;
+
+
+
+
+
+public class RAApplication extends RedantApplication {
+
+    // region Activity Life
+    private boolean isBackground = true;
+
+    public boolean isBackground() {
+        return isBackground;
+    }
+
+    private class LifeCallback implements ActivityLifecycleCallbacks {
+        //用于判断App 是前台还是后台
+        private int activityStartCount = 0;
+        private Activity mCurrentActivity = null;
+
+        @Override
+        public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
+
+        }
+
+        @Override
+        public void onActivityStarted(Activity activity) {
+            activityStartCount++;
+            mCurrentActivity = activity;
+        }
+
+        @Override
+        public void onActivityResumed(Activity activity) {
+
+            if(isBackground==true)
+            {
+                isBackground = false;
+                applicationDidEnterForeground();
+            }
+        }
+
+        @Override
+        public void onActivityPaused(Activity activity) {
+
+        }
+
+        @Override
+        public void onActivityStopped(Activity activity) {
+
+            activityStartCount--;
+            if(activityStartCount == 0)
+            {
+                isBackground = true;
+                applicationDidEnterBackground();
+            }
+        }
+
+        @Override
+        public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
+
+        }
+
+        @Override
+        public void onActivityDestroyed(Activity activity) {
+
+        }
+    }
+    // endregion
+
+    // region Life Circle
+//    public static RAApplication getInstance() {
+//        return instance;
+//    }
+//    private static RAApplication instance;
+    private LifeCallback mLifeCallback;
+    private ServiceConnection mServiceConnection = null;
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+//        instance = this;
+        mLifeCallback = new LifeCallback();
+        registerActivityLifecycleCallbacks(mLifeCallback);
+    }
+
+    @Override
+    public Class getServiceClass() {
+        return null;
+    }
+
+    @Override
+    public void onTerminate() {
+        super.onTerminate();
+
+        unregisterActivityLifecycleCallbacks(mLifeCallback);
+        if (mServiceConnection != null) {
+            unbindService(mServiceConnection);
+        }
+    }
+
+    // endregion
+
+    // region Getter
+    public static RAApplication sharedApplication() {
+        return (RAApplication)getInstance();
+    }
+
+    public Activity getCurrentActivity() {
+        if (mLifeCallback != null) {
+
+            return mLifeCallback.mCurrentActivity;
+        }
+        return null;
+    }
+
+    // endregion
+
+    // region Callback
+
+    public void applicationDidEnterBackground() {
+
+    }
+
+    public void applicationDidEnterForeground() {
+
+    }
+
+    // endregion
+
+    // region Service & Receiver
+
+    private RAService3 mService;
+    public void startService(Class serviceCls) {
+
+        mServiceConnection = new ServiceConnection() {
+            @Override
+            public void onServiceConnected(ComponentName name, IBinder service) {
+
+                RAService3.Service3Binder binder = (RAService3.Service3Binder)service;
+                mService = (RAService3) binder.getService();
+
+            }
+
+            @Override
+            public void onServiceDisconnected(ComponentName name) {
+
+                mService = null;
+            }
+        };
+
+        Intent serviceintent = new Intent();
+        serviceintent.setClass(this, serviceCls);
+
+        ComponentName cn;
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+            cn =this.startForegroundService(serviceintent);
+        } else {
+            cn =this.startService(serviceintent);
+        }
+
+        Intent intent = new Intent(getApplicationContext(),serviceCls);
+        bindService(intent,mServiceConnection, Context.BIND_AUTO_CREATE);
+    }
+
+    public RAService3 getService() {
+        return mService;
+    }
+
+    // endregion
+
+    // region Alarm
+
+    public void initAlarm(Class receiverCls) {
+
+        Intent bintent = new Intent(RABroadcast.ACTION_REDANT_INIT_ALARM);
+        bintent.setClass(this, receiverCls);
+        bintent.setPackage(getPackageName());
+        sendBroadcast(bintent);
+    }
+
+    // endregion
+
+    // region Preference
+
+    public SharedPreferences sharedPreferences(String key) {
+
+        SharedPreferences pref=null;
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
+        {
+            Context c= this.createDeviceProtectedStorageContext();
+            pref = c.getSharedPreferences(key, 0);
+        }
+        else
+        {
+            pref = getSharedPreferences(key, 0);
+        }
+        return pref;
+    }
+
+    // endregion
+
+    // region Notification
+
+    public class NotificationContent {
+
+        public static final String ExtraKey = "aps";
+
+        private String title;
+        private String body;
+        private int id;
+        private String extra;
+
+        private int smallIcon;
+        private int largeIcon;
+
+        /**
+         * smallIcon like Driver R.drawable.small_icon_clear
+         * largeIcon like Driver R.drawable.large_notification_icon_clear
+         * */
+        public NotificationContent(int id, String title, String body, int smallIcon, int largeIcon, String extra) {
+            this.id = id;
+            this.title = title;
+            this.body = body;
+            this.extra = extra;
+            this.smallIcon = smallIcon;
+            this.largeIcon = largeIcon;
+        }
+    }
+
+    public void showNotification(NotificationContent content, String channelId, String channelName, Class activityCls) {
+        if (content == null) {
+            return;
+        }
+
+        if (TextUtils.isEmpty(content.title) || TextUtils.isEmpty(content.body)) {
+            return;
+        }
+
+        Intent intent = new Intent(getApplicationContext(), activityCls);
+        intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP); // getIntent可能是null
+        if (content.extra != null) {
+            intent.putExtra(NotificationContent.ExtraKey,content.extra); // 程序在后台的情况下,点击通知将程序唤醒到前台时,并不能取得extra
+        }
+
+        /**
+         *
+         * requestCode: 需要保证不同,否则id不通的intent取到的extra也是同一个
+         * */
+        int requestCode = content.id;
+        PendingIntent contentIntent = PendingIntent.getActivity(getApplicationContext(), requestCode, intent,FLAG_UPDATE_CURRENT);
+
+        //1.获取系统通知的管理者
+        NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
+
+        Notification noti = null;
+        long[] vibrates = { 0, 1000, 1000, 1000 };
+
+//        Uri soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
+        Uri soundUri = Settings.System.DEFAULT_NOTIFICATION_URI;
+
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+
+            /**
+             * Oreo不用Priority了,用importance
+             * IMPORTANCE_NONE 关闭通知
+             * IMPORTANCE_MIN 开启通知,不会弹出,但没有提示音,状态栏中无显示
+             * IMPORTANCE_LOW 开启通知,不会弹出,不发出提示音,状态栏中显示
+             * IMPORTANCE_DEFAULT 开启通知,不会弹出,发出提示音,状态栏中显示
+             * IMPORTANCE_HIGH 开启通知,会弹出,发出提示音,状态栏中显示
+             */
+            NotificationChannel channel = new NotificationChannel(channelId, channelName, NotificationManager.IMPORTANCE_HIGH);
+            // 震动
+            channel.enableVibration(true);
+            channel.setVibrationPattern(vibrates);
+
+            channel.enableLights(true);
+
+            channel.setSound(soundUri, Notification.AUDIO_ATTRIBUTES_DEFAULT);
+
+            nm.createNotificationChannel(channel);
+
+            noti = new NotificationCompat.Builder(this, channelId)
+                    .setContentTitle(content.title)
+                    .setContentText(content.body)
+                    .setSmallIcon(content.smallIcon)
+                    .setLargeIcon(BitmapFactory.decodeResource(getResources(),content.largeIcon))
+                    .setContentIntent(contentIntent)
+                    .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
+                    .setSound(soundUri)
+                    .setLights(0xff00bbff,500,200)
+                    .build();
+        } else {
+
+            noti = new Notification.Builder(this)
+                    .setContentTitle(content.title)
+                    .setContentText(content.body)
+                    .setSmallIcon(content.smallIcon)
+                    .setLargeIcon(BitmapFactory.decodeResource(getResources(),content.largeIcon))
+                    .setContentIntent(contentIntent)
+                    .setVisibility(VISIBILITY_PUBLIC)
+                    .setSound(soundUri)
+                    .setLights(0xff00bbff,500,20)
+                    .build();
+
+        }
+
+        /**
+         * vibrate属性是一个长整型的数组,用于设置手机静止和振动的时长,以毫秒为单位。
+         * 参数中下标为0的值表示手机静止的时长,下标为1的值表示手机振动的时长, 下标为2的值又表示手机静止的时长,以此类推。
+         */
+        noti.vibrate = vibrates;
+
+        noti.flags |= Notification.FLAG_AUTO_CANCEL;
+        nm.notify(content.id, noti);
+    }
+
+    // endregion
+}

+ 26 - 0
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/application/RedantApplication.java

@@ -0,0 +1,26 @@
+package com.usai.redant.rautils.application;
+
+import android.app.Application;
+
+import com.usai.redant.rautils.service.RAService3;
+
+public abstract class RedantApplication extends Application {
+
+    private static RedantApplication instance;
+    @Override
+    public void onCreate() {
+        super.onCreate();
+        instance = this;
+    }
+    protected RAService3 mService;
+    public static RedantApplication getInstance() {
+        return instance;
+    }
+    protected void setInstance(RedantApplication application)
+    {
+        instance = application;
+
+    }
+    public abstract Class getServiceClass();
+
+}

+ 2 - 2
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/base/BaseObject.java

@@ -11,7 +11,7 @@ import java.lang.reflect.Method;
  * 基础对象,方便使用json初始化对象,属性必须声明为public
  * 如果json中元素为json对象,那么属性对应的应该为Object类型
  * */
-public class BaseObject {
+public class BaseObject extends NoProguard{
 
     /**
      * Utils
@@ -55,7 +55,7 @@ public class BaseObject {
             try {
                 f.set(this,value);
             } catch (IllegalAccessException e) {
-//                e.printStackTrace();
+                e.printStackTrace();
             }
         }
     }

+ 4 - 0
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/base/NoProguard.java

@@ -0,0 +1,4 @@
+package com.usai.redant.rautils.base;
+
+public class NoProguard extends Object  {
+}

+ 2 - 0
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/receiver/AlarmReceiver.java

@@ -84,6 +84,7 @@ public abstract class AlarmReceiver extends BootCompleteBroadcastReceiver {
 //        bintent.putExtra("msg", msg.toString());
 
         bintent.setClass(context, this.getClass());
+        bintent.setPackage(context.getPackageName());
         context.sendBroadcast(bintent);
 
     }
@@ -99,6 +100,7 @@ public abstract class AlarmReceiver extends BootCompleteBroadcastReceiver {
 
 
         bintent.setClass(context, this.getClass());
+        bintent.setPackage(context.getPackageName());
         context.sendBroadcast(bintent);
     }
 

+ 148 - 0
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/service/RAService3.java

@@ -0,0 +1,148 @@
+package com.usai.redant.rautils.service;
+
+
+import android.app.Notification;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.app.Service;
+import android.content.Context;
+import android.content.Intent;
+
+import android.os.Binder;
+import android.os.Build;
+import android.os.IBinder;
+import android.util.Log;
+
+
+import androidx.core.app.NotificationCompat;
+
+import com.usai.redant.rautils.R;
+
+import java.util.ArrayList;
+
+public abstract class RAService3 extends Service {
+
+    String TAG="RAService3";
+    protected static  String CHANNEL_ID = "RAService3";
+    protected static  String CHANNEL_NAME = "RAService3";
+    protected static  String LAUNCH_MSG = "SERVICE IS RUNNING";
+    public static  int FOREGROUND_ICON = R.drawable.ic_launcher_foreground;
+    public static  int BACKGROUND_ICON = R.drawable.ic_launcher_background;
+    public static final int DEFAULT_LOCATION_TIMEINTERVAL = 30 * 1000;
+    public static final int DEFAULT_PUSHNOTIFICATION_TIMEINTERVAL = 30 * 1000;
+
+
+    protected int service_flag = FLAG_SERVICE_NONE;
+    public static final int FLAG_SERVICE_NONE = 0;
+
+    private Intent serviceIntent;
+    ArrayList<RATask3> tasks = new ArrayList<>();
+
+    public class Service3Binder extends Binder {
+        /**
+         * 获取当前Service的实例
+         *
+         * @return
+         */
+        public RAService3 getService() {
+            return RAService3.this;
+        }
+    }
+
+    public RAService3() {
+    }
+
+    @Override
+    public IBinder onBind(Intent intent) {
+        // TODO: Return the communication channel to the service.
+        Log.d(TAG, "onBind: bind service");
+        serviceIntent = intent;
+        return new RAService3.Service3Binder();
+    }
+
+    @Override
+    public void onCreate() {
+        Log.d(TAG, "onCreate: ");
+        super.onCreate();
+
+
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+//            String CHANNEL_ID = "apex & driver";
+//            String CHANNEL_NAME = "Background Service";
+
+            NotificationChannel channel = new NotificationChannel("Service Start",
+                    "Service Start", NotificationManager.IMPORTANCE_HIGH);
+            ((NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE)).createNotificationChannel(channel);
+
+            Notification notification = new NotificationCompat.Builder(this, "Service Start")
+//                    .setContentTitle("Apex Land is running.")
+                    .setContentText(LAUNCH_MSG)
+                    .setCategory(Notification.CATEGORY_SERVICE).setSmallIcon(FOREGROUND_ICON).setPriority(1000).build();
+
+            startForeground(101, notification);
+        }
+        else
+        {
+            startService(serviceIntent);
+        }
+
+
+    }
+
+    @Override
+    public void onDestroy() {
+        removeAllTask();
+        super.onDestroy();
+    }
+    @Override
+    public int onStartCommand(Intent intent, int flags, int startId) {
+        Log.d(TAG, "onStartCommand");
+//        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
+//            // TODO: Consider calling
+//            //    ActivityCompat#requestPermissions
+//            // here to request the missing permissions, and then overriding
+//            //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
+//            //                                          int[] grantResults)
+//            // to handle the case where the user grants the permission. See the documentation
+//            // for ActivityCompat#requestPermissions for more details.
+////                return;
+//        }
+////        else
+////        {
+////
+////            initLocation();
+////
+////        }
+        return super.onStartCommand(intent,flags,startId);
+    }
+
+    public void addTask(RATask3 task)
+    {
+        tasks.add(task);
+    }
+
+    public void removeTask(RATask3 task)
+    {
+
+        tasks.remove(task);
+    }
+
+    public void removeAllTask()
+    {
+
+        tasks.clear();
+    }
+
+    public RATask3 queryTask(Class cls)
+    {
+        for(int i=0;i<tasks.size();i++)
+        {
+            RATask3 task= tasks.get(i);
+            task.getClass().getName();
+            if(task.getClass().equals(cls))
+                return task;
+        }
+        return null;
+    }
+
+}

+ 29 - 0
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/service/RATask3.java

@@ -0,0 +1,29 @@
+package com.usai.redant.rautils.service;
+
+import android.content.Context;
+import android.content.IntentFilter;
+import android.net.NetworkInfo;
+
+public abstract class RATask3 extends Object{
+    protected IntentFilter msgFilter = new IntentFilter();
+    protected Context context;
+    protected void Setup(Context context)
+    {
+        this.context = context;
+    }
+    protected abstract void Pause(Context context);
+    protected abstract void Resume(Context context);
+    protected abstract void Stop(Context context);
+
+
+    public interface ReachabilityCallback {
+
+        //此类将去掉
+//        public abstract Location RequestCachedLocation();
+//        public abstract void RequestLocation_ByBroadcast(String receiverID);
+
+        void networkStateChanged(NetworkInfo networkInfo);
+//        public abstract void onLogin();
+//		public abstract void onLogout();
+    }
+}

+ 104 - 0
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/service/RATask3Notifiacation.java

@@ -0,0 +1,104 @@
+package com.usai.redant.rautils.service;
+
+import android.app.Notification;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.usai.redant.rautils.receiver.RABroadcast;
+import com.usai.redant.rautils.receiver.RABroadcastReceiver;
+import com.usai.redant.rautils.utils.dbgUtil;
+
+import org.json.JSONObject;
+
+import static android.content.ContentValues.TAG;
+
+public class RATask3Notifiacation extends RATask3 {
+
+    public static final int DEFAULT_PUSHNOTIFICATION_TIMEINTERVAL = 30 * 1000;
+    protected String url_checknotification = null;
+    int pushcheck_timeInterval = DEFAULT_PUSHNOTIFICATION_TIMEINTERVAL;
+    protected static final int NOTIFICATION_TYPE_PUSHNOTIFICATION = 0;
+    protected static final int NOTIFICATION_TYPE_SILENCECOMMAND = 1;
+    protected boolean enable_pushNotification = false;
+    private ReachabilityCallback reachabilityCallback;
+    private BroadcastReceiver uploadReceiver = new RABroadcastReceiver() {
+
+        public void onReceive(Context context, Intent intent) {
+            String action = intent
+                    .getAction();
+
+            Log.d(TAG, "onReceive: " + action);
+            dbgUtil.fileLog(context,TAG+"   RABroadcastReceiver: onReceive  " + action);
+            // 如果捕捉到的action是ACTION_BATTERY_CHANGED
+
+
+             if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
+
+
+                ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+
+                NetworkInfo networkInfo = connManager.getActiveNetworkInfo();
+                if (networkInfo == null) {
+                    dbgUtil.Logd("Current Network info","can not get Active NetworkInfo!");
+                }
+
+
+
+                if (reachabilityCallback != null) {
+                    reachabilityCallback.networkStateChanged(networkInfo);
+                }
+
+            }
+
+
+
+        }
+    };
+    private ServicePushNotification pushNotificationCallback = null;
+
+    public interface ServicePushNotification {
+        public abstract Notification prepareNotification(JSONObject msg);
+
+        public abstract void handleSilenceMessage(JSONObject msg);
+    }
+
+
+    public void Setup(Context context,ServicePushNotification pushNotificationCallback,String url_checknotification) {
+        super.Setup(context);
+
+        this.url_checknotification = url_checknotification;
+        this.pushNotificationCallback = pushNotificationCallback;
+
+
+        if (TextUtils.isEmpty(url_checknotification)) {
+            Log.e(TAG, "onCreate: setup FLAG_SERVICE_NOTIFICATION without url_checknotification");
+        }
+
+        msgFilter.addAction(RABroadcast.ACTION_PUSHNOTIFICATION_CHECK);
+        msgFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
+
+
+        context.registerReceiver(uploadReceiver, msgFilter);
+    }
+
+    @Override
+    protected void Pause(Context context) {
+
+    }
+
+    @Override
+    protected void Resume(Context context) {
+
+    }
+
+    @Override
+    protected void Stop(Context context) {
+
+    }
+}

+ 180 - 0
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/service/RATask3Upload.java

@@ -0,0 +1,180 @@
+package com.usai.redant.rautils.service;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
+import android.os.Bundle;
+import android.util.Log;
+
+//import com.usai.redant.rautils.application.RAApplication;
+import com.usai.redant.rautils.application.RedantApplication;
+import com.usai.redant.rautils.receiver.RABroadcast;
+import com.usai.redant.rautils.receiver.RABroadcastReceiver;
+import com.usai.redant.rautils.upload.RAUploadManager;
+import com.usai.redant.rautils.utils.RAUtil;
+import com.usai.redant.rautils.utils.dbgUtil;
+
+import java.util.ArrayList;
+
+public class RATask3Upload extends RATask3{
+    String TAG="RaTask3Upload";
+//    private IntentFilter msgFilter = new IntentFilter();
+    private RAUploadManager uploadManager = null;
+
+    private ReachabilityCallback reachabilityCallback;
+
+    private BroadcastReceiver uploadReceiver = new RABroadcastReceiver() {
+
+        public void onReceive(Context context, Intent intent) {
+            String action = intent
+                    .getAction();
+
+            Log.d(TAG, "onReceive: " + action);
+            dbgUtil.fileLog(context,TAG+"   RABroadcastReceiver: onReceive  " + action);
+            // 如果捕捉到的action是ACTION_BATTERY_CHANGED
+
+            if (RABroadcast.ACTION_UPLOAD_ADD_TASK.equals(action)) {
+
+                ArrayList<Bundle> tasks = intent.getParcelableArrayListExtra("tasks");
+
+
+                uploadManager.addTasks(tasks);
+            }
+//            else if ("REDANT.RAImage.SAVE_TASK".equals(action)) {
+//                uploadManager.stopAllTasks();
+//            }
+            else if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
+
+
+                ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+
+                NetworkInfo networkInfo = connManager.getActiveNetworkInfo();
+                if (networkInfo == null) {
+                    dbgUtil.Logd("Current Network info","can not get Active NetworkInfo!");
+                }
+
+                if (uploadManager != null) {
+                    uploadManager.networkStateChanged(networkInfo);
+                }
+
+                if (reachabilityCallback != null) {
+                    reachabilityCallback.networkStateChanged(networkInfo);
+                }
+
+            }else
+            if (action.equals(RAUploadManager.UPLOAD_COUNT_CHANGED_NOTIFICATION)) {
+
+                Log.e(TAG, "onReceive: com.usai.upload.count.change.notification" );
+                sendUploadCountChangeNotification();
+
+            } else if (action.equals(RAUploadManager.UPLOAD_FINISH_TASK_NOTIFICATION)) {
+                Log.e(TAG, "onReceive: com.usai.upload.count.change.notification" );
+                sendUploadCountChangeNotification();
+            }
+
+
+
+        }
+    };
+
+    public final static String APEX_DRIVER_UPLOAD_COUNT_CHANGE_NOTIFICATION = "com.usai.apex.driver.upload_count_change";
+    private void sendUploadCountChangeNotification() {
+
+        Intent intent = new Intent(APEX_DRIVER_UPLOAD_COUNT_CHANGE_NOTIFICATION);
+        intent.putExtra("upload_count",getUploadCount());
+        intent.setPackage(context.getPackageName());
+        context.sendBroadcast(intent);
+    }
+
+    public int getUploadCount() {
+
+        return getUploadManager().get_arr_queue().size();
+    }
+
+    public RAUploadManager getUploadManager() {
+        return uploadManager;
+    }
+
+    public void Setup(Context context) {
+        super.Setup(context);
+        uploadManager = RAUploadManager.sharedManager(context.getApplicationContext());
+
+        RAUploadManager.configureUploadManager(context.getApplicationContext(), new RAUploadManager.configureBlock() {
+            @Override
+            public void configure(RAUploadManager.RAUploadManagerConfigure configure) {
+
+                configure.removeFinish = true;
+            }
+        });
+
+
+//        // 2019.1.2 v1.09 升级,将旧的Task移动到新到xml中
+//        SharedPreferences pref = RedantApplication.getInstance().getSharedPreferences(prefName, 0);
+//        if (pref != null) {
+//
+//            String task_list = pref.getString("task_list", null);
+//            if (task_list != null) {
+//
+//                SharedPreferences uploadPref = RAUtil.unProtectedPreferences(RedantApplication.getInstance(),"UploadManager");
+//                SharedPreferences.Editor uploadEditor = uploadPref.edit();
+//
+//                try {
+//                    // 将旧的移动到新的
+//                    uploadEditor.putString("task_list", task_list);
+//                    uploadEditor.apply();
+//
+//                    // 删除旧的
+//                    SharedPreferences.Editor editor = pref.edit();
+//                    editor.remove("task_list");
+//                    editor.apply();
+//
+//                } catch (Exception e) {
+//                    e.printStackTrace();
+//
+//                }
+//            }
+//        }
+
+
+
+        msgFilter.addAction("REDANT.BROADCAST.ACTION_UPLOAD_ADD_TASK");
+        msgFilter.addAction(RAUploadManager.UPLOAD_COUNT_CHANGED_NOTIFICATION);
+        msgFilter.addAction(RAUploadManager.UPLOAD_FINISH_TASK_NOTIFICATION);
+
+        context.registerReceiver(uploadReceiver, msgFilter);
+    }
+
+    @Override
+    protected void Pause(Context context) {
+
+    }
+
+    @Override
+    protected void Resume(Context context) {
+
+    }
+
+    @Override
+    protected void Stop(Context context) {
+
+    }
+
+    @Override
+    protected void finalize() throws Throwable {
+
+        Log.e(TAG, "finalize: ");
+
+        Stop(context);
+//        if (uploadManager != null)
+//            uploadManager.saveTasks();
+//        if(mServiceHandler!=null)
+//            mServiceHandler.removeCallbacksAndMessages(null);
+        context.unregisterReceiver(uploadReceiver);
+
+        super.finalize();
+    }
+
+}

+ 3 - 3
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/upload/RAOperationQueue.java

@@ -16,6 +16,7 @@ import java.util.concurrent.ThreadPoolExecutor;
 
 public class RAOperationQueue {
 
+    String TAG="RAOperationQueue";
     public interface OperationCallback {
         /**
             每个具体任务执行的回调
@@ -53,7 +54,7 @@ public class RAOperationQueue {
 //    public RAOperation runThread;
     public void addOperation(final Bundle taskinfo)
     {
-
+        Log.d(TAG, "addOperation: ");
 
         queue.offer(taskinfo);
         while (((ThreadPoolExecutor)es).getActiveCount()< MaxThread) {
@@ -101,8 +102,7 @@ public class RAOperationQueue {
 
 
                             Intent intent = new Intent("REDANT.RAImage.UPLOAD_COMPLETE");
-
-
+                            intent.setPackage(applicationContext.getPackageName());
 
 
                             if(wrong)

+ 17 - 9
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/upload/RAUploadManager.java

@@ -34,6 +34,7 @@ import static android.net.NetworkInfo.State.UNKNOWN;
 
 public class RAUploadManager {
 
+    String TAG="RAUploadManager";
 
     private int retryWaiting = 300;
 //    public int activeThread;
@@ -53,6 +54,7 @@ public class RAUploadManager {
 
 
     public static final int RESULT_BARCODE_ERROR = -50;
+    public static final int RESULT_FILE_MISSING = -60;
 
     private ArrayList<Bundle> arr_queue;
 
@@ -384,7 +386,7 @@ public class RAUploadManager {
 
 
                         synchronized (this) {
-                            Log.d("_synchronized", "UploadImage onProgress: " + percentage);
+                            Log.d("_synchronized", "UploadImage onProgress: begin " + percentage);
                             long timeStart = System.currentTimeMillis();
                             taskinfo.putDouble("progress", percentage);
                             if (uiUpdateListener != null) {
@@ -392,7 +394,7 @@ public class RAUploadManager {
 
                                 uiUpdateListener.updateCell(index, taskinfo);
                             }
-                            Log.d("_synchronized", "UploadImage onProgress: end" + (System.currentTimeMillis() - timeStart));
+                            Log.d("_synchronized", "UploadImage onProgress: end timecost:" + (System.currentTimeMillis() - timeStart));
                         }
 
 
@@ -409,20 +411,21 @@ public class RAUploadManager {
                 try {
                     r = result.getInt("result");
 
+                    String rmsg = result.optString("msg","");
 
                     if (r == 2 || r == RESULT_BARCODE_ERROR) {
                         taskinfo.putInt("status", TaskStatus.TaskStatusFinish.ordinal());
                         if (r == 2)
                             taskinfo.putString("msg", "upload successful");
                         else {
-                            String rmsg = result.getString("msg");
+
                             taskinfo.putString("msg", "warning: " + rmsg);
                         }
                     } else {
                         if (taskinfo.getInt("retry", 0) >= maxRetry) {
                             taskinfo.putInt("status", TaskStatus.TaskStatusError.ordinal());
                             taskinfo.putDouble("progress", 0.0);
-                            String rmsg = result.getString("msg");
+//                            String rmsg = result.getString("msg");
                             taskinfo.putString("msg", rmsg);
                         } else {
 
@@ -432,7 +435,7 @@ public class RAUploadManager {
                             if (taskinfo.getBoolean("iscancel",false)) {
 
                                 taskinfo.putInt("status", TaskStatus.TaskStatusStop.ordinal());
-                                taskinfo.putString("msg", "");
+                                taskinfo.putString("msg", rmsg);
 
                             } else {
 
@@ -449,7 +452,7 @@ public class RAUploadManager {
                                     // 完成100%等待返回到时候,网络中断
 
                                     taskinfo.putInt("status", TaskStatus.TaskStatusStop.ordinal());
-                                    taskinfo.putString("msg", "");
+                                    taskinfo.putString("msg", rmsg);
                                 }
                             }
 
@@ -505,6 +508,7 @@ public class RAUploadManager {
                     // 发送Task完成通知
                     Intent intent = new Intent(UPLOAD_FINISH_TASK_NOTIFICATION);
                     intent.putExtra("task",taskinfo);
+                    intent.setPackage(applicationContext.getPackageName());
                     applicationContext.sendBroadcast(intent);
                 }
                 else if (status==TaskStatus.TaskStatusError&&removeError)
@@ -542,7 +546,7 @@ public class RAUploadManager {
         arr_queue = new ArrayList<Bundle>();
 
 
-        Log.d("_RAIMAGE", "saveTasks: RAUploadManager");
+        Log.d(TAG, "saveTasks: RAUploadManager");
 
         SharedPreferences pref = RAUtil.unProtectedPreferences(applicationContext,"UploadManager");
         try {
@@ -559,7 +563,7 @@ public class RAUploadManager {
                 Object obj = ois.readObject();
                 ArrayList<?> arr_load = (ArrayList<?>) obj;
                 for (Object s : arr_load) {
-                    Log.d("_RAIMAGE", "loadTask: " + s);
+                    Log.d(TAG, "loadTask: " + s);
                     JSONObject jsobj = new JSONObject((String)s);
                     Bundle b = RAUtil.Json2Bundle(jsobj);
                     arr_queue.add(b);
@@ -588,11 +592,13 @@ public class RAUploadManager {
     private void taskCountChanged() {
 
         Intent intent = new Intent(UPLOAD_COUNT_CHANGED_NOTIFICATION);
+        intent.setPackage(applicationContext.getPackageName());
         applicationContext.sendBroadcast(intent);
     }
 
     public void addTask(Bundle task) {
 
+        Log.d(TAG, "addTask: ");
         synchronized (this) {
             Log.d("_synchronized", "addTask: ");
             long timeStart = System.currentTimeMillis();
@@ -612,8 +618,9 @@ public class RAUploadManager {
 
     public void addTasks(ArrayList<Bundle> tasks) {
 
+//        Log.d(TAG, "addTasks: ");
         synchronized (this) {
-            Log.d("_synchronized", "addTasks: ");
+            Log.d("_synchronized", "addTasks: "+tasks.size());
             long timeStart = System.currentTimeMillis();
             arr_queue.addAll(tasks);
             saveTasks();
@@ -637,6 +644,7 @@ public class RAUploadManager {
 
     public void startTask(Bundle task) {
 
+        Log.d(TAG, "startTask: ");
         task.putBoolean("iscancel", false);
 
 

+ 226 - 0
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/upload/TaskActivity.java

@@ -0,0 +1,226 @@
+package com.usai.redant.rautils.upload;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.Gravity;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageButton;
+import android.widget.ProgressBar;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.usai.redant.rautils.R;
+//import com.usai.redant.rautils.application.RAApplication;
+import com.usai.redant.rautils.application.RedantApplication;
+import com.usai.redant.rautils.service.RAService3;
+import com.usai.redant.rautils.utils.dbgUtil;
+//import com.usai.service.RAImageBackgroundService3;
+//import com.usai.util.dbgUtil;
+
+//import com.usai.service.RAImageBackgroundService;
+
+
+public class TaskActivity extends UploadListActivity {
+
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+
+
+//        Intent intent = getIntent();
+        registerCellResourceId(R.layout.upload_list_cell);
+
+
+//        Class cls = RedantApplication.getInstance().getServiceClass();
+//        setServiceClass(RedantApplication.getInstance().getService().getClass());
+
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    public View dequeueCell(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
+
+        return getView(position, convertView, parent);
+    }
+
+    private View getView(final int position, @Nullable View convertView, @NonNull ViewGroup parent) {
+
+        final Bundle item = getItem(position);
+
+        RAUploadManager.TaskStatus istatus = RAUploadManager.TaskStatus.values()[item.getInt("status",0)];
+        String status="";
+        switch(istatus)
+        {
+            case TaskStatusStart:
+                status="uploading";
+                break;
+            case TaskStatusStop:
+                status="stop";
+                break;
+            case TaskStatusError:
+                status="warning";
+                break;
+            case TaskStatusWait:
+                status="waiting";
+                break;
+            case TaskStatusFinish:
+                status="finish";
+                break;
+
+            default:
+                status="warning";
+                break;
+        }
+        double percent = item.getDouble("progress",(double)item.getInt("progress",0));
+        String err = item.getString("msg");
+        String name = item.getString("file","");
+
+        View cell;
+        ViewHolder holder;
+        if (convertView != null) {
+
+            cell = convertView;
+            holder = (ViewHolder)cell.getTag();
+            Log.d("_LIST", "getView: " + holder);
+
+        } else {
+
+            cell = View.inflate(getApplicationContext(), R.layout.upload_list_cell, null);
+            holder = new ViewHolder();
+            holder.name_tv = (TextView) cell.findViewById(R.id.upload_name_tv);
+            holder.progressBar = (ProgressBar) cell.findViewById(R.id.upload_progressBar);
+            holder.state_tv = (TextView) cell.findViewById(R.id.upload_state_tv);
+            holder.progress_tv = (TextView) cell.findViewById(R.id.upload_progress_tv);
+            holder.err_tv = (TextView) cell.findViewById(R.id.upload_err_tv);
+            holder.btn_reload = (ImageButton) cell.findViewById(R.id.btn_reload);
+            cell.setTag(holder);
+        }
+        holder.btn_reload.setImageResource(R.drawable.ic_action_reload);
+        if(istatus!= RAUploadManager.TaskStatus.TaskStatusError&& istatus!= RAUploadManager.TaskStatus.TaskStatusStop)
+        {
+            holder.btn_reload.setVisibility(View.GONE);
+        }
+        else
+        {
+            holder.btn_reload.setVisibility(View.VISIBLE);
+            Log.d("_LIST", "new listener: position" + position);
+            holder.btn_reload.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+
+
+                    Bundle task = getItem(position);
+
+                    Log.d("_LIST", "retry: " + task.getString("file","file is null") +"position" + position);
+
+
+                    ConnectivityManager connManager = (ConnectivityManager) RedantApplication.getInstance().getSystemService(Context.CONNECTIVITY_SERVICE);
+
+                    NetworkInfo networkInfo = connManager.getActiveNetworkInfo();
+                    if (networkInfo == null)
+                    {
+                        dbgUtil.Logd(
+                                "Current Network info",
+                                "can not get Active NetworkInfo!");
+//                                canstart = false;
+                        Toast toast = Toast.makeText(getApplicationContext(),
+                                "No available network. Please try upload manually later.",
+                                Toast.LENGTH_LONG);
+                        toast.setGravity(Gravity.CENTER, 0, 0);
+                        toast.show();
+                        return;
+                    }
+                    else
+                    {
+                        NetworkInfo.State netState = networkInfo
+                                .getState();
+                        if (netState != NetworkInfo.State.CONNECTED)
+                        {
+
+                            dbgUtil.Logd(
+                                    "Current Network info",
+                                    "not Connected!State="
+                                            + netState);
+//                                    canstart = false;
+
+                            Toast toast = Toast.makeText(getApplicationContext(),
+                                    "App network connection. Please try upload manually later.",
+                                    Toast.LENGTH_LONG);
+                            toast.setGravity(Gravity.CENTER, 0, 0);
+                            toast.show();
+                            return;
+                        }
+                        else
+                        {
+                            int iconntype = -1;
+                            iconntype = networkInfo
+                                    .getType();
+
+                            SharedPreferences pref = RedantApplication
+                                    .getInstance()
+                                    .getSharedPreferences(
+                                            "UploadManager",
+                                            0);
+                            boolean
+                                    wifi_only
+                                    =pref.getBoolean("wifi_only",
+                                    false);
+                            if(wifi_only == true
+                                    && iconntype !=
+                                    ConnectivityManager.TYPE_WIFI
+                                    && iconntype !=
+                                    9/* earthnet */)
+                            {
+//                                    canstart = false;
+
+                                Toast toast = Toast.makeText(getApplicationContext(),
+                                        "App is set to upload via WIFI only. Please change your setting or try upload manually later.",
+                                        Toast.LENGTH_LONG);
+                                toast.setGravity(Gravity.CENTER, 0, 0);
+                                toast.show();
+                                return;
+                            }
+                        }
+
+                    }
+
+                    v.setVisibility(View.GONE);
+                    startTask(task);
+                }
+            });
+        }
+
+
+
+        holder.name_tv.setText(name);
+//            holder.progressBar.setProgress(100 *(int)percent);
+        holder.progressBar.setProgress((int) (100 * percent));
+        holder.state_tv.setText(status);
+//            holder.progress_tv.setText(100*percent+"%");
+        holder.progress_tv.setText(String.format("%.2f%%",100*percent));
+        holder.err_tv.setText(err);
+
+
+
+        Log.d("_LIST", "getView(): POSITION   "+position+" file   " + item.getString("file","no file"));
+        return cell;
+    }
+
+    private class ViewHolder {
+        public TextView name_tv;
+        public ProgressBar progressBar;
+        public TextView state_tv;
+        public TextView progress_tv;
+        public TextView err_tv;
+        public ImageButton btn_reload;
+    }
+}

+ 22 - 13
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/upload/UploadListActivity.java

@@ -24,7 +24,10 @@ import android.widget.ArrayAdapter;
 import android.widget.ListView;
 
 import com.usai.redant.rautils.R;
-import com.usai.redant.rautils.service.RAService;
+//import com.usai.redant.rautils.service.RAService;
+import com.usai.redant.rautils.application.RedantApplication;
+import com.usai.redant.rautils.service.RAService3;
+import com.usai.redant.rautils.service.RATask3Upload;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -38,14 +41,14 @@ public class UploadListActivity extends AppCompatActivity {
 
 
     private RAUploadManager uploadManager;
-    private RAService.MyBinder binder;
-    private RAService uploadService;
+    private RAService3.Service3Binder binder;
+    private RAService3 uploadService;
     private ServiceConnection serviceConnection;
     boolean serviceConnectionFlag;
 
     private int mUploadCellResID;
     private Context mCtx = this;
-    private Class mServiceCls;
+//    private Class mServiceCls;
 
     private BroadcastReceiver uploadReceiver = new BroadcastReceiver() {
         @Override
@@ -104,9 +107,9 @@ public class UploadListActivity extends AppCompatActivity {
         mUploadCellResID = resId;
     }
 
-    public void setServiceClass(Class cls) {
-        mServiceCls = cls;
-    }
+//    public void setServiceClass(Class cls) {
+//        mServiceCls = cls;
+//    }
 
     public View dequeueCell(final int position, @Nullable View convertView, @NonNull ViewGroup parent) {
         return null;
@@ -136,15 +139,21 @@ public class UploadListActivity extends AppCompatActivity {
                 Log.d("_LIST","-------connected service  tid="+Thread.currentThread().getId());
                 serviceConnectionFlag = true;
 
-                binder = (RAService.MyBinder)service;
-                uploadService = (RAService)binder.getService();
+                binder = (RAService3.Service3Binder)service;
+                uploadService = (RAService3)binder.getService();
+
+                RATask3Upload uploadtask=(RATask3Upload)uploadService.queryTask(RATask3Upload.class);
+                if(uploadtask!=null)
+                {
+                    uploadManager =uploadtask.getUploadManager();
+//                    uploadManager = uploadService.getUploadManager();
+
+                }
 
-                uploadManager = uploadService.getUploadManager();
                 if (uploadManager == null) {
                     return;
                 }
 
-
                 task_arr = (ArrayList<Bundle>) uploadManager.get_arr_queue().clone(); //uploadManager.arr_queue;
 
                 Collections.reverse(task_arr);
@@ -215,8 +224,8 @@ public class UploadListActivity extends AppCompatActivity {
 
 
     private void bindService() {
-        if (mServiceCls != null) {
-            Intent intent = new Intent(mCtx, mServiceCls);
+        if (RedantApplication.getInstance().getServiceClass() != null) {
+            Intent intent = new Intent(mCtx, RedantApplication.getInstance().getServiceClass());
 
             bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);
         }

+ 1 - 0
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/utils/ImageUtil.java

@@ -182,6 +182,7 @@ public class ImageUtil {
         Uri contentUri = Uri.fromFile(file);
         Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
         mediaScanIntent.setData(contentUri);
+
         context.sendBroadcast(mediaScanIntent);
     }
 

+ 18 - 5
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/utils/Network.java

@@ -117,7 +117,7 @@ public class Network {
     public static String getJson(String url, Bundle parms,int timeout)
     {
         String TAG = "net_dbg@GetJson";
-        Log.d(TAG, "entry");
+        Log.d(TAG, "getJson begin");
         String ret=null;
 
         HttpURLConnection connection = null;
@@ -294,10 +294,12 @@ public class Network {
     }
 
     public static JSONObject uploadFileJSON(String path ,String host,Bundle params,FileUploadListener listener) {
+        String TAG = "net_dbg@uploadFileJSON";
 
+        Log.d(TAG, "uploadFileJSON: begin");
         String jstr = uploadFile(path,host, params,listener);
 
-        String TAG = "net_dbg@UploadFile";
+
         if (jstr == null || jstr.length() <= 0)
         {
             Log.d(TAG, "json is null");
@@ -337,7 +339,10 @@ public class Network {
 
     public static String uploadFile(String path ,String host,Bundle params,FileUploadListener listener){
 
-
+//        if(true)
+//        return "{\"result\":2,\"msg\":\"file does not exist\"}";
+        String TAG = "net_dbg@UploadFile";
+        Log.d(TAG, "uploadFile: begin");
         File file = new File(path);
         if(!file.exists())
         {
@@ -348,7 +353,7 @@ public class Network {
 
             return result;
         }
-        String TAG = "net_dbg@UploadFile";
+        
         String CHARSET = "utf-8"; //设置编码
         String PREFIX = "--";
         String LINE_END = "\r\n";
@@ -427,6 +432,7 @@ public class Network {
 
                         if(listener.interupt())
                         {
+                            Log.e(TAG, "uploadFile: listener.interupt() " );
                             is.close();
                             if(conn!=null)
                                 conn.disconnect();
@@ -514,6 +520,8 @@ public class Network {
 
     public static byte[] getByteFromURL(String link) {
 
+        String TAG="net_dbg@getByteFromURL";
+        Log.d(TAG,"getByteFromURL:begin");
         HttpURLConnection connection = null;
         try {
 
@@ -546,6 +554,8 @@ public class Network {
     }
 
     public static Bitmap getImageFromLink(String link) {
+        String TAG="net_dbg@getImageFrom";
+        Log.d(TAG, "getImageFromLink begin");
         HttpURLConnection connection = null;
         Bitmap img = null;
         try {
@@ -612,7 +622,8 @@ public class Network {
     }
 
     public static File GET_DownloadFile(String download_url,String dir) {
-
+        String TAG="net_dbg@GET_DownloadF";
+        Log.d(TAG, "GET_DownloadFile: begin");
         HttpURLConnection connection = null;
 
         File returnFile = null;
@@ -676,6 +687,8 @@ public class Network {
 
     public static File downloadFile(Bundle params, String download_url,String dir) {
 
+        String TAG="net_dbg@downloadFile";
+        Log.d(TAG, "downloadFile: begin");
         if (params == null) {
             params = new Bundle();
         }

BIN
ApexDrivers/RAUtilsLibrary/src/main/res/drawable-hdpi/ic_action_reload.png


BIN
ApexDrivers/RAUtilsLibrary/src/main/res/drawable-mdpi/ic_action_reload.png


BIN
ApexDrivers/RAUtilsLibrary/src/main/res/drawable-xhdpi/ic_action_reload.png


BIN
ApexDrivers/RAUtilsLibrary/src/main/res/drawable-xxhdpi/ic_action_reload.png


+ 2 - 2
ApexDrivers/RAUtilsLibrary/src/main/res/layout/actionbar_customtitle.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.ConstraintLayout
+<androidx.constraintlayout.widget.ConstraintLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
@@ -21,4 +21,4 @@
         app:layout_constraintHorizontal_bias="0.6"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent" />
-</androidx.constraintlayout.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 2 - 2
ApexDrivers/RAUtilsLibrary/src/main/res/layout/file_viewer_activity.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.ConstraintLayout
+<androidx.constraintlayout.widget.ConstraintLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
@@ -15,4 +15,4 @@
         />
 
 
-</androidx.constraintlayout.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 2 - 2
ApexDrivers/RAUtilsLibrary/src/main/res/layout/pdf_preview_activity.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
@@ -11,4 +11,4 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent"/>
 
-</androidx.constraintlayout.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 2 - 2
ApexDrivers/RAUtilsLibrary/src/main/res/layout/ra_signature_activity.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.ConstraintLayout
+<androidx.constraintlayout.widget.ConstraintLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
@@ -13,4 +13,4 @@
         android:layout_height="match_parent"
         />
 
-</androidx.constraintlayout.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 2 - 2
ApexDrivers/RAUtilsLibrary/src/main/res/layout/upload_list_activity.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
@@ -20,4 +20,4 @@
         app:layout_constraintTop_toTopOf="parent"
         android:layout_marginStart="8dp"
         android:layout_marginEnd="8dp" />
-</androidx.constraintlayout.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 110 - 0
ApexDrivers/RAUtilsLibrary/src/main/res/layout/upload_list_cell.xml

@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/upload_percent_tv"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:minHeight="?android:attr/listPreferredItemHeight">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="8dp"
+        android:layout_marginRight="8dp"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toLeftOf="@+id/btn_reload"
+        app:layout_constraintHorizontal_bias="0.0"
+        app:layout_constraintTop_toTopOf="parent"
+        android:layout_marginTop="8dp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        android:layout_marginBottom="8dp"
+        android:id="@+id/constraintLayout"
+        app:layout_constraintVertical_bias="0.0">
+
+        <TextView
+            android:id="@+id/upload_name_tv"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_marginEnd="8dp"
+            android:layout_marginLeft="8dp"
+            android:layout_marginRight="0dp"
+            android:layout_marginStart="8dp"
+            android:layout_marginTop="8dp"
+            android:textColor="#000000"
+            android:hint="QS885555464784613654"
+            app:layout_constraintHorizontal_bias="0.0"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            tools:layout_constraintLeft_creator="1"
+            tools:layout_constraintRight_creator="1" />
+
+        <TextView
+            android:id="@+id/upload_err_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="Error:"
+            android:textColor="#000000"
+            app:layout_constraintLeft_toLeftOf="@+id/upload_progressBar"
+            app:layout_constraintTop_toBottomOf="@+id/upload_state_tv"
+            tools:layout_constraintLeft_creator="1"
+            tools:layout_constraintTop_creator="1" />
+
+        <ProgressBar
+            android:id="@+id/upload_progressBar"
+            style="@style/Widget.AppCompat.ProgressBar.Horizontal"
+            android:layout_width="0dp"
+            android:layout_height="16dp"
+            android:layout_marginLeft="8dp"
+            android:layout_marginRight="0dp"
+            android:layout_marginTop="0dp"
+            android:max="100"
+            android:progress="0"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/upload_name_tv"
+            app:layout_constraintHorizontal_bias="0.0" />
+
+        <TextView
+            android:id="@+id/upload_progress_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginRight="0dp"
+            android:layout_marginTop="8dp"
+            android:text="progress"
+            android:textColor="#000000"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/upload_progressBar"
+            tools:layout_constraintRight_creator="1" />
+
+        <TextView
+            android:id="@+id/upload_state_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="8dp"
+            android:layout_marginTop="8dp"
+            android:text="finished"
+            android:textColor="#000000"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/upload_progressBar" />
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+    <ImageButton
+        android:id="@+id/btn_reload"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="8dp"
+        android:layout_marginEnd="7dp"
+        android:layout_marginRight="5dp"
+        android:layout_marginTop="8dp"
+        android:tint="@color/blue"
+        android:visibility="visible"
+        app:layout_constraintBottom_toBottomOf="@+id/constraintLayout"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toTopOf="@+id/constraintLayout"
+        app:srcCompat="@drawable/ic_action_reload"
+        tools:layout_constraintRight_creator="1"
+        tools:layout_constraintTop_creator="1" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 1 - 1
ApexDrivers/RAUtilsLibrary/src/main/res/values/colors.xml

@@ -6,7 +6,7 @@
 
     <color name="transparent">#00000000</color>
     <color name="status_text">#ffffffff</color>
-
+    <color name="blue">#2172ff</color>
     <color name="viewfinder_mask">#60000000</color>
     <color name="result_view">#b0000000</color>
     <color name="viewfinder_laser">#ffcc0000</color>

+ 1 - 1
ApexDrivers/apexcrm/build.gradle

@@ -16,7 +16,7 @@ android {
         applicationId "com.usai.apex.apexcrm"
         minSdkVersion 24
         targetSdkVersion 29
-        versionCode 3
+        versionCode 4
         versionName "1.18.46799"
         ndk.abiFilters 'armeabi-v7a',"arm64-v8a"
 //        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

+ 5 - 5
ApexDrivers/apexdriverscn/build.gradle

@@ -4,12 +4,12 @@ android {
     compileSdkVersion 26
     defaultConfig {
         applicationId "com.usai.apex.apexdriverscn"
-        minSdkVersion 23
+        minSdkVersion 24
         targetSdkVersion 25
         versionCode 1
         versionName "1.0"
 
-        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
 
     }
     buildTypes {
@@ -40,10 +40,10 @@ dependencies {
     //
     //    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
     testImplementation 'junit:junit:4.12'
-    androidTestImplementation 'com.android.support.test:runner:1.0.2'
-    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
+    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
+    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
     implementation fileTree(include: ['*.jar'], dir: 'libs')
-    implementation 'com.android.support:appcompat-v7:26.1.0'
+    implementation 'androidx.appcompat:appcompat:1.0.0'
     //    implementation 'com.android.support:appcompat-v7:27.1.1'
     //    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
     //    testImplementation 'junit:junit:4.12'

+ 2 - 2
ApexDrivers/apexdriverscn/src/androidTest/java/com/usai/apex/apexdriverscn/ExampleInstrumentedTest.java

@@ -1,8 +1,8 @@
 package com.usai.apex.apexdriverscn;
 
 import android.content.Context;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.platform.app.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;

+ 11 - 9
ApexDrivers/apexdriversi/build.gradle

@@ -17,15 +17,15 @@ android {
             universalApk true
         }
     }
-    compileSdkVersion 26
+    compileSdkVersion 29
     defaultConfig {
         applicationId "com.usai.apex.apexdriversi"
-        minSdkVersion 23
-        targetSdkVersion 26
-        versionCode 3
-        versionName "1.13"
+        minSdkVersion 24
+        targetSdkVersion 29
+        versionCode 4
+        versionName "1.18"
 
-        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
 
     }
     buildTypes {
@@ -54,12 +54,14 @@ android {
 
 dependencies {
     implementation fileTree(include: ['*.jar'], dir: 'libs')
-    implementation 'com.android.support:appcompat-v7:26.1.0'
+    implementation 'androidx.appcompat:appcompat:1.2.0'
+    implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
+//    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
     //    implementation 'com.android.support:appcompat-v7:27.1.1'
     //    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
     testImplementation 'junit:junit:4.12'
-    androidTestImplementation 'com.android.support.test:runner:1.0.2'
-    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
+    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
+    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
     api project(':RAUtilsLibrary')
     api project(':apexdriverslib')
 }

+ 2 - 2
ApexDrivers/apexdriversi/src/androidTest/java/com/usai/apex/apexdriversi/ExampleInstrumentedTest.java

@@ -1,8 +1,8 @@
 package com.usai.apex.apexdriversi;
 
 import android.content.Context;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.platform.app.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;

+ 3 - 1
ApexDrivers/apexdriversi/src/main/AndroidManifest.xml

@@ -4,6 +4,8 @@
     package="com.usai.apex.apexdriversi">
 
     <application
+        android:usesCleartextTraffic="true"
+        android:requestLegacyExternalStorage="true"
         android:name=".ApplicationI"
         android:allowBackup="true"
         android:icon="@mipmap/ic_launcher"
@@ -15,7 +17,7 @@
 
 
         <provider
-            android:name="android.support.v4.content.FileProvider"
+            android:name="androidx.core.content.FileProvider"
             android:authorities="com.usai.apex.apexdriversi.fileprovider"
             android:exported="false"
             android:grantUriPermissions="true">

BIN
ApexDrivers/apexdriversi/src/main/ic_launcher-playstore.png


+ 1 - 1
ApexDrivers/apexdriversi/src/main/res/mipmap-anydpi-v26/ic_launcher.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
     <background android:drawable="@color/ic_launcher_background"/>
-    <foreground android:drawable="@mipmap/ic_launcher_forground"/>
+    <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
 </adaptive-icon>

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä