Compare commits
432 Commits
dev_聊天
...
新潘多拉_6.8.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7c6189db11 | ||
|
|
c166d0a476 | ||
|
|
a220408853 | ||
|
|
c55b262926 | ||
|
|
461a985799 | ||
|
|
5c369f7215 | ||
|
|
3ddcc944c0 | ||
|
|
7b2f853f2e | ||
|
|
636f5ded6f | ||
|
|
bebfbb3f02 | ||
|
|
eee2648277 | ||
|
|
87e372e8f9 | ||
|
|
fb09b8ef35 | ||
|
|
ecb44e510a | ||
|
|
6b9d951c55 | ||
|
|
f528353dd0 | ||
|
|
54cf21092c | ||
|
|
2799991ef3 | ||
|
|
8efa3b62e2 | ||
|
|
eed77f989f | ||
|
|
417a9ac628 | ||
|
|
1be00c75c4 | ||
|
|
11ac669077 | ||
|
|
e8c8456e14 | ||
|
|
2ee9e9c726 | ||
|
|
bb91d1bef7 | ||
|
|
9649a7eb01 | ||
|
|
7c8db902f3 | ||
|
|
7937ef70bc | ||
|
|
695c28db02 | ||
|
|
94ec0d1d88 | ||
|
|
88cf7ca74b | ||
|
|
1d45fa8d3d | ||
|
|
48f88a5a3b | ||
|
|
045a8708e0 | ||
|
|
b3b127bd0b | ||
|
|
6c92adc0a3 | ||
|
|
9ecfc46467 | ||
|
|
05f5538bc3 | ||
|
|
cb2310914b | ||
|
|
eac77dcdaf | ||
|
|
ce3dc1cd3d | ||
|
|
c24642e75a | ||
|
|
4f2311fbad | ||
|
|
ee53edbe1c | ||
|
|
865bf58108 | ||
|
|
5383e2a4ea | ||
|
|
17dbe82d9b | ||
|
|
548e373310 | ||
|
|
d544de6c1d | ||
|
|
bf7bc0ed81 | ||
|
|
76d24123a7 | ||
|
|
4f44278561 | ||
|
|
beace99a80 | ||
|
|
cc48c7c2e8 | ||
|
|
4f9c671e86 | ||
|
|
1caa595e00 | ||
|
|
4c4d53196a | ||
|
|
121f07fa45 | ||
|
|
e5d546ed6e | ||
|
|
9298ad70f6 | ||
|
|
ea1015b0b4 | ||
|
|
faf5305702 | ||
| 671ae63306 | |||
|
|
949ff20317 | ||
|
|
950bcee232 | ||
|
|
2236a90b31 | ||
|
|
c65a19dc4c | ||
|
|
ab009cf5d7 | ||
|
|
ed1bd72d0a | ||
|
|
c42b3db7d2 | ||
|
|
2b6ba78500 | ||
|
|
362bcce5f6 | ||
|
|
927211379f | ||
|
|
299c78e7c7 | ||
|
|
615416444d | ||
|
|
257b4c51aa | ||
|
|
fef1e49429 | ||
|
|
57e25eaa89 | ||
|
|
195bc56152 | ||
|
|
9454b5407a | ||
|
|
51caa11c07 | ||
|
|
380381c3fe | ||
|
|
ea391a648a | ||
|
|
f92406efa7 | ||
|
|
de9901707c | ||
|
|
ea558cb22f | ||
|
|
cdf9e75ebd | ||
|
|
b6d715d81c | ||
|
|
729db13ffd | ||
|
|
d7a5d224b2 | ||
|
|
6ba18e8ba2 | ||
| f738a9202b | |||
|
|
b5401503e9 | ||
|
|
5a19c0e1a5 | ||
|
|
4f81d720fd | ||
|
|
ad44be5af8 | ||
|
|
75ddc8d07f | ||
|
|
27776d1761 | ||
|
|
352a49c762 | ||
|
|
7976d36701 | ||
|
|
84bbb0c143 | ||
|
|
76e9748eeb | ||
|
|
fd8e805f78 | ||
|
|
50bdc01ea9 | ||
|
|
dffe681b95 | ||
|
|
31c8365696 | ||
|
|
98fc9f61c3 | ||
|
|
a44dfee38a | ||
|
|
b3c962c03b | ||
|
|
f30144c42c | ||
|
|
81cf2824a7 | ||
|
|
7ae32bbe77 | ||
|
|
0dc4f5b99b | ||
|
|
34a8637c9e | ||
|
|
53f26aee68 | ||
|
|
9d3ed3632a | ||
|
|
4f4034c1d0 | ||
|
|
23ff910ee2 | ||
|
|
14c8a51690 | ||
|
|
86e7abb7ec | ||
|
|
454a024caa | ||
|
|
a55f370871 | ||
|
|
330cf1faa2 | ||
|
|
7356431414 | ||
|
|
91f18b01b9 | ||
|
|
0a08b67fb1 | ||
|
|
6322c36906 | ||
|
|
73ea623700 | ||
|
|
1f09d1a0c4 | ||
|
|
2d5f23519d | ||
|
|
39dc287623 | ||
|
|
a86b560996 | ||
|
|
c58b37d111 | ||
|
|
eb594fcfce | ||
|
|
eba7cb1ab8 | ||
|
|
2d6f801f0b | ||
|
|
6f3dd58a8b | ||
|
|
1357eaaac9 | ||
|
|
a349e94bf3 | ||
|
|
4d6e38734d | ||
|
|
ddbce1bdbf | ||
|
|
319fa3c498 | ||
|
|
55b53fb955 | ||
|
|
c4a24be6f7 | ||
|
|
94a06b9cf2 | ||
|
|
410aa45b1c | ||
|
|
e0c1e9c64f | ||
|
|
b56a0bcce4 | ||
|
|
9c117e2752 | ||
|
|
d2662da0b7 | ||
|
|
6b4f3537c2 | ||
|
|
983bb2837a | ||
|
|
bee903d22a | ||
|
|
0e69ea1732 | ||
|
|
b7a96d9b1d | ||
|
|
b4574f730d | ||
|
|
9b9e2bb2dc | ||
|
|
849f5aa66d | ||
|
|
08480af796 | ||
|
|
02387a7321 | ||
|
|
c7f4c1276f | ||
|
|
f463557bc4 | ||
|
|
8cf459b860 | ||
|
|
114a6472fb | ||
|
|
e3d04c9307 | ||
|
|
ba47239e12 | ||
|
|
6abe02390e | ||
|
|
7fb4a10425 | ||
|
|
faa9adf69a | ||
|
|
e1f59b9223 | ||
|
|
f3945e1b21 | ||
|
|
13646d64c7 | ||
|
|
7f2136320d | ||
|
|
0d1e2c4e6b | ||
|
|
67b79cd306 | ||
|
|
b6f9545fe8 | ||
|
|
150af4fc2c | ||
|
|
2c56322b1c | ||
|
|
86c7bd56d1 | ||
| cfb5a5aac2 | |||
|
|
06bbca07a1 | ||
|
|
af8ac39e9c | ||
|
|
54ee2fb0b7 | ||
|
|
12749a1183 | ||
|
|
3143ec2be4 | ||
|
|
e7d43e2b48 | ||
|
|
732be62f90 | ||
|
|
a7a7bdd058 | ||
|
|
dcdf2c666d | ||
|
|
fc78fd9d1d | ||
|
|
8ddaf20e4f | ||
|
|
af6398354c | ||
|
|
6e08a8db35 | ||
|
|
d61d142ec1 | ||
|
|
27c2261fac | ||
|
|
730f681f31 | ||
|
|
1c3c0badfc | ||
|
|
3493a58590 | ||
|
|
fb7998a42d | ||
|
|
f157a5862d | ||
|
|
c3ffb658c8 | ||
|
|
807827564b | ||
|
|
59712d0da9 | ||
|
|
60e82fa8e4 | ||
|
|
b37d278ae4 | ||
| fc7f949f7a | |||
| 5f107fef25 | |||
|
|
05f1bc6e20 | ||
|
|
d167ae82b4 | ||
|
|
f9b0d33f6e | ||
|
|
47a8e7f473 | ||
|
|
5d0f29db42 | ||
| 520491a804 | |||
| b5d4b88753 | |||
|
|
b9891367ad | ||
| 88d438695e | |||
| a372bdcda6 | |||
| 2d3f1064b3 | |||
| 6f7e5b123a | |||
| cff607eabb | |||
| acf20107c1 | |||
| de8d5d78ff | |||
| 0ff76e1e47 | |||
| 65b045ca61 | |||
| 08804a45d6 | |||
| 2f52ff9124 | |||
| 38a63230eb | |||
| a1635151dc | |||
| 96cfadd335 | |||
| 4c9f3d9936 | |||
| d09b01dbad | |||
| 0d49654adf | |||
| 7a5d2b90d8 | |||
| 7b6eb7bbed | |||
| d7ea130f86 | |||
| c263e3543c | |||
| 4628079ac7 | |||
| 405909f3b3 | |||
| c926037cb6 | |||
| 403b4c2aa3 | |||
| 4513d8495f | |||
| cc355b0177 | |||
| b2da6e4ea1 | |||
| dc652050ac | |||
| 4298ff2dae | |||
| 4695e040a1 | |||
| 0a87f300b4 | |||
|
|
c3aa0d5c12 | ||
| d9d5cf7046 | |||
|
|
66849632e0 | ||
|
|
06fa241af6 | ||
|
|
b31ec9cddf | ||
| 80d89c8c0b | |||
| 99d92b8137 | |||
| dbebb942e3 | |||
| ed20df63eb | |||
| 67cca1b4fb | |||
|
|
1e91f4c716 | ||
| 7072aadcb6 | |||
| 269ad6e808 | |||
|
|
954a14662b | ||
| 35e0d3dc3e | |||
| 26af3fbbdd | |||
| 75da607022 | |||
| 98c17b91fc | |||
| 0cb2918561 | |||
|
|
538fcc4331 | ||
| 088868201d | |||
| fb81ca8c54 | |||
| 703e3c16d1 | |||
| d06f4599fa | |||
| b285512914 | |||
| 44fc3c651a | |||
| 7eb9aafd87 | |||
| ceaec086ad | |||
|
|
7ab38b12d9 | ||
| 47a3ba6b78 | |||
| 260a6b91f3 | |||
|
|
04bc9af501 | ||
| 0f9f53a080 | |||
| 9652bcaf9a | |||
| 5c10820e98 | |||
| dc65e2bdd3 | |||
| 4685b7979b | |||
| d44df09e5c | |||
|
|
4c760e60b1 | ||
| 4de32ec4e0 | |||
|
|
c35832487d | ||
| b52e1cea66 | |||
| 41874a5073 | |||
| 1f21d447e7 | |||
|
|
ddaed22630 | ||
|
|
97c692d41d | ||
| 79f0237849 | |||
| 6945414be3 | |||
| 5ed273f99b | |||
| f80e8016b5 | |||
| 1dcd0c7882 | |||
| 962a07d6d1 | |||
| 51ab918327 | |||
|
|
10ea7d9735 | ||
| 91217e6bda | |||
| 081a2ee350 | |||
| 6172b5ea9a | |||
| 3b7f273a6e | |||
| bc412a0fb5 | |||
|
|
326e376323 | ||
| 3f717131cc | |||
|
|
7f40b899a9 | ||
| 2a4ce7740b | |||
| 4725e67c75 | |||
|
|
f31c20f49a | ||
|
|
b975e5864f | ||
| df996435ec | |||
| c4117b80ee | |||
|
|
1d9930ed26 | ||
| ab4a5cb077 | |||
| 8a480b51dd | |||
| 01e4afe9c0 | |||
| 462d7177c2 | |||
| 2ab97cb0f6 | |||
| d8e002a8bd | |||
| dcf7cfa889 | |||
| 6a5272d39f | |||
| 6e6acd8871 | |||
|
|
4f590a78a8 | ||
|
|
ff57432814 | ||
|
|
2e9d1cb3dd | ||
|
|
54c97251b8 | ||
|
|
0481db2570 | ||
|
|
415a532351 | ||
| 72a18a0500 | |||
|
|
6b616a4ff8 | ||
| 79c691f5b2 | |||
| 2c41e9418d | |||
| e256b61238 | |||
| be214df23b | |||
| 4451403f46 | |||
|
|
b0a9ebe0f3 | ||
| b3aed71dd6 | |||
|
|
d2f4bb3d4f | ||
| 863aef9a20 | |||
| 25fbf11fbc | |||
|
|
9bb4ed1393 | ||
|
|
e69be60d43 | ||
|
|
e352e5692c | ||
|
|
c7a4c9f501 | ||
| f2d7617ebe | |||
| 210d3a5184 | |||
|
|
fe2af299cb | ||
| 698b875a93 | |||
| b3fe537b2c | |||
|
|
453de855b9 | ||
|
|
e386fbfdbb | ||
| 1d0500128b | |||
| 99bbffed21 | |||
| 7c669b338f | |||
| 7e6a296722 | |||
|
|
80fd2a1bbc | ||
| 9d528524be | |||
| bb4621ee13 | |||
| 631be1bd89 | |||
| 218b223320 | |||
| 8c0398190e | |||
| 460dfa87b3 | |||
|
|
b90d86d90f | ||
| 4337f0bdd6 | |||
| f391d1bee7 | |||
| 33b1f6101f | |||
|
|
0324b638fa | ||
| 7cffce8760 | |||
| be4d05da79 | |||
| f8c5b072af | |||
| a497d70599 | |||
| 84520a4f2f | |||
| 9a7054ce76 | |||
| 57333cdae8 | |||
| e50b00152d | |||
| 253fe38067 | |||
|
|
28f00f1c8a | ||
| 511a354155 | |||
| 463e7b9040 | |||
| dd582c10c7 | |||
| bd6ddf7153 | |||
| c20708d633 | |||
| d08861a082 | |||
| 12989e12ce | |||
| 77530340d0 | |||
| a387b30893 | |||
| 889f8dcfe8 | |||
| 88e822004f | |||
| b954e9d451 | |||
| 578de1f101 | |||
| 62419c86cf | |||
| 434486387d | |||
| 7cf7c1e993 | |||
|
|
9427fb8aaa | ||
|
|
4d4d3d1bae | ||
| 2cc58b920f | |||
| 3b4ffe8c51 | |||
| cd3a86c6b7 | |||
| 82c4edf7e4 | |||
| bd598176c1 | |||
|
|
02bc604685 | ||
|
|
5ebb97cd3c | ||
|
|
e9a3e8aa2f | ||
| 61dcf0916d | |||
| 7167ad8e97 | |||
| 9992dec28e | |||
| 04980cbb2f | |||
|
|
f2b2c39168 | ||
| d39facbcc7 | |||
|
|
c3ca76df07 | ||
| 34dae7d981 | |||
| ce568c6d87 | |||
| c7ba98acb4 | |||
|
|
f8cb1d0a4b | ||
|
|
94d05a3929 | ||
| 1c74689e90 | |||
| a5acbb0146 | |||
| 457e47e885 | |||
| 1442d05262 | |||
| 9e80e77297 | |||
| ab6d871b38 | |||
|
|
0e83f4fbaf | ||
|
|
434474bd98 | ||
| f3d19e37bb | |||
|
|
f662ec4259 | ||
| bfa4a52dd4 | |||
|
|
307ded37fc | ||
|
|
04d3faa0cb |
5
.gitignore
vendored
@@ -14,3 +14,8 @@ local.properties
|
||||
/live/build/
|
||||
/main/build/
|
||||
/video/build/
|
||||
/tmp/full-r8-config.txt
|
||||
/outputs/apk
|
||||
/TabLayout/build
|
||||
/app/google_test/release
|
||||
|
||||
|
||||
@@ -1,12 +1,18 @@
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'img-optimizer'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-android-extensions'
|
||||
|
||||
//apply plugin: 'com.android.library'
|
||||
//apply plugin: 'img-optimizer'
|
||||
//apply plugin: 'kotlin-android'
|
||||
//apply plugin: 'kotlin-android-extensions'
|
||||
plugins {
|
||||
id 'com.android.library'
|
||||
id 'kotlin-android'
|
||||
id 'kotlin-parcelize'
|
||||
id 'img-optimizer'
|
||||
}
|
||||
apply from: "../package_config.gradle"
|
||||
|
||||
android {
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||
namespace "com.yunbao.faceunity"
|
||||
compileSdk rootProject.ext.android.compileSdkVersion
|
||||
packagingOptions {
|
||||
pickFirst "lib/armeabi/libyuvutils.so"
|
||||
pickFirst "lib/arm64-v8a/libyuvutils.so"
|
||||
@@ -33,6 +39,7 @@ android {
|
||||
versionName rootProject.ext.android.versionName
|
||||
manifestPlaceholders = rootProject.ext.manifestPlaceholders
|
||||
ndk {
|
||||
//abiFilters "armeabi-v7a", "arm64-v8a","x86","x86_64"
|
||||
abiFilters "armeabi-v7a", "arm64-v8a"
|
||||
}
|
||||
}
|
||||
@@ -48,8 +55,11 @@ android {
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
sourceCompatibility JavaVersion.VERSION_18
|
||||
targetCompatibility JavaVersion.VERSION_18
|
||||
}
|
||||
buildFeatures {
|
||||
buildConfig = true
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
@@ -63,10 +73,10 @@ dependencies {
|
||||
implementation rootProject.ext.dependencies["recyclerview-androidx"]
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
//common
|
||||
implementation project(path: ':common')
|
||||
api project(path: ':common')
|
||||
|
||||
implementation 'com.faceunity:core:8.3.1'
|
||||
implementation 'com.faceunity:model:8.3.1'
|
||||
api 'com.faceunity:core:8.7.0'
|
||||
api 'com.faceunity:model:8.7.0'
|
||||
//implementation 'com.faceunity:nama:8.3.1' //底层库-标准版
|
||||
|
||||
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
package com.yunbao.faceunity;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.test.platform.app.InstrumentationRegistry;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
* Instrumented test, which will execute on an Android device.
|
||||
*
|
||||
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class ExampleInstrumentedTest {
|
||||
@Test
|
||||
public void useAppContext() {
|
||||
// Context of the app under test.
|
||||
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
|
||||
assertEquals("com.yunbao.faceunity.test", appContext.getPackageName());
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.yunbao.faceunity"
|
||||
>
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
@@ -11,7 +10,9 @@
|
||||
|
||||
<application
|
||||
android:icon="@mipmap/ico_home_animoji"
|
||||
android:allowBackup="true">
|
||||
android:allowBackup="true"
|
||||
tools:replace="allowBackup"
|
||||
>
|
||||
|
||||
</application>
|
||||
|
||||
|
||||
@@ -96,11 +96,17 @@ public class FaceManager implements SensorEventListener {
|
||||
faceUnityView.setIFaceUnityInter(new FaceUnityView.IFaceUnityInter() {
|
||||
@Override
|
||||
public void onPause() {
|
||||
if(onMirrorChanged!=null){
|
||||
onMirrorChanged.onChange(false);
|
||||
}
|
||||
pauseFace = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
if(onMirrorChanged!=null){
|
||||
onMirrorChanged.onChange(true);
|
||||
}
|
||||
pauseFace = false;
|
||||
}
|
||||
});
|
||||
@@ -295,7 +301,18 @@ public class FaceManager implements SensorEventListener {
|
||||
|
||||
}
|
||||
|
||||
OnMirrorChanged onMirrorChanged;
|
||||
|
||||
public void setOnMirrorChanged(OnMirrorChanged onMirrorChanged) {
|
||||
this.onMirrorChanged = onMirrorChanged;
|
||||
}
|
||||
|
||||
public interface FaceStatusChanged {
|
||||
void onFaceChanged(int num);
|
||||
}
|
||||
|
||||
|
||||
public interface OnMirrorChanged{
|
||||
void onChange(boolean falg);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,10 +52,10 @@ public class FURenderer extends IFURenderer {
|
||||
|
||||
|
||||
/* 特效FURenderKit*/
|
||||
private FURenderKit mFURenderKit;
|
||||
public FURenderKit mFURenderKit;
|
||||
|
||||
/* AI道具*/
|
||||
public static String BUNDLE_AI_FACE = "model" + File.separator + "ai_face_processor_lite.bundle";
|
||||
public static String BUNDLE_AI_FACE = "model" + File.separator + "ai_face_processor.bundle";
|
||||
public static String BUNDLE_AI_HUMAN = "model" + File.separator + "ai_human_processor.bundle";
|
||||
|
||||
/* GL 线程 ID */
|
||||
|
||||
@@ -15,7 +15,7 @@ public class FaceUnityConfig {
|
||||
|
||||
/************************** 算法Model ******************************/
|
||||
// 人脸识别
|
||||
public static String BUNDLE_AI_FACE = "model" + File.separator + "ai_face_processor_lite.bundle";
|
||||
public static String BUNDLE_AI_FACE = "model" + File.separator + "ai_face_processor.bundle";
|
||||
// 手势
|
||||
public static String BUNDLE_AI_HAND = "model" + File.separator + "ai_hand_processor.bundle";
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import com.google.gson.JsonObject;
|
||||
import com.yunbao.faceunity.entity.net.FineStickerEntity;
|
||||
import com.yunbao.faceunity.utils.FaceUnityData;
|
||||
import com.yunbao.faceunity.utils.FileUtils;
|
||||
import com.yunbao.faceunity.utils.ZipUtils;
|
||||
import com.yunbao.common.utils.ZipUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:color="@color/main_color" android:state_checked="true" />
|
||||
<item android:color="@color/main_color" android:state_selected="true" />
|
||||
<item android:color="@android:color/white" />
|
||||
</selector>
|
||||
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="10dp" />
|
||||
<solid android:color="@android:color/white" />
|
||||
</shape>
|
||||
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners
|
||||
android:bottomLeftRadius="10dp"
|
||||
android:bottomRightRadius="10dp" />
|
||||
<gradient
|
||||
android:endColor="#682EB8"
|
||||
android:startColor="#7D219E" />
|
||||
</shape>
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners
|
||||
android:bottomLeftRadius="4dp"
|
||||
android:topLeftRadius="4dp" />
|
||||
<solid android:color="@android:color/transparent" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="@android:color/white" />
|
||||
</shape>
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners
|
||||
android:bottomLeftRadius="4dp"
|
||||
android:topLeftRadius="4dp" />
|
||||
<solid android:color="@android:color/white" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="@android:color/white" />
|
||||
</shape>
|
||||
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/bg_radio_left_check" android:state_checked="true" />
|
||||
<item android:drawable="@drawable/bg_radio_left" />
|
||||
</selector>
|
||||
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_checked="true">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="@android:color/white" />
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<layer-list >
|
||||
<item
|
||||
android:left="-1dp" >
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="@android:color/transparent" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="@android:color/white" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:left="-1dp">
|
||||
<shape android:shape="rectangle">
|
||||
<corners
|
||||
android:bottomRightRadius="4dp"
|
||||
android:topRightRadius="4dp" />
|
||||
<solid android:color="@android:color/transparent" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="@android:color/white" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/bg_radio_right_check" android:state_checked="true" />
|
||||
<item android:drawable="@drawable/bg_radio_right" />
|
||||
</selector>
|
||||
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:id="@android:id/background"
|
||||
android:drawable="@mipmap/bg_live_seek_bar_light" />
|
||||
<item android:id="@android:id/secondaryProgress">
|
||||
<clip>
|
||||
<shape>
|
||||
<solid android:color="#00FFFFFF" />
|
||||
</shape>
|
||||
</clip>
|
||||
</item>
|
||||
<item android:id="@android:id/progress">
|
||||
<clip>
|
||||
<shape>
|
||||
<solid android:color="#00FFFFFF" />
|
||||
</shape>
|
||||
</clip>
|
||||
</item>
|
||||
</layer-list>
|
||||
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@mipmap/icon_beauty_box_style_none_checked" android:state_selected="true" />
|
||||
<item android:drawable="@mipmap/icon_beauty_box_style_none_normal" />
|
||||
</selector>
|
||||
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@mipmap/icon_green_smooth_open_checked" android:state_selected="true" />
|
||||
<item android:drawable="@mipmap/icon_green_smooth_open_normal" />
|
||||
</selector>
|
||||
@@ -1,54 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="281dp"
|
||||
android:layout_height="147dp"
|
||||
android:background="@drawable/bg_confirm_dialog">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="39dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/dialog_confirm_delete"
|
||||
android:textColor="@color/btn_live_photo_text"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:textSize="15sp" />
|
||||
|
||||
<View
|
||||
android:layout_width="265dp"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginTop="97dp"
|
||||
android:background="@color/divider_line_color"
|
||||
android:layout_centerHorizontal="true"/>
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="34dp"
|
||||
android:layout_marginBottom="7dp"
|
||||
android:background="@color/divider_line_color"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_alignParentBottom="true" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_cancel"
|
||||
android:layout_width="140dp"
|
||||
android:layout_height="48dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/cancel"
|
||||
android:textColor="@color/btn_live_photo_text"
|
||||
android:textSize="16sp"
|
||||
android:layout_alignParentBottom="true"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_confirm"
|
||||
android:layout_width="140dp"
|
||||
android:layout_height="48dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/confirm"
|
||||
android:textColor="@color/main_color"
|
||||
android:textSize="16sp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentBottom="true" />
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -1,64 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/lyt_bottom"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/x266"
|
||||
android:background="@color/primary_list"
|
||||
android:gravity="bottom"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/x167"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:background="@color/primary_list"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="vertical">
|
||||
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:scrollbars="none" />
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/x1"
|
||||
android:background="@color/divider_line_color" />
|
||||
|
||||
<com.yunbao.faceunity.checkbox.CheckGroup
|
||||
android:id="@+id/rg_anim"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/x98"
|
||||
android:background="@color/primary_list">
|
||||
|
||||
<com.yunbao.faceunity.checkbox.CheckBoxCompat
|
||||
android:id="@+id/cb_animoji"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:background="@color/transparent"
|
||||
android:button="@null"
|
||||
android:checked="true"
|
||||
android:gravity="center"
|
||||
android:text="@string/animoji_filter"
|
||||
android:textColor="@color/bottom_radio_color"
|
||||
android:textSize="@dimen/text_size_26" />
|
||||
|
||||
<com.yunbao.faceunity.checkbox.CheckBoxCompat
|
||||
android:id="@+id/cb_filter"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:background="@color/transparent"
|
||||
android:button="@null"
|
||||
android:gravity="center"
|
||||
android:text="@string/cartoon_filter"
|
||||
android:textColor="@color/bottom_radio_color"
|
||||
android:textSize="@dimen/text_size_26" />
|
||||
|
||||
</com.yunbao.faceunity.checkbox.CheckGroup>
|
||||
|
||||
</LinearLayout>
|
||||
@@ -1,81 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/cyt_main"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/x268"
|
||||
android:background="#BD050F14"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
|
||||
<com.yunbao.faceunity.seekbar.DiscreteSeekBar
|
||||
android:id="@+id/beauty_seek_bar"
|
||||
android:layout_width="@dimen/x528"
|
||||
android:layout_height="@dimen/x48"
|
||||
android:layout_marginTop="@dimen/x24"
|
||||
android:layout_marginBottom="@dimen/x16"
|
||||
app:dsb_indicatorColor="@color/main_color"
|
||||
app:dsb_indicatorElevation="0dp"
|
||||
app:dsb_indicatorPopupEnabled="true"
|
||||
app:dsb_max="100"
|
||||
app:dsb_min="0"
|
||||
app:dsb_progressColor="@color/main_color"
|
||||
app:dsb_rippleColor="@color/main_color"
|
||||
app:dsb_scrubberHeight="@dimen/x4"
|
||||
app:dsb_thumbSize="@dimen/x32"
|
||||
app:dsb_trackBaseHeight="@dimen/x16"
|
||||
app:dsb_trackColor="@color/colorWhite"
|
||||
app:dsb_trackHeight="@dimen/x4"
|
||||
app:dsb_value="0" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/x180"
|
||||
android:layout_gravity="bottom"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/lyt_beauty_recover"
|
||||
android:layout_width="@dimen/x132"
|
||||
android:layout_height="@dimen/x180"
|
||||
android:layout_gravity="bottom"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_beauty_recover"
|
||||
android:layout_width="@dimen/x88"
|
||||
android:layout_height="@dimen/x88"
|
||||
android:layout_marginBottom="@dimen/x18"
|
||||
android:scaleType="centerInside"
|
||||
android:src="@mipmap/icon_control_recover" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_beauty_recover"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginBottom="@dimen/x30"
|
||||
android:gravity="center_vertical"
|
||||
android:text="@string/recover"
|
||||
android:textColor="@color/tv_main_color_selector"
|
||||
android:textSize="@dimen/text_size_20" />
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/iv_line"
|
||||
android:layout_width="@dimen/x1"
|
||||
android:layout_height="@dimen/x40"
|
||||
android:layout_marginTop="@dimen/x40"
|
||||
android:background="@color/divider_line_color" />
|
||||
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/x180" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
@@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.recyclerview.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/x172"
|
||||
android:background="@color/primary_list"
|
||||
android:padding="@dimen/x16" />
|
||||
@@ -1,200 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/x472"
|
||||
android:gravity="bottom"
|
||||
android:orientation="vertical">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.yunbao.faceunity.widget.TouchStateImageView
|
||||
android:id="@+id/iv_compare"
|
||||
android:layout_width="@dimen/x72"
|
||||
android:layout_height="@dimen/x72"
|
||||
android:layout_marginStart="@dimen/x34"
|
||||
android:layout_marginBottom="@dimen/x34"
|
||||
android:src="@mipmap/icon_beauty_face_contrast"
|
||||
android:visibility="gone" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/iv_reset"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_marginEnd="@dimen/x34"
|
||||
android:text="去除效果"
|
||||
android:visibility="gone" />
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/fyt_bottom_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:background="@color/primary_list"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.yunbao.faceunity.seekbar.DiscreteSeekBar
|
||||
android:id="@+id/beauty_seek_bar"
|
||||
android:layout_width="@dimen/x528"
|
||||
android:layout_height="@dimen/x48"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="@dimen/x24"
|
||||
android:layout_marginBottom="@dimen/x15"
|
||||
app:dsb_indicatorColor="@color/main_color"
|
||||
app:dsb_indicatorElevation="0dp"
|
||||
app:dsb_indicatorPopupEnabled="true"
|
||||
app:dsb_max="100"
|
||||
app:dsb_min="0"
|
||||
app:dsb_progressColor="@color/main_color"
|
||||
app:dsb_rippleColor="@color/main_color"
|
||||
app:dsb_scrubberHeight="@dimen/x4"
|
||||
app:dsb_thumbSize="@dimen/x32"
|
||||
app:dsb_trackBaseHeight="@dimen/x16"
|
||||
app:dsb_trackColor="@color/colorWhite"
|
||||
app:dsb_trackHeight="@dimen/x4"
|
||||
app:dsb_value="0" />
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/x180"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/lyt_beauty_recover"
|
||||
android:layout_width="@dimen/x132"
|
||||
android:layout_height="@dimen/x180"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_beauty_recover"
|
||||
android:layout_width="@dimen/x88"
|
||||
android:layout_height="@dimen/x88"
|
||||
android:layout_marginBottom="@dimen/x18"
|
||||
android:scaleType="centerInside"
|
||||
android:src="@mipmap/icon_control_recover" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_beauty_recover"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginBottom="@dimen/x30"
|
||||
android:gravity="center_vertical"
|
||||
android:text="@string/recover"
|
||||
android:textColor="@color/tv_main_color_selector"
|
||||
android:textSize="@dimen/text_size_20" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/lyt_style_recover"
|
||||
android:layout_width="@dimen/x132"
|
||||
android:layout_height="@dimen/x180"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/x88"
|
||||
android:layout_height="@dimen/x88"
|
||||
android:layout_marginBottom="@dimen/x18"
|
||||
android:scaleType="centerInside"
|
||||
android:src="@drawable/icon_beauty_style_none_selector" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginBottom="@dimen/x30"
|
||||
android:gravity="center_vertical"
|
||||
android:text="@string/beauty_face_style_none"
|
||||
android:textColor="@color/tv_main_color_selector"
|
||||
android:textSize="@dimen/text_size_20" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<View
|
||||
android:id="@+id/iv_line"
|
||||
android:layout_width="@dimen/x1"
|
||||
android:layout_height="@dimen/x40"
|
||||
android:layout_marginTop="@dimen/x24"
|
||||
android:background="@color/divider_line_color" />
|
||||
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/x180"
|
||||
android:layout_gravity="bottom" />
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/x1"
|
||||
android:background="@color/divider_line_color" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<com.yunbao.faceunity.checkbox.CheckGroup
|
||||
android:id="@+id/beauty_radio_group"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/x98"
|
||||
android:background="#BD050F14"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<com.yunbao.faceunity.checkbox.CheckBoxCompat
|
||||
android:id="@+id/beauty_radio_skin_beauty"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:background="@color/transparent"
|
||||
android:button="@null"
|
||||
android:gravity="center"
|
||||
android:text="@string/beauty_radio_skin_beauty"
|
||||
android:textColor="@color/bottom_radio_color"
|
||||
android:textSize="@dimen/text_size_26" />
|
||||
|
||||
<com.yunbao.faceunity.checkbox.CheckBoxCompat
|
||||
android:id="@+id/beauty_radio_face_shape"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:background="@color/transparent"
|
||||
android:button="@null"
|
||||
android:gravity="center"
|
||||
android:text="@string/beauty_radio_face_shape"
|
||||
android:textColor="@color/bottom_radio_color"
|
||||
android:textSize="@dimen/text_size_26" />
|
||||
|
||||
<com.yunbao.faceunity.checkbox.CheckBoxCompat
|
||||
android:id="@+id/beauty_radio_filter"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:background="@color/transparent"
|
||||
android:button="@null"
|
||||
android:gravity="center"
|
||||
android:text="@string/beauty_radio_filter"
|
||||
android:textColor="@color/bottom_radio_color"
|
||||
android:textSize="@dimen/text_size_26" />
|
||||
|
||||
<com.yunbao.faceunity.checkbox.CheckBoxCompat
|
||||
android:id="@+id/beauty_radio_style"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:background="@color/transparent"
|
||||
android:button="@null"
|
||||
android:gravity="center"
|
||||
android:text="@string/beauty_radio_style"
|
||||
android:textColor="@color/bottom_radio_color"
|
||||
android:textSize="@dimen/text_size_26" />
|
||||
|
||||
</com.yunbao.faceunity.checkbox.CheckGroup>
|
||||
</LinearLayout>
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/container_recycler"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
</LinearLayout>
|
||||
@@ -160,7 +160,6 @@
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layout_faceunity_menu1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/x290"
|
||||
android:background="@color/primary_list"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.yunbao.faceunity.seekbar.DiscreteSeekBar
|
||||
android:id="@+id/seek_bar"
|
||||
android:layout_width="@dimen/x528"
|
||||
android:layout_height="@dimen/x48"
|
||||
android:layout_marginTop="@dimen/x24"
|
||||
android:layout_marginBottom="@dimen/x38"
|
||||
android:visibility="invisible"
|
||||
app:dsb_indicatorColor="@color/main_color"
|
||||
app:dsb_indicatorElevation="0dp"
|
||||
app:dsb_indicatorPopupEnabled="true"
|
||||
app:dsb_max="100"
|
||||
app:dsb_min="0"
|
||||
app:dsb_progressColor="@color/main_color"
|
||||
app:dsb_rippleColor="@color/main_color"
|
||||
app:dsb_scrubberHeight="@dimen/x4"
|
||||
app:dsb_thumbSize="@dimen/x32"
|
||||
app:dsb_trackBaseHeight="@dimen/x16"
|
||||
app:dsb_trackColor="@color/colorWhite"
|
||||
app:dsb_trackHeight="@dimen/x4"
|
||||
app:dsb_value="0" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/x180" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="@dimen/x140"
|
||||
android:layout_height="@dimen/x140"
|
||||
android:orientation="vertical"
|
||||
android:padding="@dimen/x10">
|
||||
|
||||
<com.yunbao.faceunity.widget.CircleImageView
|
||||
android:id="@+id/iv_control"
|
||||
android:layout_width="@dimen/x120"
|
||||
android:layout_height="@dimen/x120"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/bg_control_oval_selector"
|
||||
android:padding="@dimen/x6" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="@dimen/x138"
|
||||
android:layout_height="@dimen/x116">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_control"
|
||||
android:layout_width="@dimen/x116"
|
||||
android:layout_height="@dimen/x116"
|
||||
android:background="@drawable/bg_control_square_selector"
|
||||
android:padding="@dimen/x4"
|
||||
android:scaleType="centerInside" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -1,25 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="@dimen/x132"
|
||||
android:layout_height="@dimen/x180"
|
||||
android:gravity="center_horizontal|bottom"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_control"
|
||||
android:layout_width="@dimen/x88"
|
||||
android:layout_height="@dimen/x88"
|
||||
android:layout_marginBottom="@dimen/x18"
|
||||
android:scaleType="centerInside" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_control"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginBottom="@dimen/x30"
|
||||
android:text="@string/recover"
|
||||
android:textColor="@color/tv_main_color_selector"
|
||||
android:textSize="@dimen/text_size_20" />
|
||||
</LinearLayout>
|
||||
@@ -1,25 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="@dimen/x138"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center_horizontal"
|
||||
android:layout_height="@dimen/x180">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_control"
|
||||
android:layout_width="@dimen/x108"
|
||||
android:layout_height="@dimen/x108"
|
||||
android:layout_marginBottom="@dimen/x16"
|
||||
android:background="@drawable/bg_control_square_selector"
|
||||
android:padding="@dimen/x4"
|
||||
android:scaleType="centerInside" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_control"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/x40"
|
||||
android:layout_marginBottom="@dimen/x16"
|
||||
android:textColor="@color/tv_main_color_selector"
|
||||
android:textSize="@dimen/text_size_20" />
|
||||
|
||||
</LinearLayout>
|
||||
|
Before Width: | Height: | Size: 390 B |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 24 KiB |
@@ -1,754 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<dimen name="x0">0.0px</dimen>
|
||||
<dimen name="x1">0.64px</dimen>
|
||||
<dimen name="x2">1.28px</dimen>
|
||||
<dimen name="x3">1.92px</dimen>
|
||||
<dimen name="x4">2.56px</dimen>
|
||||
<dimen name="x5">3.19px</dimen>
|
||||
<dimen name="x6">3.84px</dimen>
|
||||
<dimen name="x7">4.48px</dimen>
|
||||
<dimen name="x8">5.12px</dimen>
|
||||
<dimen name="x9">5.76px</dimen>
|
||||
<dimen name="x10">6.39px</dimen>
|
||||
<dimen name="x11">7.04px</dimen>
|
||||
<dimen name="x12">7.68px</dimen>
|
||||
<dimen name="x13">8.32px</dimen>
|
||||
<dimen name="x14">8.96px</dimen>
|
||||
<dimen name="x15">9.59px</dimen>
|
||||
<dimen name="x16">10.24px</dimen>
|
||||
<dimen name="x17">10.88px</dimen>
|
||||
<dimen name="x18">11.52px</dimen>
|
||||
<dimen name="x19">12.16px</dimen>
|
||||
<dimen name="x20">12.79px</dimen>
|
||||
<dimen name="x21">13.44px</dimen>
|
||||
<dimen name="x22">14.08px</dimen>
|
||||
<dimen name="x23">14.71px</dimen>
|
||||
<dimen name="x24">15.36px</dimen>
|
||||
<dimen name="x25">16.0px</dimen>
|
||||
<dimen name="x26">16.64px</dimen>
|
||||
<dimen name="x27">17.27px</dimen>
|
||||
<dimen name="x28">17.92px</dimen>
|
||||
<dimen name="x29">18.56px</dimen>
|
||||
<dimen name="x30">19.19px</dimen>
|
||||
<dimen name="x31">19.84px</dimen>
|
||||
<dimen name="x32">20.48px</dimen>
|
||||
<dimen name="x33">21.12px</dimen>
|
||||
<dimen name="x34">21.76px</dimen>
|
||||
<dimen name="x35">22.4px</dimen>
|
||||
<dimen name="x36">23.04px</dimen>
|
||||
<dimen name="x37">23.68px</dimen>
|
||||
<dimen name="x38">24.32px</dimen>
|
||||
<dimen name="x39">24.96px</dimen>
|
||||
<dimen name="x40">25.59px</dimen>
|
||||
<dimen name="x41">26.24px</dimen>
|
||||
<dimen name="x42">26.88px</dimen>
|
||||
<dimen name="x43">27.51px</dimen>
|
||||
<dimen name="x44">28.16px</dimen>
|
||||
<dimen name="x45">28.8px</dimen>
|
||||
<dimen name="x46">29.43px</dimen>
|
||||
<dimen name="x47">30.08px</dimen>
|
||||
<dimen name="x48">30.72px</dimen>
|
||||
<dimen name="x49">31.35px</dimen>
|
||||
<dimen name="x50">32.0px</dimen>
|
||||
<dimen name="x51">32.64px</dimen>
|
||||
<dimen name="x52">33.28px</dimen>
|
||||
<dimen name="x53">33.91px</dimen>
|
||||
<dimen name="x54">34.55px</dimen>
|
||||
<dimen name="x55">35.2px</dimen>
|
||||
<dimen name="x56">35.84px</dimen>
|
||||
<dimen name="x57">36.48px</dimen>
|
||||
<dimen name="x58">37.12px</dimen>
|
||||
<dimen name="x59">37.75px</dimen>
|
||||
<dimen name="x60">38.39px</dimen>
|
||||
<dimen name="x61">39.04px</dimen>
|
||||
<dimen name="x62">39.68px</dimen>
|
||||
<dimen name="x63">40.32px</dimen>
|
||||
<dimen name="x64">40.96px</dimen>
|
||||
<dimen name="x65">41.6px</dimen>
|
||||
<dimen name="x66">42.24px</dimen>
|
||||
<dimen name="x67">42.87px</dimen>
|
||||
<dimen name="x68">43.52px</dimen>
|
||||
<dimen name="x69">44.16px</dimen>
|
||||
<dimen name="x70">44.8px</dimen>
|
||||
<dimen name="x71">45.44px</dimen>
|
||||
<dimen name="x72">46.08px</dimen>
|
||||
<dimen name="x73">46.71px</dimen>
|
||||
<dimen name="x74">47.36px</dimen>
|
||||
<dimen name="x75">48.0px</dimen>
|
||||
<dimen name="x76">48.64px</dimen>
|
||||
<dimen name="x77">49.28px</dimen>
|
||||
<dimen name="x78">49.92px</dimen>
|
||||
<dimen name="x79">50.56px</dimen>
|
||||
<dimen name="x80">51.19px</dimen>
|
||||
<dimen name="x81">51.84px</dimen>
|
||||
<dimen name="x82">52.48px</dimen>
|
||||
<dimen name="x83">53.12px</dimen>
|
||||
<dimen name="x84">53.76px</dimen>
|
||||
<dimen name="x85">54.4px</dimen>
|
||||
<dimen name="x86">55.03px</dimen>
|
||||
<dimen name="x87">55.68px</dimen>
|
||||
<dimen name="x88">56.32px</dimen>
|
||||
<dimen name="x89">56.96px</dimen>
|
||||
<dimen name="x90">57.6px</dimen>
|
||||
<dimen name="x91">58.24px</dimen>
|
||||
<dimen name="x92">58.87px</dimen>
|
||||
<dimen name="x93">59.52px</dimen>
|
||||
<dimen name="x94">60.16px</dimen>
|
||||
<dimen name="x95">60.8px</dimen>
|
||||
<dimen name="x96">61.44px</dimen>
|
||||
<dimen name="x97">62.08px</dimen>
|
||||
<dimen name="x98">62.71px</dimen>
|
||||
<dimen name="x99">63.35px</dimen>
|
||||
<dimen name="x100">64.0px</dimen>
|
||||
<dimen name="x101">64.64px</dimen>
|
||||
<dimen name="x102">65.28px</dimen>
|
||||
<dimen name="x103">65.92px</dimen>
|
||||
<dimen name="x104">66.56px</dimen>
|
||||
<dimen name="x105">67.19px</dimen>
|
||||
<dimen name="x106">67.83px</dimen>
|
||||
<dimen name="x107">68.47px</dimen>
|
||||
<dimen name="x108">69.11px</dimen>
|
||||
<dimen name="x109">69.76px</dimen>
|
||||
<dimen name="x110">70.4px</dimen>
|
||||
<dimen name="x111">71.04px</dimen>
|
||||
<dimen name="x112">71.68px</dimen>
|
||||
<dimen name="x113">72.32px</dimen>
|
||||
<dimen name="x114">72.96px</dimen>
|
||||
<dimen name="x115">73.6px</dimen>
|
||||
<dimen name="x116">74.24px</dimen>
|
||||
<dimen name="x117">74.87px</dimen>
|
||||
<dimen name="x118">75.51px</dimen>
|
||||
<dimen name="x119">76.15px</dimen>
|
||||
<dimen name="x120">76.79px</dimen>
|
||||
<dimen name="x121">77.43px</dimen>
|
||||
<dimen name="x122">78.08px</dimen>
|
||||
<dimen name="x123">78.72px</dimen>
|
||||
<dimen name="x124">79.36px</dimen>
|
||||
<dimen name="x125">80.0px</dimen>
|
||||
<dimen name="x126">80.64px</dimen>
|
||||
<dimen name="x127">81.28px</dimen>
|
||||
<dimen name="x128">81.92px</dimen>
|
||||
<dimen name="x129">82.56px</dimen>
|
||||
<dimen name="x130">83.2px</dimen>
|
||||
<dimen name="x131">83.84px</dimen>
|
||||
<dimen name="x132">84.48px</dimen>
|
||||
<dimen name="x133">85.12px</dimen>
|
||||
<dimen name="x134">85.75px</dimen>
|
||||
<dimen name="x135">86.4px</dimen>
|
||||
<dimen name="x136">87.04px</dimen>
|
||||
<dimen name="x137">87.68px</dimen>
|
||||
<dimen name="x138">88.32px</dimen>
|
||||
<dimen name="x139">88.96px</dimen>
|
||||
<dimen name="x140">89.6px</dimen>
|
||||
<dimen name="x141">90.24px</dimen>
|
||||
<dimen name="x142">90.88px</dimen>
|
||||
<dimen name="x143">91.52px</dimen>
|
||||
<dimen name="x144">92.16px</dimen>
|
||||
<dimen name="x145">92.8px</dimen>
|
||||
<dimen name="x146">93.43px</dimen>
|
||||
<dimen name="x147">94.07px</dimen>
|
||||
<dimen name="x148">94.72px</dimen>
|
||||
<dimen name="x149">95.36px</dimen>
|
||||
<dimen name="x150">96.0px</dimen>
|
||||
<dimen name="x151">96.64px</dimen>
|
||||
<dimen name="x152">97.28px</dimen>
|
||||
<dimen name="x153">97.92px</dimen>
|
||||
<dimen name="x154">98.56px</dimen>
|
||||
<dimen name="x155">99.2px</dimen>
|
||||
<dimen name="x156">99.84px</dimen>
|
||||
<dimen name="x157">100.48px</dimen>
|
||||
<dimen name="x158">101.12px</dimen>
|
||||
<dimen name="x159">101.75px</dimen>
|
||||
<dimen name="x160">102.39px</dimen>
|
||||
<dimen name="x161">103.04px</dimen>
|
||||
<dimen name="x162">103.68px</dimen>
|
||||
<dimen name="x163">104.32px</dimen>
|
||||
<dimen name="x164">104.96px</dimen>
|
||||
<dimen name="x165">105.6px</dimen>
|
||||
<dimen name="x166">106.24px</dimen>
|
||||
<dimen name="x167">106.88px</dimen>
|
||||
<dimen name="x168">107.52px</dimen>
|
||||
<dimen name="x169">108.16px</dimen>
|
||||
<dimen name="x170">108.8px</dimen>
|
||||
<dimen name="x171">109.43px</dimen>
|
||||
<dimen name="x172">110.07px</dimen>
|
||||
<dimen name="x173">110.72px</dimen>
|
||||
<dimen name="x174">111.36px</dimen>
|
||||
<dimen name="x175">112.0px</dimen>
|
||||
<dimen name="x176">112.64px</dimen>
|
||||
<dimen name="x177">113.28px</dimen>
|
||||
<dimen name="x178">113.92px</dimen>
|
||||
<dimen name="x179">114.56px</dimen>
|
||||
<dimen name="x180">115.2px</dimen>
|
||||
<dimen name="x181">115.84px</dimen>
|
||||
<dimen name="x182">116.48px</dimen>
|
||||
<dimen name="x183">117.12px</dimen>
|
||||
<dimen name="x184">117.75px</dimen>
|
||||
<dimen name="x185">118.39px</dimen>
|
||||
<dimen name="x186">119.04px</dimen>
|
||||
<dimen name="x187">119.68px</dimen>
|
||||
<dimen name="x188">120.32px</dimen>
|
||||
<dimen name="x189">120.96px</dimen>
|
||||
<dimen name="x190">121.6px</dimen>
|
||||
<dimen name="x191">122.24px</dimen>
|
||||
<dimen name="x192">122.88px</dimen>
|
||||
<dimen name="x193">123.52px</dimen>
|
||||
<dimen name="x194">124.16px</dimen>
|
||||
<dimen name="x195">124.8px</dimen>
|
||||
<dimen name="x196">125.43px</dimen>
|
||||
<dimen name="x197">126.07px</dimen>
|
||||
<dimen name="x198">126.71px</dimen>
|
||||
<dimen name="x199">127.36px</dimen>
|
||||
<dimen name="x200">128.0px</dimen>
|
||||
<dimen name="x201">128.64px</dimen>
|
||||
<dimen name="x202">129.28px</dimen>
|
||||
<dimen name="x203">129.92px</dimen>
|
||||
<dimen name="x204">130.56px</dimen>
|
||||
<dimen name="x205">131.2px</dimen>
|
||||
<dimen name="x206">131.84px</dimen>
|
||||
<dimen name="x207">132.48px</dimen>
|
||||
<dimen name="x208">133.12px</dimen>
|
||||
<dimen name="x209">133.75px</dimen>
|
||||
<dimen name="x210">134.39px</dimen>
|
||||
<dimen name="x211">135.03px</dimen>
|
||||
<dimen name="x212">135.67px</dimen>
|
||||
<dimen name="x213">136.31px</dimen>
|
||||
<dimen name="x214">136.95px</dimen>
|
||||
<dimen name="x215">137.59px</dimen>
|
||||
<dimen name="x216">138.23px</dimen>
|
||||
<dimen name="x217">138.87px</dimen>
|
||||
<dimen name="x218">139.52px</dimen>
|
||||
<dimen name="x219">140.16px</dimen>
|
||||
<dimen name="x220">140.8px</dimen>
|
||||
<dimen name="x221">141.44px</dimen>
|
||||
<dimen name="x222">142.08px</dimen>
|
||||
<dimen name="x223">142.72px</dimen>
|
||||
<dimen name="x224">143.36px</dimen>
|
||||
<dimen name="x225">144.0px</dimen>
|
||||
<dimen name="x226">144.64px</dimen>
|
||||
<dimen name="x227">145.28px</dimen>
|
||||
<dimen name="x228">145.92px</dimen>
|
||||
<dimen name="x229">146.56px</dimen>
|
||||
<dimen name="x230">147.2px</dimen>
|
||||
<dimen name="x231">147.84px</dimen>
|
||||
<dimen name="x232">148.48px</dimen>
|
||||
<dimen name="x233">149.12px</dimen>
|
||||
<dimen name="x234">149.75px</dimen>
|
||||
<dimen name="x235">150.39px</dimen>
|
||||
<dimen name="x236">151.03px</dimen>
|
||||
<dimen name="x237">151.67px</dimen>
|
||||
<dimen name="x238">152.31px</dimen>
|
||||
<dimen name="x239">152.95px</dimen>
|
||||
<dimen name="x240">153.59px</dimen>
|
||||
<dimen name="x241">154.23px</dimen>
|
||||
<dimen name="x242">154.87px</dimen>
|
||||
<dimen name="x243">155.51px</dimen>
|
||||
<dimen name="x244">156.16px</dimen>
|
||||
<dimen name="x245">156.8px</dimen>
|
||||
<dimen name="x246">157.44px</dimen>
|
||||
<dimen name="x247">158.08px</dimen>
|
||||
<dimen name="x248">158.72px</dimen>
|
||||
<dimen name="x249">159.36px</dimen>
|
||||
<dimen name="x250">160.0px</dimen>
|
||||
<dimen name="x251">160.64px</dimen>
|
||||
<dimen name="x252">161.28px</dimen>
|
||||
<dimen name="x253">161.92px</dimen>
|
||||
<dimen name="x254">162.56px</dimen>
|
||||
<dimen name="x255">163.2px</dimen>
|
||||
<dimen name="x256">163.84px</dimen>
|
||||
<dimen name="x257">164.48px</dimen>
|
||||
<dimen name="x258">165.12px</dimen>
|
||||
<dimen name="x259">165.76px</dimen>
|
||||
<dimen name="x260">166.4px</dimen>
|
||||
<dimen name="x261">167.04px</dimen>
|
||||
<dimen name="x262">167.68px</dimen>
|
||||
<dimen name="x263">168.32px</dimen>
|
||||
<dimen name="x264">168.96px</dimen>
|
||||
<dimen name="x265">169.6px</dimen>
|
||||
<dimen name="x266">170.24px</dimen>
|
||||
<dimen name="x267">170.87px</dimen>
|
||||
<dimen name="x268">171.51px</dimen>
|
||||
<dimen name="x269">172.16px</dimen>
|
||||
<dimen name="x270">172.8px</dimen>
|
||||
<dimen name="x271">173.44px</dimen>
|
||||
<dimen name="x272">174.08px</dimen>
|
||||
<dimen name="x273">174.72px</dimen>
|
||||
<dimen name="x274">175.36px</dimen>
|
||||
<dimen name="x275">176.0px</dimen>
|
||||
<dimen name="x276">176.64px</dimen>
|
||||
<dimen name="x277">177.28px</dimen>
|
||||
<dimen name="x278">177.92px</dimen>
|
||||
<dimen name="x279">178.56px</dimen>
|
||||
<dimen name="x280">179.2px</dimen>
|
||||
<dimen name="x281">179.84px</dimen>
|
||||
<dimen name="x282">180.48px</dimen>
|
||||
<dimen name="x283">181.12px</dimen>
|
||||
<dimen name="x284">181.76px</dimen>
|
||||
<dimen name="x285">182.4px</dimen>
|
||||
<dimen name="x286">183.04px</dimen>
|
||||
<dimen name="x287">183.68px</dimen>
|
||||
<dimen name="x288">184.32px</dimen>
|
||||
<dimen name="x289">184.96px</dimen>
|
||||
<dimen name="x290">185.6px</dimen>
|
||||
<dimen name="x291">186.24px</dimen>
|
||||
<dimen name="x292">186.87px</dimen>
|
||||
<dimen name="x293">187.51px</dimen>
|
||||
<dimen name="x294">188.15px</dimen>
|
||||
<dimen name="x295">188.8px</dimen>
|
||||
<dimen name="x296">189.44px</dimen>
|
||||
<dimen name="x297">190.08px</dimen>
|
||||
<dimen name="x298">190.72px</dimen>
|
||||
<dimen name="x299">191.36px</dimen>
|
||||
<dimen name="x300">192.0px</dimen>
|
||||
<dimen name="x301">192.64px</dimen>
|
||||
<dimen name="x302">193.28px</dimen>
|
||||
<dimen name="x303">193.92px</dimen>
|
||||
<dimen name="x304">194.56px</dimen>
|
||||
<dimen name="x305">195.2px</dimen>
|
||||
<dimen name="x306">195.84px</dimen>
|
||||
<dimen name="x307">196.48px</dimen>
|
||||
<dimen name="x308">197.12px</dimen>
|
||||
<dimen name="x309">197.76px</dimen>
|
||||
<dimen name="x310">198.4px</dimen>
|
||||
<dimen name="x311">199.04px</dimen>
|
||||
<dimen name="x312">199.68px</dimen>
|
||||
<dimen name="x313">200.32px</dimen>
|
||||
<dimen name="x314">200.96px</dimen>
|
||||
<dimen name="x315">201.6px</dimen>
|
||||
<dimen name="x316">202.24px</dimen>
|
||||
<dimen name="x317">202.87px</dimen>
|
||||
<dimen name="x318">203.51px</dimen>
|
||||
<dimen name="x319">204.15px</dimen>
|
||||
<dimen name="x320">204.79px</dimen>
|
||||
<dimen name="x321">205.44px</dimen>
|
||||
<dimen name="x322">206.08px</dimen>
|
||||
<dimen name="x323">206.72px</dimen>
|
||||
<dimen name="x324">207.36px</dimen>
|
||||
<dimen name="x325">208.0px</dimen>
|
||||
<dimen name="x326">208.64px</dimen>
|
||||
<dimen name="x327">209.28px</dimen>
|
||||
<dimen name="x328">209.92px</dimen>
|
||||
<dimen name="x329">210.56px</dimen>
|
||||
<dimen name="x330">211.2px</dimen>
|
||||
<dimen name="x331">211.84px</dimen>
|
||||
<dimen name="x332">212.48px</dimen>
|
||||
<dimen name="x333">213.12px</dimen>
|
||||
<dimen name="x334">213.76px</dimen>
|
||||
<dimen name="x335">214.4px</dimen>
|
||||
<dimen name="x336">215.04px</dimen>
|
||||
<dimen name="x337">215.68px</dimen>
|
||||
<dimen name="x338">216.32px</dimen>
|
||||
<dimen name="x339">216.96px</dimen>
|
||||
<dimen name="x340">217.6px</dimen>
|
||||
<dimen name="x341">218.24px</dimen>
|
||||
<dimen name="x342">218.87px</dimen>
|
||||
<dimen name="x343">219.51px</dimen>
|
||||
<dimen name="x344">220.15px</dimen>
|
||||
<dimen name="x345">220.79px</dimen>
|
||||
<dimen name="x346">221.44px</dimen>
|
||||
<dimen name="x347">222.08px</dimen>
|
||||
<dimen name="x348">222.72px</dimen>
|
||||
<dimen name="x349">223.36px</dimen>
|
||||
<dimen name="x350">224.0px</dimen>
|
||||
<dimen name="x351">224.64px</dimen>
|
||||
<dimen name="x352">225.28px</dimen>
|
||||
<dimen name="x353">225.92px</dimen>
|
||||
<dimen name="x354">226.56px</dimen>
|
||||
<dimen name="x355">227.2px</dimen>
|
||||
<dimen name="x356">227.84px</dimen>
|
||||
<dimen name="x357">228.48px</dimen>
|
||||
<dimen name="x358">229.12px</dimen>
|
||||
<dimen name="x359">229.76px</dimen>
|
||||
<dimen name="x360">230.4px</dimen>
|
||||
<dimen name="x361">231.04px</dimen>
|
||||
<dimen name="x362">231.68px</dimen>
|
||||
<dimen name="x363">232.32px</dimen>
|
||||
<dimen name="x364">232.96px</dimen>
|
||||
<dimen name="x365">233.6px</dimen>
|
||||
<dimen name="x366">234.24px</dimen>
|
||||
<dimen name="x367">234.87px</dimen>
|
||||
<dimen name="x368">235.51px</dimen>
|
||||
<dimen name="x369">236.15px</dimen>
|
||||
<dimen name="x370">236.79px</dimen>
|
||||
<dimen name="x371">237.43px</dimen>
|
||||
<dimen name="x372">238.08px</dimen>
|
||||
<dimen name="x373">238.72px</dimen>
|
||||
<dimen name="x374">239.36px</dimen>
|
||||
<dimen name="x375">240.0px</dimen>
|
||||
<dimen name="x376">240.64px</dimen>
|
||||
<dimen name="x377">241.28px</dimen>
|
||||
<dimen name="x378">241.92px</dimen>
|
||||
<dimen name="x379">242.56px</dimen>
|
||||
<dimen name="x380">243.2px</dimen>
|
||||
<dimen name="x381">243.84px</dimen>
|
||||
<dimen name="x382">244.48px</dimen>
|
||||
<dimen name="x383">245.12px</dimen>
|
||||
<dimen name="x384">245.76px</dimen>
|
||||
<dimen name="x385">246.4px</dimen>
|
||||
<dimen name="x386">247.04px</dimen>
|
||||
<dimen name="x387">247.68px</dimen>
|
||||
<dimen name="x388">248.32px</dimen>
|
||||
<dimen name="x389">248.96px</dimen>
|
||||
<dimen name="x390">249.6px</dimen>
|
||||
<dimen name="x391">250.24px</dimen>
|
||||
<dimen name="x392">250.87px</dimen>
|
||||
<dimen name="x393">251.51px</dimen>
|
||||
<dimen name="x394">252.15px</dimen>
|
||||
<dimen name="x395">252.79px</dimen>
|
||||
<dimen name="x396">253.43px</dimen>
|
||||
<dimen name="x397">254.08px</dimen>
|
||||
<dimen name="x398">254.72px</dimen>
|
||||
<dimen name="x399">255.36px</dimen>
|
||||
<dimen name="x400">256.0px</dimen>
|
||||
<dimen name="x401">256.63px</dimen>
|
||||
<dimen name="x402">257.28px</dimen>
|
||||
<dimen name="x403">257.91px</dimen>
|
||||
<dimen name="x404">258.56px</dimen>
|
||||
<dimen name="x405">259.19px</dimen>
|
||||
<dimen name="x406">259.84px</dimen>
|
||||
<dimen name="x407">260.47px</dimen>
|
||||
<dimen name="x408">261.12px</dimen>
|
||||
<dimen name="x409">261.75px</dimen>
|
||||
<dimen name="x410">262.4px</dimen>
|
||||
<dimen name="x411">263.04px</dimen>
|
||||
<dimen name="x412">263.68px</dimen>
|
||||
<dimen name="x413">264.32px</dimen>
|
||||
<dimen name="x414">264.96px</dimen>
|
||||
<dimen name="x415">265.6px</dimen>
|
||||
<dimen name="x416">266.24px</dimen>
|
||||
<dimen name="x417">266.88px</dimen>
|
||||
<dimen name="x418">267.51px</dimen>
|
||||
<dimen name="x419">268.16px</dimen>
|
||||
<dimen name="x420">268.79px</dimen>
|
||||
<dimen name="x421">269.44px</dimen>
|
||||
<dimen name="x422">270.07px</dimen>
|
||||
<dimen name="x423">270.72px</dimen>
|
||||
<dimen name="x424">271.35px</dimen>
|
||||
<dimen name="x425">272.0px</dimen>
|
||||
<dimen name="x426">272.63px</dimen>
|
||||
<dimen name="x427">273.28px</dimen>
|
||||
<dimen name="x428">273.91px</dimen>
|
||||
<dimen name="x429">274.56px</dimen>
|
||||
<dimen name="x430">275.19px</dimen>
|
||||
<dimen name="x431">275.84px</dimen>
|
||||
<dimen name="x432">276.47px</dimen>
|
||||
<dimen name="x433">277.12px</dimen>
|
||||
<dimen name="x434">277.75px</dimen>
|
||||
<dimen name="x435">278.4px</dimen>
|
||||
<dimen name="x436">279.04px</dimen>
|
||||
<dimen name="x437">279.68px</dimen>
|
||||
<dimen name="x438">280.32px</dimen>
|
||||
<dimen name="x439">280.96px</dimen>
|
||||
<dimen name="x440">281.6px</dimen>
|
||||
<dimen name="x441">282.24px</dimen>
|
||||
<dimen name="x442">282.88px</dimen>
|
||||
<dimen name="x443">283.51px</dimen>
|
||||
<dimen name="x444">284.16px</dimen>
|
||||
<dimen name="x445">284.79px</dimen>
|
||||
<dimen name="x446">285.44px</dimen>
|
||||
<dimen name="x447">286.07px</dimen>
|
||||
<dimen name="x448">286.72px</dimen>
|
||||
<dimen name="x449">287.35px</dimen>
|
||||
<dimen name="x450">288.0px</dimen>
|
||||
<dimen name="x451">288.63px</dimen>
|
||||
<dimen name="x452">289.28px</dimen>
|
||||
<dimen name="x453">289.91px</dimen>
|
||||
<dimen name="x454">290.56px</dimen>
|
||||
<dimen name="x455">291.19px</dimen>
|
||||
<dimen name="x456">291.84px</dimen>
|
||||
<dimen name="x457">292.47px</dimen>
|
||||
<dimen name="x458">293.12px</dimen>
|
||||
<dimen name="x459">293.75px</dimen>
|
||||
<dimen name="x460">294.4px</dimen>
|
||||
<dimen name="x461">295.04px</dimen>
|
||||
<dimen name="x462">295.68px</dimen>
|
||||
<dimen name="x463">296.32px</dimen>
|
||||
<dimen name="x464">296.96px</dimen>
|
||||
<dimen name="x465">297.6px</dimen>
|
||||
<dimen name="x466">298.24px</dimen>
|
||||
<dimen name="x467">298.88px</dimen>
|
||||
<dimen name="x468">299.51px</dimen>
|
||||
<dimen name="x469">300.16px</dimen>
|
||||
<dimen name="x470">300.79px</dimen>
|
||||
<dimen name="x471">301.44px</dimen>
|
||||
<dimen name="x472">302.07px</dimen>
|
||||
<dimen name="x473">302.72px</dimen>
|
||||
<dimen name="x474">303.35px</dimen>
|
||||
<dimen name="x475">304.0px</dimen>
|
||||
<dimen name="x476">304.63px</dimen>
|
||||
<dimen name="x477">305.28px</dimen>
|
||||
<dimen name="x478">305.91px</dimen>
|
||||
<dimen name="x479">306.56px</dimen>
|
||||
<dimen name="x480">307.19px</dimen>
|
||||
<dimen name="x481">307.84px</dimen>
|
||||
<dimen name="x482">308.47px</dimen>
|
||||
<dimen name="x483">309.12px</dimen>
|
||||
<dimen name="x484">309.75px</dimen>
|
||||
<dimen name="x485">310.4px</dimen>
|
||||
<dimen name="x486">311.03px</dimen>
|
||||
<dimen name="x487">311.68px</dimen>
|
||||
<dimen name="x488">312.32px</dimen>
|
||||
<dimen name="x489">312.96px</dimen>
|
||||
<dimen name="x490">313.6px</dimen>
|
||||
<dimen name="x491">314.24px</dimen>
|
||||
<dimen name="x492">314.88px</dimen>
|
||||
<dimen name="x493">315.51px</dimen>
|
||||
<dimen name="x494">316.16px</dimen>
|
||||
<dimen name="x495">316.79px</dimen>
|
||||
<dimen name="x496">317.44px</dimen>
|
||||
<dimen name="x497">318.07px</dimen>
|
||||
<dimen name="x498">318.72px</dimen>
|
||||
<dimen name="x499">319.35px</dimen>
|
||||
<dimen name="x500">320.0px</dimen>
|
||||
<dimen name="x501">320.63px</dimen>
|
||||
<dimen name="x502">321.28px</dimen>
|
||||
<dimen name="x503">321.91px</dimen>
|
||||
<dimen name="x504">322.56px</dimen>
|
||||
<dimen name="x505">323.19px</dimen>
|
||||
<dimen name="x506">323.84px</dimen>
|
||||
<dimen name="x507">324.47px</dimen>
|
||||
<dimen name="x508">325.12px</dimen>
|
||||
<dimen name="x509">325.75px</dimen>
|
||||
<dimen name="x510">326.4px</dimen>
|
||||
<dimen name="x511">327.03px</dimen>
|
||||
<dimen name="x512">327.68px</dimen>
|
||||
<dimen name="x513">328.32px</dimen>
|
||||
<dimen name="x514">328.96px</dimen>
|
||||
<dimen name="x515">329.6px</dimen>
|
||||
<dimen name="x516">330.24px</dimen>
|
||||
<dimen name="x517">330.88px</dimen>
|
||||
<dimen name="x518">331.52px</dimen>
|
||||
<dimen name="x519">332.16px</dimen>
|
||||
<dimen name="x520">332.8px</dimen>
|
||||
<dimen name="x521">333.44px</dimen>
|
||||
<dimen name="x522">334.08px</dimen>
|
||||
<dimen name="x523">334.72px</dimen>
|
||||
<dimen name="x524">335.36px</dimen>
|
||||
<dimen name="x525">336.0px</dimen>
|
||||
<dimen name="x526">336.64px</dimen>
|
||||
<dimen name="x527">337.28px</dimen>
|
||||
<dimen name="x528">337.92px</dimen>
|
||||
<dimen name="x529">338.56px</dimen>
|
||||
<dimen name="x530">339.2px</dimen>
|
||||
<dimen name="x531">339.84px</dimen>
|
||||
<dimen name="x532">340.48px</dimen>
|
||||
<dimen name="x533">341.12px</dimen>
|
||||
<dimen name="x534">341.75px</dimen>
|
||||
<dimen name="x535">342.4px</dimen>
|
||||
<dimen name="x536">343.03px</dimen>
|
||||
<dimen name="x537">343.68px</dimen>
|
||||
<dimen name="x538">344.32px</dimen>
|
||||
<dimen name="x539">344.96px</dimen>
|
||||
<dimen name="x540">345.6px</dimen>
|
||||
<dimen name="x541">346.24px</dimen>
|
||||
<dimen name="x542">346.88px</dimen>
|
||||
<dimen name="x543">347.52px</dimen>
|
||||
<dimen name="x544">348.16px</dimen>
|
||||
<dimen name="x545">348.8px</dimen>
|
||||
<dimen name="x546">349.44px</dimen>
|
||||
<dimen name="x547">350.08px</dimen>
|
||||
<dimen name="x548">350.72px</dimen>
|
||||
<dimen name="x549">351.36px</dimen>
|
||||
<dimen name="x550">352.0px</dimen>
|
||||
<dimen name="x551">352.64px</dimen>
|
||||
<dimen name="x552">353.28px</dimen>
|
||||
<dimen name="x553">353.92px</dimen>
|
||||
<dimen name="x554">354.56px</dimen>
|
||||
<dimen name="x555">355.2px</dimen>
|
||||
<dimen name="x556">355.84px</dimen>
|
||||
<dimen name="x557">356.48px</dimen>
|
||||
<dimen name="x558">357.12px</dimen>
|
||||
<dimen name="x559">357.75px</dimen>
|
||||
<dimen name="x560">358.4px</dimen>
|
||||
<dimen name="x561">359.03px</dimen>
|
||||
<dimen name="x562">359.68px</dimen>
|
||||
<dimen name="x563">360.31px</dimen>
|
||||
<dimen name="x564">360.96px</dimen>
|
||||
<dimen name="x565">361.6px</dimen>
|
||||
<dimen name="x566">362.24px</dimen>
|
||||
<dimen name="x567">362.88px</dimen>
|
||||
<dimen name="x568">363.52px</dimen>
|
||||
<dimen name="x569">364.16px</dimen>
|
||||
<dimen name="x570">364.8px</dimen>
|
||||
<dimen name="x571">365.44px</dimen>
|
||||
<dimen name="x572">366.08px</dimen>
|
||||
<dimen name="x573">366.72px</dimen>
|
||||
<dimen name="x574">367.36px</dimen>
|
||||
<dimen name="x575">368.0px</dimen>
|
||||
<dimen name="x576">368.64px</dimen>
|
||||
<dimen name="x577">369.28px</dimen>
|
||||
<dimen name="x578">369.92px</dimen>
|
||||
<dimen name="x579">370.56px</dimen>
|
||||
<dimen name="x580">371.2px</dimen>
|
||||
<dimen name="x581">371.84px</dimen>
|
||||
<dimen name="x582">372.48px</dimen>
|
||||
<dimen name="x583">373.12px</dimen>
|
||||
<dimen name="x584">373.75px</dimen>
|
||||
<dimen name="x585">374.4px</dimen>
|
||||
<dimen name="x586">375.03px</dimen>
|
||||
<dimen name="x587">375.68px</dimen>
|
||||
<dimen name="x588">376.31px</dimen>
|
||||
<dimen name="x589">376.96px</dimen>
|
||||
<dimen name="x590">377.6px</dimen>
|
||||
<dimen name="x591">378.24px</dimen>
|
||||
<dimen name="x592">378.88px</dimen>
|
||||
<dimen name="x593">379.52px</dimen>
|
||||
<dimen name="x594">380.16px</dimen>
|
||||
<dimen name="x595">380.8px</dimen>
|
||||
<dimen name="x596">381.44px</dimen>
|
||||
<dimen name="x597">382.08px</dimen>
|
||||
<dimen name="x598">382.72px</dimen>
|
||||
<dimen name="x599">383.36px</dimen>
|
||||
<dimen name="x600">384.0px</dimen>
|
||||
<dimen name="x601">384.64px</dimen>
|
||||
<dimen name="x602">385.28px</dimen>
|
||||
<dimen name="x603">385.92px</dimen>
|
||||
<dimen name="x604">386.56px</dimen>
|
||||
<dimen name="x605">387.2px</dimen>
|
||||
<dimen name="x606">387.84px</dimen>
|
||||
<dimen name="x607">388.48px</dimen>
|
||||
<dimen name="x608">389.12px</dimen>
|
||||
<dimen name="x609">389.75px</dimen>
|
||||
<dimen name="x610">390.4px</dimen>
|
||||
<dimen name="x611">391.03px</dimen>
|
||||
<dimen name="x612">391.68px</dimen>
|
||||
<dimen name="x613">392.31px</dimen>
|
||||
<dimen name="x614">392.96px</dimen>
|
||||
<dimen name="x615">393.6px</dimen>
|
||||
<dimen name="x616">394.24px</dimen>
|
||||
<dimen name="x617">394.88px</dimen>
|
||||
<dimen name="x618">395.52px</dimen>
|
||||
<dimen name="x619">396.16px</dimen>
|
||||
<dimen name="x620">396.8px</dimen>
|
||||
<dimen name="x621">397.44px</dimen>
|
||||
<dimen name="x622">398.08px</dimen>
|
||||
<dimen name="x623">398.72px</dimen>
|
||||
<dimen name="x624">399.36px</dimen>
|
||||
<dimen name="x625">400.0px</dimen>
|
||||
<dimen name="x626">400.64px</dimen>
|
||||
<dimen name="x627">401.28px</dimen>
|
||||
<dimen name="x628">401.92px</dimen>
|
||||
<dimen name="x629">402.56px</dimen>
|
||||
<dimen name="x630">403.2px</dimen>
|
||||
<dimen name="x631">403.84px</dimen>
|
||||
<dimen name="x632">404.48px</dimen>
|
||||
<dimen name="x633">405.12px</dimen>
|
||||
<dimen name="x634">405.75px</dimen>
|
||||
<dimen name="x635">406.4px</dimen>
|
||||
<dimen name="x636">407.03px</dimen>
|
||||
<dimen name="x637">407.68px</dimen>
|
||||
<dimen name="x638">408.31px</dimen>
|
||||
<dimen name="x639">408.96px</dimen>
|
||||
<dimen name="x640">409.59px</dimen>
|
||||
<dimen name="x641">410.24px</dimen>
|
||||
<dimen name="x642">410.88px</dimen>
|
||||
<dimen name="x643">411.52px</dimen>
|
||||
<dimen name="x644">412.16px</dimen>
|
||||
<dimen name="x645">412.8px</dimen>
|
||||
<dimen name="x646">413.44px</dimen>
|
||||
<dimen name="x647">414.08px</dimen>
|
||||
<dimen name="x648">414.72px</dimen>
|
||||
<dimen name="x649">415.36px</dimen>
|
||||
<dimen name="x650">416.0px</dimen>
|
||||
<dimen name="x651">416.64px</dimen>
|
||||
<dimen name="x652">417.28px</dimen>
|
||||
<dimen name="x653">417.92px</dimen>
|
||||
<dimen name="x654">418.56px</dimen>
|
||||
<dimen name="x655">419.2px</dimen>
|
||||
<dimen name="x656">419.84px</dimen>
|
||||
<dimen name="x657">420.48px</dimen>
|
||||
<dimen name="x658">421.12px</dimen>
|
||||
<dimen name="x659">421.75px</dimen>
|
||||
<dimen name="x660">422.4px</dimen>
|
||||
<dimen name="x661">423.03px</dimen>
|
||||
<dimen name="x662">423.68px</dimen>
|
||||
<dimen name="x663">424.31px</dimen>
|
||||
<dimen name="x664">424.96px</dimen>
|
||||
<dimen name="x665">425.59px</dimen>
|
||||
<dimen name="x666">426.24px</dimen>
|
||||
<dimen name="x667">426.88px</dimen>
|
||||
<dimen name="x668">427.52px</dimen>
|
||||
<dimen name="x669">428.16px</dimen>
|
||||
<dimen name="x670">428.8px</dimen>
|
||||
<dimen name="x671">429.44px</dimen>
|
||||
<dimen name="x672">430.08px</dimen>
|
||||
<dimen name="x673">430.72px</dimen>
|
||||
<dimen name="x674">431.36px</dimen>
|
||||
<dimen name="x675">432.0px</dimen>
|
||||
<dimen name="x676">432.64px</dimen>
|
||||
<dimen name="x677">433.28px</dimen>
|
||||
<dimen name="x678">433.92px</dimen>
|
||||
<dimen name="x679">434.56px</dimen>
|
||||
<dimen name="x680">435.2px</dimen>
|
||||
<dimen name="x681">435.84px</dimen>
|
||||
<dimen name="x682">436.48px</dimen>
|
||||
<dimen name="x683">437.12px</dimen>
|
||||
<dimen name="x684">437.75px</dimen>
|
||||
<dimen name="x685">438.4px</dimen>
|
||||
<dimen name="x686">439.03px</dimen>
|
||||
<dimen name="x687">439.68px</dimen>
|
||||
<dimen name="x688">440.31px</dimen>
|
||||
<dimen name="x689">440.96px</dimen>
|
||||
<dimen name="x690">441.59px</dimen>
|
||||
<dimen name="x691">442.24px</dimen>
|
||||
<dimen name="x692">442.88px</dimen>
|
||||
<dimen name="x693">443.52px</dimen>
|
||||
<dimen name="x694">444.16px</dimen>
|
||||
<dimen name="x695">444.8px</dimen>
|
||||
<dimen name="x696">445.44px</dimen>
|
||||
<dimen name="x697">446.08px</dimen>
|
||||
<dimen name="x698">446.72px</dimen>
|
||||
<dimen name="x699">447.36px</dimen>
|
||||
<dimen name="x700">448.0px</dimen>
|
||||
<dimen name="x701">448.64px</dimen>
|
||||
<dimen name="x702">449.28px</dimen>
|
||||
<dimen name="x703">449.92px</dimen>
|
||||
<dimen name="x704">450.56px</dimen>
|
||||
<dimen name="x705">451.2px</dimen>
|
||||
<dimen name="x706">451.84px</dimen>
|
||||
<dimen name="x707">452.48px</dimen>
|
||||
<dimen name="x708">453.12px</dimen>
|
||||
<dimen name="x709">453.75px</dimen>
|
||||
<dimen name="x710">454.4px</dimen>
|
||||
<dimen name="x711">455.03px</dimen>
|
||||
<dimen name="x712">455.68px</dimen>
|
||||
<dimen name="x713">456.31px</dimen>
|
||||
<dimen name="x714">456.96px</dimen>
|
||||
<dimen name="x715">457.59px</dimen>
|
||||
<dimen name="x716">458.24px</dimen>
|
||||
<dimen name="x717">458.88px</dimen>
|
||||
<dimen name="x718">459.52px</dimen>
|
||||
<dimen name="x719">460.16px</dimen>
|
||||
<dimen name="x720">460.8px</dimen>
|
||||
<dimen name="x721">461.44px</dimen>
|
||||
<dimen name="x722">462.08px</dimen>
|
||||
<dimen name="x723">462.72px</dimen>
|
||||
<dimen name="x724">463.36px</dimen>
|
||||
<dimen name="x725">464.0px</dimen>
|
||||
<dimen name="x726">464.64px</dimen>
|
||||
<dimen name="x727">465.28px</dimen>
|
||||
<dimen name="x728">465.92px</dimen>
|
||||
<dimen name="x729">466.56px</dimen>
|
||||
<dimen name="x730">467.2px</dimen>
|
||||
<dimen name="x731">467.84px</dimen>
|
||||
<dimen name="x732">468.48px</dimen>
|
||||
<dimen name="x733">469.12px</dimen>
|
||||
<dimen name="x734">469.75px</dimen>
|
||||
<dimen name="x735">470.4px</dimen>
|
||||
<dimen name="x736">471.03px</dimen>
|
||||
<dimen name="x737">471.68px</dimen>
|
||||
<dimen name="x738">472.31px</dimen>
|
||||
<dimen name="x739">472.96px</dimen>
|
||||
<dimen name="x740">473.59px</dimen>
|
||||
<dimen name="x741">474.24px</dimen>
|
||||
<dimen name="x742">474.87px</dimen>
|
||||
<dimen name="x743">475.52px</dimen>
|
||||
<dimen name="x744">476.16px</dimen>
|
||||
<dimen name="x745">476.8px</dimen>
|
||||
<dimen name="x746">477.44px</dimen>
|
||||
<dimen name="x747">478.08px</dimen>
|
||||
<dimen name="x748">478.72px</dimen>
|
||||
<dimen name="x749">479.36px</dimen>
|
||||
<dimen name="x750">480px</dimen>
|
||||
</resources>
|
||||
@@ -5,29 +5,10 @@
|
||||
<color name="colorAccent">#FF8D41</color>
|
||||
|
||||
<!--fulive demo 主配色-->
|
||||
<color name="primary_background">#050F14</color>
|
||||
<color name="primary_text">#2C2E30</color>
|
||||
<color name="primary_list">#BD050F14</color>
|
||||
<color name="primary_disable_state">#C6C6C6</color>
|
||||
<color name="primary_border_background">#8A797A7B</color>
|
||||
<color name="primary_border_background_old">#5C040B0E</color>
|
||||
<color name="primary_selected">#1FB2FF</color>
|
||||
<color name="primary_selected_old">#5EC7FE</color>
|
||||
|
||||
<color name="transparent">#00000000</color>
|
||||
<color name="percent50translucentBlack">#80000000</color>
|
||||
<color name="percent60translucentBlack">#99000000</color>
|
||||
<color name="colorWhite">#FFFFFFFF</color>
|
||||
<color name="main_color">#1FB2FF</color>
|
||||
<color name="main_color_79CDF9">#FF79CDF9</color>
|
||||
<color name="main_color_gray">#FFA8A8A8</color>
|
||||
<color name="main_color_c5c5c5">#FFC5C5C5</color>
|
||||
<color name="main_color_090017">#FF090017</color>
|
||||
<color name="divider_line_color">#33FFFFFF</color>
|
||||
<color name="divider_line_color2">#FFE5E5E5</color>
|
||||
<color name="line_302D33">#FF302D33</color>
|
||||
<color name="black_dialog_text">#31373E</color>
|
||||
<color name="btn_live_photo_text">#2C2E30</color>
|
||||
|
||||
<!--For DiscreteSeekBar-->
|
||||
<color name="dsb_progress_color">#ff009688</color>
|
||||
@@ -35,10 +16,5 @@
|
||||
<color name="dsb_disabled_color">#66939393</color>
|
||||
<color name="dsb_ripple_color_pressed">#77939393</color>
|
||||
<color name="dsb_ripple_color_focused">#99999999</color>
|
||||
<color name="bg_switch_button">#BBBBBB</color>
|
||||
<color name="main_classification_gradient_start">#FFF661FF</color>
|
||||
<color name="main_classification_gradient_end">#FF7755FC</color>
|
||||
|
||||
<color name="green">#FF00FF00</color>
|
||||
<color name="blue">#FF0000FF</color>
|
||||
</resources>
|
||||
@@ -1,14 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Default screen margins, per the Android Design guidelines. -->
|
||||
<dimen name="text_size_36">18sp</dimen>
|
||||
<dimen name="text_size_34">17sp</dimen>
|
||||
<dimen name="text_size_32">16sp</dimen>
|
||||
<dimen name="text_size_30">15sp</dimen>
|
||||
<dimen name="text_size_28">14sp</dimen>
|
||||
<dimen name="text_size_26">13sp</dimen>
|
||||
<dimen name="text_size_24">12sp</dimen>
|
||||
<dimen name="text_size_22">11sp</dimen>
|
||||
<dimen name="text_size_20">10sp</dimen>
|
||||
|
||||
</resources>
|
||||
@@ -1,20 +1,4 @@
|
||||
<resources>
|
||||
<string name="camera_dialog_title">Warning</string>
|
||||
<string name="camera_dialog_message">Camera permissions are disabled or the camera is occupied by another app!</string>
|
||||
<string name="sorry_no_permission">Sorry ,your license is not supported for these functions.</string>
|
||||
<string name="camera_dialog_open">Retry</string>
|
||||
<string name="camera_dialog_back">quit</string>
|
||||
|
||||
<string name="fu_base_debug">Resolution:\n\t%dX%d\nFPS: %d\nRender time:\n\t%dms</string>
|
||||
<string name="save_photo_success">Save photo successfully!</string>
|
||||
<string name="save_video_success">Save video successfully!</string>
|
||||
<string name="save_video_failed">Save video failed!</string>
|
||||
<string name="save_video_too_short">The video is to short!</string>
|
||||
<string name="save_video_wait">Please wait while the video is processing</string>
|
||||
<string name="fu_base_is_tracking_text">No face tracking</string>
|
||||
<string name="fu_base_incomplete_face_text">Incomplete face</string>
|
||||
<string name="fu_base_input_type_single">SingleInput</string>
|
||||
<string name="fu_base_input_type_double">DualInput</string>
|
||||
|
||||
<string name="beauty_box_heavy_blur_fine">Buffing</string>
|
||||
<string name="beauty_box_color_level">Skin Tone</string>
|
||||
@@ -24,10 +8,6 @@
|
||||
<string name="beauty_box_tooth_whiten">Whiten</string>
|
||||
<string name="beauty_box_eye_enlarge">Enlarge</string>
|
||||
<string name="beauty_box_eye_circle">Round</string>
|
||||
<string name="beauty_box_cheek_natural">Origin</string>
|
||||
<string name="beauty_box_cheek_goddess">Goddess</string>
|
||||
<string name="beauty_box_cheek_long_face">Long face</string>
|
||||
<string name="beauty_box_cheek_round_face">Round face</string>
|
||||
<string name="beauty_box_cheekbones">Cheek</string>
|
||||
<string name="beauty_box_lower_jaw">Jaw</string>
|
||||
<string name="beauty_box_cheek_thinning">Lower Width</string>
|
||||
@@ -54,7 +34,6 @@
|
||||
<string name="makeup_radio_highlight">Highlight</string>
|
||||
<string name="makeup_radio_shadow">Shadow</string>
|
||||
<string name="makeup_radio_remove">Remove</string>
|
||||
<string name="makeup_customize">Custom</string>
|
||||
<string name="makeup_peach_blossom">Peach</string>
|
||||
<string name="makeup_boyfriend">Boyfriend</string>
|
||||
<string name="makeup_clear">Clear</string>
|
||||
@@ -69,7 +48,6 @@
|
||||
<string name="beauty_micro_long_nose">Nose Lift</string>
|
||||
<string name="beauty_micro_eye_space">Eye Distance</string>
|
||||
<string name="beauty_micro_eye_rotate">Eye Upturn</string>
|
||||
<string name="beauty_face_style_none">None</string>
|
||||
<string name="beauty_face_style_1">Style 1</string>
|
||||
<string name="beauty_face_style_2">Style 2</string>
|
||||
<string name="beauty_face_style_3">Style 3</string>
|
||||
@@ -77,13 +55,6 @@
|
||||
<string name="beauty_face_style_5">Style 5</string>
|
||||
<string name="beauty_face_style_6">Style 6</string>
|
||||
<string name="beauty_face_style_7">Style 7</string>
|
||||
<string name="beauty_face_style_toast">To use %s, cancel \'Style recommend\' first.</string>
|
||||
|
||||
<string name="select_data_photo">Photo</string>
|
||||
<string name="select_data_video">Video</string>
|
||||
<string name="select_data_title">Choose photo or video from your album</string>
|
||||
<string name="image_file_does_not_exist">The selected image file does not exist.</string>
|
||||
<string name="video_file_does_not_exist">The selected video file does not exist.</string>
|
||||
|
||||
<string name="future_warrior">Open your mouth</string>
|
||||
<string name="jet_mask">Puff your cheeks</string>
|
||||
@@ -163,61 +134,13 @@
|
||||
<string name="mitao_7">Peach 7</string>
|
||||
<string name="mitao_8">Peach 8</string>
|
||||
|
||||
<string name="poster_take_photo">Please take photos by positive face.</string>
|
||||
<string name="poster_change_face_error">change face failed</string>
|
||||
<string name="poster_template_face_none">No template face detected, please re-upload</string>
|
||||
<string name="dialog_no_track_face">No face detected, please re-upload</string>
|
||||
<string name="dialog_no_incomplete_face">No face detected, please re-upload</string>
|
||||
<string name="dialog_face_rotation_not_valid">Side face angle is too greater, please re-upload</string>
|
||||
<string name="dialog_got">OK</string>
|
||||
<string name="tip_dual_face">Multiple people detected, please choose one person for face fusion</string>
|
||||
|
||||
<string name="animoji_filter">Animoji</string>
|
||||
<string name="cartoon_filter">Cartoon filter</string>
|
||||
|
||||
<string name="live_photo_back_not_save">Custom won\'t be saved after return</string>
|
||||
<string name="live_photo_btn_delete">Delete</string>
|
||||
<string name="live_photo_btn_cancel">Cancel</string>
|
||||
<string name="live_photo_btn_delete_">Delete (%d)</string>
|
||||
<string name="live_photo_empty_list_tip">Not created model</string>
|
||||
<string name="live_photo_delete_effect">Delete model</string>
|
||||
<string name="live_photo__delete_all">All</string>
|
||||
<string name="confirm">Yes</string>
|
||||
<string name="cancel">Cancel</string>
|
||||
<string name="dialog_confirm_delete">Are you sure to delete?</string>
|
||||
<string name="toast_delete_succeed">Delete succeed</string>
|
||||
<string name="toast_delete_failed">Delete failed</string>
|
||||
<string name="live_photo_save_succeed">Save succeed</string>
|
||||
|
||||
<string name="delete_avatar_model">Delete model</string>
|
||||
<string name="new_avatar_model">Create model</string>
|
||||
<string name="edit_avatar_model">Edit model</string>
|
||||
|
||||
<string name="avatar_face_hair">Hair style</string>
|
||||
<string name="avatar_face_face">Face shape</string>
|
||||
<string name="avatar_face_eye">Eyes</string>
|
||||
<string name="avatar_face_lip">Mouth</string>
|
||||
<string name="avatar_face_nose">Nose</string>
|
||||
|
||||
<string name="avatar_face_length">Face length</string>
|
||||
<string name="avatar_face_width">Cheek width</string>
|
||||
<string name="avatar_chin_width">Jaw width</string>
|
||||
<string name="avatar_chin_height">Jaw length</string>
|
||||
<string name="avatar_eye_position">Eye position</string>
|
||||
<string name="avatar_eye_corner_height">Canthus position</string>
|
||||
<string name="avatar_eye_height">Eye width</string>
|
||||
<string name="avatar_eye_width">Eye length</string>
|
||||
<string name="avatar_nose_position">Nose position</string>
|
||||
<string name="avatar_nose_width">Nose width</string>
|
||||
<string name="avatar_nose_height">Nose height</string>
|
||||
<string name="avatar_mouth_position">Mouth position</string>
|
||||
<string name="avatar_up_lip_thickness">Upper lip thickness</string>
|
||||
<string name="avatar_down_lip_thickness">Down lip thickness</string>
|
||||
<string name="avatar_lip_width">Lip width</string>
|
||||
<string name="model_empty_tip">No model has been created</string>
|
||||
<string name="dialog_reset_avatar_model">Reset all parameters to default?</string>
|
||||
<string name="avatar_face_customize">Custom</string>
|
||||
<string name="avatar_save_succeed">Save succeed</string>
|
||||
<string name="recover">Recover</string>
|
||||
|
||||
<string name="makeup_lip_fog">Matte</string>
|
||||
@@ -284,9 +207,6 @@
|
||||
<string name="makeup_combination_chuju">Daisy</string>
|
||||
<string name="makeup_combination_gangfeng">HK style</string>
|
||||
<string name="makeup_combination_rose">Rose</string>
|
||||
<string name="makeup_combination_naicha">Milk tea</string>
|
||||
<string name="makeup_combination_dousha">Bean paste</string>
|
||||
<string name="makeup_combination_chaoa">Super a</string>
|
||||
<string name="home_function_name_beauty">Beautification</string>
|
||||
<string name="home_function_name_makeup">Makeup</string>
|
||||
<string name="home_function_name_sticker">Sticker</string>
|
||||
@@ -299,16 +219,8 @@
|
||||
<string name="beautify_hip_slim">Hip</string>
|
||||
<string name="beautify_head_slim">Head shrink</string>
|
||||
<string name="beautify_leg_thin_slim">Thin leg</string>
|
||||
<string name="toast_not_detect_body">No message tracking</string>
|
||||
<string name="pta_human_full_body">Body driver</string>
|
||||
<string name="pta_human_half_body">Bust driver</string>
|
||||
|
||||
|
||||
<string name="select_data_photo_or_video">Load picture or video</string>
|
||||
<string name="toast_not_detect_gesture">No gesture tracking</string>
|
||||
|
||||
<string name="bg_seg_green_graphic">Keying</string>
|
||||
<string name="bg_seg_green_background">Background</string>
|
||||
<string name="bg_seg_green_key_color">Key color</string>
|
||||
<string name="bg_seg_green_similarity">Similarity</string>
|
||||
<string name="bg_seg_green_smooth">Smoothness</string>
|
||||
@@ -319,14 +231,9 @@
|
||||
<string name="bg_seg_green_classroom">Classroom</string>
|
||||
<string name="bg_seg_green_forest">Forest</string>
|
||||
<string name="bg_seg_green_ink">Ink</string>
|
||||
<string name="dialog_guide_bg_seg_green">Please use a solid background, a green screen is recommended for the best effect</string>
|
||||
<string name="dialog_i_know">I know</string>
|
||||
|
||||
<string name="download_error">Download failed, please check the network and try again</string>
|
||||
<string name="back">back</string>
|
||||
|
||||
<string name="safe_area_tips">The white area is a safe area and does not participate in green screen matting</string>
|
||||
|
||||
<string name="brow_height_tips">This function is only supported for high-end computers</string>
|
||||
<string name="brow_space_tips">This function is only supported for high-end computers</string>
|
||||
<string name="home_function_name_big_head">Funny big head</string>
|
||||
@@ -334,4 +241,5 @@
|
||||
<string name="home_function_name_fine_sticker">Exquisite sticker</string>
|
||||
<string name="dialog_reset">Reset</string>
|
||||
<string name="menu_diy">Custom</string>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -18,9 +18,4 @@
|
||||
<item name="android:padding">6dp</item>
|
||||
</style>
|
||||
|
||||
<style name="SwitchCompat">
|
||||
<item name="colorControlActivated">@color/main_color</item>
|
||||
<item name="colorSwitchThumbNormal">#F1F1F1</item>
|
||||
<item name="android:colorForeground">#FF2F2F2F</item>
|
||||
</style>
|
||||
</resources>
|
||||
@@ -1,15 +1,17 @@
|
||||
apply plugin: 'com.android.library'
|
||||
apply from: "../package_config.gradle"
|
||||
|
||||
android {
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||
namespace "com.samsung.android.sdk.iap.lib"
|
||||
compileSdk rootProject.ext.android.compileSdkVersion
|
||||
defaultConfig {
|
||||
minSdkVersion minSdkVersion
|
||||
minSdkVersion rootProject.ext.android.minSdkVersion
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
consumerProguardFiles "consumer-rules.pro"
|
||||
versionCode versionCode
|
||||
versionName versionName
|
||||
targetSdkVersion targetSdkVersion
|
||||
versionCode rootProject.ext.android.versionCode
|
||||
versionName rootProject.ext.android.versionName
|
||||
targetSdkVersion rootProject.ext.android.targetSdkVersion
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
@@ -18,7 +20,15 @@ android {
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
|
||||
}
|
||||
}
|
||||
buildFeatures {
|
||||
buildConfig = true
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
flatDir {
|
||||
dirs 'libs', '../libs'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
|
||||
}
|
||||
BIN
IAP6Helper/libs/samsung-iap-6.1.1.aar
Normal file
@@ -1,30 +1,32 @@
|
||||
<manifest
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.samsung.android.sdk.iap.lib"
|
||||
android:versionCode="601000004"
|
||||
android:versionName="6.1.0">
|
||||
<!-- version code [Major/Minor/Bug fix release/Build number ] : x xx xxx xxx -->
|
||||
|
||||
<application>
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
tools:replace="allowBackup">
|
||||
<!-- IAP 라이브러리 내 Activity 선언 시작-->
|
||||
|
||||
<activity
|
||||
android:name="com.samsung.android.sdk.iap.lib.activity.DialogActivity"
|
||||
android:name="com.samsung.android.sdk.iap.lib2.activity.DialogActivity"
|
||||
android:theme="@style/Theme.Empty"
|
||||
android:configChanges="orientation|screenSize"/>
|
||||
|
||||
<activity
|
||||
android:name="com.samsung.android.sdk.iap.lib.activity.CheckPackageActivity"
|
||||
android:name="com.samsung.android.sdk.iap.lib2.activity.CheckPackageActivity"
|
||||
android:theme="@style/Theme.Empty"
|
||||
android:configChanges="orientation|screenSize"/>
|
||||
|
||||
<activity
|
||||
android:name="com.samsung.android.sdk.iap.lib.activity.AccountActivity"
|
||||
android:name="com.samsung.android.sdk.iap.lib2.activity.AccountActivity"
|
||||
android:theme="@style/Theme.Transparent"
|
||||
android:configChanges="orientation|screenSize"/>
|
||||
|
||||
<activity
|
||||
android:name="com.samsung.android.sdk.iap.lib.activity.PaymentActivity"
|
||||
android:name="com.samsung.android.sdk.iap.lib2.activity.PaymentActivity"
|
||||
android:theme="@style/Theme.Empty"
|
||||
android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout|keyboard|keyboardHidden|locale|uiMode|fontScale|density"/>
|
||||
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
package com.samsung.android.sdk.iap.lib.listener;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.GetOwnedListTask;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib.vo.OwnedProductVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Callback Interface used with {@link GetOwnedListTask}
|
||||
*/
|
||||
public interface OnGetOwnedListListener {
|
||||
/**
|
||||
* Callback method to be invoked when {@link GetOwnedListTask} has been finished.
|
||||
*
|
||||
* @param _errorVO
|
||||
* @param _ownedList
|
||||
*/
|
||||
void onGetOwnedProducts(ErrorVo _errorVO, ArrayList<OwnedProductVo> _ownedList);
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
package com.samsung.android.sdk.iap.lib.listener;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.GetProductsDetailsTask;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ProductVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Callback Interface used with {@link GetProductsDetailsTask}
|
||||
*/
|
||||
public interface OnGetProductsDetailsListener {
|
||||
/**
|
||||
* Callback method to be invoked when {@link GetProductsDetailsTask} has been finished.
|
||||
*
|
||||
* @param _errorVO
|
||||
* @param _productList
|
||||
*/
|
||||
void onGetProducts(ErrorVo _errorVO, ArrayList<ProductVo> _productList);
|
||||
}
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.samsung.android.sdk.iap.lib.activity;
|
||||
package com.samsung.android.sdk.iap.lib2.activity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperUtil;
|
||||
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperUtil;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.IapHelper;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2018-03-06.
|
||||
@@ -16,12 +16,11 @@ import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||
public class AccountActivity extends Activity {
|
||||
private static final String TAG = AccountActivity.class.getSimpleName();
|
||||
|
||||
IapHelper mIapHelper = null;
|
||||
com.samsung.android.sdk.iap.lib2.helper.IapHelper mIapHelper = null;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
mIapHelper = IapHelper.getInstance(this);
|
||||
// ====================================================================
|
||||
// 1. If IAP package is installed and valid, start SamsungAccount
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.activity;
|
||||
package com.samsung.android.sdk.iap.lib2.activity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
@@ -8,25 +8,25 @@ import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib.dialog.BaseDialogFragment;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperUtil;
|
||||
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib.vo.PurchaseVo;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.dialog.BaseDialogFragment;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperUtil;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.PurchaseVo;
|
||||
|
||||
|
||||
public abstract class BaseActivity extends Activity {
|
||||
private static final String TAG = BaseActivity.class.getSimpleName();
|
||||
|
||||
protected ErrorVo mErrorVo = new ErrorVo();
|
||||
protected com.samsung.android.sdk.iap.lib2.vo.ErrorVo mErrorVo = new com.samsung.android.sdk.iap.lib2.vo.ErrorVo();
|
||||
private Dialog mProgressDialog = null;
|
||||
protected PurchaseVo mPurchaseVo = null;
|
||||
protected com.samsung.android.sdk.iap.lib2.vo.PurchaseVo mPurchaseVo = null;
|
||||
|
||||
/**
|
||||
* Helper Class between IAPService and 3rd Party Application
|
||||
*/
|
||||
IapHelper mIapHelper = null;
|
||||
com.samsung.android.sdk.iap.lib2.helper.IapHelper mIapHelper = null;
|
||||
|
||||
/**
|
||||
* Flag value to show successful pop-up. Error pop-up appears whenever it fails or not.
|
||||
@@ -64,15 +64,15 @@ public abstract class BaseActivity extends Activity {
|
||||
public boolean checkAppsPackage(Activity _activity) {
|
||||
// 1. If Galaxy Store is installed
|
||||
// ====================================================================
|
||||
if (HelperUtil.isInstalledAppsPackage(this)) {
|
||||
if (com.samsung.android.sdk.iap.lib2.helper.HelperUtil.isInstalledAppsPackage(this)) {
|
||||
// 1) If Galaxy Store is enabled
|
||||
// ================================================================
|
||||
if (!HelperUtil.isEnabledAppsPackage(this)) {
|
||||
HelperUtil.showEnableGalaxyStoreDialog(_activity);
|
||||
if (!com.samsung.android.sdk.iap.lib2.helper.HelperUtil.isEnabledAppsPackage(this)) {
|
||||
com.samsung.android.sdk.iap.lib2.helper.HelperUtil.showEnableGalaxyStoreDialog(_activity);
|
||||
// ================================================================
|
||||
// 2) If Galaxy Store is valid
|
||||
// ================================================================
|
||||
} else if (HelperUtil.isValidAppsPackage(this)) {
|
||||
} else if (com.samsung.android.sdk.iap.lib2.helper.HelperUtil.isValidAppsPackage(this)) {
|
||||
return true;
|
||||
} else {
|
||||
// Set error to notify result to third-party application
|
||||
@@ -84,7 +84,7 @@ public abstract class BaseActivity extends Activity {
|
||||
R.string.dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss),
|
||||
"", "", ERROR_ISSUER_IAP_CLIENT + ERROR_CODE_INVALID_GALAXY_STORE);
|
||||
mErrorVo.setError(HelperDefine.IAP_PAYMENT_IS_CANCELED, errorString);
|
||||
HelperUtil.showInvalidGalaxyStoreDialog(this);
|
||||
com.samsung.android.sdk.iap.lib2.helper.HelperUtil.showInvalidGalaxyStoreDialog(this);
|
||||
}
|
||||
// ================================================================
|
||||
|
||||
@@ -92,7 +92,7 @@ public abstract class BaseActivity extends Activity {
|
||||
// 2. If Galaxy Store is not installed
|
||||
// ====================================================================
|
||||
} else {
|
||||
HelperUtil.installAppsPackage(this);
|
||||
com.samsung.android.sdk.iap.lib2.helper.HelperUtil.installAppsPackage(this);
|
||||
}
|
||||
// ====================================================================
|
||||
return false;
|
||||
@@ -161,12 +161,12 @@ public abstract class BaseActivity extends Activity {
|
||||
else {
|
||||
Log.e(TAG, "finishPurchase: " + mErrorVo.dump());
|
||||
if (mShowErrorDialog) {
|
||||
HelperUtil.showIapErrorDialog(
|
||||
com.samsung.android.sdk.iap.lib2.helper.HelperUtil.showIapErrorDialog(
|
||||
this,
|
||||
getString(R.string.dream_ph_pheader_couldnt_complete_purchase),
|
||||
mErrorVo.getErrorString(),
|
||||
mErrorVo.getErrorDetailsString(),
|
||||
new BaseDialogFragment.OnClickListener() {
|
||||
new com.samsung.android.sdk.iap.lib2.dialog.BaseDialogFragment.OnClickListener() {
|
||||
@Override
|
||||
public void onClick() {
|
||||
finish();
|
||||
@@ -1,12 +1,12 @@
|
||||
package com.samsung.android.sdk.iap.lib.activity;
|
||||
package com.samsung.android.sdk.iap.lib2.activity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperUtil;
|
||||
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperUtil;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.IapHelper;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2018-03-07.
|
||||
@@ -27,12 +27,12 @@ public class CheckPackageActivity extends Activity {
|
||||
int DialogType = extras.getInt("DialogType");
|
||||
switch (DialogType) {
|
||||
case HelperDefine.DIALOG_TYPE_INVALID_PACKAGE: {
|
||||
HelperUtil.showInvalidGalaxyStoreDialog(this);
|
||||
com.samsung.android.sdk.iap.lib2.helper.HelperUtil.showInvalidGalaxyStoreDialog(this);
|
||||
mFinishFlag = false;
|
||||
}
|
||||
break;
|
||||
case HelperDefine.DIALOG_TYPE_DISABLE_APPLICATION: {
|
||||
HelperUtil.showEnableGalaxyStoreDialog(this);
|
||||
com.samsung.android.sdk.iap.lib2.helper.HelperUtil.showEnableGalaxyStoreDialog(this);
|
||||
mFinishFlag = false;
|
||||
}
|
||||
break;
|
||||
@@ -1,16 +1,12 @@
|
||||
package com.samsung.android.sdk.iap.lib.activity;
|
||||
package com.samsung.android.sdk.iap.lib2.activity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib.dialog.BaseDialogFragment;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperUtil;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.dialog.BaseDialogFragment;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperUtil;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2018-03-05.
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.activity;
|
||||
package com.samsung.android.sdk.iap.lib2.activity;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
@@ -9,9 +9,9 @@ import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperListenerManager;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnPaymentListener;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperListenerManager;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnPaymentListener;
|
||||
|
||||
public class PaymentActivity extends BaseActivity {
|
||||
private static final String TAG = PaymentActivity.class.getSimpleName();
|
||||
@@ -56,7 +56,7 @@ public class PaymentActivity extends BaseActivity {
|
||||
super.preDestory();
|
||||
if (isFinishing()) {
|
||||
OnPaymentListener onPaymentListener =
|
||||
HelperListenerManager.getInstance().getOnPaymentListener();
|
||||
com.samsung.android.sdk.iap.lib2.helper.HelperListenerManager.getInstance().getOnPaymentListener();
|
||||
HelperListenerManager.getInstance().setOnPaymentListener(null);
|
||||
if (null != onPaymentListener) {
|
||||
onPaymentListener.onPayment(mErrorVo, mPurchaseVo);
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.dialog;
|
||||
package com.samsung.android.sdk.iap.lib2.dialog;
|
||||
|
||||
import android.app.ActionBar;
|
||||
import android.app.Dialog;
|
||||
@@ -8,7 +8,6 @@ import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.util.Log;
|
||||
import android.util.TypedValue;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.helper;
|
||||
package com.samsung.android.sdk.iap.lib2.helper;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2017-07-17.
|
||||
@@ -1,12 +1,12 @@
|
||||
package com.samsung.android.sdk.iap.lib.helper;
|
||||
package com.samsung.android.sdk.iap.lib2.helper;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.ConsumePurchasedItemsTask;
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.GetOwnedListTask;
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.GetProductsDetailsTask;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnConsumePurchasedItemsListener;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnGetOwnedListListener;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnGetProductsDetailsListener;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnPaymentListener;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnConsumePurchasedItemsListener;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnGetOwnedListListener;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnGetProductsDetailsListener;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnPaymentListener;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.ConsumePurchasedItemsTask;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.GetOwnedListTask;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.GetProductsDetailsTask;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2017-08-29.
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.helper;
|
||||
package com.samsung.android.sdk.iap.lib2.helper;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ComponentName;
|
||||
@@ -14,9 +14,9 @@ import android.text.Html;
|
||||
import android.util.Log;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib.activity.BaseActivity;
|
||||
import com.samsung.android.sdk.iap.lib.dialog.BaseDialogFragment;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib2.activity.BaseActivity;
|
||||
import com.samsung.android.sdk.iap.lib2.dialog.BaseDialogFragment;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2017-08-17.
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.helper;
|
||||
package com.samsung.android.sdk.iap.lib2.helper;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
@@ -12,20 +12,20 @@ import android.util.Log;
|
||||
|
||||
import com.samsung.android.iap.IAPConnector;
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib.activity.CheckPackageActivity;
|
||||
import com.samsung.android.sdk.iap.lib.activity.PaymentActivity;
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.ConsumePurchasedItemsTask;
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.GetOwnedListTask;
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.GetProductsDetailsTask;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnConsumePurchasedItemsListener;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnGetOwnedListListener;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnGetProductsDetailsListener;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnPaymentListener;
|
||||
import com.samsung.android.sdk.iap.lib.service.BaseService;
|
||||
import com.samsung.android.sdk.iap.lib.service.ConsumePurchasedItems;
|
||||
import com.samsung.android.sdk.iap.lib.service.OwnedProduct;
|
||||
import com.samsung.android.sdk.iap.lib.service.ProductsDetails;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib2.activity.CheckPackageActivity;
|
||||
import com.samsung.android.sdk.iap.lib2.activity.PaymentActivity;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnConsumePurchasedItemsListener;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnGetOwnedListListener;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnGetProductsDetailsListener;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnPaymentListener;
|
||||
import com.samsung.android.sdk.iap.lib2.service.BaseService;
|
||||
import com.samsung.android.sdk.iap.lib2.service.ConsumePurchasedItems;
|
||||
import com.samsung.android.sdk.iap.lib2.service.OwnedProduct;
|
||||
import com.samsung.android.sdk.iap.lib2.service.ProductsDetails;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.ConsumePurchasedItemsTask;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.GetOwnedListTask;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.GetProductsDetailsTask;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -46,9 +46,9 @@ public class IapHelper extends HelperDefine {
|
||||
|
||||
// AsyncTask for API
|
||||
// ========================================================================
|
||||
private GetProductsDetailsTask mGetProductsDetailsTask = null;
|
||||
private GetOwnedListTask mGetOwnedListTask = null;
|
||||
private ConsumePurchasedItemsTask mConsumePurchasedItemsTask = null;
|
||||
private com.samsung.android.sdk.iap.lib2.helper.task.GetProductsDetailsTask mGetProductsDetailsTask = null;
|
||||
private com.samsung.android.sdk.iap.lib2.helper.task.GetOwnedListTask mGetOwnedListTask = null;
|
||||
private com.samsung.android.sdk.iap.lib2.helper.task.ConsumePurchasedItemsTask mConsumePurchasedItemsTask = null;
|
||||
// ========================================================================
|
||||
|
||||
private ArrayList<BaseService> mServiceQueue = new ArrayList<BaseService>();
|
||||
@@ -267,7 +267,7 @@ public class IapHelper extends HelperDefine {
|
||||
if (mIapConnector == null || mContext == null) {
|
||||
return false;
|
||||
} else {
|
||||
mGetProductsDetailsTask = new GetProductsDetailsTask(_baseService,
|
||||
mGetProductsDetailsTask = new com.samsung.android.sdk.iap.lib2.helper.task.GetProductsDetailsTask(_baseService,
|
||||
mIapConnector,
|
||||
mContext,
|
||||
_productIDs,
|
||||
@@ -344,7 +344,7 @@ public class IapHelper extends HelperDefine {
|
||||
if (mIapConnector == null || mContext == null) {
|
||||
return false;
|
||||
} else {
|
||||
mGetOwnedListTask = new GetOwnedListTask(_baseService,
|
||||
mGetOwnedListTask = new com.samsung.android.sdk.iap.lib2.helper.task.GetOwnedListTask(_baseService,
|
||||
mIapConnector,
|
||||
mContext,
|
||||
_productType,
|
||||
@@ -417,7 +417,7 @@ public class IapHelper extends HelperDefine {
|
||||
mConsumePurchasedItemsTask.cancel(true);
|
||||
}
|
||||
|
||||
mConsumePurchasedItemsTask = new ConsumePurchasedItemsTask(_baseService,
|
||||
mConsumePurchasedItemsTask = new com.samsung.android.sdk.iap.lib2.helper.task.ConsumePurchasedItemsTask(_baseService,
|
||||
mIapConnector,
|
||||
mContext,
|
||||
_purchaseIds,
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.helper.task;
|
||||
package com.samsung.android.sdk.iap.lib2.helper.task;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.AsyncTask;
|
||||
@@ -6,9 +6,8 @@ import android.util.Log;
|
||||
|
||||
import com.samsung.android.iap.IAPConnector;
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.service.BaseService;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib2.service.BaseService;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2017-09-01.
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.helper.task;
|
||||
package com.samsung.android.sdk.iap.lib2.helper.task;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
@@ -6,9 +6,9 @@ import android.util.Log;
|
||||
|
||||
import com.samsung.android.iap.IAPConnector;
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.service.ConsumePurchasedItems;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ConsumeVo;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.service.ConsumePurchasedItems;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ConsumeVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.helper.task;
|
||||
package com.samsung.android.sdk.iap.lib2.helper.task;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
@@ -6,9 +6,9 @@ import android.util.Log;
|
||||
|
||||
import com.samsung.android.iap.IAPConnector;
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.service.OwnedProduct;
|
||||
import com.samsung.android.sdk.iap.lib.vo.OwnedProductVo;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.service.OwnedProduct;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.OwnedProductVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.helper.task;
|
||||
package com.samsung.android.sdk.iap.lib2.helper.task;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
@@ -6,9 +6,9 @@ import android.util.Log;
|
||||
|
||||
import com.samsung.android.iap.IAPConnector;
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.service.ProductsDetails;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ProductVo;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.service.ProductsDetails;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ProductVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.samsung.android.sdk.iap.lib.listener;
|
||||
package com.samsung.android.sdk.iap.lib2.listener;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.GetOwnedListTask;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ConsumeVo;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.GetOwnedListTask;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ConsumeVo;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Callback Interface used with {@link GetOwnedListTask}
|
||||
* Callback Interface used with {@link com.samsung.android.sdk.iap.lib2.helper.task.GetOwnedListTask}
|
||||
*/
|
||||
public interface OnConsumePurchasedItemsListener {
|
||||
/**
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.samsung.android.sdk.iap.lib2.listener;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.GetOwnedListTask;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.OwnedProductVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Callback Interface used with {@link com.samsung.android.sdk.iap.lib2.helper.task.GetOwnedListTask}
|
||||
*/
|
||||
public interface OnGetOwnedListListener {
|
||||
/**
|
||||
* Callback method to be invoked when {@link GetOwnedListTask} has been finished.
|
||||
*
|
||||
* @param _errorVO
|
||||
* @param _ownedList
|
||||
*/
|
||||
void onGetOwnedProducts(ErrorVo _errorVO, ArrayList<OwnedProductVo> _ownedList);
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.samsung.android.sdk.iap.lib2.listener;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.GetProductsDetailsTask;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ProductVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Callback Interface used with {@link com.samsung.android.sdk.iap.lib2.helper.task.GetProductsDetailsTask}
|
||||
*/
|
||||
public interface OnGetProductsDetailsListener {
|
||||
/**
|
||||
* Callback method to be invoked when {@link GetProductsDetailsTask} has been finished.
|
||||
*
|
||||
* @param _errorVO
|
||||
* @param _productList
|
||||
*/
|
||||
void onGetProducts(ErrorVo _errorVO, ArrayList<ProductVo> _productList);
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.listener;
|
||||
package com.samsung.android.sdk.iap.lib2.listener;
|
||||
|
||||
/**
|
||||
* Callback Interface to be invoked when bind to IAPService has been finished.
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.samsung.android.sdk.iap.lib.listener;
|
||||
package com.samsung.android.sdk.iap.lib2.listener;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib.vo.PurchaseVo;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.PurchaseVo;
|
||||
|
||||
/**
|
||||
* Callback Interface to be invoked when payment has been finished.
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.listener;
|
||||
package com.samsung.android.sdk.iap.lib2.listener;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2018-02-28.
|
||||
@@ -1,15 +1,15 @@
|
||||
package com.samsung.android.sdk.iap.lib.service;
|
||||
package com.samsung.android.sdk.iap.lib2.service;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib.activity.AccountActivity;
|
||||
import com.samsung.android.sdk.iap.lib.activity.DialogActivity;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.activity.AccountActivity;
|
||||
import com.samsung.android.sdk.iap.lib2.activity.DialogActivity;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2018-02-28.
|
||||
@@ -18,8 +18,8 @@ import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
public abstract class BaseService {
|
||||
private static final String TAG = BaseService.class.getSimpleName();
|
||||
|
||||
protected ErrorVo mErrorVo = new ErrorVo();
|
||||
protected IapHelper mIapHelper = null;
|
||||
protected com.samsung.android.sdk.iap.lib2.vo.ErrorVo mErrorVo = new com.samsung.android.sdk.iap.lib2.vo.ErrorVo();
|
||||
protected com.samsung.android.sdk.iap.lib2.helper.IapHelper mIapHelper = null;
|
||||
protected Context mContext = null;
|
||||
|
||||
public BaseService(IapHelper _iapHelper, Context _context) {
|
||||
@@ -28,7 +28,7 @@ public abstract class BaseService {
|
||||
mErrorVo.setError(HelperDefine.IAP_ERROR_INITIALIZATION, mContext.getString(R.string.mids_sapps_pop_unknown_error_occurred));
|
||||
}
|
||||
|
||||
public ErrorVo getErrorVo() {
|
||||
public com.samsung.android.sdk.iap.lib2.vo.ErrorVo getErrorVo() {
|
||||
return mErrorVo;
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.samsung.android.sdk.iap.lib.service;
|
||||
package com.samsung.android.sdk.iap.lib2.service;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnConsumePurchasedItemsListener;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ConsumeVo;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnConsumePurchasedItemsListener;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ConsumeVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -18,9 +18,9 @@ import java.util.ArrayList;
|
||||
public class ConsumePurchasedItems extends BaseService {
|
||||
private static final String TAG = ConsumePurchasedItems.class.getSimpleName();
|
||||
|
||||
private OnConsumePurchasedItemsListener mOnConsumePurchasedItemsListener = null;
|
||||
private com.samsung.android.sdk.iap.lib2.listener.OnConsumePurchasedItemsListener mOnConsumePurchasedItemsListener = null;
|
||||
private static String mPurchaseIds = "";
|
||||
protected ArrayList<ConsumeVo> mConsumeList = null;
|
||||
protected ArrayList<com.samsung.android.sdk.iap.lib2.vo.ConsumeVo> mConsumeList = null;
|
||||
|
||||
public ConsumePurchasedItems(IapHelper _iapHelper, Context _context, OnConsumePurchasedItemsListener _onConsumePurchasedItemsListener) {
|
||||
super(_iapHelper, _context);
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.samsung.android.sdk.iap.lib.service;
|
||||
package com.samsung.android.sdk.iap.lib2.service;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnGetOwnedListListener;
|
||||
import com.samsung.android.sdk.iap.lib.vo.OwnedProductVo;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnGetOwnedListListener;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.OwnedProductVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -18,9 +18,9 @@ import java.util.ArrayList;
|
||||
public class OwnedProduct extends BaseService {
|
||||
private static final String TAG = OwnedProduct.class.getSimpleName();
|
||||
|
||||
private OnGetOwnedListListener mOnGetOwnedListListener = null;
|
||||
private com.samsung.android.sdk.iap.lib2.listener.OnGetOwnedListListener mOnGetOwnedListListener = null;
|
||||
private static String mProductType = "";
|
||||
protected ArrayList<OwnedProductVo> mOwnedList = null;
|
||||
protected ArrayList<com.samsung.android.sdk.iap.lib2.vo.OwnedProductVo> mOwnedList = null;
|
||||
|
||||
public OwnedProduct(IapHelper _iapHelper, Context _context, OnGetOwnedListListener _onGetOwnedListListener) {
|
||||
super(_iapHelper, _context);
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.samsung.android.sdk.iap.lib.service;
|
||||
package com.samsung.android.sdk.iap.lib2.service;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnGetProductsDetailsListener;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ProductVo;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnGetProductsDetailsListener;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ProductVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -18,9 +18,9 @@ import java.util.ArrayList;
|
||||
public class ProductsDetails extends BaseService {
|
||||
private static final String TAG = ProductsDetails.class.getSimpleName();
|
||||
|
||||
private OnGetProductsDetailsListener mOnGetProductsDetailsListener = null;
|
||||
private com.samsung.android.sdk.iap.lib2.listener.OnGetProductsDetailsListener mOnGetProductsDetailsListener = null;
|
||||
private static String mProductIds = "";
|
||||
protected ArrayList<ProductVo> mProductsDetails = null;
|
||||
protected ArrayList<com.samsung.android.sdk.iap.lib2.vo.ProductVo> mProductsDetails = null;
|
||||
|
||||
public ProductsDetails(IapHelper _iapHelper, Context _context, OnGetProductsDetailsListener _onGetProductsDetailsListener) {
|
||||
super(_iapHelper, _context);
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.vo;
|
||||
package com.samsung.android.sdk.iap.lib2.vo;
|
||||
|
||||
import android.text.format.DateFormat;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.vo;
|
||||
package com.samsung.android.sdk.iap.lib2.vo;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.samsung.android.sdk.iap.lib.vo;
|
||||
package com.samsung.android.sdk.iap.lib2.vo;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
|
||||
public class ErrorVo {
|
||||
private int mErrorCode = HelperDefine.IAP_PAYMENT_IS_CANCELED;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.vo;
|
||||
package com.samsung.android.sdk.iap.lib2.vo;
|
||||
|
||||
import android.util.Base64;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.vo;
|
||||
package com.samsung.android.sdk.iap.lib2.vo;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib.vo;
|
||||
package com.samsung.android.sdk.iap.lib2.vo;
|
||||
|
||||
import android.util.Base64;
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
** Copyright 2006, The Android Open Source Project
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
**
|
||||
** Created with STMS Automation System
|
||||
*/ -->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||
<string name="mids_sapps_pop_unknown_error_occurred">Unbekannter Fehler aufgetreten</string>
|
||||
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Samsung In-App Purchase kann nicht geöffnet werden. Wechseln Sie zu „Berechtigungen“, erteilen Sie die erforderlichen Berechtigungen und versuchen Sie es anschließend erneut.</string>
|
||||
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||
<string name="dream_sapps_body_authenticating_ing">Authentifizierung wird durchgeführt\u2026</string>
|
||||
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Wenden Sie sich an den Kundendienst, um Ihren Einkauf abzuschließen.</string>
|
||||
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||
<string name="dream_sapps_body_your_purchase_is_complete">Ihr Kauf ist abgeschlossen.</string>
|
||||
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||
<string name="dream_ph_pheader_couldnt_complete_purchase">Abschließen des Kaufs nicht möglich</string>
|
||||
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">Sie müssen Galaxy Store aktualisieren, um diesen Kauf abzuschließen.</string>
|
||||
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">Sie müssen Galaxy Store in den Einstellungen aktivieren, um diesen Kauf abzuschließen.</string>
|
||||
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Weitere Informationen erhalten Sie vom %1$sKundendienst%2$s.\n\nFehlercode: %3$s</string>
|
||||
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||
<string name="ids_com_body_error_code_c">Fehlercode:</string>
|
||||
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">Wenn Sie Artikel kaufen möchten, müssen Sie Samsung In-App-Kauf installieren. Installieren?</string>
|
||||
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Es wurde ein ungültiger Wert für Samsung In-App Purchase angegeben.</string>
|
||||
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||
<string name="mids_sapps_body_waiting_ing">Warten\u2026</string>
|
||||
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||
<string name="mids_sapps_pop_payment_canceled">Zahlung abgebrochen</string>
|
||||
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||
<string name="mids_sapps_header_update_galaxy_apps">Aktualisieren von Galaxy Apps</string>
|
||||
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Eine neue Version ist verfügbar. Galaxy Apps wird auf die neueste Version aktualisiert, um diesen Kauf abzuschließen.</string>
|
||||
</resources>
|
||||
@@ -1,55 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/*
|
||||
** Copyright 2006, The Android Open Source Project
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
**
|
||||
** Created with STMS Automation System
|
||||
*/ -->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- MIDS_SAPPS_POP_UNKNOWN_ERROR_OCCURRED -->
|
||||
<string name="mids_sapps_pop_unknown_error_occurred">Дојде до непозната грешка.</string>
|
||||
<!-- MIDS_SAPPS_HEADER_SAMSUNG_IN_APP_PURCHASE_ABB -->
|
||||
<string name="mids_sapps_header_samsung_in_app_purchase_abb">Samsung In-App Purchase</string>
|
||||
<!-- MIDS_SAPPS_POP_UNABLE_TO_OPEN_SAMSUNG_IN_APP_PURCHASE_MSG -->
|
||||
<string name="mids_sapps_pop_unable_to_open_samsung_in_app_purchase_msg">Не може да се отвори Samsung In-App Purchase. Одете во Дозволи, а потоа овозможете ги бараните дозволи и обидете се повторно.</string>
|
||||
<!-- DREAM_SAPPS_BODY_AUTHENTICATING_ING -->
|
||||
<string name="dream_sapps_body_authenticating_ing">Се потврдува\u2026</string>
|
||||
<!-- DREAM_SAPPS_BODY_CONTACT_CUSTOMER_SERVICE_TO_COMPLETE_YOUR_PURCHASE -->
|
||||
<string name="dream_sapps_body_contact_customer_service_to_complete_your_purchase">Контактирајте со Службата за корисници за да го завршите Вашето купување.</string>
|
||||
<!-- DREAM_SAPPS_BODY_YOUR_PURCHASE_IS_COMPLETE -->
|
||||
<string name="dream_sapps_body_your_purchase_is_complete">Купувањето Ви е завршено.</string>
|
||||
<!-- DREAM_PH_PHEADER_COULDNT_COMPLETE_PURCHASE -->
|
||||
<string name="dream_ph_pheader_couldnt_complete_purchase">Не може да се заврши купувањето</string>
|
||||
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_UPDATE_THE_GALAXY_STORE -->
|
||||
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_update_the_galaxy_store">За да го завршите ова купување, треба да го ажурирате Galaxy Store.</string>
|
||||
<!-- DREAM_PH_BODY_TO_COMPLETE_THIS_PURCHASE_YOU_NEED_TO_ENABLE_THE_GALAXY_STORE_IN_SETTINGS -->
|
||||
<string name="dream_ph_body_to_complete_this_purchase_you_need_to_enable_the_galaxy_store_in_settings">За да го завршите ова купување, треба да го овозможите Galaxy Store во Поставувања.</string>
|
||||
<!-- DREAM_PH_BODY_CONTACT_P1SSCUSTOMER_SERVICEP2SS_FOR_MORE_INFORMATION_N_NERROR_CODE_C_P3SS -->
|
||||
<string name="dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss">Контактирајте со %1$sУслугите за корисниците%2$s за повеќе информации.\n\nШифра на грешка: %3$s</string>
|
||||
<!-- IDS_COM_BODY_ERROR_CODE_C -->
|
||||
<string name="ids_com_body_error_code_c">Шифра на грешка:</string>
|
||||
<!-- MIDS_SAPPS_POP_TO_PURCHASE_ITEMS_YOU_NEED_TO_INSTALL_SAMSUNG_IN_APP_PURCHASE_INSTALL_Q -->
|
||||
<string name="mids_sapps_pop_to_purchase_items_you_need_to_install_samsung_in_app_purchase_install_q">За да купувате ставки, треба да го инсталирате Samsung купување во апликација. Да се инсталира?</string>
|
||||
<!-- MIDS_SAPPS_POP_AN_INVALID_VALUE_HAS_BEEN_PROVIDED_FOR_SAMSUNG_IN_APP_PURCHASE -->
|
||||
<string name="mids_sapps_pop_an_invalid_value_has_been_provided_for_samsung_in_app_purchase">Дадена е неважечка вредност за Samsung In-App Purchase.</string>
|
||||
<!-- MIDS_SAPPS_BODY_WAITING_ING -->
|
||||
<string name="mids_sapps_body_waiting_ing">Се чека\u2026</string>
|
||||
<!-- MIDS_SAPPS_POP_PAYMENT_CANCELLED -->
|
||||
<string name="mids_sapps_pop_payment_canceled">Плаќањето е одложено.</string>
|
||||
<!-- MIDS_SAPPS_HEADER_UPDATE_GALAXY_APPS -->
|
||||
<string name="mids_sapps_header_update_galaxy_apps">Ажурирање на Galaxy Apps</string>
|
||||
<!-- MIDS_SAPPS_POP_A_NEW_VERSION_IS_AVAILABLE_GALAXY_APPS_WILL_BE_UPDATED_TO_THE_LATEST_VERSION_TO_COMPLETE_THIS_PURCHASE -->
|
||||
<string name="mids_sapps_pop_a_new_version_is_available_galaxy_apps_will_be_updated_to_the_latest_version_to_complete_this_purchase">Достапна е нова верзија. Galaxy Apps ќе се ажурира на најновата верзија за да го завршите купувањево.</string>
|
||||
</resources>
|
||||
37
SVGAlibrary/build.gradle
Normal file
@@ -0,0 +1,37 @@
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'kotlin-android'
|
||||
|
||||
|
||||
android {
|
||||
compileSdkVersion 28
|
||||
defaultConfig {
|
||||
minSdkVersion 14
|
||||
targetSdkVersion 28
|
||||
}
|
||||
compileOptions {
|
||||
kotlinOptions.freeCompilerArgs += ['-module-name', "com.opensource.svgaplayer"]
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
packagingOptions {
|
||||
exclude 'META-INF/ASL2.0'
|
||||
exclude 'META-INF/LICENSE'
|
||||
exclude 'META-INF/NOTICE'
|
||||
exclude 'META-INF/NOTICE.txt'
|
||||
exclude 'META-INF/LICENSE.txt'
|
||||
exclude 'META-INF/MANIFEST.MF'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
dependencies {
|
||||
implementation 'com.squareup.wire:wire-runtime:4.4.1'
|
||||
}
|
||||
17
SVGAlibrary/proguard-rules.pro
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
# Add project specific ProGuard rules here.
|
||||
# By default, the flags in this file are appended to flags specified
|
||||
# in /Users/PonyCui_Home/Library/Android/sdk/tools/proguard/proguard-android.txt
|
||||
# You can edit the include path and order by changing the proguardFiles
|
||||
# directive in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# Add any project specific keep options here:
|
||||
|
||||
# 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 *;
|
||||
#}
|
||||
8
SVGAlibrary/src/main/AndroidManifest.xml
Normal file
@@ -0,0 +1,8 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.opensource.svgaplayer">
|
||||
|
||||
<application android:allowBackup="true" android:label="@string/app_name">
|
||||
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.opensource.svgaplayer
|
||||
|
||||
/**
|
||||
* Created by miaojun on 2019/6/21.
|
||||
* mail:1290846731@qq.com
|
||||
*/
|
||||
interface IClickAreaListener{
|
||||
fun onResponseArea(key : String,x0 : Int, y0 : Int, x1 : Int, y1 : Int)
|
||||
}
|
||||
119
SVGAlibrary/src/main/java/com/opensource/svgaplayer/SVGACache.kt
Normal file
@@ -0,0 +1,119 @@
|
||||
package com.opensource.svgaplayer
|
||||
|
||||
import android.content.Context
|
||||
import com.opensource.svgaplayer.utils.log.LogUtils
|
||||
import java.io.File
|
||||
import java.net.URL
|
||||
import java.security.MessageDigest
|
||||
|
||||
/**
|
||||
* SVGA 缓存管理
|
||||
*/
|
||||
object SVGACache {
|
||||
enum class Type {
|
||||
DEFAULT,
|
||||
FILE
|
||||
}
|
||||
|
||||
private const val TAG = "SVGACache"
|
||||
private var type: Type = Type.DEFAULT
|
||||
private var cacheDir: String = "/"
|
||||
get() {
|
||||
if (field != "/") {
|
||||
val dir = File(field)
|
||||
if (!dir.exists()) {
|
||||
dir.mkdirs()
|
||||
}
|
||||
}
|
||||
return field
|
||||
}
|
||||
|
||||
|
||||
fun onCreate(context: Context?) {
|
||||
onCreate(context, Type.DEFAULT)
|
||||
}
|
||||
|
||||
fun onCreate(context: Context?, type: Type) {
|
||||
if (isInitialized()) return
|
||||
context ?: return
|
||||
cacheDir = "${context.cacheDir.absolutePath}/svga/"
|
||||
File(cacheDir).takeIf { !it.exists() }?.mkdirs()
|
||||
this.type = type
|
||||
}
|
||||
|
||||
/**
|
||||
* 清理缓存
|
||||
*/
|
||||
fun clearCache() {
|
||||
if (!isInitialized()) {
|
||||
LogUtils.error(TAG, "SVGACache is not init!")
|
||||
return
|
||||
}
|
||||
SVGAParser.threadPoolExecutor.execute {
|
||||
clearDir(cacheDir)
|
||||
LogUtils.info(TAG, "Clear svga cache done!")
|
||||
}
|
||||
}
|
||||
|
||||
// 清除目录下的所有文件
|
||||
internal fun clearDir(path: String) {
|
||||
try {
|
||||
val dir = File(path)
|
||||
dir.takeIf { it.exists() }?.let { parentDir ->
|
||||
parentDir.listFiles()?.forEach { file ->
|
||||
if (!file.exists()) {
|
||||
return@forEach
|
||||
}
|
||||
if (file.isDirectory) {
|
||||
clearDir(file.absolutePath)
|
||||
}
|
||||
file.delete()
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
LogUtils.error(TAG, "Clear svga cache path: $path fail", e)
|
||||
}
|
||||
}
|
||||
|
||||
fun isInitialized(): Boolean {
|
||||
return "/" != cacheDir && File(cacheDir).exists()
|
||||
}
|
||||
|
||||
fun isDefaultCache(): Boolean = type == Type.DEFAULT
|
||||
|
||||
fun isCached(cacheKey: String): Boolean {
|
||||
return if (isDefaultCache()) {
|
||||
buildCacheDir(cacheKey)
|
||||
} else {
|
||||
buildSvgaFile(
|
||||
cacheKey
|
||||
)
|
||||
}.exists()
|
||||
}
|
||||
|
||||
fun buildCacheKey(str: String): String {
|
||||
val messageDigest = MessageDigest.getInstance("MD5")
|
||||
messageDigest.update(str.toByteArray(charset("UTF-8")))
|
||||
val digest = messageDigest.digest()
|
||||
var sb = ""
|
||||
for (b in digest) {
|
||||
sb += String.format("%02x", b)
|
||||
}
|
||||
return sb
|
||||
}
|
||||
|
||||
fun buildCacheKey(url: URL): String = buildCacheKey(url.toString())
|
||||
|
||||
fun buildCacheDir(cacheKey: String): File {
|
||||
return File("$cacheDir$cacheKey/")
|
||||
}
|
||||
|
||||
fun buildSvgaFile(cacheKey: String): File {
|
||||
return File("$cacheDir$cacheKey.svga")
|
||||
}
|
||||
|
||||
fun buildAudioFile(audio: String): File {
|
||||
return File("$cacheDir$audio.mp3")
|
||||
}
|
||||
|
||||
}
|
||||