diff --git a/FaceUnity/.gitignore b/FaceUnity/.gitignore new file mode 100644 index 000000000..42afabfd2 --- /dev/null +++ b/FaceUnity/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/FaceUnity/build.gradle b/FaceUnity/build.gradle new file mode 100644 index 000000000..f0a600c69 --- /dev/null +++ b/FaceUnity/build.gradle @@ -0,0 +1,70 @@ +apply plugin: 'com.android.library' +apply plugin: 'img-optimizer' + + +android { + compileSdkVersion rootProject.ext.android.compileSdkVersion + buildToolsVersion rootProject.ext.android.buildToolsVersion + packagingOptions { + pickFirst "lib/armeabi/libyuvutils.so" + pickFirst "lib/arm64-v8a/libyuvutils.so" + pickFirst "lib/armeabi-v7a/libyuvutils.so" + pickFirst "lib/armeabi/libyuvtools.so" + pickFirst "lib/arm64-v8a/libyuvtools.so" + pickFirst "lib/armeabi-v7a/libyuvtools.so" + exclude "lib/arm64-v8a/libmmcv_api_handgesture.so" + exclude "lib/arm64-v8a/libmmcv_api_express.so" + exclude "lib/arm64-v8a/libMediaEncoder.so" + exclude "lib/arm64-v8a/libarcore_sdk_c.so" + exclude "lib/arm64-v8a/libmediadecoder.so" + exclude "lib/arm64-v8a/libMediaMuxer.so" + exclude "lib/arm64-v8a/libarcore_sdk_jni.so" + exclude "lib/arm64-v8a/libMediaUtils.so" + exclude "lib/arm64-v8a/libcosmosffmpeg.so" + + } + + defaultConfig { + minSdkVersion rootProject.ext.android.minSdkVersion + targetSdkVersion rootProject.ext.android.targetSdkVersion + versionCode rootProject.ext.android.versionCode + versionName rootProject.ext.android.versionName + manifestPlaceholders = rootProject.ext.manifestPlaceholders + ndk { + abiFilters "armeabi-v7a","arm64-v8a" + } + } + aaptOptions { + cruncherEnabled = false + useNewCruncher = false + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} +repositories { + flatDir { + dirs 'libs','../libs' + } +} +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation rootProject.ext.dependencies["appcompat-androidx"] + implementation rootProject.ext.dependencies["recyclerview-androidx"] + //common + implementation project(path: ':common') + + implementation 'com.faceunity:core:8.3.1' + implementation 'com.faceunity:model:8.3.1' + //implementation 'com.faceunity:nama:8.3.1' //底层库-标准版 + + +} diff --git a/FaceUnity/consumer-rules.pro b/FaceUnity/consumer-rules.pro new file mode 100644 index 000000000..e69de29bb diff --git a/FaceUnity/proguard-rules.pro b/FaceUnity/proguard-rules.pro new file mode 100644 index 000000000..481bb4348 --- /dev/null +++ b/FaceUnity/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/FaceUnity/src/androidTest/java/com/yunbao/faceunity/ExampleInstrumentedTest.java b/FaceUnity/src/androidTest/java/com/yunbao/faceunity/ExampleInstrumentedTest.java new file mode 100644 index 000000000..d54eb1cba --- /dev/null +++ b/FaceUnity/src/androidTest/java/com/yunbao/faceunity/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +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 Testing documentation + */ +@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()); + } +} \ No newline at end of file diff --git a/FaceUnity/src/main/AndroidManifest.xml b/FaceUnity/src/main/AndroidManifest.xml new file mode 100644 index 000000000..7d49364e3 --- /dev/null +++ b/FaceUnity/src/main/AndroidManifest.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/assets/makeup/chaoa.bundle b/FaceUnity/src/main/assets/makeup/chaoa.bundle new file mode 100644 index 000000000..6d6f3482d Binary files /dev/null and b/FaceUnity/src/main/assets/makeup/chaoa.bundle differ diff --git a/FaceUnity/src/main/assets/makeup/dousha.bundle b/FaceUnity/src/main/assets/makeup/dousha.bundle new file mode 100644 index 000000000..268fd7fed Binary files /dev/null and b/FaceUnity/src/main/assets/makeup/dousha.bundle differ diff --git a/FaceUnity/src/main/assets/makeup/naicha.bundle b/FaceUnity/src/main/assets/makeup/naicha.bundle new file mode 100644 index 000000000..73dd2bf5b Binary files /dev/null and b/FaceUnity/src/main/assets/makeup/naicha.bundle differ diff --git a/FaceUnity/src/main/assets/sticker/fashi.bundle b/FaceUnity/src/main/assets/sticker/fashi.bundle new file mode 100644 index 000000000..7318669d3 Binary files /dev/null and b/FaceUnity/src/main/assets/sticker/fashi.bundle differ diff --git a/FaceUnity/src/main/assets/sticker/sdlu.bundle b/FaceUnity/src/main/assets/sticker/sdlu.bundle new file mode 100644 index 000000000..fad48d6ec Binary files /dev/null and b/FaceUnity/src/main/assets/sticker/sdlu.bundle differ diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/FaceManager.java b/FaceUnity/src/main/java/com/yunbao/faceunity/FaceManager.java new file mode 100644 index 000000000..86c52b0b4 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/FaceManager.java @@ -0,0 +1,217 @@ +package com.yunbao.faceunity; + +import static android.content.Context.SENSOR_SERVICE; + +import static com.lzy.okgo.utils.HttpUtils.runOnUiThread; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.hardware.Camera; +import android.hardware.Sensor; +import android.hardware.SensorEvent; +import android.hardware.SensorEventListener; +import android.hardware.SensorManager; +import android.opengl.GLSurfaceView; +import android.os.Environment; +import android.util.Log; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.faceunity.core.callback.OperateCallback; +import com.faceunity.core.entity.FURenderFrameData; +import com.faceunity.core.entity.FURenderInputData; +import com.faceunity.core.entity.FURenderOutputData; +import com.faceunity.core.enumeration.CameraFacingEnum; +import com.faceunity.core.enumeration.FUAIProcessorEnum; +import com.faceunity.core.enumeration.FUInputTextureEnum; +import com.faceunity.core.enumeration.FUTransformMatrixEnum; +import com.faceunity.core.faceunity.FURenderManager; +import com.faceunity.core.listener.OnGlRendererListener; +import com.faceunity.core.renderer.CameraRenderer; +import com.faceunity.core.utils.CameraUtils; +import com.faceunity.core.utils.FULogger; +import com.yunbao.faceunity.data.FaceUnityDataFactory; +import com.yunbao.faceunity.listener.FURendererListener; +import com.yunbao.faceunity.ui.FaceUnityView; +import com.yunbao.faceunity.utils.Authpack; +import com.yunbao.faceunity.utils.CSVUtils; +import com.yunbao.faceunity.utils.FURenderer; +import com.yunbao.faceunity.utils.FaceCameraConfig; + +import java.io.File; +import java.io.FileOutputStream; +import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.Date; +import java.util.Locale; + +import cn.rongcloud.rtc.api.RCRTCEngine; +import cn.rongcloud.rtc.api.callback.IRCRTCVideoOutputFrameListener; +import cn.rongcloud.rtc.api.stream.RCRTCVideoView; +import cn.rongcloud.rtc.base.RCRTCVideoFrame; +import cn.rongcloud.rtc.core.EglRenderer; +import io.rong.callkit.SingleCallActivity; + +/** + * 美颜模块管理类,接入测试中 + */ +public class FaceManager implements SensorEventListener { + private static boolean isInit = false; + private static final String TAG = FaceManager.class.getSimpleName(); + private FaceUnityDataFactory mFaceUnityDataFactory; + + /** + * 初始化美颜模块,在AppContext中调用 + */ + public static void initFaceUnity(Context context) { + if (isInit) { + return; + } + FURenderManager.setCoreDebug(FULogger.LogLevel.DEBUG); + FURenderManager.setKitDebug(FULogger.LogLevel.DEBUG); + FURenderManager.registerFURender(context, Authpack.A(), new OperateCallback() { + @Override + public void onSuccess(int i, @NonNull String s) { + isInit = true; + } + + @Override + public void onFail(int i, @NonNull String s) { + + } + }); + + } + + private FURenderer mFURenderer; + + /** + * 配置美颜SDK + * @param beautyControlView 控制view + */ + public void initFURender(Context context, FaceUnityView beautyControlView) { + FURenderer.getInstance().setup(context); + mFURenderer = FURenderer.getInstance(); + mFURenderer.setInputTextureType(FUInputTextureEnum.FU_ADM_FLAG_COMMON_TEXTURE); + mFURenderer.setCameraFacing(CameraFacingEnum.CAMERA_FRONT); + mFURenderer.setInputBufferMatrix(FUTransformMatrixEnum.CCROT90_FLIPHORIZONTAL); + mFURenderer.setInputTextureMatrix(FUTransformMatrixEnum.CCROT90_FLIPHORIZONTAL); + mFURenderer.setOutputMatrix(FUTransformMatrixEnum.CCROT270); + mFURenderer.setInputOrientation(CameraUtils.INSTANCE.getCameraOrientation(Camera.CameraInfo.CAMERA_FACING_FRONT)); + mFURenderer.setMarkFPSEnable(true); + mFaceUnityDataFactory = FaceUnityDataFactory.getInstance(); + beautyControlView.bindDataFactory(mFaceUnityDataFactory); + SensorManager mSensorManager = (SensorManager) context.getSystemService(SENSOR_SERVICE); + Sensor sensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); + mSensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_NORMAL); + + } + + private boolean mIsFirstFrame = true; + private CSVUtils mCSVUtils; + private int mSkippedFrames = CAMERA_SWITCH_SKIP_FRAME; + // 相机切换跳过 5 帧,如果还有问题,可以增加帧数 + private static final int CAMERA_SWITCH_SKIP_FRAME = 0; + private volatile boolean mSkip; + + /** + * 渲染融云视频帧 + */ + public void drawRongFrame(Context context) { + RCRTCEngine.getInstance().getDefaultVideoStream().setVideoFrameListener(new IRCRTCVideoOutputFrameListener() { + @Override + public RCRTCVideoFrame processVideoFrame(RCRTCVideoFrame callVideoFrame) { + //Log.i(TAG, "processVideoFrame: egl context " + EGL14.eglGetCurrentContext()); + int width = callVideoFrame.getWidth(); + int height = callVideoFrame.getHeight(); + + if (mIsFirstFrame) { + mIsFirstFrame = false; + //initCsvUtil(context); + mFURenderer.prepareRenderer(mFURendererListener); + } + //long start = System.nanoTime(); + mFURenderer.setInputOrientation(callVideoFrame.getRotation()); + FURenderOutputData data = mFURenderer.onDrawFrameInputWithReturn(callVideoFrame.getData(), width, height); + /* long time = System.nanoTime() - start; + if (mCSVUtils != null) { + mCSVUtils.writeCsv(null, time); + }*/ + if (mSkippedFrames > 0 || mSkip) { + --mSkippedFrames; + return callVideoFrame; + } + if (data != null && data.getImage() != null && data.getImage().getBuffer() != null) { + callVideoFrame.setData(data.getImage().getBuffer()); + } + return callVideoFrame; + } + }); + + } + + /** + * 记录渲染工具,调试用,在processVideoFrame里使用 + */ + private void initCsvUtil(Context context) { + mCSVUtils = new CSVUtils(context); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss", Locale.getDefault()); + String dateStrDir = format.format(new Date(System.currentTimeMillis())); + dateStrDir = dateStrDir.replaceAll("-", "").replaceAll("_", ""); + SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmssSSS", Locale.getDefault()); + String dateStrFile = df.format(new Date()); + String filePath = Environment.getExternalStoragePublicDirectory("") + dateStrDir + File.separator + "excel-" + dateStrFile + ".csv"; + Log.d("CSV", "initLog: CSV file path:" + filePath); + StringBuilder headerInfo = new StringBuilder(); + headerInfo.append("version:").append(FURenderer.getInstance().getVersion()).append(CSVUtils.COMMA) + .append("机型:").append(android.os.Build.MANUFACTURER).append(android.os.Build.MODEL) + .append("处理方式:Texture").append(CSVUtils.COMMA); + mCSVUtils.initHeader(filePath, headerInfo); + } + + + private FURendererListener mFURendererListener = new FURendererListener() { + + @Override + public void onPrepare() { + mFaceUnityDataFactory.bindCurrentRenderer(); + Log.e(TAG, "mFURendererListener: onPrepare: "); + } + + @Override + public void onTrackStatusChanged(FUAIProcessorEnum type, int status) { + Log.e(TAG, "onTrackStatusChanged: 人脸数: " + status); + } + + @Override + public void onFpsChanged(double fps, double callTime) { + final String FPS = String.format(Locale.getDefault(), "%.2f", fps); + Log.d(TAG, "onFpsChanged FPS: " + FPS + ", callTime: " + String.format("%.2f", callTime)); + } + + @Override + public void onRelease() { +// RongCallClient.getInstance().unregisterVideoFrameObserver(); + } + }; + + + @Override + public void onSensorChanged(SensorEvent sensorEvent) { + + } + + @Override + public void onAccuracyChanged(Sensor sensor, int i) { + + } + + /** + * 离开渲染界面时注销融云监听器,不然会绿屏 + */ + public void onClose() { + RCRTCEngine.getInstance().getDefaultVideoStream().setVideoFrameListener(null); + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/base/BaseDelegate.java b/FaceUnity/src/main/java/com/yunbao/faceunity/base/BaseDelegate.java new file mode 100644 index 000000000..aa1cf01f1 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/base/BaseDelegate.java @@ -0,0 +1,57 @@ +package com.yunbao.faceunity.base; + +import android.view.View; + +/** + * DESC:RecycleView 通用业务调用 + * Created on 2021/4/26 + */ +public abstract class BaseDelegate { + + /** + * 根据页面以及数据内容返回Item的布局index,默认返回第一个布局 + * + * @param data + * @param position + * @return + */ + public int getItemViewType(T data, int position) { + return 0; + } + + + /** + * 为ViewHolder绑定数据item + * + * @param viewType + * @param helper + * @param data + * @param position + * @return + */ + public abstract void convert(int viewType, BaseViewHolder helper, T data, int position); + + /** + * 绑定单击事件 + * + * @param view + * @param data + * @param position + */ + public void onItemClickListener(View view, T data, int position) { + + } + + + /** + * 绑定长按事件 + * + * @param view + * @param data + * @param position + */ + public boolean onItemLongClickListener(View view, T data, int position) { + return false; + } + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/base/BaseListAdapter.java b/FaceUnity/src/main/java/com/yunbao/faceunity/base/BaseListAdapter.java new file mode 100644 index 000000000..6b1b94582 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/base/BaseListAdapter.java @@ -0,0 +1,101 @@ +package com.yunbao.faceunity.base; + +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.yunbao.faceunity.listener.OnMultiClickListener; + +import org.jetbrains.annotations.Nullable; + +import java.util.ArrayList; +import java.util.HashMap; + +/** + * DESC:RecycleView 通用适配器 + * Created on 2021/4/26 + */ +public class BaseListAdapter extends RecyclerView.Adapter { + private ArrayList data; + private BaseDelegate viewHolderDelegate; + private int[] mLayouts; + private HashMap mViewHolder = new HashMap<>(); + + public BaseListAdapter(ArrayList data, BaseDelegate viewHolderDelegate, int... resLayouts) { + mLayouts = resLayouts; + this.data = data; + this.viewHolderDelegate = viewHolderDelegate; + } + + + @NonNull + @Override + public BaseViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) { + View view = LayoutInflater.from(viewGroup.getContext()).inflate(getLayoutId(viewType), viewGroup, false); + return new BaseViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull BaseViewHolder holder, int position) { + mViewHolder.put(position, holder); + viewHolderDelegate.convert(getItemViewType(position), holder, data.get(position), position); + bindViewClickListener(holder, position); + } + + @Override + public int getItemCount() { + return data.size(); + } + + + public void setData(ArrayList items) { + data.clear(); + data.addAll(items); + notifyDataSetChanged(); + } + + public T getData(int position) { + return data.get(position); + } + + + public BaseViewHolder getViewHolderByPosition(int position) { + if (!mViewHolder.containsKey(position)) { + return null; + } + return mViewHolder.get(position); + } + + public View getViewByPosition(int position) { + if (mViewHolder.get(position) == null) { + return null; + } + return mViewHolder.get(position).itemView; + } + + + private void bindViewClickListener(BaseViewHolder holder, int position) { + View view = holder.itemView; + view.setOnClickListener(new OnMultiClickListener() { + @Override + protected void onMultiClick(@Nullable View v) { + viewHolderDelegate.onItemClickListener(view, data.get(position), position); + } + }); + view.setOnLongClickListener(v -> viewHolderDelegate.onItemLongClickListener(view, data.get(position), position)); + } + + @Override + public int getItemViewType(int position) { + return viewHolderDelegate.getItemViewType(data.get(position), position); + } + + private int getLayoutId(int viewType) { + return mLayouts[viewType]; + } + + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/base/BaseViewHolder.java b/FaceUnity/src/main/java/com/yunbao/faceunity/base/BaseViewHolder.java new file mode 100644 index 000000000..46f21598a --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/base/BaseViewHolder.java @@ -0,0 +1,361 @@ +package com.yunbao.faceunity.base; + +import android.graphics.Bitmap; +import android.graphics.Paint; +import android.graphics.Typeface; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.text.util.Linkify; +import android.util.SparseArray; +import android.view.View; +import android.view.animation.AlphaAnimation; +import android.widget.Checkable; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.RatingBar; +import android.widget.TextView; + +import androidx.annotation.ColorInt; +import androidx.annotation.DrawableRes; +import androidx.annotation.IdRes; +import androidx.annotation.StringRes; +import androidx.recyclerview.widget.RecyclerView; + + +/** + * DESC:DESC:控件布局绑定 + * Created on 2021/4/26 + */ +public class BaseViewHolder extends RecyclerView.ViewHolder { + + private SparseArray views; + /** + * use itemView instead + */ + private View convertView; + + public BaseViewHolder(final View itemView) { + super(itemView); + this.views = new SparseArray<>(); + convertView = itemView; + } + + /** + * use itemView instead + * + * @return the ViewHolder root view + */ + @Deprecated + public View getConvertView() { + return convertView; + } + + + /** + * Will set the text of a TextView. + * + * @param viewId The view id. + * @param value The text to put in the text view. + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setText(@IdRes int viewId, CharSequence value) { + TextView view = getView(viewId); + view.setText(value); + return this; + } + + public BaseViewHolder setText(@IdRes int viewId, @StringRes int strId) { + TextView view = getView(viewId); + view.setText(strId); + return this; + } + + /** + * Will set the image of an ImageView from a resource id. + * + * @param viewId The view id. + * @param imageResId The image resource id. + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setImageResource(@IdRes int viewId, @DrawableRes int imageResId) { + ImageView view = getView(viewId); + view.setImageResource(imageResId); + return this; + } + + /** + * Will set background color of a view. + * + * @param viewId The view id. + * @param color A color, not a resource id. + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setBackgroundColor(@IdRes int viewId, @ColorInt int color) { + View view = getView(viewId); + view.setBackgroundColor(color); + return this; + } + + /** + * Will set background of a view. + * + * @param viewId The view id. + * @param backgroundRes A resource to use as a background. + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setBackgroundRes(@IdRes int viewId, @DrawableRes int backgroundRes) { + View view = getView(viewId); + view.setBackgroundResource(backgroundRes); + return this; + } + + /** + * Will set text color of a TextView. + * + * @param viewId The view id. + * @param textColor The text color (not a resource id). + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setTextColor(@IdRes int viewId, @ColorInt int textColor) { + TextView view = getView(viewId); + view.setTextColor(textColor); + return this; + } + + + /** + * Will set the image of an ImageView from a drawable. + * + * @param viewId The view id. + * @param drawable The image drawable. + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setImageDrawable(@IdRes int viewId, Drawable drawable) { + ImageView view = getView(viewId); + view.setImageDrawable(drawable); + return this; + } + + /** + * Add an action to set the image of an image view. Can be called multiple times. + */ + public BaseViewHolder setImageBitmap(@IdRes int viewId, Bitmap bitmap) { + ImageView view = getView(viewId); + view.setImageBitmap(bitmap); + return this; + } + + /** + * Add an action to set the alpha of a view. Can be called multiple times. + * Alpha between 0-1. + */ + public BaseViewHolder setAlpha(@IdRes int viewId, float value) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { + getView(viewId).setAlpha(value); + } else { + // Pre-honeycomb hack to set Alpha value + AlphaAnimation alpha = new AlphaAnimation(value, value); + alpha.setDuration(0); + alpha.setFillAfter(true); + getView(viewId).startAnimation(alpha); + } + return this; + } + + /** + * Set a view visibility to VISIBLE (true) or GONE (false). + * + * @param viewId The view id. + * @param visible True for VISIBLE, false for GONE. + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setGone(@IdRes int viewId, boolean visible) { + View view = getView(viewId); + view.setVisibility(visible ? View.VISIBLE : View.GONE); + return this; + } + + /** + * Set a view visibility to VISIBLE (true) or INVISIBLE (false). + * + * @param viewId The view id. + * @param visible True for VISIBLE, false for INVISIBLE. + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setVisible(@IdRes int viewId, boolean visible) { + View view = getView(viewId); + view.setVisibility(visible ? View.VISIBLE : View.INVISIBLE); + return this; + } + + /** + * Add links into a TextView. + * + * @param viewId The id of the TextView to linkify. + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder linkify(@IdRes int viewId) { + TextView view = getView(viewId); + Linkify.addLinks(view, Linkify.ALL); + return this; + } + + /** + * Apply the typeface to the given viewId, and enable subpixel rendering. + */ + public BaseViewHolder setTypeface(@IdRes int viewId, Typeface typeface) { + TextView view = getView(viewId); + view.setTypeface(typeface); + view.setPaintFlags(view.getPaintFlags() | Paint.SUBPIXEL_TEXT_FLAG); + return this; + } + + /** + * Apply the typeface to all the given viewIds, and enable subpixel rendering. + */ + public BaseViewHolder setTypeface(Typeface typeface, int... viewIds) { + for (int viewId : viewIds) { + TextView view = getView(viewId); + view.setTypeface(typeface); + view.setPaintFlags(view.getPaintFlags() | Paint.SUBPIXEL_TEXT_FLAG); + } + return this; + } + + /** + * Sets the progress of a ProgressBar. + * + * @param viewId The view id. + * @param progress The progress. + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setProgress(@IdRes int viewId, int progress) { + ProgressBar view = getView(viewId); + view.setProgress(progress); + return this; + } + + /** + * Sets the progress and max of a ProgressBar. + * + * @param viewId The view id. + * @param progress The progress. + * @param max The max value of a ProgressBar. + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setProgress(@IdRes int viewId, int progress, int max) { + ProgressBar view = getView(viewId); + view.setMax(max); + view.setProgress(progress); + return this; + } + + /** + * Sets the range of a ProgressBar to 0...max. + * + * @param viewId The view id. + * @param max The max value of a ProgressBar. + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setMax(@IdRes int viewId, int max) { + ProgressBar view = getView(viewId); + view.setMax(max); + return this; + } + + /** + * Sets the rating (the number of stars filled) of a RatingBar. + * + * @param viewId The view id. + * @param rating The rating. + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setRating(@IdRes int viewId, float rating) { + RatingBar view = getView(viewId); + view.setRating(rating); + return this; + } + + /** + * Sets the rating (the number of stars filled) and max of a RatingBar. + * + * @param viewId The view id. + * @param rating The rating. + * @param max The range of the RatingBar to 0...max. + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setRating(@IdRes int viewId, float rating, int max) { + RatingBar view = getView(viewId); + view.setMax(max); + view.setRating(rating); + return this; + } + + /** + * Sets the tag of the view. + * + * @param viewId The view id. + * @param tag The tag; + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setTag(@IdRes int viewId, Object tag) { + View view = getView(viewId); + view.setTag(tag); + return this; + } + + /** + * Sets the tag of the view. + * + * @param viewId The view id. + * @param key The key of tag; + * @param tag The tag; + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setTag(@IdRes int viewId, int key, Object tag) { + View view = getView(viewId); + view.setTag(key, tag); + return this; + } + + /** + * Sets the checked status of a checkable. + * + * @param viewId The view id. + * @param checked The checked status; + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setChecked(@IdRes int viewId, boolean checked) { + View view = getView(viewId); + // View unable cast to Checkable + if (view instanceof Checkable) { + ((Checkable) view).setChecked(checked); + } + return this; + } + + /** + * Set the enabled state of this view. + * + * @param viewId The view id. + * @param enable The checked status; + * @return The BaseViewHolder for chaining. + */ + public BaseViewHolder setEnabled(@IdRes int viewId, boolean enable) { + View view = getView(viewId); + view.setEnabled(enable); + return this; + } + + + public T getView(int viewId) { + View view = (View) views.get(viewId); + if (view == null) { + view = itemView.findViewById(viewId); + views.put(viewId, view); + } + return (T) view; + } + + +} \ No newline at end of file diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/checkbox/CheckBoxCompat.java b/FaceUnity/src/main/java/com/yunbao/faceunity/checkbox/CheckBoxCompat.java new file mode 100644 index 000000000..a11d974f0 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/checkbox/CheckBoxCompat.java @@ -0,0 +1,35 @@ +package com.yunbao.faceunity.checkbox; + +import android.content.Context; +import android.graphics.drawable.StateListDrawable; +import android.util.AttributeSet; + +import androidx.appcompat.widget.AppCompatCheckBox; + + +/** + * 解决 RadioButton 在 Android4.4 调用setButtonDrawable(null) 和 XML 设置 android:button="@null"无效的问题 + * + * @author Richie on 2020.05.18 + */ +public class CheckBoxCompat extends AppCompatCheckBox { + + public CheckBoxCompat(Context context) { + super(context); + init(); + } + + public CheckBoxCompat(Context context, AttributeSet attrs) { + super(context, attrs); + init(); + } + + public CheckBoxCompat(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + private void init() { + setButtonDrawable(new StateListDrawable()); + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/checkbox/CheckGroup.java b/FaceUnity/src/main/java/com/yunbao/faceunity/checkbox/CheckGroup.java new file mode 100644 index 000000000..fcb2fcc1a --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/checkbox/CheckGroup.java @@ -0,0 +1,278 @@ +package com.yunbao.faceunity.checkbox; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CheckBox; +import android.widget.CompoundButton; +import android.widget.LinearLayout; + +import androidx.annotation.IdRes; + +/** + * Created by tujh on 2018/4/17. + */ +public class CheckGroup extends LinearLayout { + private static final String LOG_TAG = CheckGroup.class.getSimpleName(); + + // holds the checked id; the selection is empty by default + private int mCheckedId = View.NO_ID; + // tracks children radio buttons checked state + private CompoundButton.OnCheckedChangeListener mChildOnCheckedChangeListener; + // when true, mOnCheckedChangeListener discards events + private boolean mProtectFromCheckedChange = false; + private OnCheckedChangeListener mOnCheckedChangeListener; + private PassThroughHierarchyChangeListener mPassThroughListener; + private OnDispatchActionUpListener mOnDispatchActionUpListener; + + /** + * {@inheritDoc} + */ + public CheckGroup(Context context) { + super(context); + setOrientation(VERTICAL); + init(); + } + + /** + * {@inheritDoc} + */ + public CheckGroup(Context context, AttributeSet attrs) { + super(context, attrs); + init(); + } + + private void init() { + mChildOnCheckedChangeListener = new CheckedStateTracker(); + mPassThroughListener = new PassThroughHierarchyChangeListener(); + super.setOnHierarchyChangeListener(mPassThroughListener); + } + + public void setOnDispatchActionUpListener(OnDispatchActionUpListener onDispatchActionUpListener) { + mOnDispatchActionUpListener = onDispatchActionUpListener; + } + + /** + * {@inheritDoc} + */ + @Override + public void setOnHierarchyChangeListener(OnHierarchyChangeListener listener) { + // the user listener is delegated to our pass-through listener + mPassThroughListener.mOnHierarchyChangeListener = listener; + } + + @Override + public boolean dispatchTouchEvent(MotionEvent ev) { + if (ev.getAction() == MotionEvent.ACTION_UP) { + if (mOnDispatchActionUpListener != null) { + mOnDispatchActionUpListener.onDispatchActionUp((int) ev.getX()); + } + } + return super.dispatchTouchEvent(ev); + } + + /** + * {@inheritDoc} + */ + @Override + protected void onFinishInflate() { + super.onFinishInflate(); + + // checks the appropriate radio button as requested in the XML file + if (mCheckedId != View.NO_ID) { + mProtectFromCheckedChange = true; + setCheckedStateForView(mCheckedId, true); + mProtectFromCheckedChange = false; + setCheckedId(mCheckedId); + } + } + + @Override + public void addView(View child, int index, ViewGroup.LayoutParams params) { + if (child instanceof CheckBox) { + final CheckBox button = (CheckBox) child; + if (button.isChecked()) { + mProtectFromCheckedChange = true; + if (mCheckedId != View.NO_ID) { + setCheckedStateForView(mCheckedId, false); + } + mProtectFromCheckedChange = false; + setCheckedId(button.getId()); + } + } + + super.addView(child, index, params); + } + + /** + *

Sets the selection to the radio button whose identifier is passed in + * parameter. Using View.NO_ID as the selection identifier clears the selection; + * such an operation is equivalent to invoking {@link #clearCheck()}.

+ * + * @param id the unique id of the radio button to select in this group + * @see #getCheckedCheckBoxId() + * @see #clearCheck() + */ + public void check(@IdRes int id) { + // don't even bother + if (id != View.NO_ID && (id == mCheckedId)) { + return; + } + + if (mCheckedId != View.NO_ID) { + setCheckedStateForView(mCheckedId, false); + } + + if (id != View.NO_ID) { + setCheckedStateForView(id, true); + } + + setCheckedId(id); + } + + private void setCheckedId(@IdRes int id) { + mCheckedId = id; + if (mOnCheckedChangeListener != null) { + mOnCheckedChangeListener.onCheckedChanged(this, mCheckedId); + } + } + + private void setCheckedStateForView(int viewId, boolean checked) { + View checkedView = findViewById(viewId); + if (checkedView != null && checkedView instanceof CheckBox) { + ((CheckBox) checkedView).setChecked(checked); + } + } + + /** + *

Returns the identifier of the selected radio button in this group. + * Upon empty selection, the returned value is View.NO_ID.

+ * + * @return the unique id of the selected radio button in this group + * @attr ref android.R.styleable#CheckGroup_checkedButton + * @see #check(int) + * @see #clearCheck() + */ + @IdRes + public int getCheckedCheckBoxId() { + return mCheckedId; + } + + /** + *

Clears the selection. When the selection is cleared, no radio button + * in this group is selected and {@link #getCheckedCheckBoxId()} returns + * null.

+ * + * @see #check(int) + * @see #getCheckedCheckBoxId() + */ + public void clearCheck() { + check(View.NO_ID); + } + + /** + *

Register a callback to be invoked when the checked radio button + * changes in this group.

+ * + * @param listener the callback to call on checked state change + */ + public void setOnCheckedChangeListener(OnCheckedChangeListener listener) { + mOnCheckedChangeListener = listener; + } + + @Override + public CharSequence getAccessibilityClassName() { + return CheckGroup.class.getName(); + } + + + /** + *

Interface definition for a callback to be invoked when the checked + * radio button changed in this group.

+ */ + public interface OnCheckedChangeListener { + /** + *

Called when the checked radio button has changed. When the + * selection is cleared, checkedId is View.NO_ID.

+ * + * @param group the group in which the checked radio button has changed + * @param checkedId the unique identifier of the newly checked radio button + */ + public void onCheckedChanged(CheckGroup group, @IdRes int checkedId); + } + + private class CheckedStateTracker implements CompoundButton.OnCheckedChangeListener { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + // prevents from infinite recursion + if (mProtectFromCheckedChange) { + return; + } + + int id = buttonView.getId(); + mProtectFromCheckedChange = true; + if (mCheckedId != View.NO_ID && mCheckedId != id) { + setCheckedStateForView(mCheckedId, false); + } + mProtectFromCheckedChange = false; + + setCheckedId(isChecked ? id : View.NO_ID); + } + } + + /** + *

A pass-through listener acts upon the events and dispatches them + * to another listener. This allows the table layout to set its own internal + * hierarchy change listener without preventing the user to setup his.

+ */ + private class PassThroughHierarchyChangeListener implements + OnHierarchyChangeListener { + private OnHierarchyChangeListener mOnHierarchyChangeListener; + + /** + * {@inheritDoc} + */ + @Override + public void onChildViewAdded(View parent, View child) { + if (parent == CheckGroup.this && child instanceof CheckBox) { + int id = child.getId(); + // generates an id if it's missing + if (id == View.NO_ID) { + id = View.generateViewId(); + child.setId(id); + } + ((CheckBox) child).setOnCheckedChangeListener( + mChildOnCheckedChangeListener); + } + + if (mOnHierarchyChangeListener != null) { + mOnHierarchyChangeListener.onChildViewAdded(parent, child); + } + } + + /** + * {@inheritDoc} + */ + @Override + public void onChildViewRemoved(View parent, View child) { + if (parent == CheckGroup.this && child instanceof CheckBox) { + ((CheckBox) child).setOnCheckedChangeListener(null); + } + + if (mOnHierarchyChangeListener != null) { + mOnHierarchyChangeListener.onChildViewRemoved(parent, child); + } + } + } + + public interface OnDispatchActionUpListener { + /** + * 分发 action up 事件时回调 + * + * @param x + */ + void onDispatchActionUp(int x); + } +} \ No newline at end of file diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/control/BaseControlView.java b/FaceUnity/src/main/java/com/yunbao/faceunity/control/BaseControlView.java new file mode 100644 index 000000000..ee7da10dd --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/control/BaseControlView.java @@ -0,0 +1,98 @@ +package com.yunbao.faceunity.control; + +import android.animation.ValueAnimator; +import android.content.Context; +import android.util.AttributeSet; +import android.widget.FrameLayout; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.FragmentActivity; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.SimpleItemAnimator; + +import com.yunbao.faceunity.base.BaseListAdapter; +import com.yunbao.faceunity.dialog.BaseDialogFragment; +import com.yunbao.faceunity.dialog.ConfirmDialogFragment; +import com.yunbao.faceunity.listener.OnBottomAnimatorChangeListener; + +/** + * DESC:自定义菜单Base类 + * Created on 2021/4/26 + */ +public abstract class BaseControlView extends FrameLayout { + + protected Context mContext; + + public BaseControlView(@NonNull Context context) { + super(context); + mContext = context; + } + + public BaseControlView(@NonNull Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + mContext = context; + } + + public BaseControlView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + mContext = context; + } + + + /** + * adapter单项点击,选中状态变更 + * + * @param adapter BaseListAdapter + * @param old nt + * @param position Int + */ + protected void changeAdapterSelected(BaseListAdapter adapter, int old, int position) { + if (old >= 0 && adapter.getViewByPosition(old) != null) { + adapter.getViewByPosition(old).setSelected(false); + } + if (position >= 0 && adapter.getViewByPosition(position) != null) { + adapter.getViewByPosition(position).setSelected(true); + } + } + + + /** + * 显示弹框 + * + * @param tip + * @param runnable + */ + protected void showDialog(String tip, Runnable runnable) { + ConfirmDialogFragment confirmDialogFragment = ConfirmDialogFragment.newInstance(tip, new BaseDialogFragment.OnClickListener() { + @Override + public void onConfirm() { + runnable.run(); + } + + @Override + public void onCancel() { + + } + }); + confirmDialogFragment.show(((FragmentActivity) mContext).getSupportFragmentManager(), "ConfirmDialogFragmentReset"); + } + + + protected void initHorizontalRecycleView(RecyclerView recyclerView) { + recyclerView.setHasFixedSize(true); + recyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false)); + ((SimpleItemAnimator) recyclerView.getItemAnimator()).setSupportsChangeAnimations(false); + } + + + /****************************************菜单动画*****************************************************/ + + + protected boolean isBottomShow; + protected ValueAnimator bottomLayoutAnimator = null; + protected OnBottomAnimatorChangeListener onBottomAnimatorChangeListener = null; + + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/control/BodyBeautyControlView.java b/FaceUnity/src/main/java/com/yunbao/faceunity/control/BodyBeautyControlView.java new file mode 100644 index 000000000..c117e7b46 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/control/BodyBeautyControlView.java @@ -0,0 +1,242 @@ +package com.yunbao.faceunity.control; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.widget.SwitchCompat; +import androidx.recyclerview.widget.RecyclerView; + +import com.faceunity.core.utils.DecimalUtils; + +import com.yunbao.faceunity.R; +import com.yunbao.faceunity.base.BaseDelegate; +import com.yunbao.faceunity.base.BaseListAdapter; +import com.yunbao.faceunity.base.BaseViewHolder; +import com.yunbao.faceunity.entity.BodyBeautyBean; +import com.yunbao.faceunity.entity.ModelAttributeData; +import com.yunbao.faceunity.infe.AbstractBodyBeautyDataFactory; +import com.yunbao.faceunity.seekbar.DiscreteSeekBar; + +import java.util.ArrayList; +import java.util.HashMap; + +/** + * DESC: + * Created on 2021/4/26 + */ +public class BodyBeautyControlView extends BaseControlView { + + private RecyclerView recyclerView; + private DiscreteSeekBar discreteSeekBar; + private LinearLayout recoverLayout; + private ImageView recoverImageView; + private TextView recoverTextView; + private SwitchCompat switchCompat; + + private AbstractBodyBeautyDataFactory mDataFactory; + private HashMap mModelAttributeRange; + private ArrayList mBodyBeautyBeans; + private BaseListAdapter mBodyAdapter; + private int mBodyIndex = 0; + + + public BodyBeautyControlView(@NonNull Context context) { + super(context); + init(); + } + + public BodyBeautyControlView(@NonNull Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + init(); + } + + public BodyBeautyControlView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + private void init() { + LayoutInflater.from(mContext).inflate(R.layout.layout_body_beauty_control, this); + initView(); + initAdapter(); + bindListener(); + } + + + public void bindDataFactory(AbstractBodyBeautyDataFactory dataFactory) { + mDataFactory = dataFactory; + mBodyBeautyBeans = mDataFactory.getBodyBeautyParam(); + mBodyAdapter.setData(mBodyBeautyBeans); + mModelAttributeRange = mDataFactory.getModelAttributeRange(); + BodyBeautyBean data = mBodyBeautyBeans.get(mBodyIndex); + double value = mDataFactory.getParamIntensity(data.getKey()); + double stand = mModelAttributeRange.get(data.getKey()).getStandV(); + double maxRange = mModelAttributeRange.get(data.getKey()).getMaxRange(); + seekToSeekBar(value, stand, maxRange); + setRecoverEnable(checkParamsChanged()); + } + + + private void initView() { + recyclerView = findViewById(R.id.recycler_view); + discreteSeekBar = findViewById(R.id.seek_bar); + recoverLayout = findViewById(R.id.lyt_beauty_recover); + recoverImageView = findViewById(R.id.iv_beauty_recover); + recoverTextView = findViewById(R.id.tv_beauty_recover); + switchCompat = findViewById(R.id.switch_compat); + initHorizontalRecycleView(recyclerView); + } + + private void initAdapter() { + mBodyAdapter = new BaseListAdapter<>(new ArrayList<>(), new BaseDelegate() { + @Override + public void convert(int viewType, BaseViewHolder helper, BodyBeautyBean data, int position) { + helper.setText(R.id.tv_control, data.getDesRes()); + double value = mDataFactory.getParamIntensity(data.getKey()); + double stand = mModelAttributeRange.get(data.getKey()).getStandV(); + if (DecimalUtils.doubleEquals(value, stand)) { + helper.setImageResource(R.id.iv_control, data.getCloseRes()); + } else { + helper.setImageResource(R.id.iv_control, data.getOpenRes()); + } + helper.itemView.setSelected(position == mBodyIndex); + } + + @Override + public void onItemClickListener(View view, BodyBeautyBean data, int position) { + if (mBodyIndex != position) { + changeAdapterSelected(mBodyAdapter, mBodyIndex, position); + mBodyIndex = position; + double value = mDataFactory.getParamIntensity(data.getKey()); + double stand = mModelAttributeRange.get(data.getKey()).getStandV(); + double maxRange = mModelAttributeRange.get(data.getKey()).getMaxRange(); + seekToSeekBar(value, stand, maxRange); + } + } + + }, R.layout.list_item_control_title_image_circle); + recyclerView.setAdapter(mBodyAdapter); + } + + private void bindListener() { + findViewById(R.id.cyt_main).setOnTouchListener((v, event) -> true); + discreteSeekBar.setOnProgressChangeListener(new DiscreteSeekBar.OnSimpleProgressChangeListener() { + + @Override + public void onProgressChanged(DiscreteSeekBar seekBar, int value, boolean fromUser) { + if (!fromUser) { + return; + } + double valueF = 1.0 * (value - seekBar.getMin()) / 100; + BodyBeautyBean data = mBodyBeautyBeans.get(mBodyIndex); + double intensity = mDataFactory.getParamIntensity(data.getKey()); + double range = mModelAttributeRange.get(data.getKey()).getMaxRange(); + double res = valueF * range; + if (!DecimalUtils.doubleEquals(res, intensity)) { + mDataFactory.updateParamIntensity(data.getKey(), res); + setRecoverEnable(checkParamsChanged()); + updateBeautyItemUI(mBodyAdapter.getViewHolderByPosition(mBodyIndex), data); + } + } + }); + findViewById(R.id.lyt_beauty_recover).setOnClickListener((view) -> showDialog(mContext.getString(R.string.dialog_reset_avatar_model), () -> recoverData())); + switchCompat.setOnCheckedChangeListener((buttonView, isChecked) -> { + mDataFactory.enableBodyBeauty(isChecked); + + }); + } + + /** + * 设置滚动条数值 + */ + private void seekToSeekBar(double value, double stand, double range) { + if (stand == 0.5) { + discreteSeekBar.setMin(-50); + discreteSeekBar.setMax(50); + discreteSeekBar.setProgress((int) (value * 100 / range - 50)); + } else { + discreteSeekBar.setMin(0); + discreteSeekBar.setMax(100); + discreteSeekBar.setProgress((int) (value * 100 / range)); + } + discreteSeekBar.setVisibility(View.VISIBLE); + } + + /** + * 更新单项是否为基准值显示 + */ + private void updateBeautyItemUI(BaseViewHolder viewHolder, BodyBeautyBean bean) { + double value = mDataFactory.getParamIntensity(bean.getKey()); + double stand = mModelAttributeRange.get(bean.getKey()).getStandV(); + if (viewHolder == null) { + return; + } + if (DecimalUtils.doubleEquals(value, stand)) { + viewHolder.setImageResource(R.id.iv_control, bean.getCloseRes()); + } else { + viewHolder.setImageResource(R.id.iv_control, bean.getOpenRes()); + } + } + + /** + * 重置数据 + */ + private void recoverData() { + for (BodyBeautyBean bean : mBodyBeautyBeans) { + double intensity = mModelAttributeRange.get(bean.getKey()).getDefaultV(); + mDataFactory.updateParamIntensity(bean.getKey(), intensity); + } + BodyBeautyBean data = mBodyBeautyBeans.get(mBodyIndex); + double value = mDataFactory.getParamIntensity(data.getKey()); + double stand = mModelAttributeRange.get(data.getKey()).getStandV(); + double maxRange = mModelAttributeRange.get(data.getKey()).getMaxRange(); + seekToSeekBar(value, stand, maxRange); + mBodyAdapter.notifyDataSetChanged(); + setRecoverEnable(false); + } + + /** + * 遍历数据确认还原按钮是否可以点击 + * + * @return Boolean + */ + private boolean checkParamsChanged() { + BodyBeautyBean bean = mBodyBeautyBeans.get(mBodyIndex); + double value = mDataFactory.getParamIntensity(bean.getKey()); + double defaultV = mModelAttributeRange.get(bean.getKey()).getDefaultV(); + if (!DecimalUtils.doubleEquals(value, defaultV)) { + return true; + } + for (BodyBeautyBean beautyBean : mBodyBeautyBeans) { + value = mDataFactory.getParamIntensity(beautyBean.getKey()); + defaultV = mModelAttributeRange.get(beautyBean.getKey()).getDefaultV(); + if (!DecimalUtils.doubleEquals(value, defaultV)) { + return true; + } + } + return false; + } + + /** + * 重置还原按钮状态 + * + * @param enable Boolean + */ + private void setRecoverEnable(Boolean enable) { + if (enable) { + recoverImageView.setAlpha(1f); + recoverTextView.setAlpha(1f); + } else { + recoverImageView.setAlpha(0.6f); + recoverTextView.setAlpha(0.6f); + } + recoverLayout.setEnabled(enable); + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/control/FaceBeautyControlView.java b/FaceUnity/src/main/java/com/yunbao/faceunity/control/FaceBeautyControlView.java new file mode 100644 index 000000000..fc688f8b8 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/control/FaceBeautyControlView.java @@ -0,0 +1,463 @@ +package com.yunbao.faceunity.control; + +import android.animation.ValueAnimator; +import android.annotation.SuppressLint; +import android.content.Context; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.widget.SwitchCompat; +import androidx.recyclerview.widget.RecyclerView; + +import com.faceunity.core.utils.DecimalUtils; +import com.yunbao.faceunity.R; +import com.yunbao.faceunity.base.BaseDelegate; +import com.yunbao.faceunity.base.BaseListAdapter; +import com.yunbao.faceunity.base.BaseViewHolder; +import com.yunbao.faceunity.checkbox.CheckGroup; +import com.yunbao.faceunity.entity.FaceBeautyBean; +import com.yunbao.faceunity.entity.FaceBeautyFilterBean; +import com.yunbao.faceunity.entity.ModelAttributeData; +import com.yunbao.faceunity.infe.AbstractFaceBeautyDataFactory; +import com.yunbao.faceunity.seekbar.DiscreteSeekBar; + +import java.util.ArrayList; +import java.util.HashMap; + +/** + * DESC: + * Created on 2021/4/26 + */ +public class FaceBeautyControlView extends BaseControlView { + + private AbstractFaceBeautyDataFactory mDataFactory; + + /* 美颜、美型 */ + private HashMap mModelAttributeRange; + private ArrayList mSkinBeauty; + private ArrayList mShapeBeauty; + private int mSkinIndex = 0; + private int mShapeIndex = 1; + private BaseListAdapter mBeautyAdapter; + + /* 滤镜 */ + private ArrayList mFilters; + private BaseListAdapter mFiltersAdapter; + + + private RecyclerView recyclerView; + private DiscreteSeekBar discreteSeekBar; + private CheckGroup checkGroup; + private LinearLayout recoverLayout; + private ImageView recoverImageView; + private TextView recoverTextView; + private View lineView; + private LinearLayout bottomLayout; + private SwitchCompat switchCompat; + + public FaceBeautyControlView(@NonNull Context context) { + super(context); + init(); + } + + public FaceBeautyControlView(@NonNull Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + init(); + } + + public FaceBeautyControlView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + + /** + * 给控制绑定FaceBeautyController,数据工厂 + * + * @param dataFactory IFaceBeautyDataFactory + */ + public void bindDataFactory(AbstractFaceBeautyDataFactory dataFactory) { + mDataFactory = dataFactory; + mModelAttributeRange = dataFactory.getModelAttributeRange(); + mSkinBeauty = dataFactory.getSkinBeauty(); + mShapeBeauty = dataFactory.getShapeBeauty(); + mFilters = dataFactory.getBeautyFilters(); + mFiltersAdapter.setData(mFilters); + checkGroup.check(View.NO_ID); + } + + + private void init() { + LayoutInflater.from(mContext).inflate(R.layout.layout_face_beauty_control, this); + initView(); + initAdapter(); + bindListener(); + + } + // region init + + private void initView() { + recyclerView = findViewById(R.id.recycler_view); + discreteSeekBar = findViewById(R.id.seek_bar); + checkGroup = findViewById(R.id.beauty_radio_group); + recoverLayout = findViewById(R.id.lyt_beauty_recover); + recoverImageView = findViewById(R.id.iv_beauty_recover); + recoverTextView = findViewById(R.id.tv_beauty_recover); + lineView = findViewById(R.id.iv_line); + bottomLayout = findViewById(R.id.fyt_bottom_view); + switchCompat = findViewById(R.id.switch_compat); + initHorizontalRecycleView(recyclerView); + } + + + /** + * 构造Adapter + */ + private void initAdapter() { + mFiltersAdapter = new BaseListAdapter<>( + new ArrayList<>(), new BaseDelegate() { + @Override + public void convert(int viewType, BaseViewHolder helper, FaceBeautyFilterBean data, int position) { + helper.setText(R.id.tv_control, data.getDesRes()); + helper.setImageResource(R.id.iv_control, data.getImageRes()); + helper.itemView.setSelected(mDataFactory.getCurrentFilterIndex() == position); + } + + @Override + public void onItemClickListener(View view, FaceBeautyFilterBean data, int position) { + if (mDataFactory.getCurrentFilterIndex() != position) { + changeAdapterSelected(mFiltersAdapter, mDataFactory.getCurrentFilterIndex(), position); + mDataFactory.setCurrentFilterIndex(position); + mDataFactory.onFilterSelected(data.getKey(), data.getIntensity(), data.getDesRes()); + if (position == 0) { + discreteSeekBar.setVisibility(View.INVISIBLE); + } else { + seekToSeekBar(data.getIntensity(), 0.0, 1.0); + } + } + + } + }, R.layout.list_item_control_title_image_square); + + + mBeautyAdapter = new BaseListAdapter<>(new ArrayList<>(), new BaseDelegate() { + @Override + public void convert(int viewType, BaseViewHolder helper, FaceBeautyBean data, int position) { + helper.setText(R.id.tv_control, data.getDesRes()); + double value = mDataFactory.getParamIntensity(data.getKey()); + double stand = mModelAttributeRange.get(data.getKey()).getStandV(); + if (DecimalUtils.doubleEquals(value, stand)) { + helper.setImageResource(R.id.iv_control, data.getCloseRes()); + } else { + helper.setImageResource(R.id.iv_control, data.getOpenRes()); + } + boolean isShinSelected = checkGroup.getCheckedCheckBoxId() == R.id.beauty_radio_skin_beauty; + helper.itemView.setSelected(isShinSelected ? mSkinIndex == position : mShapeIndex == position); + } + + @Override + public void onItemClickListener(View view, FaceBeautyBean data, int position) { + boolean isShinSelected = checkGroup.getCheckedCheckBoxId() == R.id.beauty_radio_skin_beauty; + if ((isShinSelected && position == mSkinIndex) || (!isShinSelected && position == mShapeIndex)) { + return; + } + if (isShinSelected) { + changeAdapterSelected(mBeautyAdapter, mSkinIndex, position); + mSkinIndex = position; + } else { + changeAdapterSelected(mBeautyAdapter, mShapeIndex, position); + mShapeIndex = position; + } + double value = mDataFactory.getParamIntensity(data.getKey()); + double stand = mModelAttributeRange.get(data.getKey()).getStandV(); + double maxRange = mModelAttributeRange.get(data.getKey()).getMaxRange(); + seekToSeekBar(value, stand, maxRange); + } + }, R.layout.list_item_control_title_image_circle); + } + + + /** + * 绑定监听事件 + */ + @SuppressLint("ClickableViewAccessibility") + private void bindListener() { + /*拦截触碰事件*/ + findViewById(R.id.fyt_bottom_view).setOnTouchListener((v, event) -> true); + /*菜单控制*/ + bindBottomRadioListener(); + /*滑动条控制*/ + bindSeekBarListener(); + /*还原数据*/ + recoverLayout.setOnClickListener((view) -> showDialog(mContext.getString(R.string.dialog_reset_avatar_model), () -> recoverData())); + /*渲染开关*/ + switchCompat.setOnCheckedChangeListener((buttonView, isChecked) -> mDataFactory.enableFaceBeauty(isChecked)); + } + + + /** + * 滚动条绑定事件 + */ + private void bindSeekBarListener() { + discreteSeekBar.setOnProgressChangeListener(new DiscreteSeekBar.OnSimpleProgressChangeListener() { + @Override + public void onProgressChanged(DiscreteSeekBar seekBar, int value, boolean fromUser) { + if (!fromUser) { + return; + } + double valueF = 1.0 * (value - seekBar.getMin()) / 100; + if (checkGroup.getCheckedCheckBoxId() == R.id.beauty_radio_skin_beauty) { + FaceBeautyBean bean = mSkinBeauty.get(mSkinIndex); + double range = mModelAttributeRange.get(bean.getKey()).getMaxRange(); + double res = valueF * range; + double intensity = mDataFactory.getParamIntensity(bean.getKey()); + if (!DecimalUtils.doubleEquals(res, intensity)) { + mDataFactory.updateParamIntensity(bean.getKey(), res); + setRecoverEnable(checkFaceSkinChanged()); + updateBeautyItemUI(mBeautyAdapter.getViewHolderByPosition(mSkinIndex), bean); + } + } else if (checkGroup.getCheckedCheckBoxId() == R.id.beauty_radio_face_shape) { + FaceBeautyBean bean = mShapeBeauty.get(mShapeIndex); + double range = mModelAttributeRange.get(bean.getKey()).getMaxRange(); + double res = valueF * range; + double intensity = mDataFactory.getParamIntensity(bean.getKey()); + if (!DecimalUtils.doubleEquals(res, intensity)) { + mDataFactory.updateParamIntensity(bean.getKey(), res); + setRecoverEnable(checkFaceShapeChanged()); + updateBeautyItemUI(mBeautyAdapter.getViewHolderByPosition(mShapeIndex), bean); + } + } else if (checkGroup.getCheckedCheckBoxId() == R.id.beauty_radio_filter) { + FaceBeautyFilterBean bean = mFilters.get(mDataFactory.getCurrentFilterIndex()); + if (!DecimalUtils.doubleEquals(bean.getIntensity(), valueF)) { + bean.setIntensity(valueF); + mDataFactory.updateFilterIntensity(valueF); + } + } + } + }); + } + + /** + * 底部导航栏绑定监听事件,处理RecycleView等相关布局变更 + */ + private void bindBottomRadioListener() { + checkGroup.setOnCheckedChangeListener((group, checkedId) -> { + if (checkedId == R.id.beauty_radio_skin_beauty || checkedId == R.id.beauty_radio_face_shape) { + discreteSeekBar.setVisibility(View.VISIBLE); + recoverLayout.setVisibility(View.VISIBLE); + lineView.setVisibility(View.VISIBLE); + switchCompat.setVisibility(View.VISIBLE); + } else if (checkedId == R.id.beauty_radio_filter) { + discreteSeekBar.setVisibility((mDataFactory.getCurrentFilterIndex() == 0) ? View.INVISIBLE : View.VISIBLE); + recoverLayout.setVisibility(View.GONE); + lineView.setVisibility(View.GONE); + switchCompat.setVisibility(View.VISIBLE); + } else if (checkedId == View.NO_ID) { + mDataFactory.enableFaceBeauty(true); + switchCompat.setVisibility(View.INVISIBLE); + } + if (checkedId == R.id.beauty_radio_skin_beauty) { + mBeautyAdapter.setData(mSkinBeauty); + recyclerView.setAdapter(mBeautyAdapter); + FaceBeautyBean item = mSkinBeauty.get(mSkinIndex); + double value = mDataFactory.getParamIntensity(item.getKey()); + double stand = mModelAttributeRange.get(item.getKey()).getStandV(); + double maxRange = mModelAttributeRange.get(item.getKey()).getMaxRange(); + seekToSeekBar(value, stand, maxRange); + setRecoverEnable(checkFaceSkinChanged()); + changeBottomLayoutAnimator(true); + } else if (checkedId == R.id.beauty_radio_face_shape) { + mBeautyAdapter.setData(mShapeBeauty); + recyclerView.setAdapter(mBeautyAdapter); + FaceBeautyBean item = mShapeBeauty.get(mShapeIndex); + double value = mDataFactory.getParamIntensity(item.getKey()); + double stand = mModelAttributeRange.get(item.getKey()).getStandV(); + double maxRange = mModelAttributeRange.get(item.getKey()).getMaxRange(); + seekToSeekBar(value, stand, maxRange); + setRecoverEnable(checkFaceShapeChanged()); + changeBottomLayoutAnimator(true); + } else if (checkedId == R.id.beauty_radio_filter) { + recyclerView.setAdapter(mFiltersAdapter); + recyclerView.scrollToPosition(mDataFactory.getCurrentFilterIndex()); + if (mDataFactory.getCurrentFilterIndex() == 0) { + discreteSeekBar.setVisibility(View.INVISIBLE); + } else { + seekToSeekBar(mFilters.get(mDataFactory.getCurrentFilterIndex()).getIntensity(), 0.0, 1.0); + } + changeBottomLayoutAnimator(true); + } else if (checkedId == View.NO_ID) { + changeBottomLayoutAnimator(false); + mDataFactory.enableFaceBeauty(true); + } + }); + } + // endregion + // region 业务处理 + + /** + * 设置滚动条数值 + * + * @param value Double 结果值 + * @param stand Double 标准值 + * @param range Double 范围区间 + */ + private void seekToSeekBar(double value, double stand, double range) { + if (stand == 0.5) { + discreteSeekBar.setMin(-50); + discreteSeekBar.setMax(50); + discreteSeekBar.setProgress((int) (value * 100 / range - 50)); + } else { + discreteSeekBar.setMin(0); + discreteSeekBar.setMax(100); + discreteSeekBar.setProgress((int) (value * 100 / range)); + } + discreteSeekBar.setVisibility(View.VISIBLE); + } + + /** + * 更新单项是否为基准值显示 + */ + private void updateBeautyItemUI(BaseViewHolder viewHolder, FaceBeautyBean bean) { + double value = mDataFactory.getParamIntensity(bean.getKey()); + double stand = mModelAttributeRange.get(bean.getKey()).getStandV(); + if (viewHolder == null) { + return; + } + if (DecimalUtils.doubleEquals(value, stand)) { + viewHolder.setImageResource(R.id.iv_control, bean.getCloseRes()); + } else { + viewHolder.setImageResource(R.id.iv_control, bean.getOpenRes()); + } + } + + /** + * 重置还原按钮状态 + * + * @param enable Boolean + */ + private void setRecoverEnable(Boolean enable) { + if (enable) { + recoverImageView.setAlpha(1f); + recoverTextView.setAlpha(1f); + } else { + recoverImageView.setAlpha(0.6f); + recoverTextView.setAlpha(0.6f); + } + recoverLayout.setEnabled(enable); + } + + + /** + * 遍历美肤数据确认还原按钮是否可以点击 + * + * @return Boolean + */ + private boolean checkFaceSkinChanged() { + FaceBeautyBean bean = mSkinBeauty.get(mSkinIndex); + double value = mDataFactory.getParamIntensity(bean.getKey()); + double defaultV = mModelAttributeRange.get(bean.getKey()).getDefaultV(); + if (!DecimalUtils.doubleEquals(value, defaultV)) { + return true; + } + for (FaceBeautyBean beautyBean : mSkinBeauty) { + value = mDataFactory.getParamIntensity(beautyBean.getKey()); + defaultV = mModelAttributeRange.get(beautyBean.getKey()).getDefaultV(); + if (!DecimalUtils.doubleEquals(value, defaultV)) { + return true; + } + } + return false; + } + + /** + * 遍历美型数据确认还原按钮是否可以点击 + * + * @return Boolean + */ + private boolean checkFaceShapeChanged() { + FaceBeautyBean bean = mShapeBeauty.get(mShapeIndex); + double value = mDataFactory.getParamIntensity(bean.getKey()); + double defaultV = mModelAttributeRange.get(bean.getKey()).getDefaultV(); + if (!DecimalUtils.doubleEquals(value, defaultV)) { + return true; + } + for (FaceBeautyBean beautyBean : mShapeBeauty) { + value = mDataFactory.getParamIntensity(beautyBean.getKey()); + defaultV = mModelAttributeRange.get(beautyBean.getKey()).getDefaultV(); + if (!DecimalUtils.doubleEquals(value, defaultV)) { + return true; + } + } + return false; + } + + /** + * 还原 美型、美肤数据 + */ + private void recoverData() { + if (checkGroup.getCheckedCheckBoxId() == R.id.beauty_radio_skin_beauty) { + recoverData(mSkinBeauty, mSkinIndex); + } else if (checkGroup.getCheckedCheckBoxId() == R.id.beauty_radio_face_shape) { + recoverData(mShapeBeauty, mShapeIndex); + } + } + + /** + * 重置数据 + * + * @param beautyBeans + * @param currentIndex + */ + private void recoverData(ArrayList beautyBeans, int currentIndex) { + for (FaceBeautyBean bean : beautyBeans) { + double intensity = mModelAttributeRange.get(bean.getKey()).getDefaultV(); + mDataFactory.updateParamIntensity(bean.getKey(), intensity); + } + FaceBeautyBean data = beautyBeans.get(currentIndex); + double value = mDataFactory.getParamIntensity(data.getKey()); + double stand = mModelAttributeRange.get(data.getKey()).getStandV(); + double maxRange = mModelAttributeRange.get(data.getKey()).getMaxRange(); + seekToSeekBar(value, stand, maxRange); + mBeautyAdapter.notifyDataSetChanged(); + setRecoverEnable(false); + } + + /** + * 底部动画处理 + * + * @param isOpen Boolean + */ + private void changeBottomLayoutAnimator(boolean isOpen) { + if (isBottomShow == isOpen) { + return; + } + int start = isOpen ? getResources().getDimensionPixelSize(R.dimen.x1) : getResources().getDimensionPixelSize(R.dimen.x268); + int end = isOpen ? getResources().getDimensionPixelSize(R.dimen.x268) : getResources().getDimensionPixelSize(R.dimen.x1); + if (bottomLayoutAnimator != null && bottomLayoutAnimator.isRunning()) { + bottomLayoutAnimator.end(); + } + bottomLayoutAnimator = ValueAnimator.ofInt(start, end).setDuration(150); + bottomLayoutAnimator.addUpdateListener(animation -> { + int height = (int) animation.getAnimatedValue(); + LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) bottomLayout.getLayoutParams(); + params.height = height; + bottomLayout.setLayoutParams(params); + if (onBottomAnimatorChangeListener != null) { + float showRate = 1.0f * (height - start) / (end - start); + onBottomAnimatorChangeListener.onBottomAnimatorChangeListener(isOpen ? showRate : 1 - showRate); + } + if (DecimalUtils.floatEquals(animation.getAnimatedFraction(), 1.0f) && isOpen) { + switchCompat.setVisibility(View.VISIBLE); + } + }); + bottomLayoutAnimator.start(); + isBottomShow = isOpen; + } + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/control/MakeupControlView.java b/FaceUnity/src/main/java/com/yunbao/faceunity/control/MakeupControlView.java new file mode 100644 index 000000000..8e3ab260e --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/control/MakeupControlView.java @@ -0,0 +1,150 @@ +package com.yunbao.faceunity.control; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + +import com.faceunity.core.utils.DecimalUtils; + +import com.yunbao.faceunity.R; +import com.yunbao.faceunity.base.BaseDelegate; +import com.yunbao.faceunity.base.BaseListAdapter; +import com.yunbao.faceunity.base.BaseViewHolder; +import com.yunbao.faceunity.entity.MakeupCombinationBean; +import com.yunbao.faceunity.infe.AbstractMakeupDataFactory; +import com.yunbao.faceunity.seekbar.DiscreteSeekBar; + +import java.util.ArrayList; + +/** + * DESC: + * Created on 2021/4/26 + */ +public class MakeupControlView extends BaseControlView { + + private RecyclerView recyclerView; + private DiscreteSeekBar discreteSeekBar; + + private AbstractMakeupDataFactory mDataFactory; + + /* 组合妆容 */ + private BaseListAdapter mCombinationAdapter; + + public MakeupControlView(@NonNull Context context) { + super(context); + init(); + } + + public MakeupControlView(@NonNull Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + init(); + } + + public MakeupControlView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + private void init() { + LayoutInflater.from(mContext).inflate(R.layout.layout_make_up_control, this); + initView(); + initAdapter(); + bindListener(); + } + + private void initView() { + recyclerView = findViewById(R.id.recycler_view); + discreteSeekBar = findViewById(R.id.seek_bar); + initHorizontalRecycleView(recyclerView); + } + + /** + * 给控制绑定FaceBeautyController,MakeupController 数据工厂 + * + * @param dataFactory IFaceBeautyDataFactory + */ + public void bindDataFactory(AbstractMakeupDataFactory dataFactory) { + mDataFactory = dataFactory; + mCombinationAdapter.setData(dataFactory.getMakeupCombinations()); + showCombinationSeekBar(mCombinationAdapter.getData(dataFactory.getCurrentCombinationIndex())); + } + + /** + * 组合妆容Adapter + */ + private void initAdapter() { + mCombinationAdapter = new BaseListAdapter<>(new ArrayList<>(), new BaseDelegate() { + @Override + public void convert(int viewType, BaseViewHolder helper, MakeupCombinationBean data, int position) { + helper.setText(R.id.tv_control, data.getDesRes()); + helper.setImageResource(R.id.iv_control, data.getImageRes()); + helper.itemView.setSelected(position == mDataFactory.getCurrentCombinationIndex()); + } + + @Override + public void onItemClickListener(View view, MakeupCombinationBean data, int position) { + if (position != mDataFactory.getCurrentCombinationIndex()) { + changeAdapterSelected(mCombinationAdapter, mDataFactory.getCurrentCombinationIndex(), position); + mDataFactory.setCurrentCombinationIndex(position); + mDataFactory.onMakeupCombinationSelected(data); + showCombinationSeekBar(data); + } + + } + + + }, R.layout.list_item_control_title_image_square); + recyclerView.setAdapter(mCombinationAdapter); + } + + + /** + * 绑定监听事件 + */ + @SuppressLint("ClickableViewAccessibility") + private void bindListener() { + /*组合妆容强度变更回调*/ + discreteSeekBar.setOnProgressChangeListener(new DiscreteSeekBar.OnSimpleProgressChangeListener() { + @Override + public void onProgressChanged(DiscreteSeekBar seekBar, int value, boolean fromUser) { + if (!fromUser) { + return; + } + double valueF = 1.0f * (value - seekBar.getMin()) / 100; + MakeupCombinationBean combination = mCombinationAdapter.getData(mDataFactory.getCurrentCombinationIndex()); + if (!DecimalUtils.doubleEquals(valueF, combination.getIntensity())) { + combination.setIntensity(valueF); + mDataFactory.updateCombinationIntensity(valueF); + } + } + }); + } + + //endregion init + + + // region Adapter + + +// region 视图控制 + + /** + * 选中组合妆容,控制强度调节器以及自定义按钮状态变更 + */ + private void showCombinationSeekBar(MakeupCombinationBean data) { + if (data.getBundlePath() == null) { + discreteSeekBar.setVisibility(View.INVISIBLE); + } else { + discreteSeekBar.setVisibility(View.VISIBLE); + discreteSeekBar.setProgress((int) (data.getIntensity() * 100)); + } + } + + // endregion +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/control/PropControlView.java b/FaceUnity/src/main/java/com/yunbao/faceunity/control/PropControlView.java new file mode 100644 index 000000000..d5e0307ef --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/control/PropControlView.java @@ -0,0 +1,102 @@ +package com.yunbao.faceunity.control; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; + + +import com.yunbao.faceunity.R; +import com.yunbao.faceunity.base.BaseDelegate; +import com.yunbao.faceunity.base.BaseListAdapter; +import com.yunbao.faceunity.base.BaseViewHolder; +import com.yunbao.faceunity.entity.PropBean; +import com.yunbao.faceunity.infe.AbstractPropDataFactory; + +import java.util.ArrayList; + +/** + * DESC: + * Created on 2021/4/26 + */ +public class PropControlView extends BaseControlView { + + private AbstractPropDataFactory mDataFactory; + private BaseListAdapter mPropAdapter; + + private RecyclerView recyclerView; + + public PropControlView(@NonNull Context context) { + super(context); + init(); + } + + public PropControlView(@NonNull Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + init(); + } + + public PropControlView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + + // region init + + private void init() { + LayoutInflater.from(mContext).inflate(R.layout.layout_effect_control, this); + initView(); + initAdapter(); + } + + /** + * 给控制绑定 EffectController,数据工厂 + * + * @param dataFactory IFaceBeautyDataFactory + */ + public void bindDataFactory(AbstractPropDataFactory dataFactory) { + mDataFactory = dataFactory; + mPropAdapter.setData(dataFactory.getPropBeans()); + } + + + /** + * View初始化 + */ + private void initView() { + recyclerView = findViewById(R.id.recycler_view); + initHorizontalRecycleView(recyclerView); + } + + /** + * Adapter初始化 + */ + private void initAdapter() { + mPropAdapter = new BaseListAdapter<>(new ArrayList<>(), new BaseDelegate() { + @Override + public void convert(int viewType, BaseViewHolder helper, PropBean data, int position) { + helper.setImageResource(R.id.iv_control, data.getIconId()); + helper.itemView.setSelected(position == mDataFactory.getCurrentPropIndex()); + } + + @Override + public void onItemClickListener(View view, PropBean data, int position) { + if (mDataFactory.getCurrentPropIndex() != position) { + changeAdapterSelected(mPropAdapter, mDataFactory.getCurrentPropIndex(), position); + mDataFactory.setCurrentPropIndex(position); + mDataFactory.onItemSelected(data); + } + + } + }, R.layout.list_item_control_image_circle); + recyclerView.setAdapter(mPropAdapter); + } + + + // endregion +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/data/BodyBeautyDataFactory.java b/FaceUnity/src/main/java/com/yunbao/faceunity/data/BodyBeautyDataFactory.java new file mode 100644 index 000000000..29431f5bc --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/data/BodyBeautyDataFactory.java @@ -0,0 +1,150 @@ +package com.yunbao.faceunity.data; + +import com.faceunity.core.controller.bodyBeauty.BodyBeautyParam; +import com.faceunity.core.entity.FUBundleData; +import com.faceunity.core.faceunity.FURenderKit; +import com.faceunity.core.model.bodyBeauty.BodyBeauty; + +import com.yunbao.faceunity.entity.BodyBeautyBean; +import com.yunbao.faceunity.entity.ModelAttributeData; +import com.yunbao.faceunity.infe.AbstractBodyBeautyDataFactory; +import com.yunbao.faceunity.repo.BodyBeautySource; + +import java.util.ArrayList; +import java.util.HashMap; + + +/** + * DESC:美体业务工厂 + * Created on 2021/3/2 + */ +public class BodyBeautyDataFactory extends AbstractBodyBeautyDataFactory { + + + interface BodyBeautySetParamInterface { + void setValue(double value); + } + + interface BodyBeautyGetParamInterface { + double getValue(); + } + + + /*渲染控制器*/ + private final FURenderKit mFURenderKit = FURenderKit.getInstance(); + + /*美体数据模型*/ + public final BodyBeauty bodyBeauty; + + public BodyBeautyDataFactory() { + bodyBeauty = new BodyBeauty(new FUBundleData(BodyBeautySource.BUNDLE_BODY_BEAUTY)); + + } + + + /** + * 获取美体属性列表 + * + * @return + */ + @Override + public ArrayList getBodyBeautyParam() { + return BodyBeautySource.buildBodyBeauty(); + } + + /** + * 获取美体扩展参数 + * + * @return + */ + @Override + public HashMap getModelAttributeRange() { + return BodyBeautySource.buildModelAttributeRange(); + } + + + /** + * 获取模型参数 + * + * @param key 名称标识 + * @return + */ + @Override + public double getParamIntensity(String key) { + if (bodyBeautyGetMapping.containsKey(key)) { + return bodyBeautyGetMapping.get(key).getValue(); + } + return 0.0; + } + + /** + * 设置属性参数 + * + * @param key 名称标识 + * @param value 结果值 + */ + @Override + public void updateParamIntensity(String key, double value) { + if (bodyBeautySetMapping.containsKey(key)) { + bodyBeautySetMapping.get(key).setValue(value); + } + } + + /** + * 获取当前模型 + * + * @return + */ + private BodyBeauty getCurrentBodyBeautyModel() { + return bodyBeauty; + } + + /** + * 美体开关设置 + * + * @param enable + */ + @Override + public void enableBodyBeauty(boolean enable) { + if (mFURenderKit.getBodyBeauty() != null) { + mFURenderKit.getBodyBeauty().setEnable(enable); + } + } + + /*模型映射设置模型值*/ + private final HashMap bodyBeautySetMapping = new HashMap() { + { + put(BodyBeautyParam.BODY_SLIM_INTENSITY, value -> getCurrentBodyBeautyModel().setBodySlimIntensity(value)); + put(BodyBeautyParam.LEG_STRETCH_INTENSITY, value -> getCurrentBodyBeautyModel().setLegStretchIntensity(value)); + put(BodyBeautyParam.WAIST_SLIM_INTENSITY, value -> getCurrentBodyBeautyModel().setWaistSlimIntensity(value)); + put(BodyBeautyParam.SHOULDER_SLIM_INTENSITY, value -> getCurrentBodyBeautyModel().setShoulderSlimIntensity(value)); + put(BodyBeautyParam.HIP_SLIM_INTENSITY, value -> getCurrentBodyBeautyModel().setHipSlimIntensity(value)); + put(BodyBeautyParam.HEAD_SLIM_INTENSITY, value -> getCurrentBodyBeautyModel().setHeadSlimIntensity(value)); + put(BodyBeautyParam.LEG_SLIM_INTENSITY, value -> getCurrentBodyBeautyModel().setLegSlimIntensity(value)); + } + }; + + /*模型映射获取模型值*/ + HashMap bodyBeautyGetMapping = new HashMap() { + { + put(BodyBeautyParam.BODY_SLIM_INTENSITY, () -> getCurrentBodyBeautyModel().getBodySlimIntensity()); + put(BodyBeautyParam.LEG_STRETCH_INTENSITY, () -> getCurrentBodyBeautyModel().getLegStretchIntensity()); + put(BodyBeautyParam.WAIST_SLIM_INTENSITY, () -> getCurrentBodyBeautyModel().getWaistSlimIntensity()); + put(BodyBeautyParam.SHOULDER_SLIM_INTENSITY, () -> getCurrentBodyBeautyModel().getShoulderSlimIntensity()); + put(BodyBeautyParam.HIP_SLIM_INTENSITY, () -> getCurrentBodyBeautyModel().getHipSlimIntensity()); + put(BodyBeautyParam.HEAD_SLIM_INTENSITY, () -> getCurrentBodyBeautyModel().getHeadSlimIntensity()); + put(BodyBeautyParam.LEG_SLIM_INTENSITY, () -> getCurrentBodyBeautyModel().getLegSlimIntensity()); + + } + }; + + + /** + * FURenderKit加载当前特效 + */ + public void bindCurrentRenderer() { + mFURenderKit.setBodyBeauty(bodyBeauty); + } + + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/data/FaceBeautyDataFactory.java b/FaceUnity/src/main/java/com/yunbao/faceunity/data/FaceBeautyDataFactory.java new file mode 100644 index 000000000..e1b7ddd39 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/data/FaceBeautyDataFactory.java @@ -0,0 +1,267 @@ +package com.yunbao.faceunity.data; + + +import androidx.annotation.NonNull; + +import com.faceunity.core.controller.facebeauty.FaceBeautyParam; +import com.faceunity.core.faceunity.FURenderKit; +import com.faceunity.core.model.facebeauty.FaceBeauty; +import com.yunbao.faceunity.entity.FaceBeautyBean; +import com.yunbao.faceunity.entity.FaceBeautyFilterBean; +import com.yunbao.faceunity.entity.ModelAttributeData; +import com.yunbao.faceunity.infe.AbstractFaceBeautyDataFactory; +import com.yunbao.faceunity.repo.FaceBeautySource; + +import java.util.ArrayList; +import java.util.HashMap; + + +/** + * DESC:美颜业务工厂 + * Created on 2021/3/1 + */ +public class FaceBeautyDataFactory extends AbstractFaceBeautyDataFactory { + + + interface FaceBeautySetParamInterface { + /** + * 设置属性值 + * + * @param value + */ + void setValue(double value); + } + + interface FaceBeautyGetParamInterface { + /** + * 获取属性值 + * + * @return + */ + double getValue(); + } + + /*渲染控制器*/ + private FURenderKit mFURenderKit = FURenderKit.getInstance(); + + /*当前生效美颜数据模型*/ + public FaceBeauty defaultFaceBeauty = FaceBeautySource.getDefaultFaceBeauty(); + + /*默认滤镜选中下标*/ + private int currentFilterIndex = 0; + + /** + * 获取美肤参数列表 + * + * @return + */ + @NonNull + @Override + public ArrayList getSkinBeauty() { + return FaceBeautySource.buildSkinParams(); + } + + /** + * 获取美型参数列表 + * + * @return + */ + @NonNull + @Override + public ArrayList getShapeBeauty() { + return FaceBeautySource.buildShapeParams(); + } + + + /** + * 获取美肤、美型扩展参数 + * + * @return + */ + @NonNull + @Override + public HashMap getModelAttributeRange() { + return FaceBeautySource.buildModelAttributeRange(); + } + + + /** + * 获取滤镜参数列表 + * + * @return + */ + @NonNull + @Override + public ArrayList getBeautyFilters() { + ArrayList filterBeans = FaceBeautySource.buildFilters(); + for (int i = 0; i < filterBeans.size(); i++) { + if (filterBeans.get(i).getKey().equals(defaultFaceBeauty.getFilterName())) { + filterBeans.get(i).setIntensity(defaultFaceBeauty.getFilterIntensity()); + currentFilterIndex = i; + } + + } + return filterBeans; + } + + /** + * 获取当前滤镜下标 + * + * @return + */ + @Override + public int getCurrentFilterIndex() { + return currentFilterIndex; + } + + /** + * 设置当前滤镜下标 + * + * @param currentFilterIndex + */ + @Override + public void setCurrentFilterIndex(int currentFilterIndex) { + this.currentFilterIndex = currentFilterIndex; + } + + + /** + * 美颜开关设置 + * + * @param enable + */ + @Override + public void enableFaceBeauty(boolean enable) { + if (mFURenderKit.getFaceBeauty() != null) { + mFURenderKit.getFaceBeauty().setEnable(enable); + } + } + + /** + * 获取模型参数 + * + * @param key 名称标识 + * @return 属性值 + */ + @Override + public double getParamIntensity(@NonNull String key) { + if (faceBeautyGetMapping.containsKey(key)) { + return faceBeautyGetMapping.get(key).getValue(); + } + return 0.0; + } + + /** + * 设置模型参数 + * + * @param key 名称标识 + * @param value 属性值 + */ + @Override + public void updateParamIntensity(@NonNull String key, double value) { + if (faceBeautySetMapping.containsKey(key)) { + faceBeautySetMapping.get(key).setValue(value); + } + } + + /** + * 切换滤镜 + * + * @param name 滤镜名称标识 + * @param intensity 滤镜强度 + * @param resID 滤镜名称 + */ + @Override + public void onFilterSelected(@NonNull String name, double intensity, int resID) { + defaultFaceBeauty.setFilterName(name); + defaultFaceBeauty.setFilterIntensity(intensity); + } + + /** + * 更换滤镜强度 + * + * @param intensity 滤镜强度 + */ + @Override + public void updateFilterIntensity(double intensity) { + defaultFaceBeauty.setFilterIntensity(intensity); + } + + + /*模型映射设置模型值*/ + private final HashMap faceBeautySetMapping = new HashMap() {{ + put(FaceBeautyParam.COLOR_INTENSITY, defaultFaceBeauty::setColorIntensity); + put(FaceBeautyParam.BLUR_INTENSITY, defaultFaceBeauty::setBlurIntensity); + put(FaceBeautyParam.RED_INTENSITY, defaultFaceBeauty::setRedIntensity); + put(FaceBeautyParam.SHARPEN_INTENSITY, defaultFaceBeauty::setSharpenIntensity); + put(FaceBeautyParam.EYE_BRIGHT_INTENSITY, defaultFaceBeauty::setEyeBrightIntensity); + put(FaceBeautyParam.TOOTH_WHITEN_INTENSITY, defaultFaceBeauty::setToothIntensity); + put(FaceBeautyParam.REMOVE_POUCH_INTENSITY, defaultFaceBeauty::setRemovePouchIntensity); + put(FaceBeautyParam.REMOVE_NASOLABIAL_FOLDS_INTENSITY, defaultFaceBeauty::setRemoveLawPatternIntensity); + /*美型*/ + put(FaceBeautyParam.FACE_SHAPE_INTENSITY, defaultFaceBeauty::setSharpenIntensity); + put(FaceBeautyParam.CHEEK_THINNING_INTENSITY, defaultFaceBeauty::setCheekThinningIntensity); + put(FaceBeautyParam.CHEEK_V_INTENSITY, defaultFaceBeauty::setCheekVIntensity); + put(FaceBeautyParam.CHEEK_NARROW_INTENSITY_V2, defaultFaceBeauty::setCheekNarrowIntensityV2); + put(FaceBeautyParam.CHEEK_SHORT_INTENSITY, defaultFaceBeauty::setCheekShortIntensity); + put(FaceBeautyParam.CHEEK_SMALL_INTENSITY_V2, defaultFaceBeauty::setCheekSmallIntensityV2); + put(FaceBeautyParam.INTENSITY_CHEEKBONES_INTENSITY, defaultFaceBeauty::setCheekBonesIntensity); + put(FaceBeautyParam.INTENSITY_LOW_JAW_INTENSITY, defaultFaceBeauty::setLowerJawIntensity); + put(FaceBeautyParam.EYE_ENLARGING_INTENSITY_V2, defaultFaceBeauty::setEyeEnlargingIntensityV2); + put(FaceBeautyParam.EYE_CIRCLE_INTENSITY, defaultFaceBeauty::setEyeCircleIntensity); + put(FaceBeautyParam.CHIN_INTENSITY, defaultFaceBeauty::setChinIntensity); + put(FaceBeautyParam.FOREHEAD_INTENSITY_V2, defaultFaceBeauty::setForHeadIntensityV2); + put(FaceBeautyParam.NOSE_INTENSITY_V2, defaultFaceBeauty::setNoseIntensityV2); + put(FaceBeautyParam.MOUTH_INTENSITY_V2, defaultFaceBeauty::setMouthIntensityV2); + put(FaceBeautyParam.CANTHUS_INTENSITY, defaultFaceBeauty::setCanthusIntensity); + put(FaceBeautyParam.EYE_SPACE_INTENSITY, defaultFaceBeauty::setEyeSpaceIntensity); + put(FaceBeautyParam.EYE_ROTATE_INTENSITY, defaultFaceBeauty::setEyeRotateIntensity); + put(FaceBeautyParam.LONG_NOSE_INTENSITY, defaultFaceBeauty::setLongNoseIntensity); + put(FaceBeautyParam.PHILTRUM_INTENSITY, defaultFaceBeauty::setPhiltrumIntensity); + put(FaceBeautyParam.SMILE_INTENSITY, defaultFaceBeauty::setSmileIntensity); + }}; + + /*模型映射获取模型值*/ + HashMap faceBeautyGetMapping = new HashMap() { + { + put(FaceBeautyParam.COLOR_INTENSITY, defaultFaceBeauty::getColorIntensity); + put(FaceBeautyParam.BLUR_INTENSITY, defaultFaceBeauty::getBlurIntensity); + put(FaceBeautyParam.RED_INTENSITY, defaultFaceBeauty::getRedIntensity); + put(FaceBeautyParam.SHARPEN_INTENSITY, defaultFaceBeauty::getSharpenIntensity); + put(FaceBeautyParam.EYE_BRIGHT_INTENSITY, defaultFaceBeauty::getEyeBrightIntensity); + put(FaceBeautyParam.TOOTH_WHITEN_INTENSITY, defaultFaceBeauty::getToothIntensity); + put(FaceBeautyParam.REMOVE_POUCH_INTENSITY, defaultFaceBeauty::getRemovePouchIntensity); + put(FaceBeautyParam.REMOVE_NASOLABIAL_FOLDS_INTENSITY, defaultFaceBeauty::getRemoveLawPatternIntensity); + /*美型*/ + put(FaceBeautyParam.FACE_SHAPE_INTENSITY, defaultFaceBeauty::getSharpenIntensity); + put(FaceBeautyParam.CHEEK_THINNING_INTENSITY, defaultFaceBeauty::getCheekThinningIntensity); + put(FaceBeautyParam.CHEEK_V_INTENSITY, defaultFaceBeauty::getCheekVIntensity); + put(FaceBeautyParam.CHEEK_NARROW_INTENSITY_V2, defaultFaceBeauty::getCheekNarrowIntensityV2); + put(FaceBeautyParam.CHEEK_SHORT_INTENSITY, defaultFaceBeauty::getCheekShortIntensity); + put(FaceBeautyParam.CHEEK_SMALL_INTENSITY_V2, defaultFaceBeauty::getCheekSmallIntensityV2); + put(FaceBeautyParam.INTENSITY_CHEEKBONES_INTENSITY, defaultFaceBeauty::getCheekBonesIntensity); + put(FaceBeautyParam.INTENSITY_LOW_JAW_INTENSITY, defaultFaceBeauty::getLowerJawIntensity); + put(FaceBeautyParam.EYE_ENLARGING_INTENSITY_V2, defaultFaceBeauty::getEyeEnlargingIntensityV2); + put(FaceBeautyParam.EYE_CIRCLE_INTENSITY, defaultFaceBeauty::getEyeCircleIntensity); + put(FaceBeautyParam.CHIN_INTENSITY, defaultFaceBeauty::getChinIntensity); + put(FaceBeautyParam.FOREHEAD_INTENSITY_V2, defaultFaceBeauty::getForHeadIntensityV2); + put(FaceBeautyParam.NOSE_INTENSITY_V2, defaultFaceBeauty::getNoseIntensityV2); + put(FaceBeautyParam.MOUTH_INTENSITY_V2, defaultFaceBeauty::getMouthIntensityV2); + put(FaceBeautyParam.CANTHUS_INTENSITY, defaultFaceBeauty::getCanthusIntensity); + put(FaceBeautyParam.EYE_SPACE_INTENSITY, defaultFaceBeauty::getEyeSpaceIntensity); + put(FaceBeautyParam.EYE_ROTATE_INTENSITY, defaultFaceBeauty::getEyeRotateIntensity); + put(FaceBeautyParam.LONG_NOSE_INTENSITY, defaultFaceBeauty::getLongNoseIntensity); + put(FaceBeautyParam.PHILTRUM_INTENSITY, defaultFaceBeauty::getPhiltrumIntensity); + put(FaceBeautyParam.SMILE_INTENSITY, defaultFaceBeauty::getSmileIntensity); + + } + }; + + + /** + * FURenderKit加载当前特效 + */ + public void bindCurrentRenderer() { + mFURenderKit.setFaceBeauty(defaultFaceBeauty); + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/data/FaceUnityDataFactory.java b/FaceUnity/src/main/java/com/yunbao/faceunity/data/FaceUnityDataFactory.java new file mode 100644 index 000000000..d807e1baf --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/data/FaceUnityDataFactory.java @@ -0,0 +1,143 @@ +package com.yunbao.faceunity.data; + +import com.faceunity.core.enumeration.FUAIProcessorEnum; +import com.faceunity.core.faceunity.FURenderKit; +import com.yunbao.faceunity.utils.FURenderer; + +/** + * DESC: + * Created on 2021/4/25 + */ +public class FaceUnityDataFactory { + + /** + * 道具数据工厂 + */ + public FaceBeautyDataFactory mFaceBeautyDataFactory; + public BodyBeautyDataFactory mBodyBeautyDataFactory; + public MakeupDataFactory mMakeupDataFactory; + public PropDataFactory mPropDataFactory; + + + private FURenderKit mFURenderKit = FURenderKit.getInstance(); + private FURenderer mFURenderer = FURenderer.getInstance(); + + private static FaceUnityDataFactory sInstance; + public static FaceUnityDataFactory getInstance() { + if (sInstance == null) { + synchronized (FaceUnityDataFactory.class) { + if (sInstance == null) { + sInstance = new FaceUnityDataFactory(0); + } + } + } + return sInstance; + } + + public static void release() { + sInstance = null; + } + + /** + * 道具加载标识 + */ + public int currentFunctionIndex; + private boolean hasFaceBeautyLoaded = false; + private boolean hasBodyBeautyLoaded = false; + private boolean hasMakeupLoaded = false; + private boolean hasPropLoaded = false; + + + public FaceUnityDataFactory(int index) { + currentFunctionIndex = index; + mFaceBeautyDataFactory = new FaceBeautyDataFactory(); + mBodyBeautyDataFactory = new BodyBeautyDataFactory(); + mMakeupDataFactory = new MakeupDataFactory(0); + mPropDataFactory = new PropDataFactory(0); + } + + /** + * FURenderKit加载当前特效 + */ + public void bindCurrentRenderer() { + switch (currentFunctionIndex) { + case 0: + mFaceBeautyDataFactory.bindCurrentRenderer(); + hasFaceBeautyLoaded = true; + break; + case 1: + mPropDataFactory.bindCurrentRenderer(); + hasPropLoaded = true; + break; + + case 2: + mMakeupDataFactory.bindCurrentRenderer(); + hasMakeupLoaded = true; + break; + case 3: + mBodyBeautyDataFactory.bindCurrentRenderer(); + hasBodyBeautyLoaded = true; + break; + } + if (hasFaceBeautyLoaded && currentFunctionIndex != 0) { + mFaceBeautyDataFactory.bindCurrentRenderer(); + } + if (hasPropLoaded && currentFunctionIndex != 1) { + mPropDataFactory.bindCurrentRenderer(); + } + if (hasMakeupLoaded && currentFunctionIndex != 2) { + mMakeupDataFactory.bindCurrentRenderer(); + } + if (hasBodyBeautyLoaded && currentFunctionIndex != 3) { + mBodyBeautyDataFactory.bindCurrentRenderer(); + } + if (currentFunctionIndex == 3) { + mFURenderKit.getFUAIController().setMaxFaces(1); + mFURenderer.setAIProcessTrackType(FUAIProcessorEnum.HUMAN_PROCESSOR); + } else { + mFURenderKit.getFUAIController().setMaxFaces(4); + mFURenderer.setAIProcessTrackType(FUAIProcessorEnum.FACE_PROCESSOR); + } + } + + /** + * 道具功能切换 + */ + public void onFunctionSelected(int index) { + currentFunctionIndex = index; + switch (index) { + case 0: + if (!hasFaceBeautyLoaded) { + mFaceBeautyDataFactory.bindCurrentRenderer(); + hasFaceBeautyLoaded = true; + } + mFURenderKit.getFUAIController().setMaxFaces(4); + mFURenderer.setAIProcessTrackType(FUAIProcessorEnum.FACE_PROCESSOR); + break; + case 1: + if (!hasPropLoaded) { + mPropDataFactory.bindCurrentRenderer(); + hasPropLoaded = true; + } + mFURenderKit.getFUAIController().setMaxFaces(4); + mFURenderer.setAIProcessTrackType(FUAIProcessorEnum.FACE_PROCESSOR); + break; + case 2: + if (!hasMakeupLoaded) { + mMakeupDataFactory.bindCurrentRenderer(); + hasMakeupLoaded = true; + } + mFURenderKit.getFUAIController().setMaxFaces(4); + mFURenderer.setAIProcessTrackType(FUAIProcessorEnum.FACE_PROCESSOR); + break; + case 3: + if (!hasBodyBeautyLoaded) { + mBodyBeautyDataFactory.bindCurrentRenderer(); + hasBodyBeautyLoaded = true; + } + mFURenderKit.getFUAIController().setMaxFaces(1); + mFURenderer.setAIProcessTrackType(FUAIProcessorEnum.HUMAN_PROCESSOR); + break; + } + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/data/MakeupDataFactory.java b/FaceUnity/src/main/java/com/yunbao/faceunity/data/MakeupDataFactory.java new file mode 100644 index 000000000..6e4f4136d --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/data/MakeupDataFactory.java @@ -0,0 +1,127 @@ +package com.yunbao.faceunity.data; + + +import androidx.annotation.NonNull; + +import com.faceunity.core.entity.FUBundleData; +import com.faceunity.core.faceunity.FURenderKit; +import com.faceunity.core.model.makeup.SimpleMakeup; + +import com.yunbao.faceunity.entity.MakeupCombinationBean; +import com.yunbao.faceunity.infe.AbstractMakeupDataFactory; +import com.yunbao.faceunity.repo.MakeupSource; + +import java.util.ArrayList; +import java.util.HashMap; + +/** + * DESC:美妆业务工厂 + * Created on 2021/3/1 + */ +public class MakeupDataFactory extends AbstractMakeupDataFactory { + + + /*渲染控制器*/ + private FURenderKit mFURenderKit = FURenderKit.getInstance(); + + /*组合妆容列表*/ + private ArrayList makeupCombinations; + /*组合妆容当前下标*/ + private int currentCombinationIndex;//-1:自定义 + /*美妆数据模型*/ + private SimpleMakeup currentMakeup; + /*美妆数据模型缓存*/ + private HashMap makeupMap = new HashMap<>(); + + + public MakeupDataFactory(int index) { + makeupCombinations = MakeupSource.buildCombinations(); + currentCombinationIndex = index; + currentMakeup = getMakeupModel(makeupCombinations.get(currentCombinationIndex)); // 当前生效模型 + } + + //region 组合妆 + + /** + * 获取当前组合妆容列表 + * + * @return + */ + @Override + @NonNull + public ArrayList getMakeupCombinations() { + return makeupCombinations; + } + + /** + * 获取当前组合妆容下标 + * + * @return + */ + @Override + public int getCurrentCombinationIndex() { + return currentCombinationIndex; + } + + /** + * 设置组合妆容下标 + * + * @param currentCombinationIndex + */ + @Override + public void setCurrentCombinationIndex(int currentCombinationIndex) { + this.currentCombinationIndex = currentCombinationIndex; + } + + /** + * 切换组合妆容 + * + * @param bean + */ + @Override + public void onMakeupCombinationSelected(MakeupCombinationBean bean) { + currentMakeup = getMakeupModel(bean); + mFURenderKit.setMakeup(currentMakeup); + } + + /** + * 切换美妆模型整体强度 + * + * @param intensity + */ + @Override + public void updateCombinationIntensity(double intensity) { + currentMakeup.setMakeupIntensity(intensity); + } + + /** + * 构造美妆模型 + * + * @param bean + * @return + */ + private SimpleMakeup getMakeupModel(MakeupCombinationBean bean) { + if (bean.getBundlePath() == null) { + return null; + } else { + if (makeupMap.containsKey(bean.getKey())) { + return makeupMap.get(bean.getKey()); + } + SimpleMakeup makeup = new SimpleMakeup(new FUBundleData(MakeupSource.BUNDLE_FACE_MAKEUP)); + makeup.setCombinedConfig(new FUBundleData(bean.getBundlePath())); + makeup.setMakeupIntensity(bean.getIntensity()); + makeupMap.put(bean.getKey(), makeup); + return makeup; + } + } + + + //endregion 组合妆 + + /** + * FURenderKit加载当前特效 + */ + public void bindCurrentRenderer() { + mFURenderKit.setMakeup(currentMakeup); + } +} \ No newline at end of file diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/data/PropDataFactory.java b/FaceUnity/src/main/java/com/yunbao/faceunity/data/PropDataFactory.java new file mode 100644 index 000000000..6479690f3 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/data/PropDataFactory.java @@ -0,0 +1,96 @@ +package com.yunbao.faceunity.data; + + + +import androidx.annotation.NonNull; + +import com.faceunity.core.entity.FUBundleData; +import com.faceunity.core.faceunity.FURenderKit; +import com.faceunity.core.model.prop.Prop; +import com.faceunity.core.model.prop.sticker.Sticker; + +import com.yunbao.faceunity.entity.PropBean; +import com.yunbao.faceunity.infe.AbstractPropDataFactory; +import com.yunbao.faceunity.repo.PropSource; + +import java.util.ArrayList; + +/** + * DESC:道具业务工厂 + * Created on 2021/3/2 + */ +public class PropDataFactory extends AbstractPropDataFactory { + + /*渲染控制器*/ + private final FURenderKit mFURenderKit = FURenderKit.getInstance(); + /*道具列表*/ + private final ArrayList propBeans; + /*默认选中下标*/ + private int currentPropIndex; + /*当前道具*/ + public Prop currentProp; + + public PropDataFactory(int index) { + currentPropIndex = index; + propBeans = PropSource.buildPropBeans(); + } + + + /** + * 获取当前选中下标 + * + * @return + */ + @Override + public int getCurrentPropIndex() { + return currentPropIndex; + } + + /** + * 设置当前选中下标 + * + * @param currentPropIndex + */ + @Override + public void setCurrentPropIndex(int currentPropIndex) { + this.currentPropIndex = currentPropIndex; + } + + /** + * 获取道具队列 + * + * @return + */ + @Override + @NonNull + public ArrayList getPropBeans() { + return propBeans; + } + + /** + * 道具选中 + * + * @param bean + */ + @Override + public void onItemSelected(PropBean bean) { + String path = bean.getPath(); + if (path == null || path.trim().length() == 0) { + mFURenderKit.getPropContainer().removeAllProp(); + currentProp = null; + return; + } + Prop prop = new Sticker(new FUBundleData(path)); + mFURenderKit.getPropContainer().replaceProp(currentProp, prop); + currentProp = prop; + } + + + /** + * FURenderKit加载当前特效 + */ + public void bindCurrentRenderer() { + PropBean propBean = propBeans.get(currentPropIndex); + onItemSelected(propBean); + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/dialog/BaseDialogFragment.java b/FaceUnity/src/main/java/com/yunbao/faceunity/dialog/BaseDialogFragment.java new file mode 100644 index 000000000..74663f01b --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/dialog/BaseDialogFragment.java @@ -0,0 +1,94 @@ +package com.yunbao.faceunity.dialog; + +import android.app.Dialog; +import android.content.DialogInterface; +import android.os.Bundle; +import android.view.Gravity; +import android.view.KeyEvent; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.DialogFragment; + +/** + * @author Richie on 2018.09.19 + */ +public abstract class BaseDialogFragment extends DialogFragment { + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { + View dialogView = createDialogView(inflater, container); + getDialog().setCanceledOnTouchOutside(false);//点击屏幕不消失 + getDialog().setOnKeyListener(new DialogInterface.OnKeyListener() {//点击返回键不消失 + @Override + public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + return true; + } + return false; + } + }); + initWindowParams(); + return dialogView; + } + + /** + * 创建 dialog view + * + * @param inflater + * @param container + * @return + */ + protected abstract View createDialogView(LayoutInflater inflater, @Nullable ViewGroup container); + + protected int getDialogWidth() { + return WindowManager.LayoutParams.WRAP_CONTENT; + } + + protected int getDialogHeight() { + return WindowManager.LayoutParams.WRAP_CONTENT; + } + + private void initWindowParams() { + Dialog dialog = getDialog(); + if (dialog != null) { + + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); + Window window = dialog.getWindow(); + if (window != null) { + window.getDecorView().setPadding(0, 0, 0, 0); + window.setBackgroundDrawableResource(android.R.color.transparent); + WindowManager.LayoutParams windowAttributes = window.getAttributes(); + windowAttributes.gravity = Gravity.CENTER; + windowAttributes.width = getDialogWidth(); + windowAttributes.height = getDialogHeight(); + window.setAttributes(windowAttributes); + } + } + } + + public interface OnClickListener { + /** + * 确认 + */ + void onConfirm(); + + /** + * 取消 + */ + void onCancel(); + } + + public interface OnDismissListener { + /** + * 消失 + */ + void onDismiss(); + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/dialog/ConfirmDialogFragment.java b/FaceUnity/src/main/java/com/yunbao/faceunity/dialog/ConfirmDialogFragment.java new file mode 100644 index 000000000..f004d865a --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/dialog/ConfirmDialogFragment.java @@ -0,0 +1,105 @@ +package com.yunbao.faceunity.dialog; + +import android.os.Bundle; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.yunbao.faceunity.R; + + +/** + * 确认对话框 + * + * @author Richie on 2018.08.28 + */ +public class ConfirmDialogFragment extends BaseDialogFragment { + private static final String TITLE = "content"; + private static final String CONFIRM = "confirm"; + private static final String CANCEL = "cancel"; + private OnClickListener mOnClickListener; + + /** + * 创建对话框 + * + * @param title + * @param onClickListener + * @return + */ + public static ConfirmDialogFragment newInstance(@NonNull String title, @NonNull OnClickListener onClickListener) { + ConfirmDialogFragment fragment = new ConfirmDialogFragment(); + fragment.mOnClickListener = onClickListener; + Bundle bundle = new Bundle(); + bundle.putString(TITLE, title); + fragment.setArguments(bundle); + return fragment; + } + + public static ConfirmDialogFragment newInstance(@NonNull String title, @NonNull String confirmText, + @NonNull String cancelText, @NonNull OnClickListener onClickListener) { + ConfirmDialogFragment fragment = new ConfirmDialogFragment(); + fragment.mOnClickListener = onClickListener; + Bundle bundle = new Bundle(); + bundle.putString(TITLE, title); + bundle.putString(CONFIRM, confirmText); + bundle.putString(CANCEL, cancelText); + fragment.setArguments(bundle); + return fragment; + } + + @Override + protected View createDialogView(LayoutInflater inflater, @Nullable ViewGroup container) { + View view = inflater.inflate(R.layout.dialog_confirm, container, false); + View.OnClickListener onClickListener = new View.OnClickListener() { + @Override + public void onClick(View v) { + dismiss(); + int id = v.getId(); + if (id == R.id.tv_confirm) { + if (mOnClickListener != null) { + mOnClickListener.onConfirm(); + } + } else if (id == R.id.tv_cancel) { + if (mOnClickListener != null) { + mOnClickListener.onCancel(); + } + } + } + }; + String confirmTxt = getArguments().getString(CONFIRM); + TextView tvConfirm = view.findViewById(R.id.tv_confirm); + if (!TextUtils.isEmpty(confirmTxt)) { + tvConfirm.setText(confirmTxt); + } + String cancelTxt = getArguments().getString(CANCEL); + TextView tvCancel = view.findViewById(R.id.tv_cancel); + if (!TextUtils.isEmpty(cancelTxt)) { + tvCancel.setText(cancelTxt); + } + tvConfirm.setOnClickListener(onClickListener); + tvCancel.setOnClickListener(onClickListener); + String title = getArguments().getString(TITLE); + ((TextView) view.findViewById(R.id.tv_content)).setText(title); + return view; + } + + @Override + protected int getDialogWidth() { + return getResources().getDimensionPixelSize(R.dimen.x562); + } + + @Override + protected int getDialogHeight() { + return getResources().getDimensionPixelSize(R.dimen.x294); + } + + public void setOnClickListener(OnClickListener onClickListener) { + mOnClickListener = onClickListener; + } + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/dialog/ToastHelper.java b/FaceUnity/src/main/java/com/yunbao/faceunity/dialog/ToastHelper.java new file mode 100644 index 000000000..c63f1e05e --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/dialog/ToastHelper.java @@ -0,0 +1,117 @@ +package com.yunbao.faceunity.dialog; + +import android.content.Context; +import android.content.res.Resources; +import android.util.TypedValue; +import android.view.Gravity; +import android.widget.TextView; +import android.widget.Toast; + +import androidx.annotation.StringRes; + + +import com.yunbao.faceunity.R; + +import java.lang.ref.WeakReference; + + +/** + * Created by tujh on 2018/6/28. + */ +public final class ToastHelper { + private static Toast sNormalToast; + private static Toast sWhiteTextToast; + private static WeakReference mWeakContext; + + public static void showToast(Context context, String str) { + Toast toast = Toast.makeText(context, str, Toast.LENGTH_SHORT); + toast.setGravity(Gravity.CENTER, 0, 0); + toast.show(); + } + + public static void showToast(Context context, @StringRes int strId) { + showToast(context, context.getString(strId)); + } + + public static void showWhiteTextToast(Context context, @StringRes int strId) { + showWhiteTextToast(context, context.getString(strId)); + } + + public static void showNormalToast(Context context, @StringRes int strId) { + showNormalToast(context, context.getString(strId)); + } + + public static void dismissToast() { + dismissWhiteTextToast(); + dismissNormalToast(); + } + + + public static void dismissWhiteTextToast() { + if (sWhiteTextToast != null) { + sWhiteTextToast.cancel(); + } + } + + + public static void dismissNormalToast() { + if (sNormalToast != null) { + sNormalToast.cancel(); + } + } + + + public static void showWhiteTextToast(Context context, String text) { + if (mWeakContext != null && mWeakContext.get() == context && sWhiteTextToast != null) { + TextView view = (TextView) sWhiteTextToast.getView(); + view.setText(text); + if (!view.isShown()) { + sWhiteTextToast.show(); + } + return; + } + mWeakContext = new WeakReference<>(context); + Resources resources = context.getResources(); + TextView textView = new TextView(context); + textView.setTextColor(resources.getColor(R.color.colorWhite)); + textView.setGravity(Gravity.CENTER); + textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, resources.getDimension(R.dimen.x64)); + textView.setText(text); + sWhiteTextToast = new Toast(context); + sWhiteTextToast.setView(textView); + sWhiteTextToast.setDuration(Toast.LENGTH_SHORT); + int yOffset = context.getResources().getDimensionPixelSize(R.dimen.x560); + sWhiteTextToast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.TOP, 0, yOffset); + sWhiteTextToast.show(); + } + + + public static void showNormalToast(Context context, String text) { + if (mWeakContext != null && mWeakContext.get() == context && sNormalToast != null) { + TextView view = (TextView) sNormalToast.getView(); + view.setText(text); + if (!view.isShown()) { + sNormalToast.show(); + } + return; + } + mWeakContext = new WeakReference<>(context); + Resources resources = context.getResources(); + TextView textView = new TextView(context); + textView.setTextColor(resources.getColor(R.color.colorWhite)); + textView.setGravity(Gravity.CENTER); + textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, resources.getDimension(R.dimen.x26)); + textView.setBackgroundResource(R.drawable.bg_toast_more); + int hPadding = resources.getDimensionPixelSize(R.dimen.x28); + int vPadding = resources.getDimensionPixelSize(R.dimen.x16); + textView.setPadding(hPadding, vPadding, hPadding, vPadding); + textView.setText(text); + sNormalToast = new Toast(context); + sNormalToast.setView(textView); + sNormalToast.setDuration(Toast.LENGTH_SHORT); + int yOffset = context.getResources().getDimensionPixelSize(R.dimen.x182); + sNormalToast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.TOP, 0, yOffset); + sNormalToast.show(); + } + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/entity/BodyBeautyBean.java b/FaceUnity/src/main/java/com/yunbao/faceunity/entity/BodyBeautyBean.java new file mode 100644 index 000000000..e875c0117 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/entity/BodyBeautyBean.java @@ -0,0 +1,51 @@ +package com.yunbao.faceunity.entity; + +/** + * DESC:美体 + * Created on 2021/4/26 + */ +public class BodyBeautyBean { + private String key;//名称标识 + private int desRes;//描述 + private int closeRes;//图片 + private int openRes;//图片 + + public BodyBeautyBean(String key, int desRes, int closeRes, int openRes) { + this.key = key; + this.desRes = desRes; + this.closeRes = closeRes; + this.openRes = openRes; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public int getDesRes() { + return desRes; + } + + public void setDesRes(int desRes) { + this.desRes = desRes; + } + + public int getCloseRes() { + return closeRes; + } + + public void setCloseRes(int closeRes) { + this.closeRes = closeRes; + } + + public int getOpenRes() { + return openRes; + } + + public void setOpenRes(int openRes) { + this.openRes = openRes; + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/entity/FaceBeautyBean.java b/FaceUnity/src/main/java/com/yunbao/faceunity/entity/FaceBeautyBean.java new file mode 100644 index 000000000..afbe1e2c1 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/entity/FaceBeautyBean.java @@ -0,0 +1,52 @@ +package com.yunbao.faceunity.entity; + +/** + * DESC:美颜 + * Created on 2021/4/26 + */ +public class FaceBeautyBean { + + private String key;//名称标识 + private int desRes;//描述 + private int closeRes;//图片 + private int openRes;//图片 + + public FaceBeautyBean(String key, int desRes, int closeRes, int openRes) { + this.key = key; + this.desRes = desRes; + this.closeRes = closeRes; + this.openRes = openRes; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public int getDesRes() { + return desRes; + } + + public void setDesRes(int desRes) { + this.desRes = desRes; + } + + public int getCloseRes() { + return closeRes; + } + + public void setCloseRes(int closeRes) { + this.closeRes = closeRes; + } + + public int getOpenRes() { + return openRes; + } + + public void setOpenRes(int openRes) { + this.openRes = openRes; + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/entity/FaceBeautyFilterBean.java b/FaceUnity/src/main/java/com/yunbao/faceunity/entity/FaceBeautyFilterBean.java new file mode 100644 index 000000000..68c66486e --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/entity/FaceBeautyFilterBean.java @@ -0,0 +1,58 @@ +package com.yunbao.faceunity.entity; + +/** + * DESC:美颜滤镜 + * Created on 2021/4/26 + */ +public class FaceBeautyFilterBean { + + private String key;//名称标识 + private int imageRes;//图片 + private int desRes;//描述 + private double intensity = 0.4;//强度 + + public FaceBeautyFilterBean(String key, int imageRes, int desRes) { + this.key = key; + this.imageRes = imageRes; + this.desRes = desRes; + } + + public FaceBeautyFilterBean(String key, int imageRes, int desRes, double intensity) { + this.key = key; + this.imageRes = imageRes; + this.desRes = desRes; + this.intensity = intensity; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public int getImageRes() { + return imageRes; + } + + public void setImageRes(int imageRes) { + this.imageRes = imageRes; + } + + public int getDesRes() { + return desRes; + } + + public void setDesRes(int desRes) { + this.desRes = desRes; + } + + public double getIntensity() { + return intensity; + } + + public void setIntensity(double intensity) { + this.intensity = intensity; + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/entity/MakeupCombinationBean.java b/FaceUnity/src/main/java/com/yunbao/faceunity/entity/MakeupCombinationBean.java new file mode 100644 index 000000000..bdc82b3bf --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/entity/MakeupCombinationBean.java @@ -0,0 +1,61 @@ +package com.yunbao.faceunity.entity; + +/** + * DESC:美妆-组合妆容 + * Created on 2021/4/26 + */ +public class MakeupCombinationBean { + + private String key;//名称标识 + private int imageRes;//图片 + private int desRes;//描述 + private String bundlePath;//资源句柄 + private double intensity = 1.0;//强度 + + public MakeupCombinationBean(String key, int imageRes, int desRes, String bundlePath) { + this.key = key; + this.imageRes = imageRes; + this.desRes = desRes; + this.bundlePath = bundlePath; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public int getImageRes() { + return imageRes; + } + + public void setImageRes(int imageRes) { + this.imageRes = imageRes; + } + + public int getDesRes() { + return desRes; + } + + public void setDesRes(int desRes) { + this.desRes = desRes; + } + + public String getBundlePath() { + return bundlePath; + } + + public void setBundlePath(String bundlePath) { + this.bundlePath = bundlePath; + } + + public double getIntensity() { + return intensity; + } + + public void setIntensity(double intensity) { + this.intensity = intensity; + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/entity/ModelAttributeData.java b/FaceUnity/src/main/java/com/yunbao/faceunity/entity/ModelAttributeData.java new file mode 100644 index 000000000..ad8e2d811 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/entity/ModelAttributeData.java @@ -0,0 +1,51 @@ +package com.yunbao.faceunity.entity; + +/** + * 模型单项补充模型 + */ +public class ModelAttributeData { + private double defaultV = 0.0;//默认值 + private double standV = 0.0;//无变化时候的基准值 + private double minRange = 0.0;//范围最小值 + private double maxRange = 1.0;//范围最大值 + + public ModelAttributeData(double defaultV, double standV, double minRange, double maxRange) { + this.defaultV = defaultV; + this.standV = standV; + this.minRange = minRange; + this.maxRange = maxRange; + } + + + public double getDefaultV() { + return defaultV; + } + + public void setDefaultV(double defaultV) { + this.defaultV = defaultV; + } + + public double getStandV() { + return standV; + } + + public void setStandV(double standV) { + this.standV = standV; + } + + public double getMinRange() { + return minRange; + } + + public void setMinRange(double minRange) { + this.minRange = minRange; + } + + public double getMaxRange() { + return maxRange; + } + + public void setMaxRange(double maxRange) { + this.maxRange = maxRange; + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/entity/PropBean.java b/FaceUnity/src/main/java/com/yunbao/faceunity/entity/PropBean.java new file mode 100644 index 000000000..12b45abd7 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/entity/PropBean.java @@ -0,0 +1,32 @@ +package com.yunbao.faceunity.entity; + +/** + * DESC:道具 + * Created on 2021/4/26 + */ +public class PropBean { + private int iconId; + private String path; + + + public PropBean(int iconId, String path) { + this.iconId = iconId; + this.path = path; + } + + public int getIconId() { + return iconId; + } + + public void setIconId(int iconId) { + this.iconId = iconId; + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path; + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/infe/AbstractBodyBeautyDataFactory.java b/FaceUnity/src/main/java/com/yunbao/faceunity/infe/AbstractBodyBeautyDataFactory.java new file mode 100644 index 000000000..afa20fd4d --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/infe/AbstractBodyBeautyDataFactory.java @@ -0,0 +1,55 @@ +package com.yunbao.faceunity.infe; + + +import com.yunbao.faceunity.entity.BodyBeautyBean; +import com.yunbao.faceunity.entity.ModelAttributeData; + +import java.util.ArrayList; +import java.util.HashMap; + + +/** + * DESC:数据构造工厂抽象类 + * Created on 2021/4/26 + */ +public abstract class AbstractBodyBeautyDataFactory { + + + /** + * 获取美体参数集合 + * @return + */ + public abstract ArrayList getBodyBeautyParam(); + + + + /** + * 获取美体项目数据扩展模型 + * @return + */ + public abstract HashMap getModelAttributeRange(); + + + /** + * 根据名称标识获取对应的值 + * + * @param key String 标识 + * @return Double 值 + */ + public abstract double getParamIntensity(String key); + + /** + * 根据名称标识更新对应的值 + * + * @param key String 标识 + * @return Double 值 + */ + public abstract void updateParamIntensity(String key, double value); + + /** + * 美体开关 + * + * @param enable Boolean + */ + public abstract void enableBodyBeauty(boolean enable); +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/infe/AbstractFaceBeautyDataFactory.java b/FaceUnity/src/main/java/com/yunbao/faceunity/infe/AbstractFaceBeautyDataFactory.java new file mode 100644 index 000000000..0c2f5ccc2 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/infe/AbstractFaceBeautyDataFactory.java @@ -0,0 +1,103 @@ +package com.yunbao.faceunity.infe; + + +import com.yunbao.faceunity.entity.FaceBeautyBean; +import com.yunbao.faceunity.entity.FaceBeautyFilterBean; +import com.yunbao.faceunity.entity.ModelAttributeData; + +import java.util.ArrayList; +import java.util.HashMap; + +/** + * DESC:数据构造工厂抽象类 + * Created on 2021/4/26 + */ +public abstract class AbstractFaceBeautyDataFactory { + + + /** + * 美肤底部菜单数据 + * + * @return + */ + public abstract ArrayList getSkinBeauty(); + + + /** + * 美型底部菜单数据 + * + * @return + */ + public abstract ArrayList getShapeBeauty(); + + + /** + * 滤镜底部菜单数据 + * + * @return + */ + public abstract ArrayList getBeautyFilters(); + + /** + * 获取当前滤镜下标 + * + * @return + */ + public abstract int getCurrentFilterIndex(); + + /** + * 设置当前滤镜下标 + * + * @param currentFilterIndex + */ + public abstract void setCurrentFilterIndex(int currentFilterIndex); + + + /** + * 美颜项目数据扩展模型 + * + * @return + */ + public abstract HashMap getModelAttributeRange(); + + /** + * 切换滤镜 + * + * @param name String + * @param intensity Double + */ + public abstract void onFilterSelected(String name, double intensity, int resDes); + + + /** + * 更改滤镜强度 + * + * @param intensity Double + */ + public abstract void updateFilterIntensity(double intensity); + + /** + * 美颜开关 + * + * @param enable Boolean + */ + public abstract void enableFaceBeauty(boolean enable); + + /** + * 获取单项强度 + * + * @param key String + * @return Double + */ + public abstract double getParamIntensity(String key); + + /** + * 设置单项强度 + * + * @param key String + * @param value Double + */ + public abstract void updateParamIntensity(String key, double value); + + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/infe/AbstractMakeupDataFactory.java b/FaceUnity/src/main/java/com/yunbao/faceunity/infe/AbstractMakeupDataFactory.java new file mode 100644 index 000000000..771240a06 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/infe/AbstractMakeupDataFactory.java @@ -0,0 +1,50 @@ +package com.yunbao.faceunity.infe; + + +import com.yunbao.faceunity.entity.MakeupCombinationBean; + +import java.util.ArrayList; + +/** + * DESC:数据构造工厂抽象类 + * Created on 2021/4/26 + */ +public abstract class AbstractMakeupDataFactory { + + /** + * 获取当前组合妆容列表 + * + * @return + */ + public abstract ArrayList getMakeupCombinations(); + + /** + * 获取当前组合妆容下标 + * + * @return + */ + public abstract int getCurrentCombinationIndex(); + + /** + * 设置组合妆容下标 + * + * @param currentCombinationIndex + */ + public abstract void setCurrentCombinationIndex(int currentCombinationIndex); + + + /** + * 组合妆容选中 + * + * @param bean MakeupCombinationBean + */ + public abstract void onMakeupCombinationSelected(MakeupCombinationBean bean); + + /** + * 设置美妆整体强度 + * + * @param intensity Double + */ + public abstract void updateCombinationIntensity(double intensity); + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/infe/AbstractPropDataFactory.java b/FaceUnity/src/main/java/com/yunbao/faceunity/infe/AbstractPropDataFactory.java new file mode 100644 index 000000000..743dde995 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/infe/AbstractPropDataFactory.java @@ -0,0 +1,42 @@ +package com.yunbao.faceunity.infe; + +import com.yunbao.faceunity.entity.PropBean; + +import java.util.ArrayList; + +/** + * DESC:数据构造工厂抽象类 + * Created on 2021/4/26 + */ +public abstract class AbstractPropDataFactory { + + + /** + * 获取当前选中下标 + * + * @return + */ + public abstract int getCurrentPropIndex(); + + /** + * 设置当前选中下标 + * + * @param currentPropIndex + */ + public abstract void setCurrentPropIndex(int currentPropIndex); + + /** + * 获取道具队列 + * + * @return + */ + public abstract ArrayList getPropBeans(); + + /** + * 道具选中 + * + * @param bean StickerBean + */ + public abstract void onItemSelected(PropBean bean); + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/listener/FURendererListener.java b/FaceUnity/src/main/java/com/yunbao/faceunity/listener/FURendererListener.java new file mode 100644 index 000000000..41b6e25ef --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/listener/FURendererListener.java @@ -0,0 +1,40 @@ +package com.yunbao.faceunity.listener; + +import com.faceunity.core.enumeration.FUAIProcessorEnum; + +/** + * DESC:FURenderer状态回调监听 + * Created on 2021/4/29 + */ +public interface FURendererListener { + + /** + * prepare完成回调 + */ + void onPrepare(); + + /** + * 识别到的人脸或人体数量发生变化 + * + * @param type 类型 + * @param status 数量 + */ + void onTrackStatusChanged(FUAIProcessorEnum type, int status); + + + /** + * 统计每 10 帧的平均数据,FPS 和渲染函数调用时间 + * + * @param fps FPS + * @param callTime 渲染函数调用时间 + */ + void onFpsChanged(double fps, double callTime); + + + /** + * release完成回调 + */ + void onRelease(); + + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/listener/IFaceModel.java b/FaceUnity/src/main/java/com/yunbao/faceunity/listener/IFaceModel.java new file mode 100644 index 000000000..7ff52c3c7 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/listener/IFaceModel.java @@ -0,0 +1,19 @@ +package com.yunbao.faceunity.listener; + +import com.faceunity.core.enumeration.FUAITypeEnum; +import com.faceunity.core.faceunity.FUAIKit; +import com.yunbao.faceunity.utils.FaceUnityConfig; + +/** + * 模块配置 + * @param + */ +public abstract class IFaceModel { + public abstract T Builder(); + + public void apply() { + FUAIKit.getInstance().loadAIProcessor(FaceUnityConfig.BUNDLE_AI_FACE, FUAITypeEnum.FUAITYPE_FACEPROCESSOR); + FUAIKit.getInstance().faceProcessorSetFaceLandmarkQuality(FaceUnityConfig.DEVICE_LEVEL); + } + public abstract void setEnable(boolean enable); +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/listener/OnBottomAnimatorChangeListener.java b/FaceUnity/src/main/java/com/yunbao/faceunity/listener/OnBottomAnimatorChangeListener.java new file mode 100644 index 000000000..7075115af --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/listener/OnBottomAnimatorChangeListener.java @@ -0,0 +1,9 @@ +package com.yunbao.faceunity.listener; + +/** + * DESC:底部菜单动画回调 + * Created on 2021/4/26 + */ +public interface OnBottomAnimatorChangeListener { + void onBottomAnimatorChangeListener(float showRate); +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/listener/OnMultiClickListener.java b/FaceUnity/src/main/java/com/yunbao/faceunity/listener/OnMultiClickListener.java new file mode 100644 index 000000000..ebac84a1d --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/listener/OnMultiClickListener.java @@ -0,0 +1,40 @@ +package com.yunbao.faceunity.listener; + +import android.view.View; +import android.view.View.OnClickListener; + +/** + * DESC: + * Created on 2021/4/26 + */ +public abstract class OnMultiClickListener implements OnClickListener { + private long mLastClickTime = 0L; + private int mViewId = View.NO_ID; + private static long MIN_CLICK_DELAY_TIME = 500L; + + @Override + public void onClick(View v) { + long curClickTime = System.currentTimeMillis(); + int viewId = v.getId(); + if (mViewId == viewId) { + if (curClickTime - mLastClickTime >= MIN_CLICK_DELAY_TIME) { + mLastClickTime = curClickTime; + onMultiClick(v); + } + } else { + mViewId = viewId; + mLastClickTime = curClickTime; + onMultiClick(v); + } + } + + + /** + * 处理后的点击事件 + * + * @param v + */ + protected abstract void onMultiClick(View v); + + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/model/FaceBeautyModel.java b/FaceUnity/src/main/java/com/yunbao/faceunity/model/FaceBeautyModel.java new file mode 100644 index 000000000..ea08a9348 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/model/FaceBeautyModel.java @@ -0,0 +1,41 @@ +package com.yunbao.faceunity.model; + + +import com.faceunity.core.entity.FUBundleData; +import com.faceunity.core.faceunity.FURenderKit; +import com.faceunity.core.model.facebeauty.FaceBeauty; +import com.yunbao.faceunity.listener.IFaceModel; +import com.yunbao.faceunity.utils.FaceUnityConfig; + +/** + * 美颜模块 + */ +public class FaceBeautyModel extends IFaceModel { + + private FaceBeauty beauty; + + /** + * 构造美颜模块 + * 参考配置:https://gitee.com/hangzhou_xiangxin_1/FULiveDemoDroid/blob/master/doc/4.%E7%BE%8E%E9%A2%9C.md + */ + @Override + public FaceBeauty Builder() { + beauty = new FaceBeauty(new FUBundleData(FaceUnityConfig.BUNDLE_FACE_BEAUTIFICATION)); + return beauty; + } + + /** + * 应用美颜 + */ + @Override + public void apply() { + super.apply(); + FURenderKit kit = FURenderKit.getInstance(); + kit.setFaceBeauty(beauty); + } + + @Override + public void setEnable(boolean enable) { + beauty.setEnable(enable); + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/repo/BodyBeautySource.java b/FaceUnity/src/main/java/com/yunbao/faceunity/repo/BodyBeautySource.java new file mode 100644 index 000000000..5a343b2b3 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/repo/BodyBeautySource.java @@ -0,0 +1,56 @@ +package com.yunbao.faceunity.repo; + +import com.faceunity.core.controller.bodyBeauty.BodyBeautyParam; + +import com.yunbao.faceunity.R; +import com.yunbao.faceunity.entity.BodyBeautyBean; +import com.yunbao.faceunity.entity.ModelAttributeData; + +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; + + +/** + * DESC:美体数据构造 + * Created on 2021/3/26 + */ +public class BodyBeautySource { + + public static final String BUNDLE_BODY_BEAUTY = "graphics" + File.separator + "body_slim.bundle"; + + + /** + * 构造美体 + * + * @return + */ + public static ArrayList buildBodyBeauty() { + ArrayList params = new ArrayList<>(); + params.add(new BodyBeautyBean(BodyBeautyParam.BODY_SLIM_INTENSITY, R.string.slimming, R.drawable.icon_body_slimming_close_selector, R.drawable.icon_body_slimming_open_selector)); + params.add(new BodyBeautyBean(BodyBeautyParam.LEG_STRETCH_INTENSITY, R.string.long_legs, R.drawable.icon_body_stovepipe_close_selector, R.drawable.icon_body_stovepipe_open_selector)); + params.add(new BodyBeautyBean(BodyBeautyParam.WAIST_SLIM_INTENSITY, R.string.thin_waist, R.drawable.icon_body_waist_close_selector, R.drawable.icon_body_waist_open_selector)); + params.add(new BodyBeautyBean(BodyBeautyParam.SHOULDER_SLIM_INTENSITY, R.string.beautify_shoulder, R.drawable.icon_body_shoulder_close_selector, R.drawable.icon_body_shoulder_open_selector)); + params.add(new BodyBeautyBean(BodyBeautyParam.HIP_SLIM_INTENSITY, R.string.beautify_hip_slim, R.drawable.icon_body_hip_close_selector, R.drawable.icon_body_hip_open_selector)); + params.add(new BodyBeautyBean(BodyBeautyParam.HEAD_SLIM_INTENSITY, R.string.beautify_head_slim, R.drawable.icon_body_little_head_close_selector, R.drawable.icon_body_little_head_open_selector)); + params.add(new BodyBeautyBean(BodyBeautyParam.LEG_SLIM_INTENSITY, R.string.beautify_leg_thin_slim, R.drawable.icon_body_thin_leg_close_selector, R.drawable.icon_body_thin_leg_open_selector)); + return params; + } + + /** + * 获取模型属性扩展数据 + * + * @return HashMap + */ + public static HashMap buildModelAttributeRange() { + HashMap params = new HashMap<>(); + params.put(BodyBeautyParam.BODY_SLIM_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(BodyBeautyParam.LEG_STRETCH_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(BodyBeautyParam.WAIST_SLIM_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(BodyBeautyParam.SHOULDER_SLIM_INTENSITY, new ModelAttributeData(0.5, 0.5, 0.0, 1.0)); + params.put(BodyBeautyParam.HIP_SLIM_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(BodyBeautyParam.HEAD_SLIM_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(BodyBeautyParam.LEG_SLIM_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + return params; + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/repo/FaceBeautySource.java b/FaceUnity/src/main/java/com/yunbao/faceunity/repo/FaceBeautySource.java new file mode 100644 index 000000000..a654983f4 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/repo/FaceBeautySource.java @@ -0,0 +1,294 @@ +package com.yunbao.faceunity.repo; + +import com.faceunity.core.controller.facebeauty.FaceBeautyParam; +import com.faceunity.core.entity.FUBundleData; +import com.faceunity.core.model.facebeauty.FaceBeauty; +import com.faceunity.core.model.facebeauty.FaceBeautyBlurTypeEnum; +import com.faceunity.core.model.facebeauty.FaceBeautyFilterEnum; +import com.yunbao.faceunity.R; +import com.yunbao.faceunity.entity.FaceBeautyBean; +import com.yunbao.faceunity.entity.FaceBeautyFilterBean; +import com.yunbao.faceunity.entity.ModelAttributeData; + +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; + +/** + * DESC:美颜数据构造 + * Created on 2021/3/27 + */ +public class FaceBeautySource { + + public static String BUNDLE_FACE_BEAUTIFICATION = "graphics" + File.separator + "face_beautification.bundle"; + + + + /** + * 获取默认推荐美颜模型 + * + * @return + */ + public static FaceBeauty getDefaultFaceBeauty() { + FaceBeauty recommendFaceBeauty = new FaceBeauty(new FUBundleData(BUNDLE_FACE_BEAUTIFICATION)); + recommendFaceBeauty.setFilterName(FaceBeautyFilterEnum.ZIRAN_1); + recommendFaceBeauty.setFilterIntensity(0.4); + /*美肤*/ + recommendFaceBeauty.setBlurType(FaceBeautyBlurTypeEnum.FineSkin); + recommendFaceBeauty.setSharpenIntensity(0.2); + recommendFaceBeauty.setColorIntensity(0.3); + recommendFaceBeauty.setRedIntensity(0.3); + recommendFaceBeauty.setBlurIntensity(4.2); + /*美型*/ + recommendFaceBeauty.setFaceShapeIntensity(1.0); + recommendFaceBeauty.setEyeEnlargingIntensityV2(0.4); + recommendFaceBeauty.setCheekVIntensity(0.5); + recommendFaceBeauty.setNoseIntensityV2(0.5); + recommendFaceBeauty.setForHeadIntensityV2(0.3); + recommendFaceBeauty.setMouthIntensityV2(0.4); + recommendFaceBeauty.setChinIntensity(0.3); + return recommendFaceBeauty; + } + + + /** + * 初始化美肤参数 + * + * @return ArrayList + */ + public static ArrayList buildSkinParams() { + ArrayList params = new ArrayList<>(); + params.add(new FaceBeautyBean( + FaceBeautyParam.BLUR_INTENSITY, R.string.beauty_box_heavy_blur_fine, + R.drawable.icon_beauty_skin_buffing_close_selector, R.drawable.icon_beauty_skin_buffing_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.COLOR_INTENSITY, R.string.beauty_box_color_level, + R.drawable.icon_beauty_skin_color_close_selector, R.drawable.icon_beauty_skin_color_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.RED_INTENSITY, R.string.beauty_box_red_level, + R.drawable.icon_beauty_skin_red_close_selector, R.drawable.icon_beauty_skin_red_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.SHARPEN_INTENSITY, R.string.beauty_box_sharpen, + R.drawable.icon_beauty_skin_sharpen_close_selector, R.drawable.icon_beauty_skin_sharpen_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.EYE_BRIGHT_INTENSITY, R.string.beauty_box_eye_bright, + R.drawable.icon_beauty_skin_eyes_bright_close_selector, R.drawable.icon_beauty_skin_eyes_bright_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.TOOTH_WHITEN_INTENSITY, R.string.beauty_box_tooth_whiten, + R.drawable.icon_beauty_skin_teeth_close_selector, R.drawable.icon_beauty_skin_teeth_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.REMOVE_POUCH_INTENSITY, R.string.beauty_micro_pouch, + R.drawable.icon_beauty_skin_dark_circles_close_selector, R.drawable.icon_beauty_skin_dark_circles_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.REMOVE_NASOLABIAL_FOLDS_INTENSITY, R.string.beauty_micro_nasolabial, + R.drawable.icon_beauty_skin_wrinkle_close_selector, R.drawable.icon_beauty_skin_wrinkle_open_selector + ) + ); + return params; + } + + /** + * 初始化美型参数 + * + * @return ArrayList + */ + public static ArrayList buildShapeParams() { + ArrayList params = new ArrayList<>(); + params.add( + new FaceBeautyBean( + FaceBeautyParam.CHEEK_THINNING_INTENSITY, R.string.beauty_box_cheek_thinning, + R.drawable.icon_beauty_shape_face_cheekthin_close_selector, R.drawable.icon_beauty_shape_face_cheekthin_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.CHEEK_V_INTENSITY, R.string.beauty_box_cheek_v, + R.drawable.icon_beauty_shape_face_v_close_selector, R.drawable.icon_beauty_shape_face_v_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.CHEEK_NARROW_INTENSITY_V2, R.string.beauty_box_cheek_narrow, + R.drawable.icon_beauty_shape_face_narrow_close_selector, R.drawable.icon_beauty_shape_face_narrow_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.CHEEK_SHORT_INTENSITY, R.string.beauty_box_cheek_short, + R.drawable.icon_beauty_shape_face_short_close_selector, R.drawable.icon_beauty_shape_face_short_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.CHEEK_SMALL_INTENSITY_V2, R.string.beauty_box_cheek_small, + R.drawable.icon_beauty_shape_face_little_close_selector, R.drawable.icon_beauty_shape_face_little_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.INTENSITY_CHEEKBONES_INTENSITY, R.string.beauty_box_cheekbones, + R.drawable.icon_beauty_shape_cheek_bones_close_selector, R.drawable.icon_beauty_shape_cheek_bones_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.INTENSITY_LOW_JAW_INTENSITY, R.string.beauty_box_lower_jaw, + R.drawable.icon_beauty_shape_lower_jaw_close_selector, R.drawable.icon_beauty_shape_lower_jaw_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.EYE_ENLARGING_INTENSITY_V2, R.string.beauty_box_eye_enlarge, + R.drawable.icon_beauty_shape_enlarge_eye_close_selector, R.drawable.icon_beauty_shape_enlarge_eye_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.EYE_CIRCLE_INTENSITY, R.string.beauty_box_eye_circle, + R.drawable.icon_beauty_shape_round_eye_close_selector, R.drawable.icon_beauty_shape_round_eye_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.CHIN_INTENSITY, R.string.beauty_box_intensity_chin, + R.drawable.icon_beauty_shape_chin_close_selector, R.drawable.icon_beauty_shape_chin_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.FOREHEAD_INTENSITY_V2, R.string.beauty_box_intensity_forehead, + R.drawable.icon_beauty_shape_forehead_close_selector, R.drawable.icon_beauty_shape_forehead_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.NOSE_INTENSITY_V2, R.string.beauty_box_intensity_nose, + R.drawable.icon_beauty_shape_thin_nose_close_selector, R.drawable.icon_beauty_shape_thin_nose_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.MOUTH_INTENSITY_V2, R.string.beauty_box_intensity_mouth, + R.drawable.icon_beauty_shape_mouth_close_selector, R.drawable.icon_beauty_shape_mouth_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.CANTHUS_INTENSITY, R.string.beauty_micro_canthus, + R.drawable.icon_beauty_shape_open_eyes_close_selector, R.drawable.icon_beauty_shape_open_eyes_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.EYE_SPACE_INTENSITY, R.string.beauty_micro_eye_space, + R.drawable.icon_beauty_shape_distance_close_selector, R.drawable.icon_beauty_shape_distance_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.EYE_ROTATE_INTENSITY, R.string.beauty_micro_eye_rotate, + R.drawable.icon_beauty_shape_angle_close_selector, R.drawable.icon_beauty_shape_angle_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.LONG_NOSE_INTENSITY, R.string.beauty_micro_long_nose, + R.drawable.icon_beauty_shape_proboscis_close_selector, R.drawable.icon_beauty_shape_proboscis_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.PHILTRUM_INTENSITY, R.string.beauty_micro_philtrum, + R.drawable.icon_beauty_shape_shrinking_close_selector, R.drawable.icon_beauty_shape_shrinking_open_selector + ) + ); + params.add( + new FaceBeautyBean( + FaceBeautyParam.SMILE_INTENSITY, R.string.beauty_micro_smile, + R.drawable.icon_beauty_shape_smile_close_selector, R.drawable.icon_beauty_shape_smile_open_selector + ) + ); + return params; + } + + /** + * 初始化参数扩展列表 + * + * @return HashMap + */ + public static HashMap buildModelAttributeRange() { + HashMap params = new HashMap<>(); + /*美肤*/ + params.put(FaceBeautyParam.COLOR_INTENSITY, new ModelAttributeData(0.3, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.BLUR_INTENSITY, new ModelAttributeData(4.2, 0.0, 0.0, 6.0)); + params.put(FaceBeautyParam.RED_INTENSITY, new ModelAttributeData(0.3, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.SHARPEN_INTENSITY, new ModelAttributeData(0.2, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.EYE_BRIGHT_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.TOOTH_WHITEN_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.REMOVE_POUCH_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.REMOVE_NASOLABIAL_FOLDS_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + /*美型*/ + params.put(FaceBeautyParam.FACE_SHAPE_INTENSITY, new ModelAttributeData(1.0, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.CHEEK_THINNING_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.CHEEK_LONG_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.CHEEK_CIRCLE_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.CHEEK_V_INTENSITY, new ModelAttributeData(0.5, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.CHEEK_NARROW_INTENSITY_V2, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.CHEEK_SHORT_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.CHEEK_SMALL_INTENSITY_V2, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.INTENSITY_CHEEKBONES_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.INTENSITY_LOW_JAW_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.EYE_ENLARGING_INTENSITY_V2, new ModelAttributeData(0.4, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.EYE_CIRCLE_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.CHIN_INTENSITY, new ModelAttributeData(0.3, 0.5, 0.0, 1.0)); + params.put(FaceBeautyParam.FOREHEAD_INTENSITY_V2, new ModelAttributeData(0.3, 0.5, 0.0, 1.0)); + params.put(FaceBeautyParam.NOSE_INTENSITY_V2, new ModelAttributeData(0.5, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.MOUTH_INTENSITY_V2, new ModelAttributeData(0.4, 0.5, 0.0, 1.0)); + params.put(FaceBeautyParam.CANTHUS_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + params.put(FaceBeautyParam.EYE_SPACE_INTENSITY, new ModelAttributeData(0.5, 0.5, 0.0, 1.0)); + params.put(FaceBeautyParam.EYE_ROTATE_INTENSITY, new ModelAttributeData(0.5, 0.5, 0.0, 1.0)); + params.put(FaceBeautyParam.LONG_NOSE_INTENSITY, new ModelAttributeData(0.5, 0.5, 0.0, 1.0)); + params.put(FaceBeautyParam.PHILTRUM_INTENSITY, new ModelAttributeData(0.5, 0.5, 0.0, 1.0)); + params.put(FaceBeautyParam.SMILE_INTENSITY, new ModelAttributeData(0.0, 0.0, 0.0, 1.0)); + return params; + } + + + /** + * 初始化滤镜参数 + * + * @return ArrayList + */ + public static ArrayList buildFilters() { + ArrayList filters = new ArrayList<>(); + filters.add(new FaceBeautyFilterBean(FaceBeautyFilterEnum.ORIGIN, R.mipmap.icon_beauty_filter_cancel, R.string.origin, 0.0)); + filters.add(new FaceBeautyFilterBean(FaceBeautyFilterEnum.ZIRAN_1, R.mipmap.icon_beauty_filter_natural_1, R.string.ziran_1)); + filters.add(new FaceBeautyFilterBean(FaceBeautyFilterEnum.ZHIGANHUI_1, R.mipmap.icon_beauty_filter_texture_gray_1, R.string.zhiganhui_1)); + filters.add(new FaceBeautyFilterBean(FaceBeautyFilterEnum.BAILIANG_1, R.mipmap.icon_beauty_filter_bailiang_1, R.string.bailiang_1)); + filters.add(new FaceBeautyFilterBean(FaceBeautyFilterEnum.FENNEN_1, R.mipmap.icon_beauty_filter_fennen_1, R.string.fennen_1)); + filters.add(new FaceBeautyFilterBean(FaceBeautyFilterEnum.LENGSEDIAO_1, R.mipmap.icon_beauty_filter_lengsediao_1, R.string.lengsediao_1)); + return filters; + } + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/repo/MakeupSource.java b/FaceUnity/src/main/java/com/yunbao/faceunity/repo/MakeupSource.java new file mode 100644 index 000000000..865044bda --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/repo/MakeupSource.java @@ -0,0 +1,34 @@ +package com.yunbao.faceunity.repo; + + +import com.yunbao.faceunity.R; +import com.yunbao.faceunity.entity.MakeupCombinationBean; + +import java.io.File; +import java.util.ArrayList; + +/** + * DESC:美妆数据构造 + * Created on 2021/3/28 + */ +public class MakeupSource { + public static String BUNDLE_FACE_MAKEUP = "graphics" + File.separator + "face_makeup.bundle"; + + //region 组合妆容 + + /** + * 构造美妆组合妆容配置 + * + * @return ArrayList + */ + public static ArrayList buildCombinations() { + ArrayList combinations = new ArrayList(); + combinations.add(new MakeupCombinationBean("origin", R.mipmap.icon_control_none, R.string.makeup_radio_remove, null)); + combinations.add(new MakeupCombinationBean("naicha", R.mipmap.icon_makeup_combination_tea_with_milk, R.string.makeup_combination_naicha, "makeup/naicha.bundle")); + combinations.add(new MakeupCombinationBean("dousha", R.mipmap.icon_makeup_combination_red_bean_paste, R.string.makeup_combination_dousha, "makeup/dousha.bundle")); + combinations.add(new MakeupCombinationBean("chaoa", R.mipmap.icon_makeup_combination_super_a, R.string.makeup_combination_chaoa, "makeup/chaoa.bundle")); + return combinations; + } + + //endregion +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/repo/PropSource.java b/FaceUnity/src/main/java/com/yunbao/faceunity/repo/PropSource.java new file mode 100644 index 000000000..b832747af --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/repo/PropSource.java @@ -0,0 +1,28 @@ +package com.yunbao.faceunity.repo; + + +import com.yunbao.faceunity.R; +import com.yunbao.faceunity.entity.PropBean; + +import java.util.ArrayList; + + +/** + * DESC:道具数据构造 + * Created on 2021/3/28 + */ +public class PropSource { + + /** + * 构造贴纸列表 + * + * @return + */ + public static ArrayList buildPropBeans() { + ArrayList propBeans = new ArrayList<>(); + propBeans.add(new PropBean(R.mipmap.icon_control_delete_all, null)); + propBeans.add(new PropBean(R.mipmap.icon_sticker_sdlu, "sticker/sdlu.bundle")); + propBeans.add(new PropBean(R.mipmap.icon_sticker_fashi, "sticker/fashi.bundle")); + return propBeans; + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/DiscreteSeekBar.java b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/DiscreteSeekBar.java new file mode 100644 index 000000000..f01c4292f --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/DiscreteSeekBar.java @@ -0,0 +1,1084 @@ +package com.yunbao.faceunity.seekbar; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.res.ColorStateList; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Rect; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.os.Parcel; +import android.os.Parcelable; +import android.util.AttributeSet; +import android.util.TypedValue; +import android.view.KeyEvent; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewConfiguration; +import android.view.ViewParent; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.graphics.drawable.DrawableCompat; +import androidx.core.view.ViewCompat; + + +import com.yunbao.faceunity.R; +import com.yunbao.faceunity.seekbar.internal.PopupIndicator; +import com.yunbao.faceunity.seekbar.internal.compat.AnimatorCompat; +import com.yunbao.faceunity.seekbar.internal.compat.SeekBarCompat; +import com.yunbao.faceunity.seekbar.internal.drawable.MarkerDrawable; +import com.yunbao.faceunity.seekbar.internal.drawable.ThumbDrawable; +import com.yunbao.faceunity.seekbar.internal.drawable.TrackRectDrawable; + +import java.util.Formatter; +import java.util.Locale; + +public class DiscreteSeekBar extends View { + private static final String TAG = DiscreteSeekBar.class.getSimpleName(); + + /** + * Interface to propagate seekbar change event + */ + public interface OnProgressChangeListener { + /** + * When the {@link DiscreteSeekBar} value changes + * + * @param seekBar The DiscreteSeekBar + * @param value the new value + * @param fromUser if the change was made from the user or not (i.e. the developer calling {@link #setProgress(int)} + */ + public void onProgressChanged(DiscreteSeekBar seekBar, int value, boolean fromUser); + + public void onStartTrackingTouch(DiscreteSeekBar seekBar); + + public void onStopTrackingTouch(DiscreteSeekBar seekBar); + } + + public static class OnSimpleProgressChangeListener implements OnProgressChangeListener { + public void onProgressChanged(DiscreteSeekBar seekBar, int value, boolean fromUser) { + + } + + public void onStartTrackingTouch(DiscreteSeekBar seekBar) { + + } + + public void onStopTrackingTouch(DiscreteSeekBar seekBar) { + + } + } + + /** + * Interface to transform the current internal value of this DiscreteSeekBar to anther one for the visualization. + *

+ * This will be used on the floating bubble to display a different value if needed. + *

+ * Using this in conjunction with {@link #setIndicatorFormatter(String)} you will be able to manipulate the + * value seen by the user + * + * @see #setIndicatorFormatter(String) + * @see #setNumericTransformer(NumericTransformer) + */ + public static abstract class NumericTransformer { + /** + * Return the desired value to be shown to the user. + * This value will be formatted using the format specified by {@link #setIndicatorFormatter} before displaying it + * + * @param value The value to be transformed + * @return The transformed int + */ + public abstract int transform(int value); + + /** + * Return the desired value to be shown to the user. + * This value will be displayed 'as is' without further formatting. + * + * @param value The value to be transformed + * @return A formatted string + */ + public String transformToString(int value) { + return String.valueOf(value); + } + + /** + * Used to indicate which transform will be used. If this method returns true, + * {@link #transformToString(int)} will be used, otherwise {@link #transform(int)} + * will be used + */ + public boolean useStringTransform() { + return false; + } + } + + + private static class DefaultNumericTransformer extends NumericTransformer { + + @Override + public int transform(int value) { + return value; + } + } + + + private static final boolean isLollipopOrGreater = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP; + //We want to always use a formatter so the indicator numbers are "translated" to specific locales. + private static final String DEFAULT_FORMATTER = "%d"; + + private static final int PRESSED_STATE = android.R.attr.state_pressed; + private static final int FOCUSED_STATE = android.R.attr.state_focused; + private static final int PROGRESS_ANIMATION_DURATION = 250; + private static final int INDICATOR_DELAY_FOR_TAPS = 150; + private static final int DEFAULT_THUMB_COLOR = 0xff009688; + private static final int SEPARATION_DP = 5; + private ThumbDrawable mThumb; + private TrackRectDrawable mTrack; + private TrackRectDrawable mTrackBase; + private TrackRectDrawable mScrubber; + private Drawable mRipple; + + private int mTrackHeight; + private int mTrackBaseHeight; + private int mScrubberHeight; + private final int mAddedTouchBounds; + + private int mMax; + private int mMin; + private int mValue; + private int mKeyProgressIncrement = 1; + private boolean mMirrorForRtl = false; + private boolean mAllowTrackClick = true; + private boolean mIndicatorPopupEnabled = true; + //We use our own Formatter to avoid creating new instances on every progress change + Formatter mFormatter; + private String mIndicatorFormatter; + private NumericTransformer mNumericTransformer; + private StringBuilder mFormatBuilder; + private OnProgressChangeListener mPublicChangeListener; + private boolean mIsDragging; + private int mDragOffset; + + private Rect mInvalidateRect = new Rect(); + private Rect mTempRect = new Rect(); + private PopupIndicator mIndicator; + private AnimatorCompat mPositionAnimator; + private float mAnimationPosition; + private int mAnimationTarget; + private float mDownX; + private float mTouchSlop; + + private int mValueBase; + + public DiscreteSeekBar(Context context) { + this(context, null); + } + + public DiscreteSeekBar(Context context, AttributeSet attrs) { + this(context, attrs, R.attr.discreteSeekBarStyle); + } + + public DiscreteSeekBar(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + setFocusable(true); + setWillNotDraw(false); + + mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); + float density = context.getResources().getDisplayMetrics().density; + + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.DiscreteSeekBar, + defStyleAttr, R.style.Widget_DiscreteSeekBar); + + int max = 100; + int min = 0; + mMirrorForRtl = a.getBoolean(R.styleable.DiscreteSeekBar_dsb_mirrorForRtl, mMirrorForRtl); + mAllowTrackClick = a.getBoolean(R.styleable.DiscreteSeekBar_dsb_allowTrackClickToDrag, mAllowTrackClick); + mIndicatorPopupEnabled = a.getBoolean(R.styleable.DiscreteSeekBar_dsb_indicatorPopupEnabled, mIndicatorPopupEnabled); + mTrackHeight = a.getDimensionPixelSize(R.styleable.DiscreteSeekBar_dsb_trackHeight, (int) (1 * density)); + mTrackBaseHeight = a.getDimensionPixelSize(R.styleable.DiscreteSeekBar_dsb_trackBaseHeight, (int) (1 * density)); + mScrubberHeight = a.getDimensionPixelSize(R.styleable.DiscreteSeekBar_dsb_scrubberHeight, (int) (4 * density)); + int thumbSize = a.getDimensionPixelSize(R.styleable.DiscreteSeekBar_dsb_thumbSize, (int) (density * ThumbDrawable.DEFAULT_SIZE_DP)); + int separation = a.getDimensionPixelSize(R.styleable.DiscreteSeekBar_dsb_indicatorSeparation, + (int) (SEPARATION_DP * density)); + + int touchBounds = thumbSize * 3 / 2; + mAddedTouchBounds = Math.max(0, (touchBounds - thumbSize) / 2); + + int indexMax = R.styleable.DiscreteSeekBar_dsb_max; + int indexMin = R.styleable.DiscreteSeekBar_dsb_min; + int indexValue = R.styleable.DiscreteSeekBar_dsb_value; + final TypedValue out = new TypedValue(); + //Not sure why, but we wanted to be able to use dimensions here... + if (a.getValue(indexMax, out)) { + if (out.type == TypedValue.TYPE_DIMENSION) { + max = a.getDimensionPixelSize(indexMax, max); + } else { + max = a.getInteger(indexMax, max); + } + } + if (a.getValue(indexMin, out)) { + if (out.type == TypedValue.TYPE_DIMENSION) { + min = a.getDimensionPixelSize(indexMin, min); + } else { + min = a.getInteger(indexMin, min); + } + } + if (a.getValue(indexValue, out)) { + if (out.type == TypedValue.TYPE_DIMENSION) { + mValueBase = a.getDimensionPixelSize(indexValue, mValueBase); + } else { + mValueBase = a.getInteger(indexValue, mValueBase); + } + } + + mMin = min; + mMax = Math.max(min + 1, max); + mValue = Math.max(min, Math.min(max, mValueBase)); + updateKeyboardRange(); + + mIndicatorFormatter = a.getString(R.styleable.DiscreteSeekBar_dsb_indicatorFormatter); + + ColorStateList trackColor = a.getColorStateList(R.styleable.DiscreteSeekBar_dsb_trackColor); + ColorStateList progressColor = a.getColorStateList(R.styleable.DiscreteSeekBar_dsb_progressColor); + ColorStateList rippleColor = a.getColorStateList(R.styleable.DiscreteSeekBar_dsb_rippleColor); + boolean editMode = isInEditMode(); + if (editMode || rippleColor == null) { + rippleColor = new ColorStateList(new int[][]{new int[]{}}, new int[]{Color.DKGRAY}); + } + if (editMode || trackColor == null) { + trackColor = new ColorStateList(new int[][]{new int[]{}}, new int[]{Color.GRAY}); + } + if (editMode || progressColor == null) { + progressColor = new ColorStateList(new int[][]{new int[]{}}, new int[]{DEFAULT_THUMB_COLOR}); + } + + mRipple = SeekBarCompat.getRipple(rippleColor); + if (isLollipopOrGreater) { + SeekBarCompat.setBackground(this, mRipple); + } else { + mRipple.setCallback(this); + } + + TrackRectDrawable shapeDrawable = new TrackRectDrawable(trackColor); + mTrack = shapeDrawable; + mTrack.setCallback(this); + + mTrackBase = new TrackRectDrawable(trackColor); + mTrackBase.setCallback(this); + + shapeDrawable = new TrackRectDrawable(progressColor); + mScrubber = shapeDrawable; + mScrubber.setCallback(this); + + mThumb = new ThumbDrawable(progressColor, thumbSize); + mThumb.setCallback(this); + mThumb.setBounds(0, 0, mThumb.getIntrinsicWidth(), mThumb.getIntrinsicHeight()); + + + if (!editMode) { + mIndicator = new PopupIndicator(context, attrs, defStyleAttr, convertValueToMessage(mMax), + thumbSize, thumbSize + mAddedTouchBounds + separation); + mIndicator.setListener(mFloaterListener); + } + a.recycle(); + + setNumericTransformer(new DefaultNumericTransformer()); + + } + + /** + * Sets the current Indicator formatter string + * + * @param formatter + * @see String#format(String, Object...) + * @see #setNumericTransformer(NumericTransformer) + */ + public void setIndicatorFormatter(@Nullable String formatter) { + mIndicatorFormatter = formatter; + updateProgressMessage(mValue); + } + + /** + * Sets the current {@link NumericTransformer} + * + * @param transformer + * @see #getNumericTransformer() + */ + public void setNumericTransformer(@Nullable NumericTransformer transformer) { + mNumericTransformer = transformer != null ? transformer : new DefaultNumericTransformer(); + //We need to refresh the PopupIndicator view + updateIndicatorSizes(); + updateProgressMessage(mValue); + } + + /** + * Retrieves the current {@link NumericTransformer} + * + * @return NumericTransformer + * @see #setNumericTransformer + */ + public NumericTransformer getNumericTransformer() { + return mNumericTransformer; + } + + /** + * Sets the maximum value for this DiscreteSeekBar + * if the supplied argument is smaller than the Current MIN value, + * the MIN value will be set to MAX-1 + *

+ *

+ * Also if the current progress is out of the new range, it will be set to MIN + *

+ * + * @param max + * @see #setMin(int) + * @see #setProgress(int) + */ + public void setMax(int max) { + if (mMax == max) + return; + mMax = max; + if (mMax < mMin) { + setMin(mMax - 1); + } + updateKeyboardRange(); + + //We need to refresh the PopupIndicator view + updateIndicatorSizes(); + } + + public int getMax() { + return mMax; + } + + /** + * Sets the minimum value for this DiscreteSeekBar + * if the supplied argument is bigger than the Current MAX value, + * the MAX value will be set to MIN+1 + *

+ * Also if the current progress is out of the new range, it will be set to MIN + *

+ * + * @param min + * @see #setMax(int) + * @see #setProgress(int) + */ + public void setMin(int min) { + if (mMin == min) + return; + mMin = min; + if (mMin > mMax) { + setMax(mMin + 1); + } + updateKeyboardRange(); + } + + public int getMin() { + return mMin; + } + + /** + * Sets the current progress for this DiscreteSeekBar + * The supplied argument will be capped to the current MIN-MAX range + * + * @param progress + * @see #setMax(int) + * @see #setMin(int) + */ + public void setProgress(int progress) { + setProgress(progress, false); + } + + private void setProgress(int value, boolean fromUser) { + value = Math.max(mMin, Math.min(mMax, value)); + if (isAnimationRunning()) { + mPositionAnimator.cancel(); + } + + mValue = value; + notifyProgress(value, fromUser); + updateProgressMessage(value); + updateThumbPosFromCurrentProgress(); + } + + /** + * Get the current progress + * + * @return the current progress :-P + */ + public int getProgress() { + return mValue; + } + + /** + * Sets a listener to receive notifications of changes to the DiscreteSeekBar's progress level. Also + * provides notifications of when the DiscreteSeekBar shows/hides the bubble indicator. + * + * @param listener The seek bar notification listener + * @see OnProgressChangeListener + */ + public void setOnProgressChangeListener(@Nullable OnProgressChangeListener listener) { + mPublicChangeListener = listener; + } + + /** + * Sets the color of the seek thumb, as well as the color of the popup indicator. + * + * @param thumbColor The color the seek thumb will be changed to + * @param indicatorColor The color the popup indicator will be changed to + * The indicator will animate from thumbColor to indicatorColor + * when opening + */ + public void setThumbColor(int thumbColor, int indicatorColor) { + mThumb.setColorStateList(ColorStateList.valueOf(thumbColor)); + mIndicator.setColors(indicatorColor, thumbColor); + } + + /** + * Sets the color of the seek thumb, as well as the color of the popup indicator. + * + * @param thumbColorStateList The ColorStateList the seek thumb will be changed to + * @param indicatorColor The color the popup indicator will be changed to + * The indicator will animate from thumbColorStateList(pressed state) to indicatorColor + * when opening + */ + public void setThumbColor(@NonNull ColorStateList thumbColorStateList, int indicatorColor) { + mThumb.setColorStateList(thumbColorStateList); + //we use the "pressed" color to morph the indicator from it to its own color + int thumbColor = thumbColorStateList.getColorForState(new int[]{PRESSED_STATE}, thumbColorStateList.getDefaultColor()); + mIndicator.setColors(indicatorColor, thumbColor); + } + + /** + * Sets the color of the seekbar scrubber + * + * @param color The color the track scrubber will be changed to + */ + public void setScrubberColor(int color) { + mScrubber.setColorStateList(ColorStateList.valueOf(color)); + } + + /** + * Sets the color of the seekbar scrubber + * + * @param colorStateList The ColorStateList the track scrubber will be changed to + */ + public void setScrubberColor(@NonNull ColorStateList colorStateList) { + mScrubber.setColorStateList(colorStateList); + } + + /** + * Sets the color of the seekbar ripple + * + * @param color The color the track ripple will be changed to + */ + public void setRippleColor(int color) { + setRippleColor(new ColorStateList(new int[][]{new int[]{}}, new int[]{color})); + } + + /** + * Sets the color of the seekbar ripple + * + * @param colorStateList The ColorStateList the track ripple will be changed to + */ + public void setRippleColor(@NonNull ColorStateList colorStateList) { + SeekBarCompat.setRippleColor(mRipple, colorStateList); + } + + /** + * Sets the color of the seekbar scrubber + * + * @param color The color the track will be changed to + */ + public void setTrackColor(int color) { + mTrack.setColorStateList(ColorStateList.valueOf(color)); + } + + /** + * Sets the color of the seekbar scrubber + * + * @param colorStateList The ColorStateList the track will be changed to + */ + public void setTrackColor(@NonNull ColorStateList colorStateList) { + mTrack.setColorStateList(colorStateList); + } + + /** + * If {@code enabled} is false the indicator won't appear. By default popup indicator is + * enabled. + */ + public void setIndicatorPopupEnabled(boolean enabled) { + this.mIndicatorPopupEnabled = enabled; + } + + private void updateIndicatorSizes() { + if (!isInEditMode()) { + if (mNumericTransformer.useStringTransform()) { + mIndicator.updateSizes(mNumericTransformer.transformToString(mMax)); + } else { + mIndicator.updateSizes(convertValueToMessage(mNumericTransformer.transform(mMax))); + } + } + + } + + private void notifyProgress(int value, boolean fromUser) { + if (mPublicChangeListener != null) { + mPublicChangeListener.onProgressChanged(DiscreteSeekBar.this, value, fromUser); + } + onValueChanged(value); + } + + private void notifyBubble(boolean open) { + if (open) { + onShowBubble(); + } else { + onHideBubble(); + } + } + + /** + * When the {@link DiscreteSeekBar} enters pressed or focused state + * the bubble with the value will be shown, and this method called + *

+ * Subclasses may override this to add functionality around this event + *

+ */ + protected void onShowBubble() { + } + + /** + * When the {@link DiscreteSeekBar} exits pressed or focused state + * the bubble with the value will be hidden, and this method called + *

+ * Subclasses may override this to add functionality around this event + *

+ */ + protected void onHideBubble() { + } + + /** + * When the {@link DiscreteSeekBar} value changes this method is called + *

+ * Subclasses may override this to add functionality around this event + * without having to specify a {@link OnProgressChangeListener} + *

+ */ + protected void onValueChanged(int value) { + } + + private void updateKeyboardRange() { + int range = mMax - mMin; + if ((mKeyProgressIncrement == 0) || (range / mKeyProgressIncrement > 20)) { + // It will take the user too long to change this via keys, change it + // to something more reasonable + mKeyProgressIncrement = Math.max(1, Math.round((float) range / 20)); + } + } + + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int widthSize = MeasureSpec.getSize(widthMeasureSpec); + int height = mThumb.getIntrinsicHeight() + getPaddingTop() + getPaddingBottom(); + height += (mAddedTouchBounds * 2); + setMeasuredDimension(widthSize, height); + } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + super.onLayout(changed, left, top, right, bottom); + if (changed) { + removeCallbacks(mShowIndicatorRunnable); + if (!isInEditMode()) { + mIndicator.dismissComplete(); + } + updateFromDrawableState(); + } + } + + @Override + public void scheduleDrawable(Drawable who, Runnable what, long when) { + super.scheduleDrawable(who, what, when); + } + + @Override + protected void onSizeChanged(int w, int h, int oldw, int oldh) { + super.onSizeChanged(w, h, oldw, oldh); + int thumbWidth = mThumb.getIntrinsicWidth(); + int thumbHeight = mThumb.getIntrinsicHeight(); + int addedThumb = mAddedTouchBounds; + int halfThumb = thumbWidth / 2; + int paddingLeft = getPaddingLeft() + addedThumb; + int paddingRight = getPaddingRight(); + int bottom = getHeight() - getPaddingBottom() - addedThumb; + mThumb.setBounds(paddingLeft, bottom - thumbHeight, paddingLeft + thumbWidth, bottom); + int trackHeight = Math.max(mTrackHeight / 2, 1); + mTrack.setBounds(paddingLeft + halfThumb, bottom - halfThumb - trackHeight, + getWidth() - halfThumb - paddingRight - addedThumb, bottom - halfThumb + trackHeight); + int available = getWidth() - paddingRight - addedThumb - paddingLeft - thumbWidth; + float scaleDrawBase = (mValueBase - mMin) / (float) (mMax - mMin); + final int thumbPosBase = (int) (scaleDrawBase * available + 0.5f); + mTrackBase.setBounds(paddingLeft + halfThumb + thumbPosBase - mTrackBaseHeight / 8, bottom - halfThumb - mTrackBaseHeight / 2, + paddingLeft + halfThumb + thumbPosBase + mTrackBaseHeight / 8, bottom - halfThumb + mTrackBaseHeight / 2); + int scrubberHeight = Math.max(mScrubberHeight / 2, 2); + mScrubber.setBounds(paddingLeft + halfThumb, bottom - halfThumb - scrubberHeight, + paddingLeft + halfThumb, bottom - halfThumb + scrubberHeight); + + //Update the thumb position after size changed + updateThumbPosFromCurrentProgress(); + } + + @Override + protected synchronized void onDraw(Canvas canvas) { + if (!isLollipopOrGreater) { + mRipple.draw(canvas); + } + super.onDraw(canvas); + mTrack.draw(canvas); + mScrubber.draw(canvas); + if (mMin != mValueBase && mMax != mValueBase) { + mTrackBase.draw(canvas); + } + mThumb.draw(canvas); + } + + @Override + protected void drawableStateChanged() { + super.drawableStateChanged(); + updateFromDrawableState(); + } + + private void updateFromDrawableState() { + int[] state = getDrawableState(); + boolean focused = false; + boolean pressed = false; + for (int i : state) { + if (i == FOCUSED_STATE) { + focused = true; + } else if (i == PRESSED_STATE) { + pressed = true; + } + } + if (isEnabled() && (focused || pressed) && mIndicatorPopupEnabled) { + //We want to add a small delay here to avoid + //poping in/out on simple taps + removeCallbacks(mShowIndicatorRunnable); + postDelayed(mShowIndicatorRunnable, INDICATOR_DELAY_FOR_TAPS); + } else { + hideFloater(); + } + mThumb.setState(state); + mTrack.setState(state); + mScrubber.setState(state); + mRipple.setState(state); + } + + private void updateProgressMessage(int value) { + if (!isInEditMode()) { + if (mNumericTransformer.useStringTransform()) { + mIndicator.setValue(mNumericTransformer.transformToString(value)); + } else { + mIndicator.setValue(convertValueToMessage(mNumericTransformer.transform(value))); + } + } + } + + private String convertValueToMessage(int value) { + String format = mIndicatorFormatter != null ? mIndicatorFormatter : DEFAULT_FORMATTER; + //We're trying to re-use the Formatter here to avoid too much memory allocations + //But I'm not completey sure if it's doing anything good... :( + //Previously, this condition was wrong so the Formatter was always re-created + //But as I fixed the condition, the formatter started outputting trash characters from previous + //calls, so I mark the StringBuilder as empty before calling format again. + + //Anyways, I see the memory usage still go up on every call to this method + //and I have no clue on how to fix that... damn Strings... + if (mFormatter == null || !mFormatter.locale().equals(Locale.getDefault())) { + int bufferSize = format.length() + String.valueOf(mMax).length(); + if (mFormatBuilder == null) { + mFormatBuilder = new StringBuilder(bufferSize); + } else { + mFormatBuilder.ensureCapacity(bufferSize); + } + mFormatter = new Formatter(mFormatBuilder, Locale.getDefault()); + } else { + mFormatBuilder.setLength(0); + } + return mFormatter.format(format, value).toString(); + } + + @Override + public boolean onTouchEvent(MotionEvent event) { + if (!isEnabled()) { + return false; + } + switch (event.getAction()) { + case MotionEvent.ACTION_DOWN: + mDownX = event.getX(); + startDragging(event, isInScrollingContainer()); + break; + case MotionEvent.ACTION_MOVE: + if (isDragging()) { + updateDragging(event); + } else { + final float x = event.getX(); + if (Math.abs(x - mDownX) > mTouchSlop) { + startDragging(event, false); + } + } + break; + case MotionEvent.ACTION_UP: + if (!isDragging() && mAllowTrackClick) { + startDragging(event, false); + updateDragging(event); + } + stopDragging(); + break; + case MotionEvent.ACTION_CANCEL: + stopDragging(); + break; + } + return true; + } + + private boolean isInScrollingContainer() { + return SeekBarCompat.isInScrollingContainer(getParent()); + } + + private boolean startDragging(MotionEvent ev, boolean ignoreTrackIfInScrollContainer) { + final Rect bounds = mTempRect; + mThumb.copyBounds(bounds); + //Grow the current thumb rect for a bigger touch area + bounds.inset(-mAddedTouchBounds, -mAddedTouchBounds); + mIsDragging = (bounds.contains((int) ev.getX(), (int) ev.getY())); + if (!mIsDragging && mAllowTrackClick && !ignoreTrackIfInScrollContainer) { + //If the user clicked outside the thumb, we compute the current position + //and force an immediate drag to it. + mIsDragging = true; + mDragOffset = (bounds.width() / 2) - mAddedTouchBounds; + updateDragging(ev); + //As the thumb may have moved, get the bounds again + mThumb.copyBounds(bounds); + bounds.inset(-mAddedTouchBounds, -mAddedTouchBounds); + } + if (mIsDragging) { + setPressed(true); + attemptClaimDrag(); + setHotspot(ev.getX(), ev.getY()); + mDragOffset = (int) (ev.getX() - bounds.left - mAddedTouchBounds); + if (mPublicChangeListener != null) { + mPublicChangeListener.onStartTrackingTouch(this); + } + } + return mIsDragging; + } + + private boolean isDragging() { + return mIsDragging; + } + + private void stopDragging() { + if (mPublicChangeListener != null) { + mPublicChangeListener.onStopTrackingTouch(this); + } + mIsDragging = false; + setPressed(false); + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + boolean handled = false; + if (isEnabled()) { + int progress = getAnimatedProgress(); + switch (keyCode) { + case KeyEvent.KEYCODE_DPAD_LEFT: + handled = true; + if (progress <= mMin) + break; + animateSetProgress(progress - mKeyProgressIncrement); + break; + case KeyEvent.KEYCODE_DPAD_RIGHT: + handled = true; + if (progress >= mMax) + break; + animateSetProgress(progress + mKeyProgressIncrement); + break; + } + } + + return handled || super.onKeyDown(keyCode, event); + } + + private int getAnimatedProgress() { + return isAnimationRunning() ? getAnimationTarget() : mValue; + } + + + boolean isAnimationRunning() { + return mPositionAnimator != null && mPositionAnimator.isRunning(); + } + + void animateSetProgress(int progress) { + final float curProgress = isAnimationRunning() ? getAnimationPosition() : getProgress(); + + if (progress < mMin) { + progress = mMin; + } else if (progress > mMax) { + progress = mMax; + } + //setProgressValueOnly(progress); + + if (mPositionAnimator != null) { + mPositionAnimator.cancel(); + } + + mAnimationTarget = progress; + mPositionAnimator = AnimatorCompat.create(curProgress, + progress, new AnimatorCompat.AnimationFrameUpdateListener() { + @Override + public void onAnimationFrame(float currentValue) { + setAnimationPosition(currentValue); + } + }); + mPositionAnimator.setDuration(PROGRESS_ANIMATION_DURATION); + mPositionAnimator.start(); + } + + private int getAnimationTarget() { + return mAnimationTarget; + } + + void setAnimationPosition(float position) { + mAnimationPosition = position; + float currentScale = (position - mMin) / (float) (mMax - mMin); + updateProgressFromAnimation(currentScale); + } + + float getAnimationPosition() { + return mAnimationPosition; + } + + + private void updateDragging(MotionEvent ev) { + setHotspot(ev.getX(), ev.getY()); + int x = (int) ev.getX(); + Rect oldBounds = mThumb.getBounds(); + int halfThumb = oldBounds.width() / 2; + int addedThumb = mAddedTouchBounds; + int newX = x - mDragOffset + halfThumb; + int left = getPaddingLeft() + halfThumb + addedThumb; + int right = getWidth() - (getPaddingRight() + halfThumb + addedThumb); + if (newX < left) { + newX = left; + } else if (newX > right) { + newX = right; + } + + int available = right - left; + float scale = (float) (newX - left) / (float) available; + if (isRtl()) { + scale = 1f - scale; + } + int progress = Math.round((scale * (mMax - mMin)) + mMin); + setProgress(progress, true); + } + + private void updateProgressFromAnimation(float scale) { + Rect bounds = mThumb.getBounds(); + int halfThumb = bounds.width() / 2; + int addedThumb = mAddedTouchBounds; + int left = getPaddingLeft() + halfThumb + addedThumb; + int right = getWidth() - (getPaddingRight() + halfThumb + addedThumb); + int available = right - left; + int progress = Math.round((scale * (mMax - mMin)) + mMin); + //we don't want to just call setProgress here to avoid the animation being cancelled, + //and this position is not bound to a real progress value but interpolated + if (progress != getProgress()) { + mValue = progress; + notifyProgress(mValue, true); + updateProgressMessage(progress); + } + final int thumbPos = (int) (scale * available + 0.5f); + + float scaleDrawBase = (mValueBase - mMin) / (float) (mMax - mMin); + final int thumbPosBase = (int) (scaleDrawBase * available + 0.5f); + + updateThumbPos(thumbPosBase, thumbPos); + } + + private void updateThumbPosFromCurrentProgress() { + int thumbWidth = mThumb.getIntrinsicWidth(); + int addedThumb = mAddedTouchBounds; + int halfThumb = thumbWidth / 2; + + //This doesn't matter if RTL, as we just need the "avaiable" area + int left = getPaddingLeft() + halfThumb + addedThumb; + int right = getWidth() - (getPaddingRight() + halfThumb + addedThumb); + int available = right - left; + + float scaleDraw = (mValue - mMin) / (float) (mMax - mMin); + float scaleDrawBase = (mValueBase - mMin) / (float) (mMax - mMin); + + final int thumbPos = (int) (scaleDraw * available + 0.5f); + final int thumbPosBase = (int) (scaleDrawBase * available + 0.5f); + updateThumbPos(thumbPosBase, thumbPos); + } + + private void updateThumbPos(int base, int value) { + base += getPaddingLeft() + mAddedTouchBounds; + value += getPaddingLeft() + mAddedTouchBounds; + int start = Math.min(base, value); + int end = Math.max(base, value); + + int thumbWidth = mThumb.getIntrinsicWidth(); + int halfThumb = thumbWidth / 2; + mThumb.copyBounds(mInvalidateRect); + mThumb.setBounds(value, mInvalidateRect.top, value + thumbWidth, mInvalidateRect.bottom); + mScrubber.getBounds().left = start + halfThumb; + mScrubber.getBounds().right = end + halfThumb; + final Rect finalBounds = mTempRect; + mThumb.copyBounds(finalBounds); + if (!isInEditMode()) { + mIndicator.move(finalBounds.centerX()); + } + mTrackBase.getBounds().left = base + halfThumb - mTrackBaseHeight / 8; + mTrackBase.getBounds().right = base + halfThumb + mTrackBaseHeight / 8; + mInvalidateRect.inset(-mAddedTouchBounds, -mAddedTouchBounds); + finalBounds.inset(-mAddedTouchBounds, -mAddedTouchBounds); + mInvalidateRect.union(finalBounds); + SeekBarCompat.setHotspotBounds(mRipple, finalBounds.left, finalBounds.top, finalBounds.right, finalBounds.bottom); + invalidate(mInvalidateRect); + } + + + private void setHotspot(float x, float y) { + DrawableCompat.setHotspot(mRipple, x, y); + } + + @Override + protected boolean verifyDrawable(Drawable who) { + return who == mThumb || who == mTrack || who == mScrubber || who == mRipple || super.verifyDrawable(who); + } + + private void attemptClaimDrag() { + ViewParent parent = getParent(); + if (parent != null) { + parent.requestDisallowInterceptTouchEvent(true); + } + } + + private Runnable mShowIndicatorRunnable = new Runnable() { + @Override + public void run() { + showFloater(); + } + }; + + private void showFloater() { + if (!isInEditMode()) { + mThumb.animateToPressed(); + mIndicator.showIndicator(this, mThumb.getBounds()); + notifyBubble(true); + } + } + + private void hideFloater() { + removeCallbacks(mShowIndicatorRunnable); + if (!isInEditMode()) { + mIndicator.dismiss(); + notifyBubble(false); + } + } + + private MarkerDrawable.MarkerAnimationListener mFloaterListener = new MarkerDrawable.MarkerAnimationListener() { + @Override + public void onClosingComplete() { + mThumb.animateToNormal(); + } + + @Override + public void onOpeningComplete() { + + } + + }; + + @Override + protected void onDetachedFromWindow() { + super.onDetachedFromWindow(); + removeCallbacks(mShowIndicatorRunnable); + if (!isInEditMode()) { + mIndicator.dismissComplete(); + } + } + + @SuppressLint("WrongConstant") + public boolean isRtl() { + return (ViewCompat.getLayoutDirection(this) == LAYOUT_DIRECTION_RTL) && mMirrorForRtl; + } + + @Override + protected Parcelable onSaveInstanceState() { + Parcelable superState = super.onSaveInstanceState(); + CustomState state = new CustomState(superState); + state.progress = getProgress(); + state.max = mMax; + state.min = mMin; + return state; + } + + @Override + protected void onRestoreInstanceState(Parcelable state) { + if (state == null || !state.getClass().equals(CustomState.class)) { + super.onRestoreInstanceState(state); + return; + } + + CustomState customState = (CustomState) state; + setMin(customState.min); + setMax(customState.max); + setProgress(customState.progress, false); + super.onRestoreInstanceState(customState.getSuperState()); + } + + static class CustomState extends BaseSavedState { + private int progress; + private int max; + private int min; + + public CustomState(Parcel source) { + super(source); + progress = source.readInt(); + max = source.readInt(); + min = source.readInt(); + } + + public CustomState(Parcelable superState) { + super(superState); + } + + @Override + public void writeToParcel(Parcel outcoming, int flags) { + super.writeToParcel(outcoming, flags); + outcoming.writeInt(progress); + outcoming.writeInt(max); + outcoming.writeInt(min); + } + + public static final Creator CREATOR = + new Creator() { + + @Override + public CustomState[] newArray(int size) { + return new CustomState[size]; + } + + @Override + public CustomState createFromParcel(Parcel incoming) { + return new CustomState(incoming); + } + }; + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/Marker.java b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/Marker.java new file mode 100644 index 000000000..cd354b290 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/Marker.java @@ -0,0 +1,196 @@ +package com.yunbao.faceunity.seekbar.internal; + +import android.content.Context; +import android.content.res.ColorStateList; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.drawable.Drawable; +import android.os.Build; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.view.Gravity; +import android.view.View; +import android.view.ViewGroup; +import android.widget.FrameLayout; +import android.widget.TextView; + +import androidx.core.view.ViewCompat; + +import com.yunbao.faceunity.R; +import com.yunbao.faceunity.seekbar.internal.compat.SeekBarCompat; +import com.yunbao.faceunity.seekbar.internal.drawable.MarkerDrawable; + + +/** + * {@link ViewGroup} to be used as the real indicator. + *

+ * I've used this to be able to accommodate the TextView + * and the {@link MarkerDrawable} + * with the required positions and offsets + *

+ * + * @hide + */ +public class Marker extends ViewGroup implements MarkerDrawable.MarkerAnimationListener { + private static final int PADDING_DP = 1; + private static final int ELEVATION_DP = 8; + //The TextView to show the info + private TextView mNumber; + //The max width of this View + private int mWidth; + //some distance between the thumb and our bubble marker. + //This will be added to our measured height + private int mSeparation; + MarkerDrawable mMarkerDrawable; + + public Marker(Context context, AttributeSet attrs, int defStyleAttr, String maxValue, int thumbSize, int separation) { + super(context, attrs, defStyleAttr); + //as we're reading the parent DiscreteSeekBar attributes, it may wrongly set this view's visibility. + setVisibility(View.VISIBLE); + + DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.DiscreteSeekBar, + R.attr.discreteSeekBarStyle, R.style.Widget_DiscreteSeekBar); + + int padding = (int) (PADDING_DP * displayMetrics.density) * 2; + int textAppearanceId = a.getResourceId(R.styleable.DiscreteSeekBar_dsb_indicatorTextAppearance, + R.style.Widget_DiscreteIndicatorTextAppearance); + mNumber = new TextView(context); + //Add some padding to this textView so the bubble has some space to breath + mNumber.setPadding(padding, 0, padding, 0); + mNumber.setTextAppearance(context, textAppearanceId); + mNumber.setGravity(Gravity.CENTER); + mNumber.setText(maxValue); + mNumber.setMaxLines(1); + mNumber.setSingleLine(true); + SeekBarCompat.setTextDirection(mNumber, TEXT_DIRECTION_LOCALE); + mNumber.setVisibility(View.INVISIBLE); + + //add some padding for the elevation shadow not to be clipped + //I'm sure there are better ways of doing this... + setPadding(padding, padding, padding, padding); + + resetSizes(maxValue); + + mSeparation = separation; + ColorStateList color = a.getColorStateList(R.styleable.DiscreteSeekBar_dsb_indicatorColor); + mMarkerDrawable = new MarkerDrawable(color, thumbSize); + mMarkerDrawable.setCallback(this); + mMarkerDrawable.setMarkerListener(this); + mMarkerDrawable.setExternalOffset(padding); + + //Elevation for anroid 5+ + float elevation = a.getDimension(R.styleable.DiscreteSeekBar_dsb_indicatorElevation, ELEVATION_DP * displayMetrics.density); + ViewCompat.setElevation(this, elevation); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + SeekBarCompat.setOutlineProvider(this, mMarkerDrawable); + } + a.recycle(); + } + + public void resetSizes(String maxValue) { + DisplayMetrics displayMetrics = getResources().getDisplayMetrics(); + //Account for negative numbers... is there any proper way of getting the biggest string between our range???? + mNumber.setText("-" + maxValue); + //Do a first forced measure call for the TextView (with the biggest text content), + //to calculate the max width and use always the same. + //this avoids the TextView from shrinking and growing when the text content changes + int wSpec = MeasureSpec.makeMeasureSpec(displayMetrics.widthPixels, MeasureSpec.AT_MOST); + int hSpec = MeasureSpec.makeMeasureSpec(displayMetrics.heightPixels, MeasureSpec.AT_MOST); + mNumber.measure(wSpec, hSpec); + mWidth = Math.max(mNumber.getMeasuredWidth(), mNumber.getMeasuredHeight()); + removeView(mNumber); + addView(mNumber, new FrameLayout.LayoutParams(mWidth, mWidth, Gravity.LEFT | Gravity.TOP)); + } + + @Override + protected void dispatchDraw(Canvas canvas) { + mMarkerDrawable.draw(canvas); + super.dispatchDraw(canvas); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + measureChildren(widthMeasureSpec, heightMeasureSpec); + int widthSize = mWidth + getPaddingLeft() + getPaddingRight(); + int heightSize = mWidth + getPaddingTop() + getPaddingBottom(); + //This diff is the basic calculation of the difference between + //a square side size and its diagonal + //this helps us account for the visual offset created by MarkerDrawable + //when leaving one of the corners un-rounded + int diff = (int) ((1.41f * mWidth) - mWidth) / 2; + setMeasuredDimension(widthSize, heightSize + diff + mSeparation); + } + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + int left = getPaddingLeft(); + int top = getPaddingTop(); + int right = getWidth() - getPaddingRight(); + int bottom = getHeight() - getPaddingBottom(); + //the TetView is always layout at the top + mNumber.layout(left, top, left + mWidth, top + mWidth); + //the MarkerDrawable uses the whole view, it will adapt itself... + // or it seems so... + mMarkerDrawable.setBounds(left, top, right, bottom); + } + + @Override + protected boolean verifyDrawable(Drawable who) { + return who == mMarkerDrawable || super.verifyDrawable(who); + } + + @Override + protected void onAttachedToWindow() { + super.onAttachedToWindow(); + //HACK: Sometimes, the animateOpen() call is made before the View is attached + //so the drawable cannot schedule itself to run the animation + //I think we can call it here safely. + //I've seen it happen in android 2.3.7 + animateOpen(); + } + + public void setValue(CharSequence value) { + mNumber.setText(value); + } + + public CharSequence getValue() { + return mNumber.getText(); + } + + public void animateOpen() { + mMarkerDrawable.stop(); + mMarkerDrawable.animateToPressed(); + } + + public void animateClose() { + mMarkerDrawable.stop(); + mNumber.setVisibility(View.INVISIBLE); + mMarkerDrawable.animateToNormal(); + } + + @Override + public void onOpeningComplete() { + mNumber.setVisibility(View.VISIBLE); + if (getParent() instanceof MarkerDrawable.MarkerAnimationListener) { + ((MarkerDrawable.MarkerAnimationListener) getParent()).onOpeningComplete(); + } + } + + @Override + public void onClosingComplete() { + if (getParent() instanceof MarkerDrawable.MarkerAnimationListener) { + ((MarkerDrawable.MarkerAnimationListener) getParent()).onClosingComplete(); + } + } + + @Override + protected void onDetachedFromWindow() { + super.onDetachedFromWindow(); + mMarkerDrawable.stop(); + } + + public void setColors(int startColor, int endColor) { + mMarkerDrawable.setColors(startColor, endColor); + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/PopupIndicator.java b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/PopupIndicator.java new file mode 100644 index 000000000..d968abd51 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/PopupIndicator.java @@ -0,0 +1,256 @@ +package com.yunbao.faceunity.seekbar.internal; + +import android.content.Context; +import android.graphics.PixelFormat; +import android.graphics.Point; +import android.graphics.Rect; +import android.os.IBinder; +import android.util.AttributeSet; +import android.util.DisplayMetrics; +import android.view.Gravity; +import android.view.View; +import android.view.ViewGroup; +import android.view.WindowManager; +import android.widget.FrameLayout; + +import androidx.core.view.GravityCompat; + +import com.yunbao.faceunity.seekbar.internal.compat.SeekBarCompat; +import com.yunbao.faceunity.seekbar.internal.drawable.MarkerDrawable; + + +/** + * Class to manage the floating bubble thing, similar (but quite worse tested than {@link android.widget.PopupWindow} + *

+ *

+ * This will attach a View to the Window (full-width, measured-height, positioned just under the thumb) + *

+ * + * @hide + * @see #showIndicator(View, Rect) + * @see #dismiss() + * @see #dismissComplete() + * @see Floater + */ +public class PopupIndicator { + + private final WindowManager mWindowManager; + private boolean mShowing; + private Floater mPopupView; + //Outside listener for the DiscreteSeekBar to get MarkerDrawable animation events. + //The whole chain of events goes this way: + //MarkerDrawable->Marker->Floater->mListener->DiscreteSeekBar.... + //... phew! + private MarkerDrawable.MarkerAnimationListener mListener; + private int[] mDrawingLocation = new int[2]; + Point screenSize = new Point(); + + public PopupIndicator(Context context, AttributeSet attrs, int defStyleAttr, String maxValue, int thumbSize, int separation) { + mWindowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); + mPopupView = new Floater(context, attrs, defStyleAttr, maxValue, thumbSize, separation); + } + + public void updateSizes(String maxValue) { + dismissComplete(); + if (mPopupView != null) { + mPopupView.mMarker.resetSizes(maxValue); + } + } + + public void setListener(MarkerDrawable.MarkerAnimationListener listener) { + mListener = listener; + } + + /** + * We want the Floater to be full-width because the contents will be moved from side to side. + * We may/should change this in the future to use just the PARENT View width and/or pass it in the constructor + */ + private void measureFloater() { + int specWidth = View.MeasureSpec.makeMeasureSpec(screenSize.x, View.MeasureSpec.EXACTLY); + int specHeight = View.MeasureSpec.makeMeasureSpec(screenSize.y, View.MeasureSpec.AT_MOST); + mPopupView.measure(specWidth, specHeight); + } + + public void setValue(CharSequence value) { + mPopupView.mMarker.setValue(value); + } + + public boolean isShowing() { + return mShowing; + } + + public void showIndicator(View parent, Rect touchBounds) { + if (isShowing()) { + mPopupView.mMarker.animateOpen(); + return; + } + + IBinder windowToken = parent.getWindowToken(); + if (windowToken != null) { + WindowManager.LayoutParams p = createPopupLayout(windowToken); + + p.gravity = Gravity.TOP | GravityCompat.START; + updateLayoutParamsForPosiion(parent, p, touchBounds.bottom); + mShowing = true; + + translateViewIntoPosition(touchBounds.centerX()); + invokePopup(p); + } + } + + public void move(int x) { + if (!isShowing()) { + return; + } + translateViewIntoPosition(x); + } + + public void setColors(int startColor, int endColor) { + mPopupView.setColors(startColor, endColor); + } + + /** + * This will start the closing animation of the Marker and call onClosingComplete when finished + */ + public void dismiss() { + mPopupView.mMarker.animateClose(); + } + + /** + * FORCE the popup window to be removed. + * You typically calls this when the parent view is being removed from the window to avoid a Window Leak + */ + public void dismissComplete() { + if (isShowing()) { + mShowing = false; + try { + mWindowManager.removeViewImmediate(mPopupView); + } finally { + } + } + } + + + private void updateLayoutParamsForPosiion(View anchor, WindowManager.LayoutParams p, int yOffset) { + DisplayMetrics displayMetrics = anchor.getResources().getDisplayMetrics(); + screenSize.set(displayMetrics.widthPixels, displayMetrics.heightPixels); + + measureFloater(); + int measuredHeight = mPopupView.getMeasuredHeight(); + int paddingBottom = mPopupView.mMarker.getPaddingBottom(); + anchor.getLocationInWindow(mDrawingLocation); + p.x = 0; + p.y = mDrawingLocation[1] - measuredHeight + yOffset + paddingBottom; + p.width = screenSize.x; + p.height = measuredHeight; + } + + private void translateViewIntoPosition(final int x) { + mPopupView.setFloatOffset(x + mDrawingLocation[0]); + } + + private void invokePopup(WindowManager.LayoutParams p) { + mWindowManager.addView(mPopupView, p); + mPopupView.mMarker.animateOpen(); + } + + private WindowManager.LayoutParams createPopupLayout(IBinder token) { + WindowManager.LayoutParams p = new WindowManager.LayoutParams(); + p.gravity = Gravity.START | Gravity.TOP; + p.width = ViewGroup.LayoutParams.MATCH_PARENT; + p.height = ViewGroup.LayoutParams.MATCH_PARENT; + p.format = PixelFormat.TRANSLUCENT; + p.flags = computeFlags(p.flags); + p.type = WindowManager.LayoutParams.TYPE_APPLICATION_PANEL; + p.token = token; + p.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN; + p.setTitle("DiscreteSeekBar Indicator:" + Integer.toHexString(hashCode())); + + return p; + } + + /** + * I'm NOT completely sure how all this bitwise things work... + * + * @param curFlags + * @return + */ + private int computeFlags(int curFlags) { + curFlags &= ~( + WindowManager.LayoutParams.FLAG_IGNORE_CHEEK_PRESSES | + WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | + WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | + WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | + WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS | + WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); + curFlags |= WindowManager.LayoutParams.FLAG_IGNORE_CHEEK_PRESSES; + curFlags |= WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; + curFlags |= WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE; + curFlags |= WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS; + return curFlags; + } + + /** + * Small FrameLayout class to hold and move the bubble around when requested + * I wanted to use the {@link Marker} directly + * but doing so would make some things harder to implement + * (like moving the marker around, having the Marker's outline to work, etc) + */ + private class Floater extends FrameLayout implements MarkerDrawable.MarkerAnimationListener { + private Marker mMarker; + private int mOffset; + + public Floater(Context context, AttributeSet attrs, int defStyleAttr, String maxValue, int thumbSize, int separation) { + super(context); + mMarker = new Marker(context, attrs, defStyleAttr, maxValue, thumbSize, separation); + addView(mMarker, new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.LEFT | Gravity.TOP)); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + measureChildren(widthMeasureSpec, heightMeasureSpec); + int widthSize = MeasureSpec.getSize(widthMeasureSpec); + int heightSie = mMarker.getMeasuredHeight(); + setMeasuredDimension(widthSize, heightSie); + } + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + int centerDiffX = mMarker.getMeasuredWidth() / 2; + int offset = (mOffset - centerDiffX); + mMarker.layout(offset, 0, offset + mMarker.getMeasuredWidth(), mMarker.getMeasuredHeight()); + } + + public void setFloatOffset(int x) { + mOffset = x; + int centerDiffX = mMarker.getMeasuredWidth() / 2; + int offset = (x - centerDiffX); + mMarker.offsetLeftAndRight(offset - mMarker.getLeft()); + //Without hardware acceleration (or API levels<11), offsetting a view seems to NOT invalidate the proper area. + //We should calc the proper invalidate Rect but this will be for now... + if (!SeekBarCompat.isHardwareAccelerated(this)) { + invalidate(); + } + } + + @Override + public void onClosingComplete() { + if (mListener != null) { + mListener.onClosingComplete(); + } + dismissComplete(); + } + + @Override + public void onOpeningComplete() { + if (mListener != null) { + mListener.onOpeningComplete(); + } + } + + public void setColors(int startColor, int endColor) { + mMarker.setColors(startColor, endColor); + } + } + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/compat/AnimatorCompat.java b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/compat/AnimatorCompat.java new file mode 100644 index 000000000..94f11d8f0 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/compat/AnimatorCompat.java @@ -0,0 +1,73 @@ +package com.yunbao.faceunity.seekbar.internal.compat; + + +import com.yunbao.faceunity.seekbar.DiscreteSeekBar; + +/** + * Currently, there's no {@link android.animation.ValueAnimator} compatibility version + * and as we didn't want to throw in external dependencies, we made this small class. + *

+ *

+ * This will work like {@link android.support.v4.view.ViewPropertyAnimatorCompat}, that is, + * not doing anything on API<11 and using the default {@link android.animation.ValueAnimator} + * on API>=11 + *

+ *

+ * This class is used to provide animation to the {@link DiscreteSeekBar} + * when navigating with the Keypad + *

+ * + * @hide + */ +public abstract class AnimatorCompat { + public interface AnimationFrameUpdateListener { + public void onAnimationFrame(float currentValue); + } + + AnimatorCompat() { + + } + + public abstract void cancel(); + + public abstract boolean isRunning(); + + public abstract void setDuration(int progressAnimationDuration); + + public abstract void start(); + + public static final AnimatorCompat create(float start, float end, AnimationFrameUpdateListener listener) { + return new AnimatorCompatBase(start, end, listener); + } + + private static class AnimatorCompatBase extends AnimatorCompat { + + private final AnimationFrameUpdateListener mListener; + private final float mEndValue; + + public AnimatorCompatBase(float start, float end, AnimationFrameUpdateListener listener) { + mListener = listener; + mEndValue = end; + } + + @Override + public void cancel() { + + } + + @Override + public boolean isRunning() { + return false; + } + + @Override + public void setDuration(int progressAnimationDuration) { + + } + + @Override + public void start() { + mListener.onAnimationFrame(mEndValue); + } + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/compat/SeekBarCompat.java b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/compat/SeekBarCompat.java new file mode 100644 index 000000000..55b9e583f --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/compat/SeekBarCompat.java @@ -0,0 +1,130 @@ +package com.yunbao.faceunity.seekbar.internal.compat; + +import android.content.res.ColorStateList; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.RippleDrawable; +import android.os.Build; +import android.view.View; +import android.view.ViewParent; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.core.graphics.drawable.DrawableCompat; + +import com.yunbao.faceunity.seekbar.internal.drawable.AlmostRippleDrawable; +import com.yunbao.faceunity.seekbar.internal.drawable.MarkerDrawable; + + +/** + * Wrapper compatibility class to call some API-Specific methods + * And offer alternate procedures when possible + * + * @hide + */ +public class SeekBarCompat { + + /** + * Sets the custom Outline provider on API>=21. + * Does nothing on API<21 + * + * @param view + * @param markerDrawable + */ + public static void setOutlineProvider(View view, final MarkerDrawable markerDrawable) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + SeekBarCompatDontCrash.setOutlineProvider(view, markerDrawable); + } + } + + /** + * Our DiscreteSeekBar implementation uses a circular drawable on API < 21 + * because we don't set it as Background, but draw it ourselves + * + * @param colorStateList + * @return + */ + public static Drawable getRipple(ColorStateList colorStateList) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + return SeekBarCompatDontCrash.getRipple(colorStateList); + } else { + return new AlmostRippleDrawable(colorStateList); + } + } + + /** + * Sets the color of the seekbar ripple + * + * @param drawable + * @param colorStateList The ColorStateList the track ripple will be changed to + */ + public static void setRippleColor(@NonNull Drawable drawable, ColorStateList colorStateList) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + ((RippleDrawable) drawable).setColor(colorStateList); + } else { + ((AlmostRippleDrawable) drawable).setColor(colorStateList); + } + } + + /** + * As our DiscreteSeekBar implementation uses a circular drawable on API < 21 + * we want to use the same method to set its bounds as the Ripple's hotspot bounds. + * + * @param drawable + * @param left + * @param top + * @param right + * @param bottom + */ + public static void setHotspotBounds(Drawable drawable, int left, int top, int right, int bottom) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + //We don't want the full size rect, Lollipop ripple would be too big + int size = (right - left) / 8; + DrawableCompat.setHotspotBounds(drawable, left + size, top + size, right - size, bottom - size); + } else { + drawable.setBounds(left, top, right, bottom); + } + } + + /** + * android.support.v4.view.ViewCompat SHOULD include this once and for all!! + * But it doesn't... + * + * @param view + * @param background + */ + @SuppressWarnings("deprecation") + public static void setBackground(View view, Drawable background) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { + SeekBarCompatDontCrash.setBackground(view, background); + } else { + view.setBackgroundDrawable(background); + } + } + + /** + * Sets the TextView text direction attribute when possible + * + * @param textView + * @param textDirection + * @see TextView#setTextDirection(int) + */ + public static void setTextDirection(TextView textView, int textDirection) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { + SeekBarCompatDontCrash.setTextDirection(textView, textDirection); + } + } + + public static boolean isInScrollingContainer(ViewParent p) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { + return SeekBarCompatDontCrash.isInScrollingContainer(p); + } + return false; + } + + public static boolean isHardwareAccelerated(View view) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { + return SeekBarCompatDontCrash.isHardwareAccelerated(view); + } + return false; + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/compat/SeekBarCompatDontCrash.java b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/compat/SeekBarCompatDontCrash.java new file mode 100644 index 000000000..ef13919fb --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/compat/SeekBarCompatDontCrash.java @@ -0,0 +1,59 @@ +package com.yunbao.faceunity.seekbar.internal.compat; + +import android.annotation.TargetApi; +import android.content.res.ColorStateList; +import android.graphics.Outline; +import android.graphics.drawable.Drawable; +import android.graphics.drawable.RippleDrawable; +import android.view.View; +import android.view.ViewGroup; +import android.view.ViewOutlineProvider; +import android.view.ViewParent; +import android.widget.TextView; + +import com.yunbao.faceunity.seekbar.internal.drawable.MarkerDrawable; + + +/** + * Wrapper compatibility class to call some API-Specific methods + * And offer alternate procedures when possible + * + * @hide + */ +@TargetApi(21) +class SeekBarCompatDontCrash { + public static void setOutlineProvider(View marker, final MarkerDrawable markerDrawable) { + marker.setOutlineProvider(new ViewOutlineProvider() { + @Override + public void getOutline(View view, Outline outline) { + outline.setConvexPath(markerDrawable.getPath()); + } + }); + } + + public static Drawable getRipple(ColorStateList colorStateList) { + return new RippleDrawable(colorStateList, null, null); + } + + public static void setBackground(View view, Drawable background) { + view.setBackground(background); + } + + public static void setTextDirection(TextView number, int textDirection) { + number.setTextDirection(textDirection); + } + + public static boolean isInScrollingContainer(ViewParent p) { + while (p != null && p instanceof ViewGroup) { + if (((ViewGroup) p).shouldDelayChildPressedState()) { + return true; + } + p = p.getParent(); + } + return false; + } + + public static boolean isHardwareAccelerated(View view) { + return view.isHardwareAccelerated(); + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/AlmostRippleDrawable.java b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/AlmostRippleDrawable.java new file mode 100644 index 000000000..e69e2df5c --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/AlmostRippleDrawable.java @@ -0,0 +1,206 @@ +package com.yunbao.faceunity.seekbar.internal.drawable; + +import android.content.res.ColorStateList; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.graphics.Rect; +import android.graphics.drawable.Animatable; +import android.os.SystemClock; +import android.view.animation.AccelerateDecelerateInterpolator; +import android.view.animation.Interpolator; + +import androidx.annotation.NonNull; + + +public class AlmostRippleDrawable extends StateDrawable implements Animatable { + private static final long FRAME_DURATION = 1000 / 60; + private static final int ANIMATION_DURATION = 250; + + private static final float INACTIVE_SCALE = 0f; + private static final float ACTIVE_SCALE = 1f; + private float mCurrentScale = INACTIVE_SCALE; + private Interpolator mInterpolator; + private long mStartTime; + private boolean mReverse = false; + private boolean mRunning = false; + private int mDuration = ANIMATION_DURATION; + private float mAnimationInitialValue; + //We don't use colors just with our drawable state because of animations + private int mPressedColor; + private int mFocusedColor; + private int mDisabledColor; + private int mRippleColor; + private int mRippleBgColor; + + public AlmostRippleDrawable(@NonNull ColorStateList tintStateList) { + super(tintStateList); + mInterpolator = new AccelerateDecelerateInterpolator(); + setColor(tintStateList); + } + + public void setColor(@NonNull ColorStateList tintStateList) { + int defaultColor = tintStateList.getDefaultColor(); + mFocusedColor = tintStateList.getColorForState(new int[]{android.R.attr.state_enabled, android.R.attr.state_focused}, defaultColor); + mPressedColor = tintStateList.getColorForState(new int[]{android.R.attr.state_enabled, android.R.attr.state_pressed}, defaultColor); + mDisabledColor = tintStateList.getColorForState(new int[]{-android.R.attr.state_enabled}, defaultColor); + + //The ripple should be partially transparent + mFocusedColor = getModulatedAlphaColor(130, mFocusedColor); + mPressedColor = getModulatedAlphaColor(130, mPressedColor); + mDisabledColor = getModulatedAlphaColor(130, mDisabledColor); + } + + private static int getModulatedAlphaColor(int alphaValue, int originalColor) { + int alpha = Color.alpha(originalColor); + int scale = alphaValue + (alphaValue >> 7); + alpha = alpha * scale >> 8; + return Color.argb(alpha, Color.red(originalColor), Color.green(originalColor), Color.blue(originalColor)); + } + + @Override + public void doDraw(Canvas canvas, Paint paint) { + Rect bounds = getBounds(); + int size = Math.min(bounds.width(), bounds.height()); + float scale = mCurrentScale; + int rippleColor = mRippleColor; + int bgColor = mRippleBgColor; + float radius = (size / 2); + float radiusAnimated = radius * scale; + if (scale > INACTIVE_SCALE) { + if (bgColor != 0) { + paint.setColor(bgColor); + paint.setAlpha(decreasedAlpha(Color.alpha(bgColor))); + canvas.drawCircle(bounds.centerX(), bounds.centerY(), radius, paint); + } + if (rippleColor != 0) { + paint.setColor(rippleColor); + paint.setAlpha(modulateAlpha(Color.alpha(rippleColor))); + canvas.drawCircle(bounds.centerX(), bounds.centerY(), radiusAnimated, paint); + } + } + } + + private int decreasedAlpha(int alpha) { + int scale = 100 + (100 >> 7); + return alpha * scale >> 8; + } + + @Override + public boolean setState(int[] stateSet) { + int[] oldState = getState(); + boolean oldPressed = false; + for (int i : oldState) { + if (i == android.R.attr.state_pressed) { + oldPressed = true; + } + } + super.setState(stateSet); + boolean focused = false; + boolean pressed = false; + boolean disabled = true; + for (int i : stateSet) { + if (i == android.R.attr.state_focused) { + focused = true; + } else if (i == android.R.attr.state_pressed) { + pressed = true; + } else if (i == android.R.attr.state_enabled) { + disabled = false; + } + } + + if (disabled) { + unscheduleSelf(mUpdater); + mRippleColor = mDisabledColor; + mRippleBgColor = 0; + mCurrentScale = ACTIVE_SCALE / 2; + invalidateSelf(); + } else { + if (pressed) { + animateToPressed(); + mRippleColor = mRippleBgColor = mPressedColor; + } else if (oldPressed) { + mRippleColor = mRippleBgColor = mPressedColor; + animateToNormal(); + } else if (focused) { + mRippleColor = mFocusedColor; + mRippleBgColor = 0; + mCurrentScale = ACTIVE_SCALE; + invalidateSelf(); + } else { + mRippleColor = 0; + mRippleBgColor = 0; + mCurrentScale = INACTIVE_SCALE; + invalidateSelf(); + } + } + return true; + } + + public void animateToPressed() { + unscheduleSelf(mUpdater); + if (mCurrentScale < ACTIVE_SCALE) { + mReverse = false; + mRunning = true; + mAnimationInitialValue = mCurrentScale; + float durationFactor = 1f - ((mAnimationInitialValue - INACTIVE_SCALE) / (ACTIVE_SCALE - INACTIVE_SCALE)); + mDuration = (int) (ANIMATION_DURATION * durationFactor); + mStartTime = SystemClock.uptimeMillis(); + scheduleSelf(mUpdater, mStartTime + FRAME_DURATION); + } + } + + public void animateToNormal() { + unscheduleSelf(mUpdater); + if (mCurrentScale > INACTIVE_SCALE) { + mReverse = true; + mRunning = true; + mAnimationInitialValue = mCurrentScale; + float durationFactor = 1f - ((mAnimationInitialValue - ACTIVE_SCALE) / (INACTIVE_SCALE - ACTIVE_SCALE)); + mDuration = (int) (ANIMATION_DURATION * durationFactor); + mStartTime = SystemClock.uptimeMillis(); + scheduleSelf(mUpdater, mStartTime + FRAME_DURATION); + } + } + + private void updateAnimation(float factor) { + float initial = mAnimationInitialValue; + float destination = mReverse ? INACTIVE_SCALE : ACTIVE_SCALE; + mCurrentScale = initial + (destination - initial) * factor; + invalidateSelf(); + } + + private final Runnable mUpdater = new Runnable() { + + @Override + public void run() { + + long currentTime = SystemClock.uptimeMillis(); + long diff = currentTime - mStartTime; + if (diff < mDuration) { + float interpolation = mInterpolator.getInterpolation((float) diff / (float) mDuration); + scheduleSelf(mUpdater, currentTime + FRAME_DURATION); + updateAnimation(interpolation); + } else { + unscheduleSelf(mUpdater); + mRunning = false; + updateAnimation(1f); + } + } + }; + + @Override + public void start() { + //No-Op. We control our own animation + } + + @Override + public void stop() { + //No-Op. We control our own animation + } + + @Override + public boolean isRunning() { + return mRunning; + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/MarkerDrawable.java b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/MarkerDrawable.java new file mode 100644 index 000000000..8c5a04745 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/MarkerDrawable.java @@ -0,0 +1,235 @@ +package com.yunbao.faceunity.seekbar.internal.drawable; + +import android.content.res.ColorStateList; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Matrix; +import android.graphics.Paint; +import android.graphics.Path; +import android.graphics.Rect; +import android.graphics.RectF; +import android.graphics.drawable.Animatable; +import android.os.SystemClock; +import android.view.animation.AccelerateDecelerateInterpolator; +import android.view.animation.Interpolator; + +import androidx.annotation.NonNull; + + +/** + * Implementation of {@link StateDrawable} to draw a morphing marker symbol. + *

+ * It's basically an implementation of an {@link Animatable} Drawable with the following details: + *

+ *
    + *
  • Animates from a circle shape to a "marker" shape just using a RoundRect
  • + *
  • Animates color change from the normal state color to the pressed state color
  • + *
  • Uses a {@link Path} to also serve as Outline for API>=21
  • + *
+ * + * @hide + */ +public class MarkerDrawable extends StateDrawable implements Animatable { + private static final long FRAME_DURATION = 1000 / 60; + private static final int ANIMATION_DURATION = 250; + + private float mCurrentScale = 0f; + private Interpolator mInterpolator; + private long mStartTime; + private boolean mReverse = false; + private boolean mRunning = false; + private int mDuration = ANIMATION_DURATION; + //size of the actual thumb drawable to use as circle state size + private float mClosedStateSize; + //value to store que current scale when starting an animation and interpolate from it + private float mAnimationInitialValue; + //extra offset directed from the View to account + //for its internal padding between circle state and marker state + private int mExternalOffset; + //colors for interpolation + private int mStartColor;//Color when the Marker is OPEN + private int mEndColor;//Color when the arker is CLOSED + + Path mPath = new Path(); + RectF mRect = new RectF(); + Matrix mMatrix = new Matrix(); + private MarkerAnimationListener mMarkerListener; + + public MarkerDrawable(@NonNull ColorStateList tintList, int closedSize) { + super(tintList); + mInterpolator = new AccelerateDecelerateInterpolator(); + mClosedStateSize = closedSize; + mStartColor = tintList.getColorForState(new int[]{android.R.attr.state_enabled, android.R.attr.state_pressed}, tintList.getDefaultColor()); + mEndColor = tintList.getDefaultColor(); + + } + + public void setExternalOffset(int offset) { + mExternalOffset = offset; + } + + /** + * The two colors that will be used for the seek thumb. + * + * @param startColor Color used for the seek thumb + * @param endColor Color used for popup indicator + */ + public void setColors(int startColor, int endColor) { + mStartColor = startColor; + mEndColor = endColor; + } + + @Override + void doDraw(Canvas canvas, Paint paint) { + if (!mPath.isEmpty()) { + paint.setStyle(Paint.Style.FILL); + int color = blendColors(mStartColor, mEndColor, mCurrentScale); + paint.setColor(color); + canvas.drawPath(mPath, paint); + } + } + + public Path getPath() { + return mPath; + } + + @Override + protected void onBoundsChange(Rect bounds) { + super.onBoundsChange(bounds); + computePath(bounds); + } + + private void computePath(Rect bounds) { + final float currentScale = mCurrentScale; + final Path path = mPath; + final RectF rect = mRect; + final Matrix matrix = mMatrix; + + path.reset(); + int totalSize = Math.min(bounds.width(), bounds.height()); + + float initial = mClosedStateSize; + float destination = totalSize; + float currentSize = initial + (destination - initial) * currentScale; + + float halfSize = currentSize / 2f; + float inverseScale = 1f - currentScale; + float cornerSize = halfSize * inverseScale; + float[] corners = new float[]{halfSize, halfSize, halfSize, halfSize, halfSize, halfSize, cornerSize, cornerSize}; + rect.set(bounds.left, bounds.top, bounds.left + currentSize, bounds.top + currentSize); + path.addRoundRect(rect, corners, Path.Direction.CCW); + matrix.reset(); + matrix.postRotate(-45, bounds.left + halfSize, bounds.top + halfSize); + matrix.postTranslate((bounds.width() - currentSize) / 2, 0); + float hDiff = (bounds.bottom - currentSize - mExternalOffset) * inverseScale; + matrix.postTranslate(0, hDiff); + path.transform(matrix); + } + + private void updateAnimation(float factor) { + float initial = mAnimationInitialValue; + float destination = mReverse ? 0f : 1f; + mCurrentScale = initial + (destination - initial) * factor; + computePath(getBounds()); + invalidateSelf(); + } + + public void animateToPressed() { + unscheduleSelf(mUpdater); + mReverse = false; + if (mCurrentScale < 1) { + mRunning = true; + mAnimationInitialValue = mCurrentScale; + float durationFactor = 1f - mCurrentScale; + mDuration = (int) (ANIMATION_DURATION * durationFactor); + mStartTime = SystemClock.uptimeMillis(); + scheduleSelf(mUpdater, mStartTime + FRAME_DURATION); + } else { + notifyFinishedToListener(); + } + } + + public void animateToNormal() { + mReverse = true; + unscheduleSelf(mUpdater); + if (mCurrentScale > 0) { + mRunning = true; + mAnimationInitialValue = mCurrentScale; + float durationFactor = 1f - mCurrentScale; + mDuration = ANIMATION_DURATION - (int) (ANIMATION_DURATION * durationFactor); + mStartTime = SystemClock.uptimeMillis(); + scheduleSelf(mUpdater, mStartTime + FRAME_DURATION); + } else { + notifyFinishedToListener(); + } + } + + private final Runnable mUpdater = new Runnable() { + + @Override + public void run() { + + long currentTime = SystemClock.uptimeMillis(); + long diff = currentTime - mStartTime; + if (diff < mDuration) { + float interpolation = mInterpolator.getInterpolation((float) diff / (float) mDuration); + scheduleSelf(mUpdater, currentTime + FRAME_DURATION); + updateAnimation(interpolation); + } else { + unscheduleSelf(mUpdater); + mRunning = false; + updateAnimation(1f); + notifyFinishedToListener(); + } + } + }; + + public void setMarkerListener(MarkerAnimationListener listener) { + mMarkerListener = listener; + } + + private void notifyFinishedToListener() { + if (mMarkerListener != null) { + if (mReverse) { + mMarkerListener.onClosingComplete(); + } else { + mMarkerListener.onOpeningComplete(); + } + } + } + + @Override + public void start() { + //No-Op. We control our own animation + } + + @Override + public void stop() { + unscheduleSelf(mUpdater); + } + + @Override + public boolean isRunning() { + return mRunning; + } + + private static int blendColors(int color1, int color2, float factor) { + final float inverseFactor = 1f - factor; + float a = (Color.alpha(color1) * factor) + (Color.alpha(color2) * inverseFactor); + float r = (Color.red(color1) * factor) + (Color.red(color2) * inverseFactor); + float g = (Color.green(color1) * factor) + (Color.green(color2) * inverseFactor); + float b = (Color.blue(color1) * factor) + (Color.blue(color2) * inverseFactor); + return Color.argb((int) a, (int) r, (int) g, (int) b); + } + + + /** + * A listener interface to porpagate animation events + * This is the "poor's man" AnimatorListener for this Drawable + */ + public interface MarkerAnimationListener { + public void onClosingComplete(); + + public void onOpeningComplete(); + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/StateDrawable.java b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/StateDrawable.java new file mode 100644 index 000000000..9c24bb35c --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/StateDrawable.java @@ -0,0 +1,105 @@ +package com.yunbao.faceunity.seekbar.internal.drawable; + +import android.content.res.ColorStateList; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.ColorFilter; +import android.graphics.Paint; +import android.graphics.PixelFormat; +import android.graphics.drawable.Drawable; + +import androidx.annotation.NonNull; + + +/** + * A drawable that changes it's Paint color depending on the Drawable State + *

+ * Subclasses should implement {@link #doDraw(Canvas, Paint)} + *

+ * + * @hide + */ +public abstract class StateDrawable extends Drawable { + private ColorStateList mTintStateList; + private final Paint mPaint; + private int mCurrentColor; + private int mAlpha = 255; + + public StateDrawable(@NonNull ColorStateList tintStateList) { + super(); + setColorStateList(tintStateList); + mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); + } + + @Override + public boolean isStateful() { + return (mTintStateList.isStateful()) || super.isStateful(); + } + + @Override + public boolean setState(int[] stateSet) { + boolean handled = super.setState(stateSet); + handled = updateTint(stateSet) || handled; + return handled; + } + + @Override + public int getOpacity() { + return PixelFormat.TRANSLUCENT; + } + + private boolean updateTint(int[] state) { + final int color = mTintStateList.getColorForState(state, mCurrentColor); + if (color != mCurrentColor) { + mCurrentColor = color; + //We've changed states + invalidateSelf(); + return true; + } + return false; + } + + @Override + public void draw(Canvas canvas) { + mPaint.setColor(mCurrentColor); + int alpha = modulateAlpha(Color.alpha(mCurrentColor)); + mPaint.setAlpha(alpha); + doDraw(canvas, mPaint); + } + + public void setColorStateList(@NonNull ColorStateList tintStateList) { + mTintStateList = tintStateList; + mCurrentColor = tintStateList.getDefaultColor(); + } + + /** + * Subclasses should implement this method to do the actual drawing + * + * @param canvas The current {@link Canvas} to draw into + * @param paint The {@link Paint} preconfigurred with the current + * {@link ColorStateList} color + */ + abstract void doDraw(Canvas canvas, Paint paint); + + @Override + public void setAlpha(int alpha) { + mAlpha = alpha; + invalidateSelf(); + } + + int modulateAlpha(int alpha) { + int scale = mAlpha + (mAlpha >> 7); + return alpha * scale >> 8; + } + + @Override + public int getAlpha() { + return mAlpha; + } + + @Override + public void setColorFilter(ColorFilter cf) { + mPaint.setColorFilter(cf); + } + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/ThumbDrawable.java b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/ThumbDrawable.java new file mode 100644 index 000000000..54256e479 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/ThumbDrawable.java @@ -0,0 +1,96 @@ +package com.yunbao.faceunity.seekbar.internal.drawable; + +import android.content.res.ColorStateList; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.Rect; +import android.graphics.drawable.Animatable; +import android.os.SystemClock; + +import androidx.annotation.NonNull; + +import com.yunbao.faceunity.seekbar.internal.Marker; + + +/** + *

HACK

+ *

+ * Special {@link StateDrawable} implementation + * to draw the Thumb circle. + *

+ *

+ * It's special because it will stop drawing once the state is pressed/focused BUT only after a small delay. + *

+ *

+ * This special delay is meant to help avoiding frame glitches while the {@link Marker} is added to the Window + *

+ * + * @hide + */ +public class ThumbDrawable extends StateDrawable implements Animatable { + //The current size for this drawable. Must be converted to real DPs + public static final int DEFAULT_SIZE_DP = 12; + private final int mSize; + private boolean mOpen; + private boolean mRunning; + + public ThumbDrawable(@NonNull ColorStateList tintStateList, int size) { + super(tintStateList); + mSize = size; + } + + @Override + public int getIntrinsicWidth() { + return mSize; + } + + @Override + public int getIntrinsicHeight() { + return mSize; + } + + @Override + public void doDraw(Canvas canvas, Paint paint) { + if (!mOpen) { + Rect bounds = getBounds(); + float radius = (mSize / 2); + canvas.drawCircle(bounds.centerX(), bounds.centerY(), radius, paint); + } + } + + public void animateToPressed() { + scheduleSelf(opener, SystemClock.uptimeMillis() + 100); + mRunning = true; + } + + public void animateToNormal() { + mOpen = false; + mRunning = false; + unscheduleSelf(opener); + invalidateSelf(); + } + + private Runnable opener = new Runnable() { + @Override + public void run() { + mOpen = true; + invalidateSelf(); + mRunning = false; + } + }; + + @Override + public void start() { + //NOOP + } + + @Override + public void stop() { + animateToNormal(); + } + + @Override + public boolean isRunning() { + return mRunning; + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/TrackOvalDrawable.java b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/TrackOvalDrawable.java new file mode 100644 index 000000000..f3a5898b1 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/TrackOvalDrawable.java @@ -0,0 +1,30 @@ +package com.yunbao.faceunity.seekbar.internal.drawable; + +import android.content.res.ColorStateList; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.RectF; + +import androidx.annotation.NonNull; + + +/** + * Simple {@link StateDrawable} implementation + * to draw circles/ovals + * + * @hide + */ +public class TrackOvalDrawable extends StateDrawable { + private RectF mRectF = new RectF(); + + public TrackOvalDrawable(@NonNull ColorStateList tintStateList) { + super(tintStateList); + } + + @Override + void doDraw(Canvas canvas, Paint paint) { + mRectF.set(getBounds()); + canvas.drawOval(mRectF, paint); + } + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/TrackRectDrawable.java b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/TrackRectDrawable.java new file mode 100644 index 000000000..165e24f03 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/seekbar/internal/drawable/TrackRectDrawable.java @@ -0,0 +1,26 @@ +package com.yunbao.faceunity.seekbar.internal.drawable; + +import android.content.res.ColorStateList; +import android.graphics.Canvas; +import android.graphics.Paint; + +import androidx.annotation.NonNull; + + +/** + * Simple {@link StateDrawable} implementation + * to draw rectangles + * + * @hide + */ +public class TrackRectDrawable extends StateDrawable { + public TrackRectDrawable(@NonNull ColorStateList tintStateList) { + super(tintStateList); + } + + @Override + void doDraw(Canvas canvas, Paint paint) { + canvas.drawRect(getBounds(), paint); + } + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/ui/FaceUnityView.java b/FaceUnity/src/main/java/com/yunbao/faceunity/ui/FaceUnityView.java new file mode 100644 index 000000000..c106387f3 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/ui/FaceUnityView.java @@ -0,0 +1,140 @@ +package com.yunbao.faceunity.ui; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.LinearLayout; + +import androidx.annotation.Nullable; + + +import com.yunbao.faceunity.R; +import com.yunbao.faceunity.checkbox.CheckGroup; +import com.yunbao.faceunity.control.BodyBeautyControlView; +import com.yunbao.faceunity.control.FaceBeautyControlView; +import com.yunbao.faceunity.control.MakeupControlView; +import com.yunbao.faceunity.control.PropControlView; +import com.yunbao.faceunity.data.FaceUnityDataFactory; + +/** + * DESC: + * Created on 2021/4/26 + */ +public class FaceUnityView extends LinearLayout { + + private Context mContext; + + public FaceUnityView(Context context) { + super(context); + mContext = context; + init(); + } + + public FaceUnityView(Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + mContext = context; + init(); + } + + public FaceUnityView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + mContext = context; + init(); + } + + + private FaceUnityDataFactory mDataFactory; + + private CheckGroup mCheckGroupView;//底部菜单 + private FaceBeautyControlView mFaceBeautyControlView;//美颜菜单 + private MakeupControlView mMakeupControlView;//美妆菜单 + private PropControlView mPropControlView;//道具菜单 + private BodyBeautyControlView mBodyBeautyControlView;//美体菜单 + private View lineView;//分割线 + + + private void init() { + LayoutInflater.from(mContext).inflate(R.layout.layout_faceunity, this); + initView(); + bindBottomView(); + } + + /** + * 绑定数据工厂 + * + * @param dataFactory FaceUnityDataFactory + */ + public void bindDataFactory(FaceUnityDataFactory dataFactory) { + mDataFactory = dataFactory; + mFaceBeautyControlView.bindDataFactory(dataFactory.mFaceBeautyDataFactory); + mMakeupControlView.bindDataFactory(dataFactory.mMakeupDataFactory); + mPropControlView.bindDataFactory(dataFactory.mPropDataFactory); + mBodyBeautyControlView.bindDataFactory(dataFactory.mBodyBeautyDataFactory); + switch (dataFactory.currentFunctionIndex) { + case 0: + mCheckGroupView.check(R.id.radio_beauty); + break; + case 1: + mCheckGroupView.check(R.id.radio_sticker); + break; + case 2: + mCheckGroupView.check(R.id.radio_makeup); + break; + case 3: + mCheckGroupView.check(R.id.radio_body); + break; + } + } + + /** + * 初始化View + */ + private void initView() { + mCheckGroupView = findViewById(R.id.group_function); + mFaceBeautyControlView = findViewById(R.id.control_beauty); + mMakeupControlView = findViewById(R.id.control_makeup); + mPropControlView = findViewById(R.id.control_prop); + mBodyBeautyControlView = findViewById(R.id.control_body); + lineView = findViewById(R.id.line); + } + + + /** + * 底部功能菜单切换 + */ + private void bindBottomView() { + mCheckGroupView.setOnCheckedChangeListener((group, checkedId) -> { + if (checkedId == R.id.radio_beauty) { + showFunction(0); + mDataFactory.onFunctionSelected(0); + } else if (checkedId == R.id.radio_sticker) { + showFunction(1); + mDataFactory.onFunctionSelected(1); + } else if (checkedId == R.id.radio_makeup) { + showFunction(2); + mDataFactory.onFunctionSelected(2); + } else if (checkedId == R.id.radio_body) { + showFunction(3); + mDataFactory.onFunctionSelected(3); + } else { + showFunction(-1); + } + }); + } + + /** + * UI菜单显示控制 + * + * @param index Int + */ + private void showFunction(int index) { + mFaceBeautyControlView.setVisibility((index == 0) ? View.VISIBLE : View.GONE); + mPropControlView.setVisibility((index == 1) ? View.VISIBLE : View.GONE); + mMakeupControlView.setVisibility((index == 2) ? View.VISIBLE : View.GONE); + mBodyBeautyControlView.setVisibility((index == 3) ? View.VISIBLE : View.GONE); + lineView.setVisibility((index != -1) ? View.VISIBLE : View.GONE); + } + + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/utils/Authpack.java b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/Authpack.java new file mode 100644 index 000000000..85ad85c89 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/Authpack.java @@ -0,0 +1,1299 @@ +package com.yunbao.faceunity.utils; + +import java.security.MessageDigest; + +public class Authpack { + public static int sha1_32(byte[] buf){int ret=0;try{byte[] digest=MessageDigest.getInstance("SHA1").digest(buf);return ((int)(digest[0]&0xff)<<24)+((int)(digest[1]&0xff)<<16)+((int)(digest[2]&0xff)<<8)+((int)(digest[3]&0xff)<<0);}catch(Exception e){}return ret;} + public static byte[] A(){ + byte[] buf=new byte[1287]; + int i=0; + for(i=-67;i<-49;i++){ buf[0]=(byte)i; if(sha1_32(buf)==-391754430){break;} } + for(i=-80;i<-55;i++){ buf[1]=(byte)i; if(sha1_32(buf)==1900926373){break;} } + for(i=-43;i<-24;i++){ buf[2]=(byte)i; if(sha1_32(buf)==-1665990518){break;} } + for(i=-15;i<13;i++){ buf[3]=(byte)i; if(sha1_32(buf)==-1665990518){break;} } + for(i=4;i<27;i++){ buf[4]=(byte)i; if(sha1_32(buf)==1047145318){break;} } + for(i=-16;i<0;i++){ buf[5]=(byte)i; if(sha1_32(buf)==-424862454){break;} } + for(i=-127;i<-109;i++){ buf[6]=(byte)i; if(sha1_32(buf)==1209499468){break;} } + for(i=-31;i<-14;i++){ buf[7]=(byte)i; if(sha1_32(buf)==856316850){break;} } + for(i=-22;i<-6;i++){ buf[8]=(byte)i; if(sha1_32(buf)==-2092471705){break;} } + for(i=95;i<107;i++){ buf[9]=(byte)i; if(sha1_32(buf)==-984113952){break;} } + for(i=39;i<42;i++){ buf[10]=(byte)i; if(sha1_32(buf)==-1718767640){break;} } + for(i=-18;i<11;i++){ buf[11]=(byte)i; if(sha1_32(buf)==-555788840){break;} } + for(i=-24;i<-11;i++){ buf[12]=(byte)i; if(sha1_32(buf)==-910213045){break;} } + for(i=36;i<60;i++){ buf[13]=(byte)i; if(sha1_32(buf)==-2044929937){break;} } + for(i=-12;i<-3;i++){ buf[14]=(byte)i; if(sha1_32(buf)==518665237){break;} } + for(i=-17;i<-3;i++){ buf[15]=(byte)i; if(sha1_32(buf)==854770556){break;} } + for(i=87;i<116;i++){ buf[16]=(byte)i; if(sha1_32(buf)==-739025236){break;} } + for(i=67;i<77;i++){ buf[17]=(byte)i; if(sha1_32(buf)==1255114494){break;} } + for(i=73;i<97;i++){ buf[18]=(byte)i; if(sha1_32(buf)==1976741542){break;} } + for(i=-89;i<-74;i++){ buf[19]=(byte)i; if(sha1_32(buf)==-1961518064){break;} } + for(i=-18;i<7;i++){ buf[20]=(byte)i; if(sha1_32(buf)==-336610323){break;} } + for(i=-12;i<-4;i++){ buf[21]=(byte)i; if(sha1_32(buf)==-1123062247){break;} } + for(i=-9;i<3;i++){ buf[22]=(byte)i; if(sha1_32(buf)==-1992256418){break;} } + for(i=-88;i<-75;i++){ buf[23]=(byte)i; if(sha1_32(buf)==1018895511){break;} } + for(i=-68;i<-41;i++){ buf[24]=(byte)i; if(sha1_32(buf)==-876830013){break;} } + for(i=98;i<112;i++){ buf[25]=(byte)i; if(sha1_32(buf)==1228289588){break;} } + for(i=-128;i<-116;i++){ buf[26]=(byte)i; if(sha1_32(buf)==1545307171){break;} } + for(i=84;i<99;i++){ buf[27]=(byte)i; if(sha1_32(buf)==1025915855){break;} } + for(i=-120;i<-110;i++){ buf[28]=(byte)i; if(sha1_32(buf)==85392660){break;} } + for(i=20;i<34;i++){ buf[29]=(byte)i; if(sha1_32(buf)==-1972027660){break;} } + for(i=-99;i<-72;i++){ buf[30]=(byte)i; if(sha1_32(buf)==1690302090){break;} } + for(i=6;i<24;i++){ buf[31]=(byte)i; if(sha1_32(buf)==-574981697){break;} } + for(i=-120;i<-104;i++){ buf[32]=(byte)i; if(sha1_32(buf)==-887866308){break;} } + for(i=28;i<45;i++){ buf[33]=(byte)i; if(sha1_32(buf)==1222447740){break;} } + for(i=-25;i<-17;i++){ buf[34]=(byte)i; if(sha1_32(buf)==-545537371){break;} } + for(i=77;i<94;i++){ buf[35]=(byte)i; if(sha1_32(buf)==1941347942){break;} } + for(i=-69;i<-61;i++){ buf[36]=(byte)i; if(sha1_32(buf)==1223549852){break;} } + for(i=-92;i<-83;i++){ buf[37]=(byte)i; if(sha1_32(buf)==2024830132){break;} } + for(i=-79;i<-62;i++){ buf[38]=(byte)i; if(sha1_32(buf)==1143517641){break;} } + for(i=102;i<121;i++){ buf[39]=(byte)i; if(sha1_32(buf)==-896817134){break;} } + for(i=-96;i<-69;i++){ buf[40]=(byte)i; if(sha1_32(buf)==317582632){break;} } + for(i=-26;i<-6;i++){ buf[41]=(byte)i; if(sha1_32(buf)==1672427421){break;} } + for(i=-128;i<-116;i++){ buf[42]=(byte)i; if(sha1_32(buf)==-537648615){break;} } + for(i=36;i<54;i++){ buf[43]=(byte)i; if(sha1_32(buf)==1113091889){break;} } + for(i=23;i<46;i++){ buf[44]=(byte)i; if(sha1_32(buf)==-754782113){break;} } + for(i=-32;i<-16;i++){ buf[45]=(byte)i; if(sha1_32(buf)==-1818800460){break;} } + for(i=91;i<102;i++){ buf[46]=(byte)i; if(sha1_32(buf)==-1127713536){break;} } + for(i=-21;i<0;i++){ buf[47]=(byte)i; if(sha1_32(buf)==8152419){break;} } + for(i=-128;i<-108;i++){ buf[48]=(byte)i; if(sha1_32(buf)==-1135760392){break;} } + for(i=122;i<127;i++){ buf[49]=(byte)i; if(sha1_32(buf)==52108472){break;} } + for(i=-20;i<3;i++){ buf[50]=(byte)i; if(sha1_32(buf)==1527805073){break;} } + for(i=-62;i<-43;i++){ buf[51]=(byte)i; if(sha1_32(buf)==1662310747){break;} } + for(i=-2;i<21;i++){ buf[52]=(byte)i; if(sha1_32(buf)==-988866357){break;} } + for(i=-113;i<-102;i++){ buf[53]=(byte)i; if(sha1_32(buf)==-1940075124){break;} } + for(i=80;i<107;i++){ buf[54]=(byte)i; if(sha1_32(buf)==1476703425){break;} } + for(i=113;i<128;i++){ buf[55]=(byte)i; if(sha1_32(buf)==-1992340705){break;} } + for(i=52;i<63;i++){ buf[56]=(byte)i; if(sha1_32(buf)==-1934770772){break;} } + for(i=109;i<124;i++){ buf[57]=(byte)i; if(sha1_32(buf)==-1782391826){break;} } + for(i=38;i<62;i++){ buf[58]=(byte)i; if(sha1_32(buf)==-2112743083){break;} } + for(i=108;i<127;i++){ buf[59]=(byte)i; if(sha1_32(buf)==-802874781){break;} } + for(i=-18;i<-3;i++){ buf[60]=(byte)i; if(sha1_32(buf)==-1151716369){break;} } + for(i=29;i<46;i++){ buf[61]=(byte)i; if(sha1_32(buf)==-1267923030){break;} } + for(i=-33;i<-19;i++){ buf[62]=(byte)i; if(sha1_32(buf)==735438287){break;} } + for(i=62;i<86;i++){ buf[63]=(byte)i; if(sha1_32(buf)==-1472222342){break;} } + for(i=-109;i<-101;i++){ buf[64]=(byte)i; if(sha1_32(buf)==920655195){break;} } + for(i=-1;i<13;i++){ buf[65]=(byte)i; if(sha1_32(buf)==1473134326){break;} } + for(i=-102;i<-82;i++){ buf[66]=(byte)i; if(sha1_32(buf)==2043662542){break;} } + for(i=-53;i<-31;i++){ buf[67]=(byte)i; if(sha1_32(buf)==-831915519){break;} } + for(i=21;i<34;i++){ buf[68]=(byte)i; if(sha1_32(buf)==2133658053){break;} } + for(i=-29;i<-21;i++){ buf[69]=(byte)i; if(sha1_32(buf)==2063888385){break;} } + for(i=-73;i<-45;i++){ buf[70]=(byte)i; if(sha1_32(buf)==1361289840){break;} } + for(i=-85;i<-70;i++){ buf[71]=(byte)i; if(sha1_32(buf)==2052823646){break;} } + for(i=-103;i<-88;i++){ buf[72]=(byte)i; if(sha1_32(buf)==-1797847253){break;} } + for(i=36;i<48;i++){ buf[73]=(byte)i; if(sha1_32(buf)==1812053799){break;} } + for(i=69;i<83;i++){ buf[74]=(byte)i; if(sha1_32(buf)==-255176161){break;} } + for(i=-34;i<-13;i++){ buf[75]=(byte)i; if(sha1_32(buf)==1827402642){break;} } + for(i=123;i<128;i++){ buf[76]=(byte)i; if(sha1_32(buf)==-2128834832){break;} } + for(i=-89;i<-81;i++){ buf[77]=(byte)i; if(sha1_32(buf)==1507936178){break;} } + for(i=85;i<108;i++){ buf[78]=(byte)i; if(sha1_32(buf)==794056559){break;} } + for(i=29;i<38;i++){ buf[79]=(byte)i; if(sha1_32(buf)==-1594614370){break;} } + for(i=89;i<95;i++){ buf[80]=(byte)i; if(sha1_32(buf)==-770139794){break;} } + for(i=64;i<88;i++){ buf[81]=(byte)i; if(sha1_32(buf)==-1673933191){break;} } + for(i=50;i<61;i++){ buf[82]=(byte)i; if(sha1_32(buf)==-393706017){break;} } + for(i=68;i<83;i++){ buf[83]=(byte)i; if(sha1_32(buf)==-262250143){break;} } + for(i=-35;i<-24;i++){ buf[84]=(byte)i; if(sha1_32(buf)==-550708740){break;} } + for(i=-13;i<14;i++){ buf[85]=(byte)i; if(sha1_32(buf)==-1315064457){break;} } + for(i=91;i<111;i++){ buf[86]=(byte)i; if(sha1_32(buf)==-1975186804){break;} } + for(i=96;i<115;i++){ buf[87]=(byte)i; if(sha1_32(buf)==-929199652){break;} } + for(i=-67;i<-62;i++){ buf[88]=(byte)i; if(sha1_32(buf)==1665475556){break;} } + for(i=9;i<30;i++){ buf[89]=(byte)i; if(sha1_32(buf)==2145697620){break;} } + for(i=90;i<120;i++){ buf[90]=(byte)i; if(sha1_32(buf)==824905423){break;} } + for(i=-25;i<0;i++){ buf[91]=(byte)i; if(sha1_32(buf)==1465634888){break;} } + for(i=25;i<48;i++){ buf[92]=(byte)i; if(sha1_32(buf)==-953103076){break;} } + for(i=109;i<128;i++){ buf[93]=(byte)i; if(sha1_32(buf)==-1148756392){break;} } + for(i=75;i<93;i++){ buf[94]=(byte)i; if(sha1_32(buf)==986260642){break;} } + for(i=-102;i<-95;i++){ buf[95]=(byte)i; if(sha1_32(buf)==-994058873){break;} } + for(i=4;i<20;i++){ buf[96]=(byte)i; if(sha1_32(buf)==-1987528081){break;} } + for(i=32;i<47;i++){ buf[97]=(byte)i; if(sha1_32(buf)==-248889704){break;} } + for(i=-82;i<-55;i++){ buf[98]=(byte)i; if(sha1_32(buf)==-1681465177){break;} } + for(i=-124;i<-109;i++){ buf[99]=(byte)i; if(sha1_32(buf)==640792383){break;} } + for(i=-15;i<-7;i++){ buf[100]=(byte)i; if(sha1_32(buf)==786658470){break;} } + for(i=-3;i<2;i++){ buf[101]=(byte)i; if(sha1_32(buf)==-896698207){break;} } + for(i=-16;i<3;i++){ buf[102]=(byte)i; if(sha1_32(buf)==2067389578){break;} } + for(i=38;i<44;i++){ buf[103]=(byte)i; if(sha1_32(buf)==-72581513){break;} } + for(i=-61;i<-41;i++){ buf[104]=(byte)i; if(sha1_32(buf)==-2139601543){break;} } + for(i=-16;i<-2;i++){ buf[105]=(byte)i; if(sha1_32(buf)==1927135073){break;} } + for(i=37;i<50;i++){ buf[106]=(byte)i; if(sha1_32(buf)==2132848442){break;} } + for(i=84;i<98;i++){ buf[107]=(byte)i; if(sha1_32(buf)==-2096950942){break;} } + for(i=15;i<31;i++){ buf[108]=(byte)i; if(sha1_32(buf)==52833424){break;} } + for(i=-38;i<-17;i++){ buf[109]=(byte)i; if(sha1_32(buf)==1463164582){break;} } + for(i=50;i<68;i++){ buf[110]=(byte)i; if(sha1_32(buf)==-1275186949){break;} } + for(i=-96;i<-83;i++){ buf[111]=(byte)i; if(sha1_32(buf)==-625103736){break;} } + for(i=108;i<128;i++){ buf[112]=(byte)i; if(sha1_32(buf)==-665386407){break;} } + for(i=87;i<93;i++){ buf[113]=(byte)i; if(sha1_32(buf)==388350333){break;} } + for(i=114;i<128;i++){ buf[114]=(byte)i; if(sha1_32(buf)==-1060971883){break;} } + for(i=86;i<101;i++){ buf[115]=(byte)i; if(sha1_32(buf)==-841965955){break;} } + for(i=41;i<53;i++){ buf[116]=(byte)i; if(sha1_32(buf)==-1650432622){break;} } + for(i=118;i<128;i++){ buf[117]=(byte)i; if(sha1_32(buf)==-1276227243){break;} } + for(i=-89;i<-70;i++){ buf[118]=(byte)i; if(sha1_32(buf)==-617645963){break;} } + for(i=-65;i<-47;i++){ buf[119]=(byte)i; if(sha1_32(buf)==1555146982){break;} } + for(i=-112;i<-107;i++){ buf[120]=(byte)i; if(sha1_32(buf)==1023886184){break;} } + for(i=-93;i<-65;i++){ buf[121]=(byte)i; if(sha1_32(buf)==1637650516){break;} } + for(i=-128;i<-114;i++){ buf[122]=(byte)i; if(sha1_32(buf)==-592787991){break;} } + for(i=88;i<100;i++){ buf[123]=(byte)i; if(sha1_32(buf)==625231611){break;} } + for(i=57;i<75;i++){ buf[124]=(byte)i; if(sha1_32(buf)==-1554004227){break;} } + for(i=-101;i<-85;i++){ buf[125]=(byte)i; if(sha1_32(buf)==20018369){break;} } + for(i=71;i<89;i++){ buf[126]=(byte)i; if(sha1_32(buf)==1903106075){break;} } + for(i=-103;i<-87;i++){ buf[127]=(byte)i; if(sha1_32(buf)==175558840){break;} } + for(i=-72;i<-48;i++){ buf[128]=(byte)i; if(sha1_32(buf)==1961437748){break;} } + for(i=19;i<44;i++){ buf[129]=(byte)i; if(sha1_32(buf)==300929953){break;} } + for(i=42;i<66;i++){ buf[130]=(byte)i; if(sha1_32(buf)==-840477363){break;} } + for(i=-128;i<-122;i++){ buf[131]=(byte)i; if(sha1_32(buf)==-298674684){break;} } + for(i=-67;i<-42;i++){ buf[132]=(byte)i; if(sha1_32(buf)==-6416740){break;} } + for(i=74;i<82;i++){ buf[133]=(byte)i; if(sha1_32(buf)==1163922176){break;} } + for(i=74;i<75;i++){ buf[134]=(byte)i; if(sha1_32(buf)==1595667229){break;} } + for(i=-19;i<-3;i++){ buf[135]=(byte)i; if(sha1_32(buf)==-433850003){break;} } + for(i=-123;i<-117;i++){ buf[136]=(byte)i; if(sha1_32(buf)==1030206619){break;} } + for(i=-9;i<1;i++){ buf[137]=(byte)i; if(sha1_32(buf)==-1454843081){break;} } + for(i=-85;i<-67;i++){ buf[138]=(byte)i; if(sha1_32(buf)==-1585626251){break;} } + for(i=-50;i<-39;i++){ buf[139]=(byte)i; if(sha1_32(buf)==-1417127426){break;} } + for(i=-72;i<-53;i++){ buf[140]=(byte)i; if(sha1_32(buf)==1015317819){break;} } + for(i=30;i<40;i++){ buf[141]=(byte)i; if(sha1_32(buf)==-1100859684){break;} } + for(i=96;i<105;i++){ buf[142]=(byte)i; if(sha1_32(buf)==706995274){break;} } + for(i=-76;i<-59;i++){ buf[143]=(byte)i; if(sha1_32(buf)==-888501731){break;} } + for(i=84;i<109;i++){ buf[144]=(byte)i; if(sha1_32(buf)==1178620419){break;} } + for(i=95;i<108;i++){ buf[145]=(byte)i; if(sha1_32(buf)==-755248538){break;} } + for(i=-17;i<-3;i++){ buf[146]=(byte)i; if(sha1_32(buf)==-2029583273){break;} } + for(i=68;i<85;i++){ buf[147]=(byte)i; if(sha1_32(buf)==-1635628256){break;} } + for(i=-16;i<6;i++){ buf[148]=(byte)i; if(sha1_32(buf)==-438000480){break;} } + for(i=62;i<77;i++){ buf[149]=(byte)i; if(sha1_32(buf)==2020205680){break;} } + for(i=91;i<107;i++){ buf[150]=(byte)i; if(sha1_32(buf)==1261152384){break;} } + for(i=-23;i<-11;i++){ buf[151]=(byte)i; if(sha1_32(buf)==950869604){break;} } + for(i=-69;i<-50;i++){ buf[152]=(byte)i; if(sha1_32(buf)==-1479156358){break;} } + for(i=-118;i<-113;i++){ buf[153]=(byte)i; if(sha1_32(buf)==1655572574){break;} } + for(i=29;i<33;i++){ buf[154]=(byte)i; if(sha1_32(buf)==-1922333602){break;} } + for(i=56;i<71;i++){ buf[155]=(byte)i; if(sha1_32(buf)==1625494262){break;} } + for(i=34;i<55;i++){ buf[156]=(byte)i; if(sha1_32(buf)==138674777){break;} } + for(i=-114;i<-94;i++){ buf[157]=(byte)i; if(sha1_32(buf)==-938911648){break;} } + for(i=119;i<128;i++){ buf[158]=(byte)i; if(sha1_32(buf)==-1925207802){break;} } + for(i=-96;i<-83;i++){ buf[159]=(byte)i; if(sha1_32(buf)==31589957){break;} } + for(i=-96;i<-82;i++){ buf[160]=(byte)i; if(sha1_32(buf)==798238332){break;} } + for(i=3;i<20;i++){ buf[161]=(byte)i; if(sha1_32(buf)==-476594378){break;} } + for(i=101;i<107;i++){ buf[162]=(byte)i; if(sha1_32(buf)==-1342464130){break;} } + for(i=-122;i<-105;i++){ buf[163]=(byte)i; if(sha1_32(buf)==-261562528){break;} } + for(i=-72;i<-54;i++){ buf[164]=(byte)i; if(sha1_32(buf)==296367174){break;} } + for(i=-62;i<-42;i++){ buf[165]=(byte)i; if(sha1_32(buf)==-771895432){break;} } + for(i=96;i<111;i++){ buf[166]=(byte)i; if(sha1_32(buf)==-814394945){break;} } + for(i=3;i<12;i++){ buf[167]=(byte)i; if(sha1_32(buf)==-885009181){break;} } + for(i=102;i<107;i++){ buf[168]=(byte)i; if(sha1_32(buf)==-1428969787){break;} } + for(i=31;i<38;i++){ buf[169]=(byte)i; if(sha1_32(buf)==1108829564){break;} } + for(i=64;i<75;i++){ buf[170]=(byte)i; if(sha1_32(buf)==774403827){break;} } + for(i=34;i<55;i++){ buf[171]=(byte)i; if(sha1_32(buf)==950137282){break;} } + for(i=-115;i<-87;i++){ buf[172]=(byte)i; if(sha1_32(buf)==1611066465){break;} } + for(i=53;i<71;i++){ buf[173]=(byte)i; if(sha1_32(buf)==-984030300){break;} } + for(i=61;i<75;i++){ buf[174]=(byte)i; if(sha1_32(buf)==1499512222){break;} } + for(i=101;i<115;i++){ buf[175]=(byte)i; if(sha1_32(buf)==501848953){break;} } + for(i=15;i<34;i++){ buf[176]=(byte)i; if(sha1_32(buf)==-1544698149){break;} } + for(i=-63;i<-40;i++){ buf[177]=(byte)i; if(sha1_32(buf)==-1512542676){break;} } + for(i=-3;i<22;i++){ buf[178]=(byte)i; if(sha1_32(buf)==1701343711){break;} } + for(i=-64;i<-51;i++){ buf[179]=(byte)i; if(sha1_32(buf)==-1976089139){break;} } + for(i=-103;i<-87;i++){ buf[180]=(byte)i; if(sha1_32(buf)==-1588324412){break;} } + for(i=-43;i<-22;i++){ buf[181]=(byte)i; if(sha1_32(buf)==-429216395){break;} } + for(i=0;i<23;i++){ buf[182]=(byte)i; if(sha1_32(buf)==1029048871){break;} } + for(i=51;i<65;i++){ buf[183]=(byte)i; if(sha1_32(buf)==1889493243){break;} } + for(i=62;i<84;i++){ buf[184]=(byte)i; if(sha1_32(buf)==558419144){break;} } + for(i=-34;i<-21;i++){ buf[185]=(byte)i; if(sha1_32(buf)==13546166){break;} } + for(i=-5;i<15;i++){ buf[186]=(byte)i; if(sha1_32(buf)==1334868490){break;} } + for(i=50;i<65;i++){ buf[187]=(byte)i; if(sha1_32(buf)==-731555921){break;} } + for(i=-34;i<-10;i++){ buf[188]=(byte)i; if(sha1_32(buf)==-2100838080){break;} } + for(i=-55;i<-40;i++){ buf[189]=(byte)i; if(sha1_32(buf)==197929139){break;} } + for(i=-94;i<-79;i++){ buf[190]=(byte)i; if(sha1_32(buf)==-454931231){break;} } + for(i=28;i<34;i++){ buf[191]=(byte)i; if(sha1_32(buf)==2135555647){break;} } + for(i=-38;i<-31;i++){ buf[192]=(byte)i; if(sha1_32(buf)==19636287){break;} } + for(i=-32;i<-17;i++){ buf[193]=(byte)i; if(sha1_32(buf)==-665528133){break;} } + for(i=-50;i<-25;i++){ buf[194]=(byte)i; if(sha1_32(buf)==331867916){break;} } + for(i=-47;i<-25;i++){ buf[195]=(byte)i; if(sha1_32(buf)==696388947){break;} } + for(i=-105;i<-85;i++){ buf[196]=(byte)i; if(sha1_32(buf)==1178114167){break;} } + for(i=31;i<53;i++){ buf[197]=(byte)i; if(sha1_32(buf)==1634019413){break;} } + for(i=-45;i<-29;i++){ buf[198]=(byte)i; if(sha1_32(buf)==1536577486){break;} } + for(i=-22;i<1;i++){ buf[199]=(byte)i; if(sha1_32(buf)==-2012652150){break;} } + for(i=116;i<124;i++){ buf[200]=(byte)i; if(sha1_32(buf)==2085170396){break;} } + for(i=-106;i<-83;i++){ buf[201]=(byte)i; if(sha1_32(buf)==-1536536318){break;} } + for(i=13;i<44;i++){ buf[202]=(byte)i; if(sha1_32(buf)==-2105445226){break;} } + for(i=91;i<118;i++){ buf[203]=(byte)i; if(sha1_32(buf)==-1428545725){break;} } + for(i=-30;i<-19;i++){ buf[204]=(byte)i; if(sha1_32(buf)==222916244){break;} } + for(i=-121;i<-101;i++){ buf[205]=(byte)i; if(sha1_32(buf)==432908454){break;} } + for(i=73;i<97;i++){ buf[206]=(byte)i; if(sha1_32(buf)==-1375007617){break;} } + for(i=-19;i<-4;i++){ buf[207]=(byte)i; if(sha1_32(buf)==-1225462788){break;} } + for(i=124;i<128;i++){ buf[208]=(byte)i; if(sha1_32(buf)==1443789543){break;} } + for(i=-103;i<-100;i++){ buf[209]=(byte)i; if(sha1_32(buf)==827855038){break;} } + for(i=-100;i<-91;i++){ buf[210]=(byte)i; if(sha1_32(buf)==1213811138){break;} } + for(i=-63;i<-45;i++){ buf[211]=(byte)i; if(sha1_32(buf)==-2015122730){break;} } + for(i=-15;i<1;i++){ buf[212]=(byte)i; if(sha1_32(buf)==-261649054){break;} } + for(i=-120;i<-100;i++){ buf[213]=(byte)i; if(sha1_32(buf)==1544135387){break;} } + for(i=-71;i<-48;i++){ buf[214]=(byte)i; if(sha1_32(buf)==-337921079){break;} } + for(i=117;i<128;i++){ buf[215]=(byte)i; if(sha1_32(buf)==1915914909){break;} } + for(i=107;i<122;i++){ buf[216]=(byte)i; if(sha1_32(buf)==1433434586){break;} } + for(i=-111;i<-93;i++){ buf[217]=(byte)i; if(sha1_32(buf)==1687573691){break;} } + for(i=67;i<95;i++){ buf[218]=(byte)i; if(sha1_32(buf)==753326018){break;} } + for(i=93;i<101;i++){ buf[219]=(byte)i; if(sha1_32(buf)==405654874){break;} } + for(i=-99;i<-76;i++){ buf[220]=(byte)i; if(sha1_32(buf)==603271977){break;} } + for(i=-74;i<-52;i++){ buf[221]=(byte)i; if(sha1_32(buf)==1426353767){break;} } + for(i=-87;i<-75;i++){ buf[222]=(byte)i; if(sha1_32(buf)==-977940918){break;} } + for(i=113;i<123;i++){ buf[223]=(byte)i; if(sha1_32(buf)==1890985037){break;} } + for(i=20;i<38;i++){ buf[224]=(byte)i; if(sha1_32(buf)==201436187){break;} } + for(i=-55;i<-35;i++){ buf[225]=(byte)i; if(sha1_32(buf)==-476346111){break;} } + for(i=-128;i<-101;i++){ buf[226]=(byte)i; if(sha1_32(buf)==-412224428){break;} } + for(i=3;i<20;i++){ buf[227]=(byte)i; if(sha1_32(buf)==544544594){break;} } + for(i=51;i<70;i++){ buf[228]=(byte)i; if(sha1_32(buf)==-1222025602){break;} } + for(i=-128;i<-125;i++){ buf[229]=(byte)i; if(sha1_32(buf)==-2116087238){break;} } + for(i=31;i<39;i++){ buf[230]=(byte)i; if(sha1_32(buf)==56723441){break;} } + for(i=-97;i<-85;i++){ buf[231]=(byte)i; if(sha1_32(buf)==-1125905803){break;} } + for(i=-62;i<-45;i++){ buf[232]=(byte)i; if(sha1_32(buf)==990895925){break;} } + for(i=-72;i<-58;i++){ buf[233]=(byte)i; if(sha1_32(buf)==-1376776670){break;} } + for(i=44;i<47;i++){ buf[234]=(byte)i; if(sha1_32(buf)==480225460){break;} } + for(i=-21;i<-3;i++){ buf[235]=(byte)i; if(sha1_32(buf)==-821765744){break;} } + for(i=-111;i<-104;i++){ buf[236]=(byte)i; if(sha1_32(buf)==-863307099){break;} } + for(i=-128;i<-111;i++){ buf[237]=(byte)i; if(sha1_32(buf)==1925384714){break;} } + for(i=-83;i<-72;i++){ buf[238]=(byte)i; if(sha1_32(buf)==-810575860){break;} } + for(i=-24;i<-1;i++){ buf[239]=(byte)i; if(sha1_32(buf)==-523136410){break;} } + for(i=-83;i<-58;i++){ buf[240]=(byte)i; if(sha1_32(buf)==1170602926){break;} } + for(i=6;i<14;i++){ buf[241]=(byte)i; if(sha1_32(buf)==111023715){break;} } + for(i=90;i<107;i++){ buf[242]=(byte)i; if(sha1_32(buf)==-1282467375){break;} } + for(i=2;i<3;i++){ buf[243]=(byte)i; if(sha1_32(buf)==-1449750294){break;} } + for(i=-124;i<-95;i++){ buf[244]=(byte)i; if(sha1_32(buf)==1609889082){break;} } + for(i=28;i<38;i++){ buf[245]=(byte)i; if(sha1_32(buf)==875830543){break;} } + for(i=-1;i<28;i++){ buf[246]=(byte)i; if(sha1_32(buf)==1535923499){break;} } + for(i=-33;i<-17;i++){ buf[247]=(byte)i; if(sha1_32(buf)==689781359){break;} } + for(i=80;i<94;i++){ buf[248]=(byte)i; if(sha1_32(buf)==1614888858){break;} } + for(i=65;i<90;i++){ buf[249]=(byte)i; if(sha1_32(buf)==1135391074){break;} } + for(i=117;i<128;i++){ buf[250]=(byte)i; if(sha1_32(buf)==-686174037){break;} } + for(i=97;i<105;i++){ buf[251]=(byte)i; if(sha1_32(buf)==-1437888082){break;} } + for(i=55;i<69;i++){ buf[252]=(byte)i; if(sha1_32(buf)==1362356396){break;} } + for(i=-15;i<3;i++){ buf[253]=(byte)i; if(sha1_32(buf)==1948572451){break;} } + for(i=-70;i<-47;i++){ buf[254]=(byte)i; if(sha1_32(buf)==2078354710){break;} } + for(i=-14;i<8;i++){ buf[255]=(byte)i; if(sha1_32(buf)==-1421641677){break;} } + for(i=-116;i<-101;i++){ buf[256]=(byte)i; if(sha1_32(buf)==1566684267){break;} } + for(i=20;i<39;i++){ buf[257]=(byte)i; if(sha1_32(buf)==-175732101){break;} } + for(i=-19;i<11;i++){ buf[258]=(byte)i; if(sha1_32(buf)==-1186043155){break;} } + for(i=-4;i<14;i++){ buf[259]=(byte)i; if(sha1_32(buf)==-79605125){break;} } + for(i=102;i<119;i++){ buf[260]=(byte)i; if(sha1_32(buf)==-420244970){break;} } + for(i=33;i<44;i++){ buf[261]=(byte)i; if(sha1_32(buf)==52041363){break;} } + for(i=-93;i<-73;i++){ buf[262]=(byte)i; if(sha1_32(buf)==1195247081){break;} } + for(i=92;i<110;i++){ buf[263]=(byte)i; if(sha1_32(buf)==950914747){break;} } + for(i=20;i<36;i++){ buf[264]=(byte)i; if(sha1_32(buf)==908373225){break;} } + for(i=-128;i<-115;i++){ buf[265]=(byte)i; if(sha1_32(buf)==1781017630){break;} } + for(i=-31;i<-10;i++){ buf[266]=(byte)i; if(sha1_32(buf)==1322505273){break;} } + for(i=16;i<28;i++){ buf[267]=(byte)i; if(sha1_32(buf)==-1361433270){break;} } + for(i=-61;i<-43;i++){ buf[268]=(byte)i; if(sha1_32(buf)==-851359458){break;} } + for(i=92;i<113;i++){ buf[269]=(byte)i; if(sha1_32(buf)==-1868884631){break;} } + for(i=1;i<16;i++){ buf[270]=(byte)i; if(sha1_32(buf)==1087081334){break;} } + for(i=-69;i<-59;i++){ buf[271]=(byte)i; if(sha1_32(buf)==1488478048){break;} } + for(i=-71;i<-52;i++){ buf[272]=(byte)i; if(sha1_32(buf)==370206610){break;} } + for(i=-20;i<-13;i++){ buf[273]=(byte)i; if(sha1_32(buf)==1397236068){break;} } + for(i=45;i<49;i++){ buf[274]=(byte)i; if(sha1_32(buf)==-1138281536){break;} } + for(i=119;i<128;i++){ buf[275]=(byte)i; if(sha1_32(buf)==-429617078){break;} } + for(i=-68;i<-67;i++){ buf[276]=(byte)i; if(sha1_32(buf)==61334015){break;} } + for(i=93;i<100;i++){ buf[277]=(byte)i; if(sha1_32(buf)==-1026018987){break;} } + for(i=-81;i<-70;i++){ buf[278]=(byte)i; if(sha1_32(buf)==867755380){break;} } + for(i=118;i<124;i++){ buf[279]=(byte)i; if(sha1_32(buf)==775095680){break;} } + for(i=102;i<126;i++){ buf[280]=(byte)i; if(sha1_32(buf)==-1686360851){break;} } + for(i=-34;i<-4;i++){ buf[281]=(byte)i; if(sha1_32(buf)==-1103388644){break;} } + for(i=80;i<98;i++){ buf[282]=(byte)i; if(sha1_32(buf)==-1171605593){break;} } + for(i=33;i<53;i++){ buf[283]=(byte)i; if(sha1_32(buf)==-1048739608){break;} } + for(i=-124;i<-112;i++){ buf[284]=(byte)i; if(sha1_32(buf)==-324156208){break;} } + for(i=107;i<122;i++){ buf[285]=(byte)i; if(sha1_32(buf)==-1910086713){break;} } + for(i=-71;i<-55;i++){ buf[286]=(byte)i; if(sha1_32(buf)==2074936258){break;} } + for(i=70;i<91;i++){ buf[287]=(byte)i; if(sha1_32(buf)==681070660){break;} } + for(i=43;i<49;i++){ buf[288]=(byte)i; if(sha1_32(buf)==-383734725){break;} } + for(i=86;i<87;i++){ buf[289]=(byte)i; if(sha1_32(buf)==556081178){break;} } + for(i=70;i<94;i++){ buf[290]=(byte)i; if(sha1_32(buf)==2143166463){break;} } + for(i=-28;i<-11;i++){ buf[291]=(byte)i; if(sha1_32(buf)==1292496247){break;} } + for(i=71;i<86;i++){ buf[292]=(byte)i; if(sha1_32(buf)==1844811825){break;} } + for(i=-114;i<-104;i++){ buf[293]=(byte)i; if(sha1_32(buf)==1323054413){break;} } + for(i=36;i<52;i++){ buf[294]=(byte)i; if(sha1_32(buf)==-1139981795){break;} } + for(i=-8;i<0;i++){ buf[295]=(byte)i; if(sha1_32(buf)==1127901793){break;} } + for(i=23;i<45;i++){ buf[296]=(byte)i; if(sha1_32(buf)==1240273528){break;} } + for(i=23;i<42;i++){ buf[297]=(byte)i; if(sha1_32(buf)==-662859486){break;} } + for(i=-128;i<-106;i++){ buf[298]=(byte)i; if(sha1_32(buf)==1794822263){break;} } + for(i=8;i<26;i++){ buf[299]=(byte)i; if(sha1_32(buf)==959734032){break;} } + for(i=-42;i<-36;i++){ buf[300]=(byte)i; if(sha1_32(buf)==-186158208){break;} } + for(i=-82;i<-60;i++){ buf[301]=(byte)i; if(sha1_32(buf)==-1498030536){break;} } + for(i=-70;i<-41;i++){ buf[302]=(byte)i; if(sha1_32(buf)==1445295671){break;} } + for(i=-104;i<-97;i++){ buf[303]=(byte)i; if(sha1_32(buf)==-857606524){break;} } + for(i=11;i<38;i++){ buf[304]=(byte)i; if(sha1_32(buf)==-2079097095){break;} } + for(i=-19;i<-15;i++){ buf[305]=(byte)i; if(sha1_32(buf)==1263307227){break;} } + for(i=0;i<23;i++){ buf[306]=(byte)i; if(sha1_32(buf)==1675806033){break;} } + for(i=-44;i<-28;i++){ buf[307]=(byte)i; if(sha1_32(buf)==-1453985331){break;} } + for(i=-34;i<-14;i++){ buf[308]=(byte)i; if(sha1_32(buf)==1938579318){break;} } + for(i=-56;i<-50;i++){ buf[309]=(byte)i; if(sha1_32(buf)==981269455){break;} } + for(i=47;i<64;i++){ buf[310]=(byte)i; if(sha1_32(buf)==-960616575){break;} } + for(i=13;i<40;i++){ buf[311]=(byte)i; if(sha1_32(buf)==1174906321){break;} } + for(i=-78;i<-65;i++){ buf[312]=(byte)i; if(sha1_32(buf)==1786385487){break;} } + for(i=97;i<114;i++){ buf[313]=(byte)i; if(sha1_32(buf)==1856017351){break;} } + for(i=57;i<75;i++){ buf[314]=(byte)i; if(sha1_32(buf)==-390209586){break;} } + for(i=-28;i<-17;i++){ buf[315]=(byte)i; if(sha1_32(buf)==1557284659){break;} } + for(i=-125;i<-122;i++){ buf[316]=(byte)i; if(sha1_32(buf)==1707896620){break;} } + for(i=-125;i<-114;i++){ buf[317]=(byte)i; if(sha1_32(buf)==1545252813){break;} } + for(i=64;i<84;i++){ buf[318]=(byte)i; if(sha1_32(buf)==834379007){break;} } + for(i=95;i<112;i++){ buf[319]=(byte)i; if(sha1_32(buf)==-652662847){break;} } + for(i=65;i<79;i++){ buf[320]=(byte)i; if(sha1_32(buf)==-916862378){break;} } + for(i=89;i<97;i++){ buf[321]=(byte)i; if(sha1_32(buf)==1256243200){break;} } + for(i=40;i<43;i++){ buf[322]=(byte)i; if(sha1_32(buf)==1352555621){break;} } + for(i=-128;i<-115;i++){ buf[323]=(byte)i; if(sha1_32(buf)==-1240624110){break;} } + for(i=38;i<55;i++){ buf[324]=(byte)i; if(sha1_32(buf)==1256417714){break;} } + for(i=-88;i<-66;i++){ buf[325]=(byte)i; if(sha1_32(buf)==27675450){break;} } + for(i=-127;i<-111;i++){ buf[326]=(byte)i; if(sha1_32(buf)==1558400560){break;} } + for(i=-59;i<-36;i++){ buf[327]=(byte)i; if(sha1_32(buf)==1569826700){break;} } + for(i=12;i<37;i++){ buf[328]=(byte)i; if(sha1_32(buf)==1547382227){break;} } + for(i=-86;i<-68;i++){ buf[329]=(byte)i; if(sha1_32(buf)==2019607936){break;} } + for(i=2;i<24;i++){ buf[330]=(byte)i; if(sha1_32(buf)==-1757408613){break;} } + for(i=75;i<91;i++){ buf[331]=(byte)i; if(sha1_32(buf)==139528627){break;} } + for(i=-95;i<-85;i++){ buf[332]=(byte)i; if(sha1_32(buf)==-738843284){break;} } + for(i=-75;i<-49;i++){ buf[333]=(byte)i; if(sha1_32(buf)==-2093377577){break;} } + for(i=55;i<69;i++){ buf[334]=(byte)i; if(sha1_32(buf)==770305433){break;} } + for(i=1;i<10;i++){ buf[335]=(byte)i; if(sha1_32(buf)==123700283){break;} } + for(i=-17;i<10;i++){ buf[336]=(byte)i; if(sha1_32(buf)==262166502){break;} } + for(i=-128;i<-116;i++){ buf[337]=(byte)i; if(sha1_32(buf)==2075691425){break;} } + for(i=-78;i<-65;i++){ buf[338]=(byte)i; if(sha1_32(buf)==92964351){break;} } + for(i=-30;i<-14;i++){ buf[339]=(byte)i; if(sha1_32(buf)==1165908725){break;} } + for(i=20;i<32;i++){ buf[340]=(byte)i; if(sha1_32(buf)==-836059634){break;} } + for(i=-27;i<-7;i++){ buf[341]=(byte)i; if(sha1_32(buf)==473014824){break;} } + for(i=62;i<77;i++){ buf[342]=(byte)i; if(sha1_32(buf)==1533421976){break;} } + for(i=121;i<128;i++){ buf[343]=(byte)i; if(sha1_32(buf)==1286800324){break;} } + for(i=-128;i<-119;i++){ buf[344]=(byte)i; if(sha1_32(buf)==-1467669336){break;} } + for(i=-20;i<-12;i++){ buf[345]=(byte)i; if(sha1_32(buf)==1238585230){break;} } + for(i=-64;i<-51;i++){ buf[346]=(byte)i; if(sha1_32(buf)==220306295){break;} } + for(i=7;i<31;i++){ buf[347]=(byte)i; if(sha1_32(buf)==-1559591610){break;} } + for(i=-98;i<-92;i++){ buf[348]=(byte)i; if(sha1_32(buf)==-1728805110){break;} } + for(i=-33;i<-27;i++){ buf[349]=(byte)i; if(sha1_32(buf)==-823465976){break;} } + for(i=-78;i<-50;i++){ buf[350]=(byte)i; if(sha1_32(buf)==1073874256){break;} } + for(i=10;i<26;i++){ buf[351]=(byte)i; if(sha1_32(buf)==-1206375065){break;} } + for(i=20;i<36;i++){ buf[352]=(byte)i; if(sha1_32(buf)==1290895631){break;} } + for(i=19;i<23;i++){ buf[353]=(byte)i; if(sha1_32(buf)==459331649){break;} } + for(i=113;i<128;i++){ buf[354]=(byte)i; if(sha1_32(buf)==372758153){break;} } + for(i=-25;i<-5;i++){ buf[355]=(byte)i; if(sha1_32(buf)==-928067560){break;} } + for(i=-119;i<-106;i++){ buf[356]=(byte)i; if(sha1_32(buf)==808697252){break;} } + for(i=-53;i<-37;i++){ buf[357]=(byte)i; if(sha1_32(buf)==1138525558){break;} } + for(i=-16;i<4;i++){ buf[358]=(byte)i; if(sha1_32(buf)==-1449657209){break;} } + for(i=77;i<96;i++){ buf[359]=(byte)i; if(sha1_32(buf)==-1881999714){break;} } + for(i=44;i<61;i++){ buf[360]=(byte)i; if(sha1_32(buf)==323348962){break;} } + for(i=44;i<53;i++){ buf[361]=(byte)i; if(sha1_32(buf)==1117989614){break;} } + for(i=-118;i<-102;i++){ buf[362]=(byte)i; if(sha1_32(buf)==417606728){break;} } + for(i=10;i<26;i++){ buf[363]=(byte)i; if(sha1_32(buf)==-1732857528){break;} } + for(i=71;i<88;i++){ buf[364]=(byte)i; if(sha1_32(buf)==1214366528){break;} } + for(i=71;i<92;i++){ buf[365]=(byte)i; if(sha1_32(buf)==2116539288){break;} } + for(i=-124;i<-117;i++){ buf[366]=(byte)i; if(sha1_32(buf)==1966030432){break;} } + for(i=112;i<128;i++){ buf[367]=(byte)i; if(sha1_32(buf)==442833700){break;} } + for(i=16;i<46;i++){ buf[368]=(byte)i; if(sha1_32(buf)==1209047741){break;} } + for(i=-99;i<-80;i++){ buf[369]=(byte)i; if(sha1_32(buf)==2064105203){break;} } + for(i=23;i<31;i++){ buf[370]=(byte)i; if(sha1_32(buf)==1962921844){break;} } + for(i=93;i<118;i++){ buf[371]=(byte)i; if(sha1_32(buf)==-1798195149){break;} } + for(i=-99;i<-94;i++){ buf[372]=(byte)i; if(sha1_32(buf)==1196726097){break;} } + for(i=109;i<121;i++){ buf[373]=(byte)i; if(sha1_32(buf)==-1629763996){break;} } + for(i=-29;i<-9;i++){ buf[374]=(byte)i; if(sha1_32(buf)==-1135791940){break;} } + for(i=-103;i<-85;i++){ buf[375]=(byte)i; if(sha1_32(buf)==-1921345995){break;} } + for(i=95;i<109;i++){ buf[376]=(byte)i; if(sha1_32(buf)==924551682){break;} } + for(i=45;i<50;i++){ buf[377]=(byte)i; if(sha1_32(buf)==813658466){break;} } + for(i=-25;i<-12;i++){ buf[378]=(byte)i; if(sha1_32(buf)==-1647238183){break;} } + for(i=-128;i<-106;i++){ buf[379]=(byte)i; if(sha1_32(buf)==-687188532){break;} } + for(i=87;i<107;i++){ buf[380]=(byte)i; if(sha1_32(buf)==-157977277){break;} } + for(i=88;i<114;i++){ buf[381]=(byte)i; if(sha1_32(buf)==-525902358){break;} } + for(i=-3;i<21;i++){ buf[382]=(byte)i; if(sha1_32(buf)==148447155){break;} } + for(i=-100;i<-81;i++){ buf[383]=(byte)i; if(sha1_32(buf)==-464787119){break;} } + for(i=-12;i<0;i++){ buf[384]=(byte)i; if(sha1_32(buf)==-792316736){break;} } + for(i=-38;i<-31;i++){ buf[385]=(byte)i; if(sha1_32(buf)==-858139243){break;} } + for(i=52;i<64;i++){ buf[386]=(byte)i; if(sha1_32(buf)==-1069769593){break;} } + for(i=8;i<16;i++){ buf[387]=(byte)i; if(sha1_32(buf)==1043018564){break;} } + for(i=116;i<128;i++){ buf[388]=(byte)i; if(sha1_32(buf)==1792935681){break;} } + for(i=-97;i<-75;i++){ buf[389]=(byte)i; if(sha1_32(buf)==-1936047353){break;} } + for(i=-59;i<-42;i++){ buf[390]=(byte)i; if(sha1_32(buf)==1311489621){break;} } + for(i=-113;i<-98;i++){ buf[391]=(byte)i; if(sha1_32(buf)==1837646775){break;} } + for(i=114;i<127;i++){ buf[392]=(byte)i; if(sha1_32(buf)==1383108593){break;} } + for(i=104;i<123;i++){ buf[393]=(byte)i; if(sha1_32(buf)==2093039570){break;} } + for(i=75;i<85;i++){ buf[394]=(byte)i; if(sha1_32(buf)==1054745819){break;} } + for(i=88;i<105;i++){ buf[395]=(byte)i; if(sha1_32(buf)==321524122){break;} } + for(i=-115;i<-111;i++){ buf[396]=(byte)i; if(sha1_32(buf)==1380327489){break;} } + for(i=-65;i<-40;i++){ buf[397]=(byte)i; if(sha1_32(buf)==-1868200771){break;} } + for(i=-128;i<-117;i++){ buf[398]=(byte)i; if(sha1_32(buf)==-306538795){break;} } + for(i=-7;i<18;i++){ buf[399]=(byte)i; if(sha1_32(buf)==78108234){break;} } + for(i=42;i<64;i++){ buf[400]=(byte)i; if(sha1_32(buf)==218521347){break;} } + for(i=16;i<30;i++){ buf[401]=(byte)i; if(sha1_32(buf)==1103448038){break;} } + for(i=-12;i<3;i++){ buf[402]=(byte)i; if(sha1_32(buf)==-792783999){break;} } + for(i=52;i<72;i++){ buf[403]=(byte)i; if(sha1_32(buf)==2134375104){break;} } + for(i=-33;i<-16;i++){ buf[404]=(byte)i; if(sha1_32(buf)==1751314759){break;} } + for(i=-3;i<20;i++){ buf[405]=(byte)i; if(sha1_32(buf)==-492128099){break;} } + for(i=-92;i<-79;i++){ buf[406]=(byte)i; if(sha1_32(buf)==788144321){break;} } + for(i=-86;i<-71;i++){ buf[407]=(byte)i; if(sha1_32(buf)==1021440416){break;} } + for(i=70;i<85;i++){ buf[408]=(byte)i; if(sha1_32(buf)==-1757753705){break;} } + for(i=-4;i<3;i++){ buf[409]=(byte)i; if(sha1_32(buf)==-1757753705){break;} } + for(i=57;i<60;i++){ buf[410]=(byte)i; if(sha1_32(buf)==351743013){break;} } + for(i=1;i<28;i++){ buf[411]=(byte)i; if(sha1_32(buf)==346949450){break;} } + for(i=67;i<84;i++){ buf[412]=(byte)i; if(sha1_32(buf)==1484167264){break;} } + for(i=-109;i<-105;i++){ buf[413]=(byte)i; if(sha1_32(buf)==-225493642){break;} } + for(i=114;i<128;i++){ buf[414]=(byte)i; if(sha1_32(buf)==-1691339989){break;} } + for(i=-16;i<4;i++){ buf[415]=(byte)i; if(sha1_32(buf)==-1177687546){break;} } + for(i=40;i<53;i++){ buf[416]=(byte)i; if(sha1_32(buf)==-44730966){break;} } + for(i=113;i<128;i++){ buf[417]=(byte)i; if(sha1_32(buf)==-1099287942){break;} } + for(i=-110;i<-93;i++){ buf[418]=(byte)i; if(sha1_32(buf)==1104397920){break;} } + for(i=-41;i<-37;i++){ buf[419]=(byte)i; if(sha1_32(buf)==410370293){break;} } + for(i=117;i<128;i++){ buf[420]=(byte)i; if(sha1_32(buf)==-1706304772){break;} } + for(i=-32;i<-16;i++){ buf[421]=(byte)i; if(sha1_32(buf)==1779465200){break;} } + for(i=-72;i<-53;i++){ buf[422]=(byte)i; if(sha1_32(buf)==783332057){break;} } + for(i=71;i<101;i++){ buf[423]=(byte)i; if(sha1_32(buf)==-1600770238){break;} } + for(i=-10;i<11;i++){ buf[424]=(byte)i; if(sha1_32(buf)==-1600770238){break;} } + for(i=18;i<26;i++){ buf[425]=(byte)i; if(sha1_32(buf)==-354652161){break;} } + for(i=-94;i<-84;i++){ buf[426]=(byte)i; if(sha1_32(buf)==1369038958){break;} } + for(i=104;i<115;i++){ buf[427]=(byte)i; if(sha1_32(buf)==1105731567){break;} } + for(i=-8;i<6;i++){ buf[428]=(byte)i; if(sha1_32(buf)==-1440254697){break;} } + for(i=-86;i<-76;i++){ buf[429]=(byte)i; if(sha1_32(buf)==1395951968){break;} } + for(i=19;i<46;i++){ buf[430]=(byte)i; if(sha1_32(buf)==-1662385736){break;} } + for(i=-104;i<-92;i++){ buf[431]=(byte)i; if(sha1_32(buf)==-1600360904){break;} } + for(i=-93;i<-76;i++){ buf[432]=(byte)i; if(sha1_32(buf)==-1173475091){break;} } + for(i=-95;i<-73;i++){ buf[433]=(byte)i; if(sha1_32(buf)==2031419338){break;} } + for(i=79;i<90;i++){ buf[434]=(byte)i; if(sha1_32(buf)==1858593452){break;} } + for(i=-79;i<-56;i++){ buf[435]=(byte)i; if(sha1_32(buf)==-970837550){break;} } + for(i=-107;i<-100;i++){ buf[436]=(byte)i; if(sha1_32(buf)==1859497737){break;} } + for(i=-6;i<5;i++){ buf[437]=(byte)i; if(sha1_32(buf)==350160746){break;} } + for(i=13;i<35;i++){ buf[438]=(byte)i; if(sha1_32(buf)==-1876000603){break;} } + for(i=-111;i<-87;i++){ buf[439]=(byte)i; if(sha1_32(buf)==-1517649888){break;} } + for(i=72;i<81;i++){ buf[440]=(byte)i; if(sha1_32(buf)==-1168224674){break;} } + for(i=-119;i<-98;i++){ buf[441]=(byte)i; if(sha1_32(buf)==-211497471){break;} } + for(i=45;i<73;i++){ buf[442]=(byte)i; if(sha1_32(buf)==1286373258){break;} } + for(i=2;i<23;i++){ buf[443]=(byte)i; if(sha1_32(buf)==1102706167){break;} } + for(i=-120;i<-101;i++){ buf[444]=(byte)i; if(sha1_32(buf)==440282413){break;} } + for(i=-58;i<-49;i++){ buf[445]=(byte)i; if(sha1_32(buf)==1287734805){break;} } + for(i=83;i<96;i++){ buf[446]=(byte)i; if(sha1_32(buf)==-198551034){break;} } + for(i=-21;i<-2;i++){ buf[447]=(byte)i; if(sha1_32(buf)==-1055537683){break;} } + for(i=-116;i<-98;i++){ buf[448]=(byte)i; if(sha1_32(buf)==-2019070452){break;} } + for(i=-100;i<-87;i++){ buf[449]=(byte)i; if(sha1_32(buf)==1645730466){break;} } + for(i=36;i<43;i++){ buf[450]=(byte)i; if(sha1_32(buf)==-1919037742){break;} } + for(i=-124;i<-106;i++){ buf[451]=(byte)i; if(sha1_32(buf)==-812420350){break;} } + for(i=-30;i<-5;i++){ buf[452]=(byte)i; if(sha1_32(buf)==-1361199407){break;} } + for(i=-128;i<-106;i++){ buf[453]=(byte)i; if(sha1_32(buf)==-1679597417){break;} } + for(i=-56;i<-48;i++){ buf[454]=(byte)i; if(sha1_32(buf)==917856781){break;} } + for(i=-12;i<12;i++){ buf[455]=(byte)i; if(sha1_32(buf)==1714614132){break;} } + for(i=121;i<125;i++){ buf[456]=(byte)i; if(sha1_32(buf)==2068334508){break;} } + for(i=-124;i<-107;i++){ buf[457]=(byte)i; if(sha1_32(buf)==347480362){break;} } + for(i=-87;i<-67;i++){ buf[458]=(byte)i; if(sha1_32(buf)==-1289641013){break;} } + for(i=116;i<128;i++){ buf[459]=(byte)i; if(sha1_32(buf)==1175185600){break;} } + for(i=-84;i<-66;i++){ buf[460]=(byte)i; if(sha1_32(buf)==-18576159){break;} } + for(i=-23;i<-9;i++){ buf[461]=(byte)i; if(sha1_32(buf)==-1938771769){break;} } + for(i=-44;i<-34;i++){ buf[462]=(byte)i; if(sha1_32(buf)==-1187820649){break;} } + for(i=-128;i<-121;i++){ buf[463]=(byte)i; if(sha1_32(buf)==578015200){break;} } + for(i=34;i<43;i++){ buf[464]=(byte)i; if(sha1_32(buf)==691096919){break;} } + for(i=27;i<43;i++){ buf[465]=(byte)i; if(sha1_32(buf)==693912125){break;} } + for(i=-81;i<-60;i++){ buf[466]=(byte)i; if(sha1_32(buf)==1963501561){break;} } + for(i=23;i<40;i++){ buf[467]=(byte)i; if(sha1_32(buf)==-1812234144){break;} } + for(i=-85;i<-75;i++){ buf[468]=(byte)i; if(sha1_32(buf)==-957878455){break;} } + for(i=64;i<79;i++){ buf[469]=(byte)i; if(sha1_32(buf)==-963610725){break;} } + for(i=55;i<70;i++){ buf[470]=(byte)i; if(sha1_32(buf)==-343529411){break;} } + for(i=20;i<34;i++){ buf[471]=(byte)i; if(sha1_32(buf)==-1704740558){break;} } + for(i=73;i<88;i++){ buf[472]=(byte)i; if(sha1_32(buf)==-1113725046){break;} } + for(i=-45;i<-27;i++){ buf[473]=(byte)i; if(sha1_32(buf)==-2145645120){break;} } + for(i=-77;i<-55;i++){ buf[474]=(byte)i; if(sha1_32(buf)==-883203113){break;} } + for(i=80;i<95;i++){ buf[475]=(byte)i; if(sha1_32(buf)==-2043978145){break;} } + for(i=-101;i<-89;i++){ buf[476]=(byte)i; if(sha1_32(buf)==-408065104){break;} } + for(i=-119;i<-93;i++){ buf[477]=(byte)i; if(sha1_32(buf)==-431406000){break;} } + for(i=-48;i<-25;i++){ buf[478]=(byte)i; if(sha1_32(buf)==-1201005378){break;} } + for(i=-59;i<-41;i++){ buf[479]=(byte)i; if(sha1_32(buf)==-1041009913){break;} } + for(i=105;i<119;i++){ buf[480]=(byte)i; if(sha1_32(buf)==1462073621){break;} } + for(i=-56;i<-41;i++){ buf[481]=(byte)i; if(sha1_32(buf)==116529330){break;} } + for(i=94;i<110;i++){ buf[482]=(byte)i; if(sha1_32(buf)==-1462052658){break;} } + for(i=-98;i<-67;i++){ buf[483]=(byte)i; if(sha1_32(buf)==1167200785){break;} } + for(i=-54;i<-27;i++){ buf[484]=(byte)i; if(sha1_32(buf)==-1202588922){break;} } + for(i=115;i<128;i++){ buf[485]=(byte)i; if(sha1_32(buf)==-1101204127){break;} } + for(i=50;i<65;i++){ buf[486]=(byte)i; if(sha1_32(buf)==2061686263){break;} } + for(i=25;i<36;i++){ buf[487]=(byte)i; if(sha1_32(buf)==-1420568322){break;} } + for(i=-104;i<-89;i++){ buf[488]=(byte)i; if(sha1_32(buf)==-1237053071){break;} } + for(i=-24;i<-5;i++){ buf[489]=(byte)i; if(sha1_32(buf)==-134331954){break;} } + for(i=-115;i<-99;i++){ buf[490]=(byte)i; if(sha1_32(buf)==156999132){break;} } + for(i=56;i<82;i++){ buf[491]=(byte)i; if(sha1_32(buf)==-1603977095){break;} } + for(i=48;i<59;i++){ buf[492]=(byte)i; if(sha1_32(buf)==686226542){break;} } + for(i=-2;i<12;i++){ buf[493]=(byte)i; if(sha1_32(buf)==1892334296){break;} } + for(i=74;i<96;i++){ buf[494]=(byte)i; if(sha1_32(buf)==65740742){break;} } + for(i=68;i<88;i++){ buf[495]=(byte)i; if(sha1_32(buf)==-1280035118){break;} } + for(i=45;i<57;i++){ buf[496]=(byte)i; if(sha1_32(buf)==1642936812){break;} } + for(i=-128;i<-112;i++){ buf[497]=(byte)i; if(sha1_32(buf)==382969491){break;} } + for(i=16;i<33;i++){ buf[498]=(byte)i; if(sha1_32(buf)==-547547377){break;} } + for(i=-60;i<-39;i++){ buf[499]=(byte)i; if(sha1_32(buf)==-1842153238){break;} } + for(i=-69;i<-48;i++){ buf[500]=(byte)i; if(sha1_32(buf)==-2021292184){break;} } + for(i=101;i<121;i++){ buf[501]=(byte)i; if(sha1_32(buf)==-1453688289){break;} } + for(i=111;i<123;i++){ buf[502]=(byte)i; if(sha1_32(buf)==-1350737308){break;} } + for(i=-19;i<1;i++){ buf[503]=(byte)i; if(sha1_32(buf)==-1442064354){break;} } + for(i=119;i<128;i++){ buf[504]=(byte)i; if(sha1_32(buf)==-1703722060){break;} } + for(i=81;i<90;i++){ buf[505]=(byte)i; if(sha1_32(buf)==-56183450){break;} } + for(i=86;i<107;i++){ buf[506]=(byte)i; if(sha1_32(buf)==301583941){break;} } + for(i=48;i<77;i++){ buf[507]=(byte)i; if(sha1_32(buf)==-1098954584){break;} } + for(i=-101;i<-86;i++){ buf[508]=(byte)i; if(sha1_32(buf)==882871208){break;} } + for(i=96;i<101;i++){ buf[509]=(byte)i; if(sha1_32(buf)==-125057558){break;} } + for(i=-10;i<8;i++){ buf[510]=(byte)i; if(sha1_32(buf)==1007551878){break;} } + for(i=-75;i<-71;i++){ buf[511]=(byte)i; if(sha1_32(buf)==-889315492){break;} } + for(i=26;i<46;i++){ buf[512]=(byte)i; if(sha1_32(buf)==-1493230782){break;} } + for(i=-128;i<-118;i++){ buf[513]=(byte)i; if(sha1_32(buf)==-1217430520){break;} } + for(i=-61;i<-51;i++){ buf[514]=(byte)i; if(sha1_32(buf)==-719766361){break;} } + for(i=97;i<108;i++){ buf[515]=(byte)i; if(sha1_32(buf)==1780444762){break;} } + for(i=7;i<31;i++){ buf[516]=(byte)i; if(sha1_32(buf)==93631430){break;} } + for(i=-128;i<-109;i++){ buf[517]=(byte)i; if(sha1_32(buf)==-1579614481){break;} } + for(i=36;i<56;i++){ buf[518]=(byte)i; if(sha1_32(buf)==1122764340){break;} } + for(i=-91;i<-69;i++){ buf[519]=(byte)i; if(sha1_32(buf)==204441373){break;} } + for(i=-52;i<-32;i++){ buf[520]=(byte)i; if(sha1_32(buf)==-1345108836){break;} } + for(i=-22;i<-7;i++){ buf[521]=(byte)i; if(sha1_32(buf)==-473026700){break;} } + for(i=-18;i<3;i++){ buf[522]=(byte)i; if(sha1_32(buf)==-53570723){break;} } + for(i=-28;i<-22;i++){ buf[523]=(byte)i; if(sha1_32(buf)==-742354020){break;} } + for(i=5;i<22;i++){ buf[524]=(byte)i; if(sha1_32(buf)==57188405){break;} } + for(i=-118;i<-97;i++){ buf[525]=(byte)i; if(sha1_32(buf)==-805152784){break;} } + for(i=101;i<110;i++){ buf[526]=(byte)i; if(sha1_32(buf)==1884589447){break;} } + for(i=22;i<41;i++){ buf[527]=(byte)i; if(sha1_32(buf)==1321287803){break;} } + for(i=36;i<51;i++){ buf[528]=(byte)i; if(sha1_32(buf)==1991102187){break;} } + for(i=77;i<100;i++){ buf[529]=(byte)i; if(sha1_32(buf)==116811737){break;} } + for(i=34;i<54;i++){ buf[530]=(byte)i; if(sha1_32(buf)==-1621297999){break;} } + for(i=34;i<51;i++){ buf[531]=(byte)i; if(sha1_32(buf)==-1169590718){break;} } + for(i=49;i<56;i++){ buf[532]=(byte)i; if(sha1_32(buf)==-1433549503){break;} } + for(i=101;i<108;i++){ buf[533]=(byte)i; if(sha1_32(buf)==-1961000107){break;} } + for(i=-13;i<9;i++){ buf[534]=(byte)i; if(sha1_32(buf)==-491166058){break;} } + for(i=88;i<113;i++){ buf[535]=(byte)i; if(sha1_32(buf)==-1433097452){break;} } + for(i=-18;i<-4;i++){ buf[536]=(byte)i; if(sha1_32(buf)==-196646497){break;} } + for(i=-109;i<-93;i++){ buf[537]=(byte)i; if(sha1_32(buf)==-1040279050){break;} } + for(i=-85;i<-74;i++){ buf[538]=(byte)i; if(sha1_32(buf)==2144991839){break;} } + for(i=-11;i<-5;i++){ buf[539]=(byte)i; if(sha1_32(buf)==-1322695683){break;} } + for(i=-3;i<19;i++){ buf[540]=(byte)i; if(sha1_32(buf)==1002324823){break;} } + for(i=64;i<95;i++){ buf[541]=(byte)i; if(sha1_32(buf)==1839522840){break;} } + for(i=72;i<87;i++){ buf[542]=(byte)i; if(sha1_32(buf)==1154496666){break;} } + for(i=-109;i<-86;i++){ buf[543]=(byte)i; if(sha1_32(buf)==-1943462088){break;} } + for(i=59;i<63;i++){ buf[544]=(byte)i; if(sha1_32(buf)==-229369447){break;} } + for(i=44;i<55;i++){ buf[545]=(byte)i; if(sha1_32(buf)==1981459588){break;} } + for(i=-115;i<-98;i++){ buf[546]=(byte)i; if(sha1_32(buf)==-1369068247){break;} } + for(i=-124;i<-108;i++){ buf[547]=(byte)i; if(sha1_32(buf)==1244213688){break;} } + for(i=77;i<84;i++){ buf[548]=(byte)i; if(sha1_32(buf)==-1907866199){break;} } + for(i=-124;i<-104;i++){ buf[549]=(byte)i; if(sha1_32(buf)==-1303249819){break;} } + for(i=79;i<97;i++){ buf[550]=(byte)i; if(sha1_32(buf)==-2036674089){break;} } + for(i=-45;i<-29;i++){ buf[551]=(byte)i; if(sha1_32(buf)==-296348860){break;} } + for(i=-46;i<-33;i++){ buf[552]=(byte)i; if(sha1_32(buf)==-185013177){break;} } + for(i=-124;i<-103;i++){ buf[553]=(byte)i; if(sha1_32(buf)==367236665){break;} } + for(i=-6;i<15;i++){ buf[554]=(byte)i; if(sha1_32(buf)==864237735){break;} } + for(i=80;i<101;i++){ buf[555]=(byte)i; if(sha1_32(buf)==1088399791){break;} } + for(i=14;i<35;i++){ buf[556]=(byte)i; if(sha1_32(buf)==-1805827882){break;} } + for(i=91;i<105;i++){ buf[557]=(byte)i; if(sha1_32(buf)==1644855928){break;} } + for(i=-102;i<-101;i++){ buf[558]=(byte)i; if(sha1_32(buf)==291861395){break;} } + for(i=94;i<102;i++){ buf[559]=(byte)i; if(sha1_32(buf)==618025978){break;} } + for(i=-88;i<-77;i++){ buf[560]=(byte)i; if(sha1_32(buf)==-2058102905){break;} } + for(i=78;i<100;i++){ buf[561]=(byte)i; if(sha1_32(buf)==1295014773){break;} } + for(i=-10;i<3;i++){ buf[562]=(byte)i; if(sha1_32(buf)==1295014773){break;} } + for(i=-90;i<-66;i++){ buf[563]=(byte)i; if(sha1_32(buf)==-940307543){break;} } + for(i=-6;i<5;i++){ buf[564]=(byte)i; if(sha1_32(buf)==-608290120){break;} } + for(i=42;i<69;i++){ buf[565]=(byte)i; if(sha1_32(buf)==-226393781){break;} } + for(i=60;i<70;i++){ buf[566]=(byte)i; if(sha1_32(buf)==1212651045){break;} } + for(i=-39;i<-22;i++){ buf[567]=(byte)i; if(sha1_32(buf)==-1980889466){break;} } + for(i=-121;i<-107;i++){ buf[568]=(byte)i; if(sha1_32(buf)==1649795123){break;} } + for(i=-53;i<-42;i++){ buf[569]=(byte)i; if(sha1_32(buf)==-668183297){break;} } + for(i=-113;i<-99;i++){ buf[570]=(byte)i; if(sha1_32(buf)==-1829134115){break;} } + for(i=-37;i<-30;i++){ buf[571]=(byte)i; if(sha1_32(buf)==-395308505){break;} } + for(i=117;i<124;i++){ buf[572]=(byte)i; if(sha1_32(buf)==1891225526){break;} } + for(i=-41;i<-13;i++){ buf[573]=(byte)i; if(sha1_32(buf)==1150922579){break;} } + for(i=-101;i<-80;i++){ buf[574]=(byte)i; if(sha1_32(buf)==-1289498605){break;} } + for(i=-20;i<-9;i++){ buf[575]=(byte)i; if(sha1_32(buf)==151661924){break;} } + for(i=-13;i<-6;i++){ buf[576]=(byte)i; if(sha1_32(buf)==995968938){break;} } + for(i=-105;i<-91;i++){ buf[577]=(byte)i; if(sha1_32(buf)==2025150891){break;} } + for(i=78;i<86;i++){ buf[578]=(byte)i; if(sha1_32(buf)==1127675594){break;} } + for(i=-77;i<-65;i++){ buf[579]=(byte)i; if(sha1_32(buf)==-1452855725){break;} } + for(i=120;i<128;i++){ buf[580]=(byte)i; if(sha1_32(buf)==-1177531315){break;} } + for(i=-55;i<-36;i++){ buf[581]=(byte)i; if(sha1_32(buf)==-1974723444){break;} } + for(i=-81;i<-61;i++){ buf[582]=(byte)i; if(sha1_32(buf)==-1418460157){break;} } + for(i=114;i<128;i++){ buf[583]=(byte)i; if(sha1_32(buf)==-595809126){break;} } + for(i=58;i<79;i++){ buf[584]=(byte)i; if(sha1_32(buf)==-2050484102){break;} } + for(i=-72;i<-51;i++){ buf[585]=(byte)i; if(sha1_32(buf)==-162737880){break;} } + for(i=14;i<23;i++){ buf[586]=(byte)i; if(sha1_32(buf)==906434587){break;} } + for(i=-68;i<-61;i++){ buf[587]=(byte)i; if(sha1_32(buf)==-1736950091){break;} } + for(i=108;i<124;i++){ buf[588]=(byte)i; if(sha1_32(buf)==1838923683){break;} } + for(i=84;i<103;i++){ buf[589]=(byte)i; if(sha1_32(buf)==-1325076045){break;} } + for(i=22;i<38;i++){ buf[590]=(byte)i; if(sha1_32(buf)==-2043417461){break;} } + for(i=-9;i<16;i++){ buf[591]=(byte)i; if(sha1_32(buf)==-2043417461){break;} } + for(i=-93;i<-78;i++){ buf[592]=(byte)i; if(sha1_32(buf)==-1191370538){break;} } + for(i=-78;i<-55;i++){ buf[593]=(byte)i; if(sha1_32(buf)==1508086351){break;} } + for(i=67;i<80;i++){ buf[594]=(byte)i; if(sha1_32(buf)==-41542873){break;} } + for(i=55;i<72;i++){ buf[595]=(byte)i; if(sha1_32(buf)==1341292614){break;} } + for(i=41;i<62;i++){ buf[596]=(byte)i; if(sha1_32(buf)==-1752988133){break;} } + for(i=103;i<120;i++){ buf[597]=(byte)i; if(sha1_32(buf)==270595236){break;} } + for(i=-68;i<-51;i++){ buf[598]=(byte)i; if(sha1_32(buf)==-262672057){break;} } + for(i=59;i<78;i++){ buf[599]=(byte)i; if(sha1_32(buf)==799549267){break;} } + for(i=106;i<128;i++){ buf[600]=(byte)i; if(sha1_32(buf)==852207141){break;} } + for(i=62;i<88;i++){ buf[601]=(byte)i; if(sha1_32(buf)==-2044100874){break;} } + for(i=-101;i<-85;i++){ buf[602]=(byte)i; if(sha1_32(buf)==-1226311413){break;} } + for(i=-38;i<-33;i++){ buf[603]=(byte)i; if(sha1_32(buf)==51643495){break;} } + for(i=-93;i<-68;i++){ buf[604]=(byte)i; if(sha1_32(buf)==-1580049198){break;} } + for(i=-94;i<-80;i++){ buf[605]=(byte)i; if(sha1_32(buf)==-1988312088){break;} } + for(i=56;i<66;i++){ buf[606]=(byte)i; if(sha1_32(buf)==178678728){break;} } + for(i=79;i<96;i++){ buf[607]=(byte)i; if(sha1_32(buf)==1579577994){break;} } + for(i=89;i<110;i++){ buf[608]=(byte)i; if(sha1_32(buf)==1006333265){break;} } + for(i=30;i<46;i++){ buf[609]=(byte)i; if(sha1_32(buf)==-459612890){break;} } + for(i=-18;i<-12;i++){ buf[610]=(byte)i; if(sha1_32(buf)==-57773091){break;} } + for(i=123;i<128;i++){ buf[611]=(byte)i; if(sha1_32(buf)==-1996317046){break;} } + for(i=-92;i<-78;i++){ buf[612]=(byte)i; if(sha1_32(buf)==54516584){break;} } + for(i=30;i<53;i++){ buf[613]=(byte)i; if(sha1_32(buf)==-1617064106){break;} } + for(i=-122;i<-99;i++){ buf[614]=(byte)i; if(sha1_32(buf)==1207830648){break;} } + for(i=-25;i<-15;i++){ buf[615]=(byte)i; if(sha1_32(buf)==-484139056){break;} } + for(i=-51;i<-31;i++){ buf[616]=(byte)i; if(sha1_32(buf)==2068744186){break;} } + for(i=37;i<51;i++){ buf[617]=(byte)i; if(sha1_32(buf)==1046413910){break;} } + for(i=98;i<124;i++){ buf[618]=(byte)i; if(sha1_32(buf)==-1722846813){break;} } + for(i=-1;i<18;i++){ buf[619]=(byte)i; if(sha1_32(buf)==-947513710){break;} } + for(i=-93;i<-74;i++){ buf[620]=(byte)i; if(sha1_32(buf)==960957071){break;} } + for(i=-67;i<-51;i++){ buf[621]=(byte)i; if(sha1_32(buf)==-1765385207){break;} } + for(i=-74;i<-56;i++){ buf[622]=(byte)i; if(sha1_32(buf)==-923815254){break;} } + for(i=-95;i<-92;i++){ buf[623]=(byte)i; if(sha1_32(buf)==1713837577){break;} } + for(i=-114;i<-95;i++){ buf[624]=(byte)i; if(sha1_32(buf)==-262063588){break;} } + for(i=-29;i<-13;i++){ buf[625]=(byte)i; if(sha1_32(buf)==1515876818){break;} } + for(i=-79;i<-63;i++){ buf[626]=(byte)i; if(sha1_32(buf)==-1966876680){break;} } + for(i=68;i<85;i++){ buf[627]=(byte)i; if(sha1_32(buf)==-1191224209){break;} } + for(i=26;i<43;i++){ buf[628]=(byte)i; if(sha1_32(buf)==-1395698145){break;} } + for(i=-9;i<1;i++){ buf[629]=(byte)i; if(sha1_32(buf)==649200137){break;} } + for(i=-79;i<-73;i++){ buf[630]=(byte)i; if(sha1_32(buf)==1387155612){break;} } + for(i=42;i<63;i++){ buf[631]=(byte)i; if(sha1_32(buf)==1570446125){break;} } + for(i=82;i<97;i++){ buf[632]=(byte)i; if(sha1_32(buf)==1744853453){break;} } + for(i=-103;i<-90;i++){ buf[633]=(byte)i; if(sha1_32(buf)==-1890752382){break;} } + for(i=-107;i<-87;i++){ buf[634]=(byte)i; if(sha1_32(buf)==622783297){break;} } + for(i=-52;i<-35;i++){ buf[635]=(byte)i; if(sha1_32(buf)==828050581){break;} } + for(i=79;i<99;i++){ buf[636]=(byte)i; if(sha1_32(buf)==1488981738){break;} } + for(i=-88;i<-79;i++){ buf[637]=(byte)i; if(sha1_32(buf)==-1858150360){break;} } + for(i=69;i<79;i++){ buf[638]=(byte)i; if(sha1_32(buf)==-1945392469){break;} } + for(i=-67;i<-55;i++){ buf[639]=(byte)i; if(sha1_32(buf)==1671229127){break;} } + for(i=28;i<45;i++){ buf[640]=(byte)i; if(sha1_32(buf)==-1014933907){break;} } + for(i=-58;i<-39;i++){ buf[641]=(byte)i; if(sha1_32(buf)==1372881456){break;} } + for(i=84;i<89;i++){ buf[642]=(byte)i; if(sha1_32(buf)==1053371928){break;} } + for(i=-99;i<-76;i++){ buf[643]=(byte)i; if(sha1_32(buf)==-577006868){break;} } + for(i=-50;i<-26;i++){ buf[644]=(byte)i; if(sha1_32(buf)==-433234050){break;} } + for(i=121;i<128;i++){ buf[645]=(byte)i; if(sha1_32(buf)==89846106){break;} } + for(i=49;i<51;i++){ buf[646]=(byte)i; if(sha1_32(buf)==-2066320762){break;} } + for(i=65;i<69;i++){ buf[647]=(byte)i; if(sha1_32(buf)==1057230177){break;} } + for(i=-102;i<-75;i++){ buf[648]=(byte)i; if(sha1_32(buf)==-1377425863){break;} } + for(i=59;i<67;i++){ buf[649]=(byte)i; if(sha1_32(buf)==570665573){break;} } + for(i=-31;i<-14;i++){ buf[650]=(byte)i; if(sha1_32(buf)==1067699666){break;} } + for(i=-91;i<-64;i++){ buf[651]=(byte)i; if(sha1_32(buf)==-916882436){break;} } + for(i=11;i<24;i++){ buf[652]=(byte)i; if(sha1_32(buf)==2042806545){break;} } + for(i=90;i<117;i++){ buf[653]=(byte)i; if(sha1_32(buf)==908851881){break;} } + for(i=-93;i<-66;i++){ buf[654]=(byte)i; if(sha1_32(buf)==-207310256){break;} } + for(i=105;i<128;i++){ buf[655]=(byte)i; if(sha1_32(buf)==1828902765){break;} } + for(i=-128;i<-119;i++){ buf[656]=(byte)i; if(sha1_32(buf)==30956198){break;} } + for(i=-69;i<-59;i++){ buf[657]=(byte)i; if(sha1_32(buf)==-902634309){break;} } + for(i=-112;i<-110;i++){ buf[658]=(byte)i; if(sha1_32(buf)==1719326906){break;} } + for(i=-52;i<-34;i++){ buf[659]=(byte)i; if(sha1_32(buf)==1367537128){break;} } + for(i=13;i<35;i++){ buf[660]=(byte)i; if(sha1_32(buf)==449402226){break;} } + for(i=-38;i<-16;i++){ buf[661]=(byte)i; if(sha1_32(buf)==171459991){break;} } + for(i=73;i<83;i++){ buf[662]=(byte)i; if(sha1_32(buf)==-1019826484){break;} } + for(i=46;i<75;i++){ buf[663]=(byte)i; if(sha1_32(buf)==-871913117){break;} } + for(i=26;i<39;i++){ buf[664]=(byte)i; if(sha1_32(buf)==1669352892){break;} } + for(i=98;i<116;i++){ buf[665]=(byte)i; if(sha1_32(buf)==741551986){break;} } + for(i=104;i<112;i++){ buf[666]=(byte)i; if(sha1_32(buf)==152788533){break;} } + for(i=-88;i<-83;i++){ buf[667]=(byte)i; if(sha1_32(buf)==-1165372910){break;} } + for(i=47;i<55;i++){ buf[668]=(byte)i; if(sha1_32(buf)==-614878886){break;} } + for(i=94;i<109;i++){ buf[669]=(byte)i; if(sha1_32(buf)==93320575){break;} } + for(i=-104;i<-87;i++){ buf[670]=(byte)i; if(sha1_32(buf)==505453804){break;} } + for(i=-93;i<-76;i++){ buf[671]=(byte)i; if(sha1_32(buf)==-362417380){break;} } + for(i=-30;i<-4;i++){ buf[672]=(byte)i; if(sha1_32(buf)==-1046029673){break;} } + for(i=-55;i<-37;i++){ buf[673]=(byte)i; if(sha1_32(buf)==721648088){break;} } + for(i=-22;i<-17;i++){ buf[674]=(byte)i; if(sha1_32(buf)==595203198){break;} } + for(i=14;i<25;i++){ buf[675]=(byte)i; if(sha1_32(buf)==240685342){break;} } + for(i=25;i<31;i++){ buf[676]=(byte)i; if(sha1_32(buf)==1496755219){break;} } + for(i=-120;i<-96;i++){ buf[677]=(byte)i; if(sha1_32(buf)==-1739155155){break;} } + for(i=-48;i<-36;i++){ buf[678]=(byte)i; if(sha1_32(buf)==-816329296){break;} } + for(i=-55;i<-46;i++){ buf[679]=(byte)i; if(sha1_32(buf)==-1571402407){break;} } + for(i=87;i<96;i++){ buf[680]=(byte)i; if(sha1_32(buf)==-1728895964){break;} } + for(i=-117;i<-103;i++){ buf[681]=(byte)i; if(sha1_32(buf)==-1836957716){break;} } + for(i=-2;i<13;i++){ buf[682]=(byte)i; if(sha1_32(buf)==969049136){break;} } + for(i=38;i<52;i++){ buf[683]=(byte)i; if(sha1_32(buf)==-1719771880){break;} } + for(i=-59;i<-53;i++){ buf[684]=(byte)i; if(sha1_32(buf)==541033024){break;} } + for(i=82;i<99;i++){ buf[685]=(byte)i; if(sha1_32(buf)==-476047248){break;} } + for(i=113;i<123;i++){ buf[686]=(byte)i; if(sha1_32(buf)==-1951363620){break;} } + for(i=-81;i<-74;i++){ buf[687]=(byte)i; if(sha1_32(buf)==-769691078){break;} } + for(i=-2;i<11;i++){ buf[688]=(byte)i; if(sha1_32(buf)==-551158611){break;} } + for(i=-39;i<-22;i++){ buf[689]=(byte)i; if(sha1_32(buf)==-328422012){break;} } + for(i=-47;i<-41;i++){ buf[690]=(byte)i; if(sha1_32(buf)==889845553){break;} } + for(i=-69;i<-62;i++){ buf[691]=(byte)i; if(sha1_32(buf)==2139051921){break;} } + for(i=11;i<27;i++){ buf[692]=(byte)i; if(sha1_32(buf)==1806821192){break;} } + for(i=-42;i<-27;i++){ buf[693]=(byte)i; if(sha1_32(buf)==337075310){break;} } + for(i=-107;i<-81;i++){ buf[694]=(byte)i; if(sha1_32(buf)==226733550){break;} } + for(i=-113;i<-108;i++){ buf[695]=(byte)i; if(sha1_32(buf)==-1990212717){break;} } + for(i=85;i<107;i++){ buf[696]=(byte)i; if(sha1_32(buf)==-1810328381){break;} } + for(i=112;i<117;i++){ buf[697]=(byte)i; if(sha1_32(buf)==1647160761){break;} } + for(i=44;i<65;i++){ buf[698]=(byte)i; if(sha1_32(buf)==1589212639){break;} } + for(i=-61;i<-54;i++){ buf[699]=(byte)i; if(sha1_32(buf)==2087918322){break;} } + for(i=-14;i<-5;i++){ buf[700]=(byte)i; if(sha1_32(buf)==1513533111){break;} } + for(i=86;i<91;i++){ buf[701]=(byte)i; if(sha1_32(buf)==454012298){break;} } + for(i=-110;i<-95;i++){ buf[702]=(byte)i; if(sha1_32(buf)==1047429821){break;} } + for(i=-58;i<-42;i++){ buf[703]=(byte)i; if(sha1_32(buf)==-1322772056){break;} } + for(i=-124;i<-108;i++){ buf[704]=(byte)i; if(sha1_32(buf)==609002583){break;} } + for(i=-61;i<-45;i++){ buf[705]=(byte)i; if(sha1_32(buf)==-192132710){break;} } + for(i=84;i<105;i++){ buf[706]=(byte)i; if(sha1_32(buf)==-353004533){break;} } + for(i=-11;i<3;i++){ buf[707]=(byte)i; if(sha1_32(buf)==-682206379){break;} } + for(i=-28;i<-4;i++){ buf[708]=(byte)i; if(sha1_32(buf)==1739650568){break;} } + for(i=-56;i<-37;i++){ buf[709]=(byte)i; if(sha1_32(buf)==-1887075561){break;} } + for(i=-63;i<-53;i++){ buf[710]=(byte)i; if(sha1_32(buf)==-1987706557){break;} } + for(i=-59;i<-41;i++){ buf[711]=(byte)i; if(sha1_32(buf)==1145160466){break;} } + for(i=-34;i<-25;i++){ buf[712]=(byte)i; if(sha1_32(buf)==-1917563737){break;} } + for(i=-69;i<-47;i++){ buf[713]=(byte)i; if(sha1_32(buf)==-830983507){break;} } + for(i=-118;i<-93;i++){ buf[714]=(byte)i; if(sha1_32(buf)==611377946){break;} } + for(i=116;i<128;i++){ buf[715]=(byte)i; if(sha1_32(buf)==-100929146){break;} } + for(i=-48;i<-28;i++){ buf[716]=(byte)i; if(sha1_32(buf)==1998472813){break;} } + for(i=-70;i<-60;i++){ buf[717]=(byte)i; if(sha1_32(buf)==-1999506602){break;} } + for(i=-40;i<-32;i++){ buf[718]=(byte)i; if(sha1_32(buf)==-2062558004){break;} } + for(i=44;i<66;i++){ buf[719]=(byte)i; if(sha1_32(buf)==-1437504374){break;} } + for(i=7;i<21;i++){ buf[720]=(byte)i; if(sha1_32(buf)==69093141){break;} } + for(i=88;i<98;i++){ buf[721]=(byte)i; if(sha1_32(buf)==1715447445){break;} } + for(i=-8;i<10;i++){ buf[722]=(byte)i; if(sha1_32(buf)==1715447445){break;} } + for(i=-113;i<-93;i++){ buf[723]=(byte)i; if(sha1_32(buf)==-744637815){break;} } + for(i=48;i<64;i++){ buf[724]=(byte)i; if(sha1_32(buf)==-10703579){break;} } + for(i=91;i<113;i++){ buf[725]=(byte)i; if(sha1_32(buf)==1007919336){break;} } + for(i=-84;i<-61;i++){ buf[726]=(byte)i; if(sha1_32(buf)==-842724439){break;} } + for(i=-83;i<-69;i++){ buf[727]=(byte)i; if(sha1_32(buf)==67430318){break;} } + for(i=-2;i<18;i++){ buf[728]=(byte)i; if(sha1_32(buf)==-869830687){break;} } + for(i=-111;i<-91;i++){ buf[729]=(byte)i; if(sha1_32(buf)==-2097491929){break;} } + for(i=0;i<17;i++){ buf[730]=(byte)i; if(sha1_32(buf)==-377242918){break;} } + for(i=-57;i<-42;i++){ buf[731]=(byte)i; if(sha1_32(buf)==341732908){break;} } + for(i=18;i<35;i++){ buf[732]=(byte)i; if(sha1_32(buf)==-1999159237){break;} } + for(i=111;i<125;i++){ buf[733]=(byte)i; if(sha1_32(buf)==-765707552){break;} } + for(i=-1;i<17;i++){ buf[734]=(byte)i; if(sha1_32(buf)==-1537423752){break;} } + for(i=-127;i<-122;i++){ buf[735]=(byte)i; if(sha1_32(buf)==-566196193){break;} } + for(i=-29;i<-9;i++){ buf[736]=(byte)i; if(sha1_32(buf)==597187632){break;} } + for(i=-116;i<-101;i++){ buf[737]=(byte)i; if(sha1_32(buf)==-537078429){break;} } + for(i=-29;i<-12;i++){ buf[738]=(byte)i; if(sha1_32(buf)==1640983571){break;} } + for(i=97;i<105;i++){ buf[739]=(byte)i; if(sha1_32(buf)==-2018360703){break;} } + for(i=-27;i<-6;i++){ buf[740]=(byte)i; if(sha1_32(buf)==-138807690){break;} } + for(i=32;i<50;i++){ buf[741]=(byte)i; if(sha1_32(buf)==757431772){break;} } + for(i=-4;i<16;i++){ buf[742]=(byte)i; if(sha1_32(buf)==-1171597137){break;} } + for(i=-107;i<-80;i++){ buf[743]=(byte)i; if(sha1_32(buf)==1464155363){break;} } + for(i=53;i<78;i++){ buf[744]=(byte)i; if(sha1_32(buf)==-845879662){break;} } + for(i=115;i<122;i++){ buf[745]=(byte)i; if(sha1_32(buf)==1382938010){break;} } + for(i=53;i<67;i++){ buf[746]=(byte)i; if(sha1_32(buf)==-37392070){break;} } + for(i=43;i<65;i++){ buf[747]=(byte)i; if(sha1_32(buf)==577566107){break;} } + for(i=-89;i<-74;i++){ buf[748]=(byte)i; if(sha1_32(buf)==1768021172){break;} } + for(i=-1;i<14;i++){ buf[749]=(byte)i; if(sha1_32(buf)==-1089583346){break;} } + for(i=-123;i<-102;i++){ buf[750]=(byte)i; if(sha1_32(buf)==1466994441){break;} } + for(i=98;i<114;i++){ buf[751]=(byte)i; if(sha1_32(buf)==980284703){break;} } + for(i=-76;i<-60;i++){ buf[752]=(byte)i; if(sha1_32(buf)==-1090087637){break;} } + for(i=-108;i<-96;i++){ buf[753]=(byte)i; if(sha1_32(buf)==75673914){break;} } + for(i=-44;i<-31;i++){ buf[754]=(byte)i; if(sha1_32(buf)==2066954313){break;} } + for(i=54;i<57;i++){ buf[755]=(byte)i; if(sha1_32(buf)==-660784448){break;} } + for(i=-119;i<-93;i++){ buf[756]=(byte)i; if(sha1_32(buf)==1258721527){break;} } + for(i=25;i<50;i++){ buf[757]=(byte)i; if(sha1_32(buf)==-949686713){break;} } + for(i=91;i<103;i++){ buf[758]=(byte)i; if(sha1_32(buf)==-1876393076){break;} } + for(i=2;i<28;i++){ buf[759]=(byte)i; if(sha1_32(buf)==1883511282){break;} } + for(i=-6;i<22;i++){ buf[760]=(byte)i; if(sha1_32(buf)==-25852589){break;} } + for(i=-128;i<-123;i++){ buf[761]=(byte)i; if(sha1_32(buf)==896610725){break;} } + for(i=-17;i<0;i++){ buf[762]=(byte)i; if(sha1_32(buf)==-1469514116){break;} } + for(i=-79;i<-60;i++){ buf[763]=(byte)i; if(sha1_32(buf)==1817404646){break;} } + for(i=-54;i<-42;i++){ buf[764]=(byte)i; if(sha1_32(buf)==1854896924){break;} } + for(i=-98;i<-72;i++){ buf[765]=(byte)i; if(sha1_32(buf)==2095565205){break;} } + for(i=96;i<106;i++){ buf[766]=(byte)i; if(sha1_32(buf)==133959406){break;} } + for(i=68;i<90;i++){ buf[767]=(byte)i; if(sha1_32(buf)==-524527593){break;} } + for(i=-127;i<-110;i++){ buf[768]=(byte)i; if(sha1_32(buf)==-2102010037){break;} } + for(i=80;i<90;i++){ buf[769]=(byte)i; if(sha1_32(buf)==-1585912232){break;} } + for(i=99;i<124;i++){ buf[770]=(byte)i; if(sha1_32(buf)==-113852134){break;} } + for(i=65;i<77;i++){ buf[771]=(byte)i; if(sha1_32(buf)==165021182){break;} } + for(i=-24;i<-9;i++){ buf[772]=(byte)i; if(sha1_32(buf)==1185063661){break;} } + for(i=43;i<54;i++){ buf[773]=(byte)i; if(sha1_32(buf)==542063601){break;} } + for(i=17;i<22;i++){ buf[774]=(byte)i; if(sha1_32(buf)==-61114818){break;} } + for(i=86;i<101;i++){ buf[775]=(byte)i; if(sha1_32(buf)==395416014){break;} } + for(i=113;i<128;i++){ buf[776]=(byte)i; if(sha1_32(buf)==2094255887){break;} } + for(i=-108;i<-86;i++){ buf[777]=(byte)i; if(sha1_32(buf)==1586242558){break;} } + for(i=59;i<78;i++){ buf[778]=(byte)i; if(sha1_32(buf)==1644994060){break;} } + for(i=42;i<57;i++){ buf[779]=(byte)i; if(sha1_32(buf)==1158017383){break;} } + for(i=34;i<59;i++){ buf[780]=(byte)i; if(sha1_32(buf)==1647976507){break;} } + for(i=41;i<49;i++){ buf[781]=(byte)i; if(sha1_32(buf)==-1800240491){break;} } + for(i=78;i<91;i++){ buf[782]=(byte)i; if(sha1_32(buf)==751422193){break;} } + for(i=-77;i<-72;i++){ buf[783]=(byte)i; if(sha1_32(buf)==1636024626){break;} } + for(i=-114;i<-97;i++){ buf[784]=(byte)i; if(sha1_32(buf)==-610726987){break;} } + for(i=-7;i<8;i++){ buf[785]=(byte)i; if(sha1_32(buf)==-519365171){break;} } + for(i=42;i<60;i++){ buf[786]=(byte)i; if(sha1_32(buf)==-867561653){break;} } + for(i=-41;i<-26;i++){ buf[787]=(byte)i; if(sha1_32(buf)==585047951){break;} } + for(i=-93;i<-83;i++){ buf[788]=(byte)i; if(sha1_32(buf)==267169594){break;} } + for(i=105;i<128;i++){ buf[789]=(byte)i; if(sha1_32(buf)==1738821431){break;} } + for(i=-128;i<-108;i++){ buf[790]=(byte)i; if(sha1_32(buf)==-1693539687){break;} } + for(i=-45;i<-41;i++){ buf[791]=(byte)i; if(sha1_32(buf)==-902228403){break;} } + for(i=5;i<30;i++){ buf[792]=(byte)i; if(sha1_32(buf)==-41813566){break;} } + for(i=-14;i<2;i++){ buf[793]=(byte)i; if(sha1_32(buf)==1845271809){break;} } + for(i=-64;i<-58;i++){ buf[794]=(byte)i; if(sha1_32(buf)==638787502){break;} } + for(i=-71;i<-59;i++){ buf[795]=(byte)i; if(sha1_32(buf)==-1123669508){break;} } + for(i=-74;i<-62;i++){ buf[796]=(byte)i; if(sha1_32(buf)==-567143598){break;} } + for(i=-23;i<2;i++){ buf[797]=(byte)i; if(sha1_32(buf)==-889989332){break;} } + for(i=110;i<122;i++){ buf[798]=(byte)i; if(sha1_32(buf)==-162337473){break;} } + for(i=1;i<28;i++){ buf[799]=(byte)i; if(sha1_32(buf)==-1982333401){break;} } + for(i=-78;i<-65;i++){ buf[800]=(byte)i; if(sha1_32(buf)==462169358){break;} } + for(i=93;i<94;i++){ buf[801]=(byte)i; if(sha1_32(buf)==-685466243){break;} } + for(i=-48;i<-30;i++){ buf[802]=(byte)i; if(sha1_32(buf)==1804125925){break;} } + for(i=-121;i<-113;i++){ buf[803]=(byte)i; if(sha1_32(buf)==-82172140){break;} } + for(i=84;i<98;i++){ buf[804]=(byte)i; if(sha1_32(buf)==1052341966){break;} } + for(i=-16;i<1;i++){ buf[805]=(byte)i; if(sha1_32(buf)==-1686606408){break;} } + for(i=-113;i<-101;i++){ buf[806]=(byte)i; if(sha1_32(buf)==-1914891881){break;} } + for(i=45;i<71;i++){ buf[807]=(byte)i; if(sha1_32(buf)==-865747878){break;} } + for(i=-93;i<-85;i++){ buf[808]=(byte)i; if(sha1_32(buf)==428614481){break;} } + for(i=103;i<128;i++){ buf[809]=(byte)i; if(sha1_32(buf)==-1206258725){break;} } + for(i=2;i<17;i++){ buf[810]=(byte)i; if(sha1_32(buf)==-1713833313){break;} } + for(i=-68;i<-52;i++){ buf[811]=(byte)i; if(sha1_32(buf)==1434677899){break;} } + for(i=-1;i<21;i++){ buf[812]=(byte)i; if(sha1_32(buf)==1161810759){break;} } + for(i=-70;i<-63;i++){ buf[813]=(byte)i; if(sha1_32(buf)==-1540696839){break;} } + for(i=-97;i<-95;i++){ buf[814]=(byte)i; if(sha1_32(buf)==207983115){break;} } + for(i=0;i<17;i++){ buf[815]=(byte)i; if(sha1_32(buf)==-2055237251){break;} } + for(i=125;i<127;i++){ buf[816]=(byte)i; if(sha1_32(buf)==-963941860){break;} } + for(i=-54;i<-30;i++){ buf[817]=(byte)i; if(sha1_32(buf)==-270749236){break;} } + for(i=-100;i<-77;i++){ buf[818]=(byte)i; if(sha1_32(buf)==-1091830460){break;} } + for(i=28;i<49;i++){ buf[819]=(byte)i; if(sha1_32(buf)==-333903443){break;} } + for(i=-72;i<-52;i++){ buf[820]=(byte)i; if(sha1_32(buf)==-1330406511){break;} } + for(i=6;i<28;i++){ buf[821]=(byte)i; if(sha1_32(buf)==1971072200){break;} } + for(i=29;i<33;i++){ buf[822]=(byte)i; if(sha1_32(buf)==-841256028){break;} } + for(i=89;i<97;i++){ buf[823]=(byte)i; if(sha1_32(buf)==2100583283){break;} } + for(i=-75;i<-63;i++){ buf[824]=(byte)i; if(sha1_32(buf)==-307565791){break;} } + for(i=-94;i<-74;i++){ buf[825]=(byte)i; if(sha1_32(buf)==-1552341751){break;} } + for(i=102;i<113;i++){ buf[826]=(byte)i; if(sha1_32(buf)==-735312381){break;} } + for(i=-71;i<-56;i++){ buf[827]=(byte)i; if(sha1_32(buf)==-1528312675){break;} } + for(i=81;i<92;i++){ buf[828]=(byte)i; if(sha1_32(buf)==-1903345054){break;} } + for(i=52;i<63;i++){ buf[829]=(byte)i; if(sha1_32(buf)==1693254285){break;} } + for(i=-90;i<-76;i++){ buf[830]=(byte)i; if(sha1_32(buf)==418558915){break;} } + for(i=-2;i<22;i++){ buf[831]=(byte)i; if(sha1_32(buf)==892650728){break;} } + for(i=10;i<29;i++){ buf[832]=(byte)i; if(sha1_32(buf)==-1352026041){break;} } + for(i=18;i<38;i++){ buf[833]=(byte)i; if(sha1_32(buf)==602054511){break;} } + for(i=-17;i<-6;i++){ buf[834]=(byte)i; if(sha1_32(buf)==-652737712){break;} } + for(i=-110;i<-97;i++){ buf[835]=(byte)i; if(sha1_32(buf)==-255728508){break;} } + for(i=82;i<88;i++){ buf[836]=(byte)i; if(sha1_32(buf)==839993150){break;} } + for(i=-78;i<-72;i++){ buf[837]=(byte)i; if(sha1_32(buf)==-129302860){break;} } + for(i=-91;i<-77;i++){ buf[838]=(byte)i; if(sha1_32(buf)==1067379676){break;} } + for(i=-87;i<-75;i++){ buf[839]=(byte)i; if(sha1_32(buf)==1770315905){break;} } + for(i=-48;i<-35;i++){ buf[840]=(byte)i; if(sha1_32(buf)==-2035378410){break;} } + for(i=53;i<66;i++){ buf[841]=(byte)i; if(sha1_32(buf)==-1483708569){break;} } + for(i=-45;i<-21;i++){ buf[842]=(byte)i; if(sha1_32(buf)==1586520443){break;} } + for(i=68;i<78;i++){ buf[843]=(byte)i; if(sha1_32(buf)==1669500039){break;} } + for(i=97;i<113;i++){ buf[844]=(byte)i; if(sha1_32(buf)==1602773918){break;} } + for(i=23;i<32;i++){ buf[845]=(byte)i; if(sha1_32(buf)==401760213){break;} } + for(i=96;i<110;i++){ buf[846]=(byte)i; if(sha1_32(buf)==-1273186339){break;} } + for(i=-16;i<9;i++){ buf[847]=(byte)i; if(sha1_32(buf)==-403034651){break;} } + for(i=-75;i<-61;i++){ buf[848]=(byte)i; if(sha1_32(buf)==-27341535){break;} } + for(i=16;i<36;i++){ buf[849]=(byte)i; if(sha1_32(buf)==-1458465891){break;} } + for(i=117;i<126;i++){ buf[850]=(byte)i; if(sha1_32(buf)==1386340566){break;} } + for(i=101;i<117;i++){ buf[851]=(byte)i; if(sha1_32(buf)==-709154867){break;} } + for(i=70;i<81;i++){ buf[852]=(byte)i; if(sha1_32(buf)==1318812156){break;} } + for(i=35;i<56;i++){ buf[853]=(byte)i; if(sha1_32(buf)==-1667457443){break;} } + for(i=-126;i<-117;i++){ buf[854]=(byte)i; if(sha1_32(buf)==1786470338){break;} } + for(i=-71;i<-62;i++){ buf[855]=(byte)i; if(sha1_32(buf)==-348197784){break;} } + for(i=-56;i<-42;i++){ buf[856]=(byte)i; if(sha1_32(buf)==-392859654){break;} } + for(i=66;i<84;i++){ buf[857]=(byte)i; if(sha1_32(buf)==-1552540387){break;} } + for(i=-7;i<7;i++){ buf[858]=(byte)i; if(sha1_32(buf)==-1027035735){break;} } + for(i=39;i<46;i++){ buf[859]=(byte)i; if(sha1_32(buf)==1117339936){break;} } + for(i=-13;i<1;i++){ buf[860]=(byte)i; if(sha1_32(buf)==1117339936){break;} } + for(i=-4;i<7;i++){ buf[861]=(byte)i; if(sha1_32(buf)==-1766186839){break;} } + for(i=-77;i<-66;i++){ buf[862]=(byte)i; if(sha1_32(buf)==622449929){break;} } + for(i=-92;i<-70;i++){ buf[863]=(byte)i; if(sha1_32(buf)==-561339063){break;} } + for(i=-64;i<-52;i++){ buf[864]=(byte)i; if(sha1_32(buf)==2064457750){break;} } + for(i=110;i<127;i++){ buf[865]=(byte)i; if(sha1_32(buf)==-104679845){break;} } + for(i=76;i<97;i++){ buf[866]=(byte)i; if(sha1_32(buf)==-1821335791){break;} } + for(i=-76;i<-55;i++){ buf[867]=(byte)i; if(sha1_32(buf)==-798071534){break;} } + for(i=9;i<34;i++){ buf[868]=(byte)i; if(sha1_32(buf)==-66464778){break;} } + for(i=9;i<30;i++){ buf[869]=(byte)i; if(sha1_32(buf)==2030132946){break;} } + for(i=42;i<70;i++){ buf[870]=(byte)i; if(sha1_32(buf)==570644358){break;} } + for(i=-128;i<-123;i++){ buf[871]=(byte)i; if(sha1_32(buf)==2137278266){break;} } + for(i=-5;i<10;i++){ buf[872]=(byte)i; if(sha1_32(buf)==865726083){break;} } + for(i=-111;i<-95;i++){ buf[873]=(byte)i; if(sha1_32(buf)==29549824){break;} } + for(i=44;i<47;i++){ buf[874]=(byte)i; if(sha1_32(buf)==-3838194){break;} } + for(i=93;i<96;i++){ buf[875]=(byte)i; if(sha1_32(buf)==1749705662){break;} } + for(i=-75;i<-57;i++){ buf[876]=(byte)i; if(sha1_32(buf)==1902400663){break;} } + for(i=-80;i<-74;i++){ buf[877]=(byte)i; if(sha1_32(buf)==-1293240671){break;} } + for(i=1;i<25;i++){ buf[878]=(byte)i; if(sha1_32(buf)==976397329){break;} } + for(i=84;i<100;i++){ buf[879]=(byte)i; if(sha1_32(buf)==-587412251){break;} } + for(i=-85;i<-79;i++){ buf[880]=(byte)i; if(sha1_32(buf)==423859293){break;} } + for(i=99;i<118;i++){ buf[881]=(byte)i; if(sha1_32(buf)==1598825202){break;} } + for(i=86;i<96;i++){ buf[882]=(byte)i; if(sha1_32(buf)==-422482673){break;} } + for(i=78;i<86;i++){ buf[883]=(byte)i; if(sha1_32(buf)==-1758414551){break;} } + for(i=75;i<95;i++){ buf[884]=(byte)i; if(sha1_32(buf)==16934576){break;} } + for(i=27;i<36;i++){ buf[885]=(byte)i; if(sha1_32(buf)==1280778899){break;} } + for(i=14;i<29;i++){ buf[886]=(byte)i; if(sha1_32(buf)==-775687360){break;} } + for(i=97;i<117;i++){ buf[887]=(byte)i; if(sha1_32(buf)==-10868877){break;} } + for(i=-4;i<16;i++){ buf[888]=(byte)i; if(sha1_32(buf)==-10868877){break;} } + for(i=46;i<62;i++){ buf[889]=(byte)i; if(sha1_32(buf)==677175607){break;} } + for(i=-11;i<-7;i++){ buf[890]=(byte)i; if(sha1_32(buf)==-1916553541){break;} } + for(i=-128;i<-114;i++){ buf[891]=(byte)i; if(sha1_32(buf)==-894290563){break;} } + for(i=-28;i<1;i++){ buf[892]=(byte)i; if(sha1_32(buf)==-716648695){break;} } + for(i=-65;i<-58;i++){ buf[893]=(byte)i; if(sha1_32(buf)==-1511622391){break;} } + for(i=-128;i<-121;i++){ buf[894]=(byte)i; if(sha1_32(buf)==-355232066){break;} } + for(i=-58;i<-35;i++){ buf[895]=(byte)i; if(sha1_32(buf)==-1480545957){break;} } + for(i=-11;i<4;i++){ buf[896]=(byte)i; if(sha1_32(buf)==44257716){break;} } + for(i=7;i<12;i++){ buf[897]=(byte)i; if(sha1_32(buf)==1344265495){break;} } + for(i=114;i<128;i++){ buf[898]=(byte)i; if(sha1_32(buf)==177943959){break;} } + for(i=110;i<128;i++){ buf[899]=(byte)i; if(sha1_32(buf)==1047084741){break;} } + for(i=28;i<53;i++){ buf[900]=(byte)i; if(sha1_32(buf)==883887904){break;} } + for(i=-62;i<-41;i++){ buf[901]=(byte)i; if(sha1_32(buf)==-1442904045){break;} } + for(i=-126;i<-110;i++){ buf[902]=(byte)i; if(sha1_32(buf)==-2092933049){break;} } + for(i=-26;i<-19;i++){ buf[903]=(byte)i; if(sha1_32(buf)==-510482468){break;} } + for(i=-82;i<-73;i++){ buf[904]=(byte)i; if(sha1_32(buf)==-668453573){break;} } + for(i=42;i<65;i++){ buf[905]=(byte)i; if(sha1_32(buf)==1857954310){break;} } + for(i=-42;i<-25;i++){ buf[906]=(byte)i; if(sha1_32(buf)==1907832141){break;} } + for(i=-81;i<-52;i++){ buf[907]=(byte)i; if(sha1_32(buf)==-1753105372){break;} } + for(i=-3;i<16;i++){ buf[908]=(byte)i; if(sha1_32(buf)==-965477713){break;} } + for(i=64;i<85;i++){ buf[909]=(byte)i; if(sha1_32(buf)==-163342230){break;} } + for(i=112;i<128;i++){ buf[910]=(byte)i; if(sha1_32(buf)==1036256089){break;} } + for(i=88;i<107;i++){ buf[911]=(byte)i; if(sha1_32(buf)==2053132359){break;} } + for(i=-57;i<-29;i++){ buf[912]=(byte)i; if(sha1_32(buf)==-1974612880){break;} } + for(i=78;i<102;i++){ buf[913]=(byte)i; if(sha1_32(buf)==-986051065){break;} } + for(i=-8;i<0;i++){ buf[914]=(byte)i; if(sha1_32(buf)==898942523){break;} } + for(i=121;i<128;i++){ buf[915]=(byte)i; if(sha1_32(buf)==1210960058){break;} } + for(i=111;i<128;i++){ buf[916]=(byte)i; if(sha1_32(buf)==-1158947702){break;} } + for(i=26;i<45;i++){ buf[917]=(byte)i; if(sha1_32(buf)==-821628464){break;} } + for(i=69;i<80;i++){ buf[918]=(byte)i; if(sha1_32(buf)==1540568198){break;} } + for(i=2;i<5;i++){ buf[919]=(byte)i; if(sha1_32(buf)==-296279185){break;} } + for(i=-122;i<-99;i++){ buf[920]=(byte)i; if(sha1_32(buf)==1337175685){break;} } + for(i=5;i<27;i++){ buf[921]=(byte)i; if(sha1_32(buf)==-2144800837){break;} } + for(i=63;i<78;i++){ buf[922]=(byte)i; if(sha1_32(buf)==415363442){break;} } + for(i=-79;i<-69;i++){ buf[923]=(byte)i; if(sha1_32(buf)==-1781703638){break;} } + for(i=-118;i<-116;i++){ buf[924]=(byte)i; if(sha1_32(buf)==-1571473907){break;} } + for(i=30;i<50;i++){ buf[925]=(byte)i; if(sha1_32(buf)==1917938139){break;} } + for(i=-2;i<14;i++){ buf[926]=(byte)i; if(sha1_32(buf)==-975403474){break;} } + for(i=-82;i<-73;i++){ buf[927]=(byte)i; if(sha1_32(buf)==2121550735){break;} } + for(i=106;i<123;i++){ buf[928]=(byte)i; if(sha1_32(buf)==-1602277109){break;} } + for(i=-101;i<-82;i++){ buf[929]=(byte)i; if(sha1_32(buf)==-1516708668){break;} } + for(i=101;i<112;i++){ buf[930]=(byte)i; if(sha1_32(buf)==1622192437){break;} } + for(i=41;i<53;i++){ buf[931]=(byte)i; if(sha1_32(buf)==-686978238){break;} } + for(i=25;i<45;i++){ buf[932]=(byte)i; if(sha1_32(buf)==166884904){break;} } + for(i=-116;i<-92;i++){ buf[933]=(byte)i; if(sha1_32(buf)==-97223331){break;} } + for(i=116;i<128;i++){ buf[934]=(byte)i; if(sha1_32(buf)==1263643143){break;} } + for(i=-27;i<-7;i++){ buf[935]=(byte)i; if(sha1_32(buf)==1436612733){break;} } + for(i=-19;i<9;i++){ buf[936]=(byte)i; if(sha1_32(buf)==1335962688){break;} } + for(i=-93;i<-78;i++){ buf[937]=(byte)i; if(sha1_32(buf)==754589298){break;} } + for(i=33;i<42;i++){ buf[938]=(byte)i; if(sha1_32(buf)==-1450477894){break;} } + for(i=99;i<114;i++){ buf[939]=(byte)i; if(sha1_32(buf)==-1577794591){break;} } + for(i=-123;i<-114;i++){ buf[940]=(byte)i; if(sha1_32(buf)==-248050048){break;} } + for(i=-64;i<-42;i++){ buf[941]=(byte)i; if(sha1_32(buf)==1968183316){break;} } + for(i=36;i<45;i++){ buf[942]=(byte)i; if(sha1_32(buf)==-650365666){break;} } + for(i=108;i<128;i++){ buf[943]=(byte)i; if(sha1_32(buf)==-1698723717){break;} } + for(i=-31;i<-21;i++){ buf[944]=(byte)i; if(sha1_32(buf)==-1507659087){break;} } + for(i=22;i<40;i++){ buf[945]=(byte)i; if(sha1_32(buf)==-1552804680){break;} } + for(i=-72;i<-47;i++){ buf[946]=(byte)i; if(sha1_32(buf)==697619244){break;} } + for(i=-38;i<-22;i++){ buf[947]=(byte)i; if(sha1_32(buf)==1144754024){break;} } + for(i=-55;i<-38;i++){ buf[948]=(byte)i; if(sha1_32(buf)==1611176787){break;} } + for(i=-59;i<-34;i++){ buf[949]=(byte)i; if(sha1_32(buf)==-957661096){break;} } + for(i=75;i<92;i++){ buf[950]=(byte)i; if(sha1_32(buf)==992333398){break;} } + for(i=38;i<45;i++){ buf[951]=(byte)i; if(sha1_32(buf)==-1343154612){break;} } + for(i=24;i<29;i++){ buf[952]=(byte)i; if(sha1_32(buf)==-1023071938){break;} } + for(i=-91;i<-74;i++){ buf[953]=(byte)i; if(sha1_32(buf)==-1142385161){break;} } + for(i=25;i<51;i++){ buf[954]=(byte)i; if(sha1_32(buf)==-1259893995){break;} } + for(i=-111;i<-85;i++){ buf[955]=(byte)i; if(sha1_32(buf)==-265732050){break;} } + for(i=-6;i<5;i++){ buf[956]=(byte)i; if(sha1_32(buf)==52640541){break;} } + for(i=75;i<82;i++){ buf[957]=(byte)i; if(sha1_32(buf)==-1592044720){break;} } + for(i=37;i<52;i++){ buf[958]=(byte)i; if(sha1_32(buf)==253203775){break;} } + for(i=55;i<67;i++){ buf[959]=(byte)i; if(sha1_32(buf)==-1186737008){break;} } + for(i=-106;i<-81;i++){ buf[960]=(byte)i; if(sha1_32(buf)==-1878577613){break;} } + for(i=-33;i<-3;i++){ buf[961]=(byte)i; if(sha1_32(buf)==-2056595243){break;} } + for(i=106;i<117;i++){ buf[962]=(byte)i; if(sha1_32(buf)==-2120205781){break;} } + for(i=-53;i<-36;i++){ buf[963]=(byte)i; if(sha1_32(buf)==125468582){break;} } + for(i=-41;i<-21;i++){ buf[964]=(byte)i; if(sha1_32(buf)==-759282965){break;} } + for(i=-100;i<-91;i++){ buf[965]=(byte)i; if(sha1_32(buf)==46037119){break;} } + for(i=85;i<90;i++){ buf[966]=(byte)i; if(sha1_32(buf)==-1381494939){break;} } + for(i=-31;i<-25;i++){ buf[967]=(byte)i; if(sha1_32(buf)==2011245134){break;} } + for(i=-68;i<-56;i++){ buf[968]=(byte)i; if(sha1_32(buf)==-231002651){break;} } + for(i=-99;i<-88;i++){ buf[969]=(byte)i; if(sha1_32(buf)==-2118350372){break;} } + for(i=-100;i<-95;i++){ buf[970]=(byte)i; if(sha1_32(buf)==441671649){break;} } + for(i=-66;i<-41;i++){ buf[971]=(byte)i; if(sha1_32(buf)==2083516320){break;} } + for(i=20;i<36;i++){ buf[972]=(byte)i; if(sha1_32(buf)==867170251){break;} } + for(i=101;i<127;i++){ buf[973]=(byte)i; if(sha1_32(buf)==-1984396790){break;} } + for(i=-42;i<-23;i++){ buf[974]=(byte)i; if(sha1_32(buf)==64715245){break;} } + for(i=4;i<23;i++){ buf[975]=(byte)i; if(sha1_32(buf)==1684700478){break;} } + for(i=63;i<81;i++){ buf[976]=(byte)i; if(sha1_32(buf)==-1149849537){break;} } + for(i=-20;i<-7;i++){ buf[977]=(byte)i; if(sha1_32(buf)==-1384937396){break;} } + for(i=51;i<73;i++){ buf[978]=(byte)i; if(sha1_32(buf)==-1450734456){break;} } + for(i=-54;i<-37;i++){ buf[979]=(byte)i; if(sha1_32(buf)==-2073975361){break;} } + for(i=113;i<128;i++){ buf[980]=(byte)i; if(sha1_32(buf)==1020168706){break;} } + for(i=76;i<85;i++){ buf[981]=(byte)i; if(sha1_32(buf)==-1137564100){break;} } + for(i=0;i<15;i++){ buf[982]=(byte)i; if(sha1_32(buf)==-433673203){break;} } + for(i=44;i<57;i++){ buf[983]=(byte)i; if(sha1_32(buf)==1891301518){break;} } + for(i=-27;i<-9;i++){ buf[984]=(byte)i; if(sha1_32(buf)==-1026494060){break;} } + for(i=-60;i<-31;i++){ buf[985]=(byte)i; if(sha1_32(buf)==-1057319415){break;} } + for(i=-126;i<-105;i++){ buf[986]=(byte)i; if(sha1_32(buf)==-1648711413){break;} } + for(i=84;i<101;i++){ buf[987]=(byte)i; if(sha1_32(buf)==-2002260226){break;} } + for(i=-47;i<-34;i++){ buf[988]=(byte)i; if(sha1_32(buf)==-1163678002){break;} } + for(i=-80;i<-69;i++){ buf[989]=(byte)i; if(sha1_32(buf)==-656455502){break;} } + for(i=-29;i<-8;i++){ buf[990]=(byte)i; if(sha1_32(buf)==341901046){break;} } + for(i=-123;i<-106;i++){ buf[991]=(byte)i; if(sha1_32(buf)==-2036861356){break;} } + for(i=-49;i<-39;i++){ buf[992]=(byte)i; if(sha1_32(buf)==-993733222){break;} } + for(i=68;i<83;i++){ buf[993]=(byte)i; if(sha1_32(buf)==989275190){break;} } + for(i=-105;i<-89;i++){ buf[994]=(byte)i; if(sha1_32(buf)==1662925223){break;} } + for(i=4;i<14;i++){ buf[995]=(byte)i; if(sha1_32(buf)==-1800560843){break;} } + for(i=-74;i<-62;i++){ buf[996]=(byte)i; if(sha1_32(buf)==323592519){break;} } + for(i=41;i<63;i++){ buf[997]=(byte)i; if(sha1_32(buf)==1537635689){break;} } + for(i=-91;i<-81;i++){ buf[998]=(byte)i; if(sha1_32(buf)==-714086883){break;} } + for(i=80;i<96;i++){ buf[999]=(byte)i; if(sha1_32(buf)==-1350742941){break;} } + for(i=-8;i<10;i++){ buf[1000]=(byte)i; if(sha1_32(buf)==2139369971){break;} } + for(i=118;i<125;i++){ buf[1001]=(byte)i; if(sha1_32(buf)==-538711097){break;} } + for(i=114;i<128;i++){ buf[1002]=(byte)i; if(sha1_32(buf)==-1138038063){break;} } + for(i=48;i<64;i++){ buf[1003]=(byte)i; if(sha1_32(buf)==-545071251){break;} } + for(i=75;i<92;i++){ buf[1004]=(byte)i; if(sha1_32(buf)==-1184016227){break;} } + for(i=-45;i<-31;i++){ buf[1005]=(byte)i; if(sha1_32(buf)==605541705){break;} } + for(i=108;i<128;i++){ buf[1006]=(byte)i; if(sha1_32(buf)==-1923048554){break;} } + for(i=-113;i<-94;i++){ buf[1007]=(byte)i; if(sha1_32(buf)==880753395){break;} } + for(i=-90;i<-79;i++){ buf[1008]=(byte)i; if(sha1_32(buf)==1123046122){break;} } + for(i=30;i<48;i++){ buf[1009]=(byte)i; if(sha1_32(buf)==1739166413){break;} } + for(i=-26;i<-9;i++){ buf[1010]=(byte)i; if(sha1_32(buf)==-2094165455){break;} } + for(i=28;i<54;i++){ buf[1011]=(byte)i; if(sha1_32(buf)==2139995727){break;} } + for(i=0;i<14;i++){ buf[1012]=(byte)i; if(sha1_32(buf)==203920209){break;} } + for(i=40;i<49;i++){ buf[1013]=(byte)i; if(sha1_32(buf)==-1135645249){break;} } + for(i=77;i<94;i++){ buf[1014]=(byte)i; if(sha1_32(buf)==962273992){break;} } + for(i=-112;i<-104;i++){ buf[1015]=(byte)i; if(sha1_32(buf)==1112237553){break;} } + for(i=-40;i<-31;i++){ buf[1016]=(byte)i; if(sha1_32(buf)==1072697815){break;} } + for(i=87;i<102;i++){ buf[1017]=(byte)i; if(sha1_32(buf)==534244137){break;} } + for(i=6;i<23;i++){ buf[1018]=(byte)i; if(sha1_32(buf)==-204135386){break;} } + for(i=-86;i<-83;i++){ buf[1019]=(byte)i; if(sha1_32(buf)==-1950067505){break;} } + for(i=-1;i<25;i++){ buf[1020]=(byte)i; if(sha1_32(buf)==169292245){break;} } + for(i=-91;i<-73;i++){ buf[1021]=(byte)i; if(sha1_32(buf)==1668251079){break;} } + for(i=118;i<128;i++){ buf[1022]=(byte)i; if(sha1_32(buf)==351773699){break;} } + for(i=52;i<71;i++){ buf[1023]=(byte)i; if(sha1_32(buf)==1094142757){break;} } + for(i=108;i<115;i++){ buf[1024]=(byte)i; if(sha1_32(buf)==-1499940564){break;} } + for(i=-64;i<-60;i++){ buf[1025]=(byte)i; if(sha1_32(buf)==974511154){break;} } + for(i=95;i<111;i++){ buf[1026]=(byte)i; if(sha1_32(buf)==-225629822){break;} } + for(i=80;i<99;i++){ buf[1027]=(byte)i; if(sha1_32(buf)==775334224){break;} } + for(i=70;i<87;i++){ buf[1028]=(byte)i; if(sha1_32(buf)==1989615161){break;} } + for(i=-8;i<16;i++){ buf[1029]=(byte)i; if(sha1_32(buf)==2013841521){break;} } + for(i=-96;i<-84;i++){ buf[1030]=(byte)i; if(sha1_32(buf)==-38959762){break;} } + for(i=32;i<54;i++){ buf[1031]=(byte)i; if(sha1_32(buf)==17007173){break;} } + for(i=-128;i<-108;i++){ buf[1032]=(byte)i; if(sha1_32(buf)==-1093049954){break;} } + for(i=-33;i<-24;i++){ buf[1033]=(byte)i; if(sha1_32(buf)==-1380990090){break;} } + for(i=-76;i<-60;i++){ buf[1034]=(byte)i; if(sha1_32(buf)==-1435978553){break;} } + for(i=-128;i<-103;i++){ buf[1035]=(byte)i; if(sha1_32(buf)==275186307){break;} } + for(i=96;i<109;i++){ buf[1036]=(byte)i; if(sha1_32(buf)==1781919692){break;} } + for(i=-117;i<-114;i++){ buf[1037]=(byte)i; if(sha1_32(buf)==-785589820){break;} } + for(i=-93;i<-74;i++){ buf[1038]=(byte)i; if(sha1_32(buf)==-1162000185){break;} } + for(i=15;i<36;i++){ buf[1039]=(byte)i; if(sha1_32(buf)==-99645430){break;} } + for(i=91;i<119;i++){ buf[1040]=(byte)i; if(sha1_32(buf)==-267557470){break;} } + for(i=107;i<123;i++){ buf[1041]=(byte)i; if(sha1_32(buf)==-2072445968){break;} } + for(i=-96;i<-74;i++){ buf[1042]=(byte)i; if(sha1_32(buf)==-2082764174){break;} } + for(i=-46;i<-42;i++){ buf[1043]=(byte)i; if(sha1_32(buf)==-737479610){break;} } + for(i=83;i<100;i++){ buf[1044]=(byte)i; if(sha1_32(buf)==-807107930){break;} } + for(i=-128;i<-115;i++){ buf[1045]=(byte)i; if(sha1_32(buf)==-1241257099){break;} } + for(i=-128;i<-119;i++){ buf[1046]=(byte)i; if(sha1_32(buf)==1786443960){break;} } + for(i=-59;i<-30;i++){ buf[1047]=(byte)i; if(sha1_32(buf)==1665456595){break;} } + for(i=121;i<128;i++){ buf[1048]=(byte)i; if(sha1_32(buf)==-1140341445){break;} } + for(i=106;i<119;i++){ buf[1049]=(byte)i; if(sha1_32(buf)==-1450332040){break;} } + for(i=20;i<43;i++){ buf[1050]=(byte)i; if(sha1_32(buf)==138519052){break;} } + for(i=-115;i<-92;i++){ buf[1051]=(byte)i; if(sha1_32(buf)==1443995933){break;} } + for(i=-70;i<-61;i++){ buf[1052]=(byte)i; if(sha1_32(buf)==637333117){break;} } + for(i=73;i<91;i++){ buf[1053]=(byte)i; if(sha1_32(buf)==-1892526595){break;} } + for(i=-70;i<-52;i++){ buf[1054]=(byte)i; if(sha1_32(buf)==645156581){break;} } + for(i=-95;i<-89;i++){ buf[1055]=(byte)i; if(sha1_32(buf)==1243080065){break;} } + for(i=90;i<109;i++){ buf[1056]=(byte)i; if(sha1_32(buf)==-378078286){break;} } + for(i=-123;i<-108;i++){ buf[1057]=(byte)i; if(sha1_32(buf)==-318888651){break;} } + for(i=28;i<35;i++){ buf[1058]=(byte)i; if(sha1_32(buf)==1678813882){break;} } + for(i=8;i<28;i++){ buf[1059]=(byte)i; if(sha1_32(buf)==691156564){break;} } + for(i=-33;i<-21;i++){ buf[1060]=(byte)i; if(sha1_32(buf)==2025172207){break;} } + for(i=-88;i<-77;i++){ buf[1061]=(byte)i; if(sha1_32(buf)==559736034){break;} } + for(i=-87;i<-59;i++){ buf[1062]=(byte)i; if(sha1_32(buf)==1986380456){break;} } + for(i=-79;i<-64;i++){ buf[1063]=(byte)i; if(sha1_32(buf)==-1043296392){break;} } + for(i=-35;i<-21;i++){ buf[1064]=(byte)i; if(sha1_32(buf)==85150754){break;} } + for(i=41;i<55;i++){ buf[1065]=(byte)i; if(sha1_32(buf)==-1409625681){break;} } + for(i=109;i<128;i++){ buf[1066]=(byte)i; if(sha1_32(buf)==2022758805){break;} } + for(i=-32;i<-15;i++){ buf[1067]=(byte)i; if(sha1_32(buf)==-1105339080){break;} } + for(i=-56;i<-49;i++){ buf[1068]=(byte)i; if(sha1_32(buf)==-370534867){break;} } + for(i=-52;i<-27;i++){ buf[1069]=(byte)i; if(sha1_32(buf)==-629446371){break;} } + for(i=-83;i<-71;i++){ buf[1070]=(byte)i; if(sha1_32(buf)==726716218){break;} } + for(i=15;i<28;i++){ buf[1071]=(byte)i; if(sha1_32(buf)==-2092877279){break;} } + for(i=-110;i<-89;i++){ buf[1072]=(byte)i; if(sha1_32(buf)==-1321909687){break;} } + for(i=-115;i<-108;i++){ buf[1073]=(byte)i; if(sha1_32(buf)==-1436307508){break;} } + for(i=106;i<122;i++){ buf[1074]=(byte)i; if(sha1_32(buf)==1408958465){break;} } + for(i=-110;i<-100;i++){ buf[1075]=(byte)i; if(sha1_32(buf)==669571210){break;} } + for(i=-112;i<-85;i++){ buf[1076]=(byte)i; if(sha1_32(buf)==-337770707){break;} } + for(i=-27;i<-10;i++){ buf[1077]=(byte)i; if(sha1_32(buf)==1786361597){break;} } + for(i=112;i<121;i++){ buf[1078]=(byte)i; if(sha1_32(buf)==1106785408){break;} } + for(i=-21;i<-10;i++){ buf[1079]=(byte)i; if(sha1_32(buf)==-1358058883){break;} } + for(i=85;i<88;i++){ buf[1080]=(byte)i; if(sha1_32(buf)==-1594661626){break;} } + for(i=-48;i<-31;i++){ buf[1081]=(byte)i; if(sha1_32(buf)==1947674546){break;} } + for(i=-65;i<-40;i++){ buf[1082]=(byte)i; if(sha1_32(buf)==326878353){break;} } + for(i=40;i<49;i++){ buf[1083]=(byte)i; if(sha1_32(buf)==-827463723){break;} } + for(i=49;i<73;i++){ buf[1084]=(byte)i; if(sha1_32(buf)==-1488052013){break;} } + for(i=67;i<89;i++){ buf[1085]=(byte)i; if(sha1_32(buf)==-2145446721){break;} } + for(i=51;i<68;i++){ buf[1086]=(byte)i; if(sha1_32(buf)==879361044){break;} } + for(i=79;i<89;i++){ buf[1087]=(byte)i; if(sha1_32(buf)==210235629){break;} } + for(i=123;i<128;i++){ buf[1088]=(byte)i; if(sha1_32(buf)==1373695713){break;} } + for(i=23;i<32;i++){ buf[1089]=(byte)i; if(sha1_32(buf)==839481198){break;} } + for(i=52;i<74;i++){ buf[1090]=(byte)i; if(sha1_32(buf)==-233898711){break;} } + for(i=5;i<22;i++){ buf[1091]=(byte)i; if(sha1_32(buf)==-1146841254){break;} } + for(i=117;i<128;i++){ buf[1092]=(byte)i; if(sha1_32(buf)==1792110236){break;} } + for(i=-3;i<6;i++){ buf[1093]=(byte)i; if(sha1_32(buf)==-2085652053){break;} } + for(i=-99;i<-87;i++){ buf[1094]=(byte)i; if(sha1_32(buf)==300722691){break;} } + for(i=26;i<43;i++){ buf[1095]=(byte)i; if(sha1_32(buf)==-523984871){break;} } + for(i=-38;i<-23;i++){ buf[1096]=(byte)i; if(sha1_32(buf)==1572248949){break;} } + for(i=17;i<24;i++){ buf[1097]=(byte)i; if(sha1_32(buf)==70148005){break;} } + for(i=-93;i<-76;i++){ buf[1098]=(byte)i; if(sha1_32(buf)==1078930454){break;} } + for(i=-83;i<-64;i++){ buf[1099]=(byte)i; if(sha1_32(buf)==-1891642768){break;} } + for(i=26;i<37;i++){ buf[1100]=(byte)i; if(sha1_32(buf)==-877048145){break;} } + for(i=-80;i<-71;i++){ buf[1101]=(byte)i; if(sha1_32(buf)==-2092113685){break;} } + for(i=-71;i<-64;i++){ buf[1102]=(byte)i; if(sha1_32(buf)==-64359604){break;} } + for(i=-17;i<-1;i++){ buf[1103]=(byte)i; if(sha1_32(buf)==462331862){break;} } + for(i=42;i<61;i++){ buf[1104]=(byte)i; if(sha1_32(buf)==-1581108711){break;} } + for(i=-16;i<-12;i++){ buf[1105]=(byte)i; if(sha1_32(buf)==-835618069){break;} } + for(i=111;i<124;i++){ buf[1106]=(byte)i; if(sha1_32(buf)==103796386){break;} } + for(i=103;i<110;i++){ buf[1107]=(byte)i; if(sha1_32(buf)==-1758071957){break;} } + for(i=-63;i<-48;i++){ buf[1108]=(byte)i; if(sha1_32(buf)==-1651694256){break;} } + for(i=-92;i<-67;i++){ buf[1109]=(byte)i; if(sha1_32(buf)==-527349781){break;} } + for(i=68;i<82;i++){ buf[1110]=(byte)i; if(sha1_32(buf)==-2006844027){break;} } + for(i=-91;i<-86;i++){ buf[1111]=(byte)i; if(sha1_32(buf)==1011655464){break;} } + for(i=-95;i<-72;i++){ buf[1112]=(byte)i; if(sha1_32(buf)==119363532){break;} } + for(i=26;i<40;i++){ buf[1113]=(byte)i; if(sha1_32(buf)==1827654098){break;} } + for(i=-90;i<-72;i++){ buf[1114]=(byte)i; if(sha1_32(buf)==-1214355055){break;} } + for(i=-54;i<-34;i++){ buf[1115]=(byte)i; if(sha1_32(buf)==-1943150988){break;} } + for(i=-128;i<-123;i++){ buf[1116]=(byte)i; if(sha1_32(buf)==1666015883){break;} } + for(i=14;i<29;i++){ buf[1117]=(byte)i; if(sha1_32(buf)==-178424823){break;} } + for(i=-77;i<-57;i++){ buf[1118]=(byte)i; if(sha1_32(buf)==438492201){break;} } + for(i=-77;i<-68;i++){ buf[1119]=(byte)i; if(sha1_32(buf)==987747054){break;} } + for(i=20;i<31;i++){ buf[1120]=(byte)i; if(sha1_32(buf)==-1233386100){break;} } + for(i=-128;i<-113;i++){ buf[1121]=(byte)i; if(sha1_32(buf)==-258497829){break;} } + for(i=-28;i<-11;i++){ buf[1122]=(byte)i; if(sha1_32(buf)==-1735166566){break;} } + for(i=-117;i<-105;i++){ buf[1123]=(byte)i; if(sha1_32(buf)==-501716166){break;} } + for(i=4;i<23;i++){ buf[1124]=(byte)i; if(sha1_32(buf)==1728576604){break;} } + for(i=-19;i<-4;i++){ buf[1125]=(byte)i; if(sha1_32(buf)==-1079202770){break;} } + for(i=-6;i<6;i++){ buf[1126]=(byte)i; if(sha1_32(buf)==1491635534){break;} } + for(i=51;i<71;i++){ buf[1127]=(byte)i; if(sha1_32(buf)==-19365497){break;} } + for(i=40;i<61;i++){ buf[1128]=(byte)i; if(sha1_32(buf)==-1154220082){break;} } + for(i=72;i<93;i++){ buf[1129]=(byte)i; if(sha1_32(buf)==185062196){break;} } + for(i=-71;i<-52;i++){ buf[1130]=(byte)i; if(sha1_32(buf)==1091765059){break;} } + for(i=-37;i<-27;i++){ buf[1131]=(byte)i; if(sha1_32(buf)==-2079990844){break;} } + for(i=-54;i<-35;i++){ buf[1132]=(byte)i; if(sha1_32(buf)==1738222119){break;} } + for(i=-20;i<-11;i++){ buf[1133]=(byte)i; if(sha1_32(buf)==-2121921500){break;} } + for(i=111;i<128;i++){ buf[1134]=(byte)i; if(sha1_32(buf)==-1511886409){break;} } + for(i=103;i<114;i++){ buf[1135]=(byte)i; if(sha1_32(buf)==-438984646){break;} } + for(i=-95;i<-73;i++){ buf[1136]=(byte)i; if(sha1_32(buf)==-1587092422){break;} } + for(i=-60;i<-55;i++){ buf[1137]=(byte)i; if(sha1_32(buf)==2085270602){break;} } + for(i=58;i<77;i++){ buf[1138]=(byte)i; if(sha1_32(buf)==-542145516){break;} } + for(i=95;i<105;i++){ buf[1139]=(byte)i; if(sha1_32(buf)==-1595714757){break;} } + for(i=82;i<98;i++){ buf[1140]=(byte)i; if(sha1_32(buf)==-174273588){break;} } + for(i=107;i<122;i++){ buf[1141]=(byte)i; if(sha1_32(buf)==1900664030){break;} } + for(i=-70;i<-53;i++){ buf[1142]=(byte)i; if(sha1_32(buf)==2066126526){break;} } + for(i=20;i<45;i++){ buf[1143]=(byte)i; if(sha1_32(buf)==1659349440){break;} } + for(i=-84;i<-54;i++){ buf[1144]=(byte)i; if(sha1_32(buf)==371249220){break;} } + for(i=-64;i<-59;i++){ buf[1145]=(byte)i; if(sha1_32(buf)==1092328833){break;} } + for(i=43;i<52;i++){ buf[1146]=(byte)i; if(sha1_32(buf)==-153394063){break;} } + for(i=-89;i<-71;i++){ buf[1147]=(byte)i; if(sha1_32(buf)==398580307){break;} } + for(i=-74;i<-67;i++){ buf[1148]=(byte)i; if(sha1_32(buf)==-1661525123){break;} } + for(i=89;i<108;i++){ buf[1149]=(byte)i; if(sha1_32(buf)==1360348283){break;} } + for(i=-52;i<-44;i++){ buf[1150]=(byte)i; if(sha1_32(buf)==236358520){break;} } + for(i=80;i<101;i++){ buf[1151]=(byte)i; if(sha1_32(buf)==1672281133){break;} } + for(i=105;i<108;i++){ buf[1152]=(byte)i; if(sha1_32(buf)==749554350){break;} } + for(i=59;i<76;i++){ buf[1153]=(byte)i; if(sha1_32(buf)==-292394596){break;} } + for(i=11;i<18;i++){ buf[1154]=(byte)i; if(sha1_32(buf)==-234575886){break;} } + for(i=102;i<117;i++){ buf[1155]=(byte)i; if(sha1_32(buf)==-1419752642){break;} } + for(i=98;i<104;i++){ buf[1156]=(byte)i; if(sha1_32(buf)==722616406){break;} } + for(i=118;i<128;i++){ buf[1157]=(byte)i; if(sha1_32(buf)==207023551){break;} } + for(i=21;i<38;i++){ buf[1158]=(byte)i; if(sha1_32(buf)==-34321382){break;} } + for(i=-128;i<-110;i++){ buf[1159]=(byte)i; if(sha1_32(buf)==1813147722){break;} } + for(i=-42;i<-30;i++){ buf[1160]=(byte)i; if(sha1_32(buf)==-1807506824){break;} } + for(i=20;i<26;i++){ buf[1161]=(byte)i; if(sha1_32(buf)==1245686884){break;} } + for(i=69;i<89;i++){ buf[1162]=(byte)i; if(sha1_32(buf)==-1191294795){break;} } + for(i=-128;i<-123;i++){ buf[1163]=(byte)i; if(sha1_32(buf)==636251977){break;} } + for(i=-75;i<-47;i++){ buf[1164]=(byte)i; if(sha1_32(buf)==265150458){break;} } + for(i=-111;i<-95;i++){ buf[1165]=(byte)i; if(sha1_32(buf)==1795673353){break;} } + for(i=-98;i<-82;i++){ buf[1166]=(byte)i; if(sha1_32(buf)==818727338){break;} } + for(i=55;i<73;i++){ buf[1167]=(byte)i; if(sha1_32(buf)==-1686255078){break;} } + for(i=114;i<125;i++){ buf[1168]=(byte)i; if(sha1_32(buf)==-663421916){break;} } + for(i=-34;i<-24;i++){ buf[1169]=(byte)i; if(sha1_32(buf)==129953861){break;} } + for(i=-10;i<12;i++){ buf[1170]=(byte)i; if(sha1_32(buf)==-758812232){break;} } + for(i=-121;i<-111;i++){ buf[1171]=(byte)i; if(sha1_32(buf)==1559375840){break;} } + for(i=-128;i<-102;i++){ buf[1172]=(byte)i; if(sha1_32(buf)==469597355){break;} } + for(i=-82;i<-58;i++){ buf[1173]=(byte)i; if(sha1_32(buf)==-878089631){break;} } + for(i=-5;i<9;i++){ buf[1174]=(byte)i; if(sha1_32(buf)==-1831567414){break;} } + for(i=-59;i<-40;i++){ buf[1175]=(byte)i; if(sha1_32(buf)==80030536){break;} } + for(i=21;i<38;i++){ buf[1176]=(byte)i; if(sha1_32(buf)==-303161426){break;} } + for(i=91;i<115;i++){ buf[1177]=(byte)i; if(sha1_32(buf)==-933075582){break;} } + for(i=-115;i<-103;i++){ buf[1178]=(byte)i; if(sha1_32(buf)==-1298353680){break;} } + for(i=82;i<93;i++){ buf[1179]=(byte)i; if(sha1_32(buf)==-1865930790){break;} } + for(i=-123;i<-98;i++){ buf[1180]=(byte)i; if(sha1_32(buf)==-372037200){break;} } + for(i=-113;i<-96;i++){ buf[1181]=(byte)i; if(sha1_32(buf)==2109374435){break;} } + for(i=-64;i<-48;i++){ buf[1182]=(byte)i; if(sha1_32(buf)==-1813148922){break;} } + for(i=-2;i<7;i++){ buf[1183]=(byte)i; if(sha1_32(buf)==-1813148922){break;} } + for(i=55;i<72;i++){ buf[1184]=(byte)i; if(sha1_32(buf)==-548158664){break;} } + for(i=47;i<60;i++){ buf[1185]=(byte)i; if(sha1_32(buf)==-1842516851){break;} } + for(i=-8;i<10;i++){ buf[1186]=(byte)i; if(sha1_32(buf)==-1295167494){break;} } + for(i=-12;i<7;i++){ buf[1187]=(byte)i; if(sha1_32(buf)==-710236125){break;} } + for(i=58;i<77;i++){ buf[1188]=(byte)i; if(sha1_32(buf)==1268747381){break;} } + for(i=100;i<113;i++){ buf[1189]=(byte)i; if(sha1_32(buf)==-747145295){break;} } + for(i=43;i<56;i++){ buf[1190]=(byte)i; if(sha1_32(buf)==-1308171970){break;} } + for(i=2;i<29;i++){ buf[1191]=(byte)i; if(sha1_32(buf)==-2102687634){break;} } + for(i=10;i<35;i++){ buf[1192]=(byte)i; if(sha1_32(buf)==-2110628114){break;} } + for(i=114;i<119;i++){ buf[1193]=(byte)i; if(sha1_32(buf)==-1804143624){break;} } + for(i=-85;i<-82;i++){ buf[1194]=(byte)i; if(sha1_32(buf)==-1370218155){break;} } + for(i=-121;i<-96;i++){ buf[1195]=(byte)i; if(sha1_32(buf)==-839382276){break;} } + for(i=29;i<44;i++){ buf[1196]=(byte)i; if(sha1_32(buf)==195442480){break;} } + for(i=-84;i<-60;i++){ buf[1197]=(byte)i; if(sha1_32(buf)==-1558366254){break;} } + for(i=-29;i<-13;i++){ buf[1198]=(byte)i; if(sha1_32(buf)==-1321274593){break;} } + for(i=50;i<72;i++){ buf[1199]=(byte)i; if(sha1_32(buf)==1378503636){break;} } + for(i=-114;i<-91;i++){ buf[1200]=(byte)i; if(sha1_32(buf)==1771958436){break;} } + for(i=68;i<75;i++){ buf[1201]=(byte)i; if(sha1_32(buf)==-1159135819){break;} } + for(i=53;i<66;i++){ buf[1202]=(byte)i; if(sha1_32(buf)==-753115336){break;} } + for(i=-73;i<-64;i++){ buf[1203]=(byte)i; if(sha1_32(buf)==20272569){break;} } + for(i=-128;i<-118;i++){ buf[1204]=(byte)i; if(sha1_32(buf)==1285477298){break;} } + for(i=-119;i<-105;i++){ buf[1205]=(byte)i; if(sha1_32(buf)==-1703165409){break;} } + for(i=50;i<62;i++){ buf[1206]=(byte)i; if(sha1_32(buf)==594237475){break;} } + for(i=3;i<24;i++){ buf[1207]=(byte)i; if(sha1_32(buf)==-952877050){break;} } + for(i=-42;i<-27;i++){ buf[1208]=(byte)i; if(sha1_32(buf)==896862829){break;} } + for(i=-101;i<-85;i++){ buf[1209]=(byte)i; if(sha1_32(buf)==1364580057){break;} } + for(i=-32;i<-19;i++){ buf[1210]=(byte)i; if(sha1_32(buf)==1819535054){break;} } + for(i=27;i<33;i++){ buf[1211]=(byte)i; if(sha1_32(buf)==-1686160198){break;} } + for(i=-93;i<-72;i++){ buf[1212]=(byte)i; if(sha1_32(buf)==1023996577){break;} } + for(i=-100;i<-91;i++){ buf[1213]=(byte)i; if(sha1_32(buf)==579671853){break;} } + for(i=-32;i<-15;i++){ buf[1214]=(byte)i; if(sha1_32(buf)==-188752328){break;} } + for(i=-114;i<-94;i++){ buf[1215]=(byte)i; if(sha1_32(buf)==-1788309873){break;} } + for(i=89;i<105;i++){ buf[1216]=(byte)i; if(sha1_32(buf)==-1222797574){break;} } + for(i=89;i<105;i++){ buf[1217]=(byte)i; if(sha1_32(buf)==-215334977){break;} } + for(i=-128;i<-115;i++){ buf[1218]=(byte)i; if(sha1_32(buf)==-1765880598){break;} } + for(i=31;i<51;i++){ buf[1219]=(byte)i; if(sha1_32(buf)==1576480807){break;} } + for(i=63;i<76;i++){ buf[1220]=(byte)i; if(sha1_32(buf)==1158935180){break;} } + for(i=42;i<49;i++){ buf[1221]=(byte)i; if(sha1_32(buf)==-1419476236){break;} } + for(i=20;i<35;i++){ buf[1222]=(byte)i; if(sha1_32(buf)==1958000843){break;} } + for(i=-106;i<-87;i++){ buf[1223]=(byte)i; if(sha1_32(buf)==786142651){break;} } + for(i=62;i<76;i++){ buf[1224]=(byte)i; if(sha1_32(buf)==1546995582){break;} } + for(i=-128;i<-126;i++){ buf[1225]=(byte)i; if(sha1_32(buf)==2084041227){break;} } + for(i=60;i<79;i++){ buf[1226]=(byte)i; if(sha1_32(buf)==-144463173){break;} } + for(i=41;i<56;i++){ buf[1227]=(byte)i; if(sha1_32(buf)==-1235874263){break;} } + for(i=-83;i<-74;i++){ buf[1228]=(byte)i; if(sha1_32(buf)==1636272900){break;} } + for(i=-75;i<-66;i++){ buf[1229]=(byte)i; if(sha1_32(buf)==1213836500){break;} } + for(i=43;i<56;i++){ buf[1230]=(byte)i; if(sha1_32(buf)==1243745150){break;} } + for(i=98;i<108;i++){ buf[1231]=(byte)i; if(sha1_32(buf)==1549128667){break;} } + for(i=11;i<31;i++){ buf[1232]=(byte)i; if(sha1_32(buf)==636865778){break;} } + for(i=-111;i<-93;i++){ buf[1233]=(byte)i; if(sha1_32(buf)==-699507039){break;} } + for(i=-105;i<-83;i++){ buf[1234]=(byte)i; if(sha1_32(buf)==-1958780713){break;} } + for(i=6;i<16;i++){ buf[1235]=(byte)i; if(sha1_32(buf)==291036541){break;} } + for(i=-85;i<-64;i++){ buf[1236]=(byte)i; if(sha1_32(buf)==305816622){break;} } + for(i=108;i<127;i++){ buf[1237]=(byte)i; if(sha1_32(buf)==138337407){break;} } + for(i=106;i<114;i++){ buf[1238]=(byte)i; if(sha1_32(buf)==990276981){break;} } + for(i=-128;i<-112;i++){ buf[1239]=(byte)i; if(sha1_32(buf)==758125124){break;} } + for(i=-78;i<-70;i++){ buf[1240]=(byte)i; if(sha1_32(buf)==821392939){break;} } + for(i=31;i<38;i++){ buf[1241]=(byte)i; if(sha1_32(buf)==1272689785){break;} } + for(i=-68;i<-54;i++){ buf[1242]=(byte)i; if(sha1_32(buf)==-451791906){break;} } + for(i=-128;i<-121;i++){ buf[1243]=(byte)i; if(sha1_32(buf)==-1006720983){break;} } + for(i=9;i<28;i++){ buf[1244]=(byte)i; if(sha1_32(buf)==-2038368783){break;} } + for(i=105;i<116;i++){ buf[1245]=(byte)i; if(sha1_32(buf)==987022077){break;} } + for(i=-89;i<-68;i++){ buf[1246]=(byte)i; if(sha1_32(buf)==-138796089){break;} } + for(i=54;i<61;i++){ buf[1247]=(byte)i; if(sha1_32(buf)==283079607){break;} } + for(i=56;i<79;i++){ buf[1248]=(byte)i; if(sha1_32(buf)==-386702342){break;} } + for(i=115;i<128;i++){ buf[1249]=(byte)i; if(sha1_32(buf)==-1278013589){break;} } + for(i=24;i<46;i++){ buf[1250]=(byte)i; if(sha1_32(buf)==-1543136169){break;} } + for(i=2;i<29;i++){ buf[1251]=(byte)i; if(sha1_32(buf)==776602743){break;} } + for(i=20;i<29;i++){ buf[1252]=(byte)i; if(sha1_32(buf)==1740349896){break;} } + for(i=66;i<84;i++){ buf[1253]=(byte)i; if(sha1_32(buf)==-281134038){break;} } + for(i=-29;i<-6;i++){ buf[1254]=(byte)i; if(sha1_32(buf)==-1704754264){break;} } + for(i=67;i<93;i++){ buf[1255]=(byte)i; if(sha1_32(buf)==1978860888){break;} } + for(i=-12;i<4;i++){ buf[1256]=(byte)i; if(sha1_32(buf)==-310399196){break;} } + for(i=46;i<75;i++){ buf[1257]=(byte)i; if(sha1_32(buf)==-358370940){break;} } + for(i=-33;i<-21;i++){ buf[1258]=(byte)i; if(sha1_32(buf)==427972523){break;} } + for(i=101;i<119;i++){ buf[1259]=(byte)i; if(sha1_32(buf)==-97871858){break;} } + for(i=84;i<97;i++){ buf[1260]=(byte)i; if(sha1_32(buf)==-817348087){break;} } + for(i=-112;i<-96;i++){ buf[1261]=(byte)i; if(sha1_32(buf)==1206459387){break;} } + for(i=-123;i<-108;i++){ buf[1262]=(byte)i; if(sha1_32(buf)==1759629363){break;} } + for(i=-111;i<-97;i++){ buf[1263]=(byte)i; if(sha1_32(buf)==-621376529){break;} } + for(i=49;i<63;i++){ buf[1264]=(byte)i; if(sha1_32(buf)==187753316){break;} } + for(i=69;i<93;i++){ buf[1265]=(byte)i; if(sha1_32(buf)==-1688586181){break;} } + for(i=53;i<69;i++){ buf[1266]=(byte)i; if(sha1_32(buf)==-2002801302){break;} } + for(i=11;i<28;i++){ buf[1267]=(byte)i; if(sha1_32(buf)==67885761){break;} } + for(i=-120;i<-110;i++){ buf[1268]=(byte)i; if(sha1_32(buf)==310175039){break;} } + for(i=-47;i<-26;i++){ buf[1269]=(byte)i; if(sha1_32(buf)==-2065221852){break;} } + for(i=59;i<77;i++){ buf[1270]=(byte)i; if(sha1_32(buf)==-1770810308){break;} } + for(i=3;i<27;i++){ buf[1271]=(byte)i; if(sha1_32(buf)==414020951){break;} } + for(i=78;i<107;i++){ buf[1272]=(byte)i; if(sha1_32(buf)==1642487656){break;} } + for(i=49;i<73;i++){ buf[1273]=(byte)i; if(sha1_32(buf)==-1689510636){break;} } + for(i=45;i<63;i++){ buf[1274]=(byte)i; if(sha1_32(buf)==1165890790){break;} } + for(i=68;i<83;i++){ buf[1275]=(byte)i; if(sha1_32(buf)==1792898471){break;} } + for(i=62;i<77;i++){ buf[1276]=(byte)i; if(sha1_32(buf)==1970953191){break;} } + for(i=110;i<120;i++){ buf[1277]=(byte)i; if(sha1_32(buf)==1828616521){break;} } + for(i=-83;i<-71;i++){ buf[1278]=(byte)i; if(sha1_32(buf)==-501095679){break;} } + for(i=-128;i<-121;i++){ buf[1279]=(byte)i; if(sha1_32(buf)==-1042754258){break;} } + for(i=107;i<120;i++){ buf[1280]=(byte)i; if(sha1_32(buf)==-2021034367){break;} } + for(i=104;i<122;i++){ buf[1281]=(byte)i; if(sha1_32(buf)==-515216398){break;} } + for(i=20;i<41;i++){ buf[1282]=(byte)i; if(sha1_32(buf)==1999387980){break;} } + for(i=-60;i<-29;i++){ buf[1283]=(byte)i; if(sha1_32(buf)==-797913149){break;} } + for(i=-100;i<-85;i++){ buf[1284]=(byte)i; if(sha1_32(buf)==237396739){break;} } + for(i=-36;i<-28;i++){ buf[1285]=(byte)i; if(sha1_32(buf)==-1641086748){break;} } + for(i=-89;i<-65;i++){ buf[1286]=(byte)i; if(sha1_32(buf)==-1834110753){break;} } + return buf; + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/utils/CPUInfoUtil.java b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/CPUInfoUtil.java new file mode 100644 index 000000000..a059a1541 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/CPUInfoUtil.java @@ -0,0 +1,172 @@ +package com.yunbao.faceunity.utils; + +import android.content.Context; +import android.os.Build; + +import java.io.BufferedReader; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.RandomAccessFile; + +/** + * cpu使用率获取工具类 + * Created by lirui on 2017/8/2. + */ + +public class CPUInfoUtil { + private long lastTotalCpu = 0; + private long lastProcessCpu = 0; + + private final String PackageName; + + private volatile boolean isRunningCPU = false; + private volatile double cpuRate = 0; + + public CPUInfoUtil(Context context) { + if (Build.VERSION.SDK_INT >= 26) { + final String pn = context.getPackageName(); + if (pn.length() <= 16) { + PackageName = pn; + } else { + PackageName = pn.substring(0, 15) + "+"; + } +// Log.e(TAG, "CSVUtils PackageName " + PackageName); + isRunningCPU = true; + CPUInfoThread cpuinfothread = new CPUInfoThread(); + cpuinfothread.start(); + } else { + PackageName = null; + } + } + + public double getProcessCpuUsed() { + if (Build.VERSION.SDK_INT >= 26) { + return cpuRate; + } else { + double pcpu = 0; + double tmp = 1.0; + long nowTotalCpu = getTotalCpu(); + long nowProcessCpu = getMyProcessCpu(); + if (nowTotalCpu != 0 && (nowTotalCpu - lastTotalCpu) != 0) { +// Log.e(TAG, "cpu used nowProcessCpu " + nowProcessCpu + " lastProcessCpu " + lastProcessCpu + " nowTotalCpu " + nowTotalCpu + " lastTotalCpu " + lastTotalCpu); + pcpu = 100 * (tmp * (nowProcessCpu - lastProcessCpu) / (nowTotalCpu - lastTotalCpu)); + } + lastProcessCpu = nowProcessCpu; + lastTotalCpu = nowTotalCpu; + return pcpu < 0 ? 0 : pcpu; + } + } + + public void close() { + if (Build.VERSION.SDK_INT >= 26) { + isRunningCPU = false; + } + } + + private long getTotalCpu() { + String[] cpuInfos = null; + try { + RandomAccessFile reader = null; + reader = new RandomAccessFile("/proc/stat", "r"); + String load = reader.readLine(); + reader.close(); + cpuInfos = load.split(" "); + } catch (IOException e) { + e.printStackTrace(); + return 0; + } + long totalCpu = 0; + try { + totalCpu = Long.parseLong(cpuInfos[2]) + + Long.parseLong(cpuInfos[3]) + Long.parseLong(cpuInfos[4]) + + Long.parseLong(cpuInfos[6]) + Long.parseLong(cpuInfos[5]) + + Long.parseLong(cpuInfos[7]) + Long.parseLong(cpuInfos[8]); + } catch (ArrayIndexOutOfBoundsException e) { + e.printStackTrace(); + return 0; + } + return totalCpu; + } + + private long getMyProcessCpu() { + String[] cpuInfos = null; + try { + int pid = android.os.Process.myPid(); + BufferedReader reader = new BufferedReader(new InputStreamReader( + new FileInputStream("/proc/" + pid + "/stat")), 1000); + String load = reader.readLine(); + reader.close(); + cpuInfos = load.split(" "); + } catch (IOException e) { + e.printStackTrace(); + return 0; + } + long appCpuTime = 0; + try { + appCpuTime = Long.parseLong(cpuInfos[13]) + + Long.parseLong(cpuInfos[14]) + Long.parseLong(cpuInfos[15]) + + Long.parseLong(cpuInfos[16]); + } catch (ArrayIndexOutOfBoundsException e) { + e.printStackTrace(); + return 0; + } + return appCpuTime; + } + + class CPUInfoThread extends Thread { + + private double allCPU = 0; + + @Override + public void run() { + String line = null; + InputStream is = null; + try { + + Runtime runtime = Runtime.getRuntime(); + Process proc = runtime.exec("top -d 1"); + is = proc.getInputStream(); + + // 换成BufferedReader + BufferedReader buf = new BufferedReader(new InputStreamReader(is)); + do { + line = buf.readLine(); + if (allCPU == 0 && line.contains("user") && line.contains("nice") && line.contains("sys") && line.contains("idle") && line.contains("iow") && line.contains("irq") && line.contains("sirq") && line.contains("host")) { + if (line.indexOf("%cpu ") > 0) + allCPU = Double.parseDouble(line.split("%cpu ")[0]); + if (allCPU == 0) { + String[] s = line.split("%,"); + for (String st : s) { + String[] sts = st.split(" "); + if (sts.length > 0) + allCPU += Double.parseDouble(sts[sts.length - 1]); + } + } + } + // 读取到相应pkgName跳出循环(或者未找到) + if (line == null || line.endsWith(PackageName)) { +// Log.e(TAG, "cpu line : " + line); + String str[] = line.split(" "); + int t = 0; + for (int i = str.length - 1; i > 0; i--) { + if (!str[i].isEmpty() && ++t == 4) { +// Log.e(TAG, "cpu : " + str[i] + " allCPU " + allCPU); + cpuRate = 100 * Double.parseDouble(str[i]) / allCPU; + } + } + continue; + } + } while (isRunningCPU); + + if (is != null) { + buf.close(); + is.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/utils/CSVUtils.java b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/CSVUtils.java new file mode 100644 index 000000000..e30df5b0a --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/CSVUtils.java @@ -0,0 +1,168 @@ +package com.yunbao.faceunity.utils; + +import android.app.ActivityManager; +import android.content.Context; +import android.os.Handler; +import android.os.HandlerThread; +import android.os.Process; +import android.util.Log; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; + +/** + * Created by tujh on 2017/11/2. + */ +public class CSVUtils { + public static final String TAG = CSVUtils.class.getSimpleName(); + /* 每 100 帧统计一次 */ + public static final int FRAME_STEP = 100; + + public static final String COMMA = ","; + + private OutputStreamWriter mStreamWriter; + + private ActivityManager mActivityManager; + + private Handler mHandler; + + private CPUInfoUtil mCPUInfoUtil; + + private int mFrameRate; + private volatile double mCpuUsed; + private volatile double mAverageFps; + private volatile double mAverageRenderTime; + private volatile double mMemory; + private long mSumRenderTimeInNano; + private volatile long mTimestamp; + + public CSVUtils(Context context) { + mActivityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); + mCPUInfoUtil = new CPUInfoUtil(context); + + HandlerThread handlerThread = new HandlerThread(TAG, Process.THREAD_PRIORITY_BACKGROUND); + handlerThread.start(); + mHandler = new Handler(handlerThread.getLooper()); + } + + public void initHeader(String folderName, StringBuilder headerInfo) { + Log.d(TAG, "initHeader() called with: folderName = [" + folderName + "], headerInfo = [" + headerInfo + "]"); + StringBuilder stringBuilder = new StringBuilder().append("时间").append(COMMA) + .append("帧率").append(COMMA) + .append("渲染耗时").append(COMMA) + .append("CPU").append(COMMA) + .append("内存").append(COMMA); + if (headerInfo != null) { + stringBuilder.append(headerInfo); + } + stringBuilder.append("\n"); + + File file = new File(folderName); + File parentFile = file.getParentFile(); + if (!parentFile.exists()) { + parentFile.mkdirs(); + } + try { + if (!file.exists()) { + file.createNewFile(); + } + mStreamWriter = new OutputStreamWriter(new FileOutputStream(file, false), "GBK"); + } catch (IOException e) { + Log.e(TAG, "CSVUtils: ", e); + } + flush(stringBuilder); + mTimestamp = System.currentTimeMillis(); + } + + public void writeCsv(final StringBuilder extraInfo, long renderTimeInNano) { + if (mStreamWriter == null) { + return; + } + + mSumRenderTimeInNano += renderTimeInNano; + if (mFrameRate % FRAME_STEP == FRAME_STEP - 1) { + mTimestamp = System.currentTimeMillis(); + mAverageFps = FPSUtil.fpsAVG(FRAME_STEP); + mAverageRenderTime = (double) mSumRenderTimeInNano / FRAME_STEP / 1_000_000; + mSumRenderTimeInNano = 0; + mHandler.post(new Runnable() { + @Override + public void run() { + mCpuUsed = mCPUInfoUtil.getProcessCpuUsed(); + mMemory = MemoryInfoUtil.getMemory(mActivityManager.getProcessMemoryInfo(new int[]{Process.myPid()})); + String strCPU = String.format(Locale.getDefault(), "%.2f", mCpuUsed); + String strMemory = String.format(Locale.getDefault(), "%.2f", mMemory); + + StringBuilder stringBuilder = new StringBuilder(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS", Locale.getDefault()); + + stringBuilder.append(dateFormat.format(new Date(mTimestamp))).append(COMMA) + .append(String.format(Locale.getDefault(), "%.2f", mAverageFps)).append(COMMA) + .append(String.format(Locale.getDefault(), "%.2f", mAverageRenderTime)).append(COMMA) + .append(strCPU).append(COMMA) + .append(strMemory).append(COMMA); + + if (extraInfo != null) { + stringBuilder.append(extraInfo); + } + stringBuilder.append("\n"); + flush(stringBuilder); + } + }); + } + mFrameRate++; + } + + private void flush(StringBuilder stringBuilder) { + if (mStreamWriter == null) { + return; + } + try { + mStreamWriter.write(stringBuilder.toString()); + mStreamWriter.flush(); + } catch (IOException e) { + Log.e(TAG, "flush: ", e); + } + } + + public void close() { + Log.d(TAG, "close: "); + mHandler.post(new Runnable() { + @Override + public void run() { + if (mStreamWriter != null) { + try { + mStreamWriter.close(); + mStreamWriter = null; + } catch (IOException e) { + Log.e(TAG, "close: ", e); + } + } + } + }); + mHandler.getLooper().quitSafely(); + mHandler = null; + mCPUInfoUtil.close(); + } + + public double getCpuUsed() { + return mCpuUsed; + } + + public double getMemory() { + return mMemory; + } + + public double getAverageRenderTime() { + return mAverageRenderTime; + } + + public double getAverageFps() { + return mAverageFps; + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FPSUtil.java b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FPSUtil.java new file mode 100644 index 000000000..4a20acafb --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FPSUtil.java @@ -0,0 +1,63 @@ +package com.yunbao.faceunity.utils; + +/** + * FPS工具类 + * Created by tujh on 2018/5/24. + */ +public class FPSUtil { + private static final int NANO_IN_ONE_MILLI_SECOND = 1000000; + private static final int NANO_IN_ONE_SECOND = 1000 * NANO_IN_ONE_MILLI_SECOND; + + private static long sLastFrameTimeStamp = 0; + + /** + * 每帧都计算 + * + * @return + */ + public static double fps() { + long tmp = System.nanoTime(); + double fps = ((double) NANO_IN_ONE_SECOND) / (tmp - sLastFrameTimeStamp); + sLastFrameTimeStamp = tmp; +// Log.e(TAG, "FPS : " + fps); + return fps; + } + + private static long mStartTime = 0; + + /** + * 平均值 + * + * @return + */ + public static double fpsAVG(int time) { + long tmp = System.nanoTime(); + double fps = ((double) NANO_IN_ONE_SECOND) * time / (tmp - mStartTime); + mStartTime = tmp; +// Log.e(TAG, "FPS : " + fps); + return fps; + } + + private long mLimitMinTime = 33333333; + private long mLimitStartTime; + private int mLimitFrameRate; + + public void setLimitMinTime(long limitMinTime) { + mLimitMinTime = limitMinTime; + } + + public void limit() { + try { + if (mLimitFrameRate == 0 || mLimitFrameRate > 600000) { + mLimitStartTime = System.nanoTime(); + mLimitFrameRate = 0; + } + long sleepTime = mLimitMinTime * mLimitFrameRate++ - (System.nanoTime() - mLimitStartTime); + if (sleepTime > 0) { + Thread.sleep(sleepTime / NANO_IN_ONE_MILLI_SECOND, (int) (sleepTime % NANO_IN_ONE_MILLI_SECOND)); + } + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FURenderer.java b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FURenderer.java new file mode 100644 index 000000000..313aed9eb --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FURenderer.java @@ -0,0 +1,326 @@ +package com.yunbao.faceunity.utils; + +import android.content.Context; +import android.hardware.Camera; + +import com.faceunity.core.callback.OperateCallback; +import com.faceunity.core.entity.FURenderInputData; +import com.faceunity.core.entity.FURenderOutputData; +import com.faceunity.core.enumeration.CameraFacingEnum; +import com.faceunity.core.enumeration.FUAIProcessorEnum; +import com.faceunity.core.enumeration.FUAITypeEnum; +import com.faceunity.core.faceunity.FURenderConfig; +import com.faceunity.core.faceunity.FURenderKit; +import com.faceunity.core.faceunity.FURenderManager; +import com.faceunity.core.utils.CameraUtils; +import com.faceunity.core.utils.FULogger; +import com.yunbao.faceunity.listener.FURendererListener; + +import org.jetbrains.annotations.NotNull; + +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; + + +/** + * DESC: + * Created on 2021/4/26 + */ +public class FURenderer extends IFURenderer { + + private static final String TAG = "FURenderer"; + + public volatile static FURenderer INSTANCE; + + public static FURenderer getInstance() { + if (INSTANCE == null) { + synchronized (FURenderer.class) { + if (INSTANCE == null) { + INSTANCE = new FURenderer(); + INSTANCE.mFURenderKit = FURenderKit.getInstance(); + } + } + } + return INSTANCE; + } + + /** + * 状态回调监听 + */ + private FURendererListener mFURendererListener; + + + /* 特效FURenderKit*/ + private FURenderKit mFURenderKit; + + /* AI道具*/ + private String BUNDLE_AI_FACE = "model" + File.separator + "ai_face_processor.bundle"; + private String BUNDLE_AI_HUMAN = "model" + File.separator + "ai_human_processor.bundle"; + + /* GL 线程 ID */ + private Long mGlThreadId = 0L; + /* 任务队列 */ + private ArrayList mEventQueue = new ArrayList<>(16); + private final Object queueLock = new Object(); + /* 渲染开关标识 */ + private volatile boolean mRendererSwitch = false; + /* 清除队列标识 */ + private volatile boolean mClearQueue = false; + + /* 相机角度-朝向映射 */ + private HashMap cameraOrientationMap = new HashMap<>(); + + /*检测类型*/ + private FUAIProcessorEnum aIProcess = FUAIProcessorEnum.FACE_PROCESSOR; + /*检测标识*/ + private int aIProcessTrackStatus = -1; + + public String getVersion() { + return mFURenderKit.getVersion(); + } + + /** + * 初始化鉴权 + * + * @param context + */ + @Override + public void setup(Context context) { + FURenderManager.setKitDebug(FULogger.LogLevel.TRACE); + FURenderManager.setCoreDebug(FULogger.LogLevel.DEBUG); + FURenderManager.registerFURender(context, Authpack.A(), new OperateCallback() { + @Override + public void onSuccess(int i, @NotNull String s) { + if (i == FURenderConfig.OPERATE_SUCCESS_AUTH) { + mFURenderKit.getFUAIController().loadAIProcessor(BUNDLE_AI_FACE, FUAITypeEnum.FUAITYPE_FACEPROCESSOR); + mFURenderKit.getFUAIController().loadAIProcessor(BUNDLE_AI_HUMAN, FUAITypeEnum.FUAITYPE_HUMAN_PROCESSOR); + mFURenderKit.setReadBackSync(true); + int cameraFrontOrientation = CameraUtils.INSTANCE.getCameraOrientation(Camera.CameraInfo.CAMERA_FACING_FRONT); + int cameraBackOrientation = CameraUtils.INSTANCE.getCameraOrientation(Camera.CameraInfo.CAMERA_FACING_BACK); + cameraOrientationMap.put(cameraFrontOrientation, CameraFacingEnum.CAMERA_FRONT); + cameraOrientationMap.put(cameraBackOrientation, CameraFacingEnum.CAMERA_BACK); + } + } + + @Override + public void onFail(int i, @NotNull String s) { + } + }); + } + + /** + * 开启合成状态 + */ + @Override + public void prepareRenderer(FURendererListener mFURendererListener) { + this.mFURendererListener = mFURendererListener; + mRendererSwitch = true; + mClearQueue = false; + queueEvent(() -> mGlThreadId = Thread.currentThread().getId()); + mFURendererListener.onPrepare(); + } + + + /** + * 双输入接口,输入 buffer 和 texture,必须在具有 GL 环境的线程调用 + * 由于省去数据拷贝,性能相对最优,优先推荐使用。 + * 缺点是无法保证 buffer 和纹理对齐,可能出现点位和效果对不上的情况。 + * + * @param img NV21 buffer + * @param texId 纹理 ID + * @param width 宽 + * @param height 高 + * @return + */ + @Override + public int onDrawFrameDualInput(byte[] img, int texId, int width, int height) { + prepareDrawFrame(); + if (!mRendererSwitch) { + return texId; + } + FURenderInputData inputData = new FURenderInputData(width, height); + if (img != null) { + inputData.setImageBuffer(new FURenderInputData.FUImageBuffer(inputBufferType, img)); + } + if (texId != -1) { + inputData.setTexture(new FURenderInputData.FUTexture(inputTextureType, texId)); + } + FURenderInputData.FURenderConfig config = inputData.getRenderConfig(); + config.setExternalInputType(externalInputType); + config.setInputOrientation(inputOrientation); + config.setDeviceOrientation(deviceOrientation); + config.setInputBufferMatrix(inputBufferMatrix); + config.setInputTextureMatrix(inputTextureMatrix); + config.setOutputMatrix(outputMatrix); + config.setCameraFacing(cameraFacing); + FURenderOutputData outputData = mFURenderKit.renderWithInput(inputData); + if (outputData.getTexture() != null && outputData.getTexture().getTexId() > 0) { + return outputData.getTexture().getTexId(); + } + return texId; + } + + public FURenderOutputData onDrawFrameInputWithReturn(byte[] img, int width, int height) { + prepareDrawFrame(); + if (!mRendererSwitch) { + return null ; + } + FURenderInputData inputData = new FURenderInputData(width, height); + if (img != null) { + inputData.setImageBuffer(new FURenderInputData.FUImageBuffer(inputBufferType, img)); + } + FURenderInputData.FURenderConfig config = inputData.getRenderConfig(); + config.setExternalInputType(externalInputType); + config.setInputOrientation(inputOrientation); + config.setDeviceOrientation(deviceOrientation); + config.setInputBufferMatrix(inputBufferMatrix); + config.setInputTextureMatrix(inputTextureMatrix); + config.setCameraFacing(cameraFacing); + config.setNeedBufferReturn(true); + config.setOutputMatrix(outputMatrix); + return mFURenderKit.renderWithInput(inputData); + } + + /** + * 类似 GLSurfaceView 的 queueEvent 机制,把任务抛到 GL 线程执行。 + * + * @param runnable + */ + @Override + public void queueEvent(Runnable runnable) { + if (runnable == null) { + return; + } + if (mGlThreadId == Thread.currentThread().getId()) { + runnable.run(); + } else { + synchronized (queueLock) { + mEventQueue.add(runnable); + } + } + } + + + /** + * 释放资源 + */ + @Override + public void release() { + mRendererSwitch = false; + mClearQueue = true; + mGlThreadId = 0L; + synchronized (queueLock) { + mEventQueue.clear(); + mClearQueue = false; + mFURenderKit.release(); + aIProcessTrackStatus = -1; + if (mFURendererListener != null) { + mFURendererListener.onRelease(); + mFURendererListener = null; + } + } + } + + + /** + * 渲染前置执行 + * + * @return + */ + private void prepareDrawFrame() { + benchmarkFPS(); + + // 执行任务队列中的任务 + synchronized (queueLock) { + while (!mEventQueue.isEmpty() && !mClearQueue) { + mEventQueue.remove(0).run(); + } + } + // AI检测 + trackStatus(); + } + + /** + * 设置检测类型 + * + * @param type + */ + @Override + public void setAIProcessTrackType(FUAIProcessorEnum type) { + aIProcess = type; + aIProcessTrackStatus = -1; + } + + /** + * 设置FPS检测 + * + * @param enable + */ + @Override + public void setMarkFPSEnable(boolean enable) { + mIsRunBenchmark = enable; + } + + @Override + public void setInputOrientation(int inputOrientation) { + if (cameraOrientationMap.containsKey(inputOrientation)) { + setCameraFacing(cameraOrientationMap.get(inputOrientation)); + } + super.setInputOrientation(inputOrientation); + } + + /** + * AI识别数目检测 + */ + private void trackStatus() { + int trackCount; + if (aIProcess == FUAIProcessorEnum.HAND_GESTURE_PROCESSOR) { + trackCount = mFURenderKit.getFUAIController().handProcessorGetNumResults(); + } else if (aIProcess == FUAIProcessorEnum.HUMAN_PROCESSOR) { + trackCount = mFURenderKit.getFUAIController().humanProcessorGetNumResults(); + } else { + trackCount = mFURenderKit.getFUAIController().isTracking(); + } + if (trackCount != aIProcessTrackStatus) { + aIProcessTrackStatus = trackCount; + } else { + return; + } + if (mFURendererListener != null) { + mFURendererListener.onTrackStatusChanged(aIProcess, trackCount); + } + } + //endregion AI识别 + + //------------------------------FPS 渲染时长回调相关定义------------------------------------ + + private static final int NANO_IN_ONE_MILLI_SECOND = 1_000_000; + private static final int NANO_IN_ONE_SECOND = 1_000_000_000; + private static final int FRAME_COUNT = 20; + private boolean mIsRunBenchmark = false; + private int mCurrentFrameCount; + private long mLastFrameTimestamp; + private long mSumCallTime; + private long mCallStartTime; + + private void benchmarkFPS() { + if (!mIsRunBenchmark) { + return; + } + if (++mCurrentFrameCount == FRAME_COUNT) { + long tmp = System.nanoTime(); + double fps = (double) NANO_IN_ONE_SECOND / ((double) (tmp - mLastFrameTimestamp) / FRAME_COUNT); + double renderTime = (double) mSumCallTime / FRAME_COUNT / NANO_IN_ONE_MILLI_SECOND; + mLastFrameTimestamp = tmp; + mSumCallTime = 0; + mCurrentFrameCount = 0; + + if (mFURendererListener != null) { + mFURendererListener.onFpsChanged(fps, renderTime); + } + } + } + + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FaceCameraConfig.java b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FaceCameraConfig.java new file mode 100644 index 000000000..004fc63f4 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FaceCameraConfig.java @@ -0,0 +1,12 @@ +package com.yunbao.faceunity.utils; + +import com.faceunity.core.entity.FUCameraConfig; + +public class FaceCameraConfig { + /** + * 默认相机配置 + */ + public static FUCameraConfig getDefFUCameraConfig(){ + return new FUCameraConfig(); + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FaceUnityConfig.java b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FaceUnityConfig.java new file mode 100644 index 000000000..b6a2d51de --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FaceUnityConfig.java @@ -0,0 +1,127 @@ +package com.yunbao.faceunity.utils; + +import android.app.Application; +import android.os.Environment; + + +import java.io.File; + +/** + * 一些配置参数 + * DESC: + * Created on 2021/3/1 + */ +public class FaceUnityConfig { + + /************************** 算法Model ******************************/ + // 人脸识别 + 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"; + + //获取人体bundle + public static String getAIHumanBundle() { + if (FaceUnityConfig.DEVICE_LEVEL > FuDeviceUtils.DEVICE_LEVEL_MID) + return BUNDLE_AI_HUMAN_GPU; + else + return BUNDLE_AI_HUMAN; + } + + // 人体 + public static String BUNDLE_AI_HUMAN = "model" + File.separator + "ai_human_processor.bundle"; + // 人体 + public static String BUNDLE_AI_HUMAN_GPU = "model" + File.separator + "ai_human_processor_gpu.bundle"; + // 头发 + public static String BUNDLE_AI_HAIR_SEG = "model" + File.separator + "ai_hairseg.bundle"; + // 舌头 + public static String BUNDLE_AI_TONGUE = "graphics" + File.separator + "tongue.bundle"; + + /************************** 业务道具存储 ******************************/ + // 美颜 + public static String BUNDLE_FACE_BEAUTIFICATION = "graphics" + File.separator + "face_beautification.bundle"; + + // 美妆 + public static String BUNDLE_FACE_MAKEUP = "graphics" + File.separator + "face_makeup.bundle"; + // 美妆根目录 + private static String MAKEUP_RESOURCE_DIR = "makeup" + File.separator; + //美妆单项颜色组合文件 + public static String MAKEUP_RESOURCE_COLOR_SETUP_JSON = MAKEUP_RESOURCE_DIR + "color_setup.json"; + // 美妆参数配置文件目录 + public static String MAKEUP_RESOURCE_JSON_DIR = MAKEUP_RESOURCE_DIR + "config_json" + File.separator; + //美妆组合妆句柄文件目录 + public static String MAKEUP_RESOURCE_COMBINATION_BUNDLE_DIR = MAKEUP_RESOURCE_DIR + "combination_bundle" + File.separator;// + //美妆妆容单项句柄文件目录 + public static String MAKEUP_RESOURCE_ITEM_BUNDLE_DIR = MAKEUP_RESOURCE_DIR + "item_bundle" + File.separator; + + // 美体 + public static String BUNDLE_BODY_BEAUTY = "graphics" + File.separator + "body_slim.bundle"; + + //动漫滤镜 + public static String BUNDLE_ANIMATION_FILTER = "graphics" + File.separator + "fuzzytoonfilter.bundle"; + + // 美发正常色 + public static String BUNDLE_HAIR_NORMAL = "hair_seg" + File.separator + "hair_normal.bundle"; + // 美发渐变色 + public static String BUNDLE_HAIR_GRADIENT = "hair_seg" + File.separator + "hair_gradient.bundle"; + // 轻美妆 + public static String BUNDLE_LIGHT_MAKEUP = "light_makeup" + File.separator + "light_makeup.bundle"; + + // 海报换脸 + public static String BUNDLE_POSTER_CHANGE_FACE = "change_face" + File.separator + "change_face.bundle"; + + // 绿幕抠像 + public static String BUNDLE_BG_SEG_GREEN = "bg_seg_green" + File.separator + "green_screen.bundle"; + + // 3D抗锯齿 + public static String BUNDLE_ANTI_ALIASING = "graphics" + File.separator + "fxaa.bundle"; + + // 人像分割 + public static String BUNDLE_BG_SEG_CUSTOM = "effect" + File.separator + "segment" + File.separator + "bg_segment.bundle"; + + //mask bundle + public static String BUNDLE_LANDMARKS = "effect" + File.separator + "landmarks.bundle"; + + //设备等级默认为中级 + public static int DEVICE_LEVEL = FuDeviceUtils.DEVICE_LEVEL_HIGH; + + //人脸置信度 标准 + public static float FACE_CONFIDENCE_SCORE = 0.95f; + + //测试使用 -> 是否开启人脸点位,目前仅在美颜,美妆 情况下使用 + public static boolean IS_OPEN_LAND_MARK = false; + + //设备名称 + public static String DEVICE_NAME = ""; + + //是否开启日志重定向到文件 + public static boolean OPEN_FILE_LOG = false; + //TAG + public static final String APP_NAME = "KotlinFaceUnityDemo"; + //文件夹路径 + public static String OPEN_FILE_PATH = Environment.getExternalStoragePublicDirectory("") + File.separator + "FaceUnity" + File.separator + APP_NAME + File.separator; + //文件夹名称 + public static String OPEN_FILE_NAME = "openFile.txt"; + //文件大小 + public static int OPEN_FILE_MAX_SIZE = 100 * 1024 * 1024; + //文件数量 + public static int OPEN_FILES = 100; + + //timeProfile是否开启 + public static boolean OPEN_TIME_PROFILE_LOG = false; + //timeProfile文件夹路径 + public static String OPEN_TIME_PROFILE_PATH = Environment.getExternalStoragePublicDirectory("") + File.separator + "FaceUnity" + File.separator + APP_NAME + File.separator; + + //是否开启美颜序列化到磁盘 + public static boolean OPEN_FACE_BEAUTY_TO_FILE = true; + + //获取缓存路径 + public static String cacheFilePath(Application application){ + return application.getCacheDir() + File.separator + "attribute"; + } + + //绿幕背景切换的时候跳过的帧数 + public static final int BG_GREEN_FILTER_FRAME = 1; + + //测试用是否展示效果还原按钮 + public static final boolean IS_SHOW_RESET_BUTTON = false; +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FuDeviceUtils.java b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FuDeviceUtils.java new file mode 100644 index 000000000..79a58785e --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/FuDeviceUtils.java @@ -0,0 +1,720 @@ +package com.yunbao.faceunity.utils; + +import static android.content.Context.MODE_PRIVATE; + +import android.annotation.TargetApi; +import android.app.ActivityManager; +import android.content.Context; +import android.content.SharedPreferences; +import android.opengl.GLES20; +import android.os.Build; +import android.text.TextUtils; +import android.util.Log; + +import com.faceunity.core.faceunity.OffLineRenderHandler; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileFilter; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +/** + * 工具类 + */ +public class FuDeviceUtils { + + public static final String TAG = "FuDeviceUtils"; + public static final String DEVICE_LEVEL = "device_level"; + + public static final int DEVICE_LEVEL_HIGH = 2; + public static final int DEVICE_LEVEL_MID = 1; + public static final int DEVICE_LEVEL_LOW = 0; + + /** + * The default return value of any method in this class when an + * error occurs or when processing fails (Currently set to -1). Use this to check if + * the information about the device in question was successfully obtained. + */ + public static final int DEVICEINFO_UNKNOWN = -1; + + private static final FileFilter CPU_FILTER = new FileFilter() { + @Override + public boolean accept(File pathname) { + String path = pathname.getName(); + //regex is slow, so checking char by char. + if (path.startsWith("cpu")) { + for (int i = 3; i < path.length(); i++) { + if (!Character.isDigit(path.charAt(i))) { + return false; + } + } + return true; + } + return false; + } + }; + + + /** + * Calculates the total RAM of the device through Android API or /proc/meminfo. + * + * @param c - Context object for current running activity. + * @return Total RAM that the device has, or DEVICEINFO_UNKNOWN = -1 in the event of an error. + */ + @TargetApi(Build.VERSION_CODES.JELLY_BEAN) + public static long getTotalMemory(Context c) { + // memInfo.totalMem not supported in pre-Jelly Bean APIs. + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { + ActivityManager.MemoryInfo memInfo = new ActivityManager.MemoryInfo(); + ActivityManager am = (ActivityManager) c.getSystemService(Context.ACTIVITY_SERVICE); + am.getMemoryInfo(memInfo); + if (memInfo != null) { + return memInfo.totalMem; + } else { + return DEVICEINFO_UNKNOWN; + } + } else { + long totalMem = DEVICEINFO_UNKNOWN; + try { + FileInputStream stream = new FileInputStream("/proc/meminfo"); + try { + totalMem = parseFileForValue("MemTotal", stream); + totalMem *= 1024; + } finally { + stream.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + return totalMem; + } + } + + /** + * Method for reading the clock speed of a CPU core on the device. Will read from either + * {@code /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq} or {@code /proc/cpuinfo}. + * + * @return Clock speed of a core on the device, or -1 in the event of an error. + */ + public static int getCPUMaxFreqKHz() { + int maxFreq = DEVICEINFO_UNKNOWN; + try { + for (int i = 0; i < getNumberOfCPUCores(); i++) { + String filename = + "/sys/devices/system/cpu/cpu" + i + "/cpufreq/cpuinfo_max_freq"; + File cpuInfoMaxFreqFile = new File(filename); + if (cpuInfoMaxFreqFile.exists() && cpuInfoMaxFreqFile.canRead()) { + byte[] buffer = new byte[128]; + FileInputStream stream = new FileInputStream(cpuInfoMaxFreqFile); + try { + stream.read(buffer); + int endIndex = 0; + //Trim the first number out of the byte buffer. + while (Character.isDigit(buffer[endIndex]) && endIndex < buffer.length) { + endIndex++; + } + String str = new String(buffer, 0, endIndex); + Integer freqBound = Integer.parseInt(str); + if (freqBound > maxFreq) { + maxFreq = freqBound; + } + } catch (NumberFormatException e) { + //Fall through and use /proc/cpuinfo. + } finally { + stream.close(); + } + } + } + if (maxFreq == DEVICEINFO_UNKNOWN) { + FileInputStream stream = new FileInputStream("/proc/cpuinfo"); + try { + int freqBound = parseFileForValue("cpu MHz", stream); + freqBound *= 1024; //MHz -> kHz + if (freqBound > maxFreq) maxFreq = freqBound; + } finally { + stream.close(); + } + } + } catch (IOException e) { + maxFreq = DEVICEINFO_UNKNOWN; //Fall through and return unknown. + } + return maxFreq; + } + + /** + * Reads the number of CPU cores from the first available information from + * {@code /sys/devices/system/cpu/possible}, {@code /sys/devices/system/cpu/present}, + * then {@code /sys/devices/system/cpu/}. + * + * @return Number of CPU cores in the phone, or DEVICEINFO_UKNOWN = -1 in the event of an error. + */ + public static int getNumberOfCPUCores() { + if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD_MR1) { + // Gingerbread doesn't support giving a single application access to both cores, but a + // handful of devices (Atrix 4G and Droid X2 for example) were released with a dual-core + // chipset and Gingerbread; that can let an app in the background run without impacting + // the foreground application. But for our purposes, it makes them single core. + return 1; + } + int cores; + try { + cores = getCoresFromFileInfo("/sys/devices/system/cpu/possible"); + if (cores == DEVICEINFO_UNKNOWN) { + cores = getCoresFromFileInfo("/sys/devices/system/cpu/present"); + } + if (cores == DEVICEINFO_UNKNOWN) { + cores = new File("/sys/devices/system/cpu/").listFiles(CPU_FILTER).length; + } + } catch (SecurityException e) { + cores = DEVICEINFO_UNKNOWN; + } catch (NullPointerException e) { + cores = DEVICEINFO_UNKNOWN; + } + return cores; + } + + /** + * Tries to read file contents from the file location to determine the number of cores on device. + * + * @param fileLocation The location of the file with CPU information + * @return Number of CPU cores in the phone, or DEVICEINFO_UKNOWN = -1 in the event of an error. + */ + private static int getCoresFromFileInfo(String fileLocation) { + InputStream is = null; + try { + is = new FileInputStream(fileLocation); + BufferedReader buf = new BufferedReader(new InputStreamReader(is)); + String fileContents = buf.readLine(); + buf.close(); + return getCoresFromFileString(fileContents); + } catch (IOException e) { + return DEVICEINFO_UNKNOWN; + } finally { + if (is != null) { + try { + is.close(); + } catch (IOException e) { + // Do nothing. + } + } + } + } + + /** + * Converts from a CPU core information format to number of cores. + * + * @param str The CPU core information string, in the format of "0-N" + * @return The number of cores represented by this string + */ + private static int getCoresFromFileString(String str) { + if (str == null || !str.matches("0-[\\d]+$")) { + return DEVICEINFO_UNKNOWN; + } + return Integer.valueOf(str.substring(2)) + 1; + } + + /** + * Helper method for reading values from system files, using a minimised buffer. + * + * @param textToMatch - Text in the system files to read for. + * @param stream - FileInputStream of the system file being read from. + * @return A numerical value following textToMatch in specified the system file. + * -1 in the event of a failure. + */ + private static int parseFileForValue(String textToMatch, FileInputStream stream) { + byte[] buffer = new byte[1024]; + try { + int length = stream.read(buffer); + for (int i = 0; i < length; i++) { + if (buffer[i] == '\n' || i == 0) { + if (buffer[i] == '\n') i++; + for (int j = i; j < length; j++) { + int textIndex = j - i; + //Text doesn't match query at some point. + if (buffer[j] != textToMatch.charAt(textIndex)) { + break; + } + //Text matches query here. + if (textIndex == textToMatch.length() - 1) { + return extractValue(buffer, j); + } + } + } + } + } catch (IOException e) { + //Ignore any exceptions and fall through to return unknown value. + } catch (NumberFormatException e) { + } + return DEVICEINFO_UNKNOWN; + } + + /** + * Helper method used by {@link #parseFileForValue(String, FileInputStream) parseFileForValue}. Parses + * the next available number after the match in the file being read and returns it as an integer. + * + * @param index - The index in the buffer array to begin looking. + * @return The next number on that line in the buffer, returned as an int. Returns + * DEVICEINFO_UNKNOWN = -1 in the event that no more numbers exist on the same line. + */ + private static int extractValue(byte[] buffer, int index) { + while (index < buffer.length && buffer[index] != '\n') { + if (Character.isDigit(buffer[index])) { + int start = index; + index++; + while (index < buffer.length && Character.isDigit(buffer[index])) { + index++; + } + String str = new String(buffer, 0, start, index - start); + return Integer.parseInt(str); + } + index++; + } + return DEVICEINFO_UNKNOWN; + } + + /** + * 获取当前剩余内存(ram) + * + * @param context + * @return + */ + public static long getAvailMemory(Context context) { + ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); + ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo(); + am.getMemoryInfo(mi); + return mi.availMem; + } + + /** + * 获取厂商信息 + * + * @return + */ + public static String getBrand() { + return Build.BRAND; + } + + /** + * 获取手机机型 + * + * @return + */ + public static String getModel() { + return Build.MODEL; + } + + /** + * 获取硬件信息(cpu型号) + * + * @return + */ + public static String getHardWare() { + try { + FileReader fr = new FileReader("/proc/cpuinfo"); + BufferedReader br = new BufferedReader(fr); + String text; + String last = ""; + while ((text = br.readLine()) != null) { + last = text; + } + //一般机型的cpu型号都会在cpuinfo文件的最后一行 + if (last.contains("Hardware")) { + String[] hardWare = last.split(":\\s+", 2); + return hardWare[1]; + } + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return Build.HARDWARE; + } + + /** + * Level judgement based on current memory and CPU. + * + * @param context - Context object. + * @return + */ + public static int judgeDeviceLevel(Context context) { + //加一个sp读取 和 设置 + int cacheDeviceLevel = getCacheDeviceLevel(context); + if (cacheDeviceLevel > -1) { + return cacheDeviceLevel; + } + + int level; + //有一些设备不符合下述的判断规则,则走一个机型判断模式 + int specialDevice = judgeDeviceLevelInDeviceName(); + if (specialDevice >= 0) return specialDevice; + + int ramLevel = judgeMemory(context); + int cpuLevel = judgeCPU(); + if (ramLevel == 0 || ramLevel == 1 || cpuLevel == 0) { + level = DEVICE_LEVEL_LOW; + } else { + if (cpuLevel > 1) { + level = DEVICE_LEVEL_HIGH; + } else { + level = DEVICE_LEVEL_MID; + } + } + Log.d(TAG,"DeviceLevel: " + level); + saveCacheDeviceLevel(context,level); + return level; + } + + /** + * Level judgement based on current GPU. + * 需要GL环境 + * @return + */ + public static int judgeDeviceLevelGPU(Context context) { + int cacheDeviceLevel = getCacheDeviceLevel(context); + if (cacheDeviceLevel > -1) { + return cacheDeviceLevel; + } + + OffLineRenderHandler.getInstance().onResume(); + CountDownLatch countDownLatch = new CountDownLatch(1); + //加一个sp读取 和 设置 + final int[] level = {-1}; + //有一些设备不符合下述的判断规则,则走一个机型判断模式 + OffLineRenderHandler.getInstance().queueEvent(() -> { + try { + //高低端名单 + int specialDevice = judgeDeviceLevelInDeviceName(); + level[0] = specialDevice; + if (specialDevice >= 0) return; + + String glRenderer = GLES20.glGetString(GLES20.GL_RENDERER); //GPU 渲染器 + String glVendor = GLES20.glGetString(GLES20.GL_VENDOR); //GPU 供应商 + int GPUVersion; + if ("Qualcomm".equals(glVendor)) { + //高通 + if (glRenderer != null && glRenderer.startsWith("Adreno")) { + //截取后面的数字 + String GPUVersionStr = glRenderer.substring(glRenderer.lastIndexOf(" ") + 1); + try { + GPUVersion = Integer.parseInt(GPUVersionStr); + } catch (NumberFormatException e) { + e.printStackTrace(); + //可能是后面还包含了非数字的东西,那么截取三位 + String GPUVersionStrNew = GPUVersionStr.substring(0,3); + GPUVersion = Integer.parseInt(GPUVersionStrNew); + } + + if (GPUVersion >= 512) { + level[0] = DEVICE_LEVEL_HIGH; + } else { + level[0] = DEVICE_LEVEL_MID; + } + countDownLatch.countDown(); + } + } else if ("ARM".equals(glVendor)) { + //ARM + if (glRenderer != null && glRenderer.startsWith("Mali")) { + //截取-后面的东西 + String GPUVersionStr = glRenderer.substring(glRenderer.lastIndexOf("-") + 1); + String strStart = GPUVersionStr.substring(0, 1); + String strEnd = GPUVersionStr.substring(1); + try { + GPUVersion = Integer.parseInt(strEnd); + } catch (NumberFormatException e) { + e.printStackTrace(); + //可能是后面还包含了非数字的东西,那么截取三位 + String strEndNew = strEnd.substring(0,2); + GPUVersion = Integer.parseInt(strEndNew); + } + + if ("G".equals(strStart)) { + if (GPUVersion >= 51) { + level[0] = DEVICE_LEVEL_HIGH; + } else { + level[0] = DEVICE_LEVEL_MID; + } + } else if ("T".equals(strStart)) { + if (GPUVersion > 880) { + level[0] = DEVICE_LEVEL_HIGH; + } else { + level[0] = DEVICE_LEVEL_MID; + } + } + countDownLatch.countDown(); + } + } + } catch (Exception e) { + e.printStackTrace(); + level[0] = -1; + countDownLatch.countDown(); + } + }); + + try { + countDownLatch.await(200,TimeUnit.MILLISECONDS); + } catch (InterruptedException e) { + e.printStackTrace(); + } + OffLineRenderHandler.getInstance().onPause(); + + //存储设备等级 + saveCacheDeviceLevel(context,level[0]); + Log.d(TAG,"DeviceLevel: " + level); + return level[0]; + } + + /** + * -1 不是特定的高低端机型 + * @return + */ + private static int judgeDeviceLevelInDeviceName() { + String currentDeviceName = getDeviceName(); + for (String deviceName:upscaleDevice) { + if (deviceName.equals(currentDeviceName)) { + return DEVICE_LEVEL_HIGH; + } + } + + for (String deviceName:middleDevice) { + if (deviceName.equals(currentDeviceName)) { + return DEVICE_LEVEL_MID; + } + } + + for (String deviceName:lowDevice) { + if (deviceName.equals(currentDeviceName)) { + return DEVICE_LEVEL_LOW; + } + } + return -1; + } + + public static final String[] upscaleDevice = {"vivo X6S A","MHA-AL00","VKY-AL00","V1838A"}; + public static final String[] lowDevice = {}; + public static final String[] middleDevice = {"OPPO R11s","PAR-AL00","MI 8 Lite","ONEPLUS A6000","PRO 6","PRO 7 Plus"}; + + /** + * 评定内存的等级. + * + * @return + */ + private static int judgeMemory(Context context) { + long ramMB = getTotalMemory(context) / (1024 * 1024); + int level = -1; + if (ramMB <= 2000) { //2G或以下的最低档 + level = 0; + } else if (ramMB <= 3000) { //2-3G + level = 1; + } else if (ramMB <= 4000) { //4G档 2018主流中端机 + level = 2; + } else if (ramMB <= 6000) { //6G档 高端机 + level = 3; + } else { //6G以上 旗舰机配置 + level = 4; + } + return level; + } + + /** + * 评定CPU等级.(按频率和厂商型号综合判断) + * + * @return + */ + private static int judgeCPU() { + int level = 0; + String cpuName = getHardWare(); + int freqMHz = getCPUMaxFreqKHz() / 1024; + + //一个不符合下述规律的高级白名单 + //如果可以获取到CPU型号名称 -> 根据不同的名称走不同判定策略 + if (!TextUtils.isEmpty(cpuName)) { + if (cpuName.contains("qcom") || cpuName.contains("Qualcomm")) { //高通骁龙 + return judgeQualcommCPU(cpuName, freqMHz); + } else if (cpuName.contains("hi") || cpuName.contains("kirin")) { //海思麒麟 + return judgeSkinCPU(cpuName, freqMHz); + } else if (cpuName.contains("MT")) {//联发科 + return judgeMTCPU(cpuName, freqMHz); + } + } + + //cpu型号无法获取的普通规则 + if (freqMHz <= 1600) { //1.5G 低端 + level = 0; + } else if (freqMHz <= 1950) { //2GHz 低中端 + level = 1; + } else if (freqMHz <= 2500) { //2.2 2.3g 中高端 + level = 2; + } else { //高端 + level = 3; + } + return level; + } + + /** + * 联发科芯片等级判定 + * + * @return + */ + private static int judgeMTCPU(String cpuName, int freqMHz) { + //P60之前的全是低端机 MT6771V/C + int level = 0; + int mtCPUVersion = getMTCPUVersion(cpuName); + if (mtCPUVersion == -1) { + //读取不出version 按照一个比较严格的方式来筛选出高端机 + if (freqMHz <= 1600) { //1.5G 低端 + level = 0; + } else if (freqMHz <= 2200) { //2GHz 低中端 + level = 1; + } else if (freqMHz <= 2700) { //2.2 2.3g 中高端 + level = 2; + } else { //高端 + level = 3; + } + } else if (mtCPUVersion < 6771) { + //均为中低端机 + if (freqMHz <= 1600) { //1.5G 低端 + level = 0; + } else { //2GHz 中端 + level = 1; + } + } else { + if (freqMHz <= 1600) { //1.5G 低端 + level = 0; + } else if (freqMHz <= 1900) { //2GHz 低中端 + level = 1; + } else if (freqMHz <= 2500) { //2.2 2.3g 中高端 + level = 2; + } else { //高端 + level = 3; + } + } + + return level; + } + + /** + * 通过联发科CPU型号定义 -> 获取cpu version + * + * @param cpuName + * @return + */ + private static int getMTCPUVersion(String cpuName) { + //截取MT后面的四位数字 + int cpuVersion = -1; + if (cpuName.length() > 5) { + String cpuVersionStr = cpuName.substring(2, 6); + try { + cpuVersion = Integer.valueOf(cpuVersionStr); + } catch (NumberFormatException exception) { + exception.printStackTrace(); + } + } + + return cpuVersion; + } + + /** + * 高通骁龙芯片等级判定 + * + * @return + */ + private static int judgeQualcommCPU(String cpuName, int freqMHz) { + int level = 0; + //xxxx inc MSM8937 比较老的芯片 + //7 8 xxx inc SDM710 + if (cpuName.contains("MSM")) { + //老芯片 + if (freqMHz <= 1600) { //1.5G 低端 + level = 0; + } else { //2GHz 低中端 + level = 1; + } + } else { + //新的芯片 + if (freqMHz <= 1600) { //1.5G 低端 + level = 0; + } else if (freqMHz <= 2000) { //2GHz 低中端 + level = 1; + } else if (freqMHz <= 2500) { //2.2 2.3g 中高端 + level = 2; + } else { //高端 + level = 3; + } + } + + return level; + } + + /** + * 麒麟芯片等级判定 + * + * @param freqMHz + * @return + */ + private static int judgeSkinCPU(String cpuName, int freqMHz) { + //型号 -> kirin710之后 & 最高核心频率 + int level = 0; + if (cpuName.startsWith("hi")) { + //这个是海思的芯片中低端 + if (freqMHz <= 1600) { //1.5G 低端 + level = 0; + } else if (freqMHz <= 2000) { //2GHz 低中端 + level = 1; + } + } else { + //这个是海思麒麟的芯片 + if (freqMHz <= 1600) { //1.5G 低端 + level = 0; + } else if (freqMHz <= 2000) { //2GHz 低中端 + level = 1; + } else if (freqMHz <= 2500) { //2.2 2.3g 中高端 + level = 2; + } else { //高端 + level = 3; + } + } + + return level; + } + + public static final String Nexus_6P = "Nexus 6P"; + + /** + * 获取设备名 + * + * @return + */ + public static String getDeviceName() { + String deviceName = ""; + if (Build.MODEL != null) deviceName = Build.MODEL; + Log.d(TAG,"deviceName: " + deviceName); + return deviceName; + } + + /** + * 缓存设备等级 + * + * @param level + */ + public static void saveCacheDeviceLevel(Context context,int level) { + SharedPreferences sp = context.getSharedPreferences(DEVICE_LEVEL, MODE_PRIVATE); + sp.edit().putInt(DEVICE_LEVEL, level).apply(); + } + + /** + * 获取设备等级 + * + * @return + */ + public static int getCacheDeviceLevel(Context context) { + SharedPreferences sp = context.getSharedPreferences(DEVICE_LEVEL, MODE_PRIVATE); + return sp.getInt(DEVICE_LEVEL, -1); + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/utils/IFURenderer.java b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/IFURenderer.java new file mode 100644 index 000000000..e6be37267 --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/IFURenderer.java @@ -0,0 +1,249 @@ +package com.yunbao.faceunity.utils; + + +import android.content.Context; + +import com.faceunity.core.enumeration.CameraFacingEnum; +import com.faceunity.core.enumeration.FUAIProcessorEnum; +import com.faceunity.core.enumeration.FUExternalInputEnum; +import com.faceunity.core.enumeration.FUInputBufferEnum; +import com.faceunity.core.enumeration.FUInputTextureEnum; +import com.faceunity.core.enumeration.FUTransformMatrixEnum; +import com.yunbao.faceunity.listener.FURendererListener; + +/** + * DESC: + * Created on 2021/4/26 + */ +abstract class IFURenderer { + + /** + * 渲染属性 + */ + protected FUExternalInputEnum externalInputType = FUExternalInputEnum.EXTERNAL_INPUT_TYPE_CAMERA;//数据源类型 + protected FUInputTextureEnum inputTextureType = FUInputTextureEnum.FU_ADM_FLAG_EXTERNAL_OES_TEXTURE;//纹理类型 + protected FUInputBufferEnum inputBufferType = FUInputBufferEnum.FU_FORMAT_NV21_BUFFER;//数据类型 + protected int inputOrientation = 270;//数据源朝向 + protected int deviceOrientation = 90;//手机设备朝向 + protected CameraFacingEnum cameraFacing = CameraFacingEnum.CAMERA_FRONT; //数据源为相机时候->前后置相机 + protected FUTransformMatrixEnum inputTextureMatrix = FUTransformMatrixEnum.CCROT0_FLIPVERTICAL;//纹理旋转类型 + protected FUTransformMatrixEnum inputBufferMatrix = FUTransformMatrixEnum.CCROT0_FLIPVERTICAL;//图象旋转类型 + protected FUTransformMatrixEnum outputMatrix = FUTransformMatrixEnum.CCROT0;//图象旋转类型 + + + /** + * 初始化鉴权 + */ + public abstract void setup(Context context); + + + /** + * 双输入接口,输入 buffer 和 texture,必须在具有 GL 环境的线程调用 + * 由于省去数据拷贝,性能相对最优,优先推荐使用。 + * 缺点是无法保证 buffer 和纹理对齐,可能出现点位和效果对不上的情况。 + * + * @param img NV21 buffer + * @param texId 纹理 ID + * @param width 宽 + * @param height 高 + * @return + */ + public abstract int onDrawFrameDualInput(byte[] img, int texId, int width, int height); + + /** + * 类似 GLSurfaceView 的 queueEvent 机制,把任务抛到 GL 线程执行。 + * + * @param runnable + */ + public abstract void queueEvent(Runnable runnable); + + + /** + * 设置检测类型 + * + * @param type + */ + public abstract void setAIProcessTrackType(FUAIProcessorEnum type); + + /** + * 资源释放 + */ + public abstract void release(); + + /** + * 开启合成状态 + */ + public abstract void prepareRenderer(FURendererListener mFURendererListener); + + + /** + * 设置FPS检测 + * + * @param enable + */ + public abstract void setMarkFPSEnable(boolean enable); + + + + /** + * 获取输入源类型 + * + * @return + */ + public FUExternalInputEnum getExternalInputType() { + return externalInputType; + } + + /** + * 设置输入源类型 + * + * @param externalInputType + */ + public void setExternalInputType(FUExternalInputEnum externalInputType) { + this.externalInputType = externalInputType; + } + + /** + * 获取输入纹理类型 + * + * @return + */ + public FUInputTextureEnum getInputTextureType() { + return inputTextureType; + } + + /** + * 设置输入纹理类型 + * + * @param inputTextureType + */ + public void setInputTextureType(FUInputTextureEnum inputTextureType) { + this.inputTextureType = inputTextureType; + } + + /** + * 获取输入Buffer类型 + * + * @return + */ + public FUInputBufferEnum getInputBufferType() { + return inputBufferType; + } + + /** + * 设置输入Buffer类型 + * + * @param inputBufferType + */ + public void setInputBufferType(FUInputBufferEnum inputBufferType) { + this.inputBufferType = inputBufferType; + } + + /** + * 获取输入数据朝向 + * + * @return + */ + public int getInputOrientation() { + return inputOrientation; + } + + /** + * 设置输入数据朝向 + * + * @param inputOrientation + */ + public void setInputOrientation(int inputOrientation) { + this.inputOrientation = inputOrientation; + } + + /** + * 获取设备类型 + * + * @return + */ + public int getDeviceOrientation() { + return deviceOrientation; + } + + /** + * 设置设备类型 + * + * @param deviceOrientation + */ + public void setDeviceOrientation(int deviceOrientation) { + this.deviceOrientation = deviceOrientation; + } + + /** + * 获取设备朝向 + * + * @return + */ + public CameraFacingEnum getCameraFacing() { + return cameraFacing; + } + + /** + * 设置设备朝向 + * + * @param cameraFacing + */ + public void setCameraFacing(CameraFacingEnum cameraFacing) { + this.cameraFacing = cameraFacing; + } + + /** + * 获取输入纹理旋转类型 + * + * @return + */ + public FUTransformMatrixEnum getInputTextureMatrix() { + return inputTextureMatrix; + } + + /** + * 设置输入纹理旋转类型 + * + * @param inputTextureMatrix + */ + public void setInputTextureMatrix(FUTransformMatrixEnum inputTextureMatrix) { + this.inputTextureMatrix = inputTextureMatrix; + } + + /** + * 获取输入数据旋转类型 + * + * @return + */ + public FUTransformMatrixEnum getInputBufferMatrix() { + return inputBufferMatrix; + } + + /** + * 设置输入数据旋转类型 + * + * @param inputBufferMatrix + */ + public void setInputBufferMatrix(FUTransformMatrixEnum inputBufferMatrix) { + this.inputBufferMatrix = inputBufferMatrix; + } + + /** + * 获取输出数据旋转类型 + * + * @return + */ + public FUTransformMatrixEnum getOutputMatrix() { + return outputMatrix; + } + + /** + * 设置输出数据旋转类型 + * + * @param outputMatrix + */ + public void setOutputMatrix(FUTransformMatrixEnum outputMatrix) { + this.outputMatrix = outputMatrix; + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/utils/MemoryInfoUtil.java b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/MemoryInfoUtil.java new file mode 100644 index 000000000..6b5f95c3f --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/utils/MemoryInfoUtil.java @@ -0,0 +1,90 @@ +package com.yunbao.faceunity.utils; + +import android.os.Build; +import android.os.Debug; + +import androidx.annotation.RequiresApi; + +import java.lang.reflect.Field; + +/** + * 内存使用率获取工具类 + * Created by tujh on 2018/5/24. + */ +public abstract class MemoryInfoUtil { + + @RequiresApi(api = Build.VERSION_CODES.M) + public static double getMemory(Debug.MemoryInfo[] memoryInfos) { + try { + if (Build.VERSION.SDK_INT >= 27) { + return compute(memoryInfos); + } + + Field otherStats_Field = memoryInfos[0].getClass().getDeclaredField("otherStats"); + otherStats_Field.setAccessible(true); + int[] otherStats = (int[]) otherStats_Field.get(memoryInfos[0]); + + Field NUM_CATEGORIES_Field = memoryInfos[0].getClass().getDeclaredField("NUM_CATEGORIES"); + Field offsetPrivateClean_Field = memoryInfos[0].getClass().getDeclaredField("offsetPrivateClean"); + Field offsetPrivateDirty_Field = memoryInfos[0].getClass().getDeclaredField("offsetPrivateDirty"); + final int NUM_CATEGORIES = (int) NUM_CATEGORIES_Field.get(memoryInfos[0]); + final int offsetPrivateClean = (int) offsetPrivateClean_Field.get(memoryInfos[0]); + final int offsetPrivateDirty = (int) offsetPrivateDirty_Field.get(memoryInfos[0]); + + int javaHeap = memoryInfos[0].dalvikPrivateDirty + + otherStats[12 * NUM_CATEGORIES + offsetPrivateClean] + otherStats[12 * NUM_CATEGORIES + offsetPrivateDirty]; + int nativeHeap = memoryInfos[0].nativePrivateDirty; + int code = otherStats[6 * NUM_CATEGORIES + offsetPrivateClean] + otherStats[6 * NUM_CATEGORIES + offsetPrivateDirty] + + otherStats[7 * NUM_CATEGORIES + offsetPrivateClean] + otherStats[7 * NUM_CATEGORIES + offsetPrivateDirty] + + otherStats[8 * NUM_CATEGORIES + offsetPrivateClean] + otherStats[8 * NUM_CATEGORIES + offsetPrivateDirty] + + otherStats[9 * NUM_CATEGORIES + offsetPrivateClean] + otherStats[9 * NUM_CATEGORIES + offsetPrivateDirty] + + otherStats[10 * NUM_CATEGORIES + offsetPrivateClean] + otherStats[10 * NUM_CATEGORIES + offsetPrivateDirty] + + otherStats[11 * NUM_CATEGORIES + offsetPrivateClean] + otherStats[11 * NUM_CATEGORIES + offsetPrivateDirty]; + int stack = otherStats[NUM_CATEGORIES + offsetPrivateDirty]; + int graphics = otherStats[4 * NUM_CATEGORIES + offsetPrivateClean] + otherStats[4 * NUM_CATEGORIES + offsetPrivateDirty] + + otherStats[14 * NUM_CATEGORIES + offsetPrivateClean] + otherStats[14 * NUM_CATEGORIES + offsetPrivateDirty] + + otherStats[15 * NUM_CATEGORIES + offsetPrivateClean] + otherStats[15 * NUM_CATEGORIES + offsetPrivateDirty]; + int other = otherStats[0 * NUM_CATEGORIES + offsetPrivateClean] + otherStats[0 * NUM_CATEGORIES + offsetPrivateDirty] + + otherStats[2 * NUM_CATEGORIES + offsetPrivateClean] + otherStats[2 * NUM_CATEGORIES + offsetPrivateDirty] + + otherStats[3 * NUM_CATEGORIES + offsetPrivateClean] + otherStats[3 * NUM_CATEGORIES + offsetPrivateDirty] + + otherStats[5 * NUM_CATEGORIES + offsetPrivateClean] + otherStats[5 * NUM_CATEGORIES + offsetPrivateDirty] + + otherStats[13 * NUM_CATEGORIES + offsetPrivateClean] + otherStats[13 * NUM_CATEGORIES + offsetPrivateDirty] + + otherStats[16 * NUM_CATEGORIES + offsetPrivateClean] + otherStats[16 * NUM_CATEGORIES + offsetPrivateDirty]; + int all = javaHeap + nativeHeap + code + stack + graphics + other; +// Log.d("MemoryAll", "javaHeap=" + javaHeap +// + "\nnativeHeap=" + nativeHeap + "\ncode=" + code + "\nstack=" + stack +// + "\ngraphics=" + graphics + "\nother=" + other); +// Log.e(TAG, "memory " + memoryStr +// + " java-heap " + String.format("%.2f", ((double) javaHeap) / 1024) +// + " native-heap " + String.format("%.2f", ((double) nativeHeap) / 1024) +// + " code " + String.format("%.2f", ((double) code) / 1024) +// + " stack " + String.format("%.2f", ((double) stack) / 1024) +// + " graphics " + String.format("%.2f", ((double) graphics) / 1024) +// + " other " + String.format("%.2f", ((double) other) / 1024) +// + " pps " + String.format("%.2f", ((double) memoryInfos[0].getTotalPss()) / 1024) +// ); + return ((double) all) / 1024; + } catch (Exception e) { + e.printStackTrace(); + } + return 0; + } + + + @RequiresApi(api = Build.VERSION_CODES.M) + private static double compute(Debug.MemoryInfo[] memInfo) { + String java_mem = memInfo[0].getMemoryStat("summary.java-heap"); + String native_mem = memInfo[0].getMemoryStat("summary.native-heap"); + String graphics_mem = memInfo[0].getMemoryStat("summary.graphics"); + String stack_mem = memInfo[0].getMemoryStat("summary.stack"); + String code_mem = memInfo[0].getMemoryStat("summary.code"); + String others_mem = memInfo[0].getMemoryStat("summary.system"); + int all = Integer.parseInt(java_mem) + + Integer.parseInt(native_mem) + + Integer.parseInt(graphics_mem) + + Integer.parseInt(stack_mem) + + Integer.parseInt(code_mem) + + Integer.parseInt(others_mem); + return ((double) all) / 1024; + } +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/widget/CircleImageView.java b/FaceUnity/src/main/java/com/yunbao/faceunity/widget/CircleImageView.java new file mode 100644 index 000000000..eff65490c --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/widget/CircleImageView.java @@ -0,0 +1,463 @@ +/* + * Copyright 2014 - 2020 Henning Dodenhof + * + * 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. + */ +package com.yunbao.faceunity.widget; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Bitmap; +import android.graphics.BitmapShader; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.ColorFilter; +import android.graphics.Matrix; +import android.graphics.Outline; +import android.graphics.Paint; +import android.graphics.Rect; +import android.graphics.RectF; +import android.graphics.Shader; +import android.graphics.drawable.BitmapDrawable; +import android.graphics.drawable.ColorDrawable; +import android.graphics.drawable.Drawable; +import android.net.Uri; +import android.os.Build; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewOutlineProvider; +import android.widget.ImageView; + +import androidx.annotation.ColorInt; +import androidx.annotation.ColorRes; +import androidx.annotation.DrawableRes; +import androidx.annotation.RequiresApi; + +import com.yunbao.faceunity.R; + + +/** + * Thanks for https://github.com/hdodenhof/CircleImageView + * Current version is 3.1.0 + */ +@SuppressWarnings("UnusedDeclaration") +public class CircleImageView extends ImageView { + + private static final ScaleType SCALE_TYPE = ScaleType.CENTER_CROP; + + private static final Bitmap.Config BITMAP_CONFIG = Bitmap.Config.ARGB_8888; + private static final int COLORDRAWABLE_DIMENSION = 2; + + private static final int DEFAULT_BORDER_WIDTH = 0; + private static final int DEFAULT_BORDER_COLOR = Color.BLACK; + private static final int DEFAULT_CIRCLE_BACKGROUND_COLOR = Color.TRANSPARENT; + private static final boolean DEFAULT_BORDER_OVERLAY = false; + + private final RectF mDrawableRect = new RectF(); + private final RectF mBorderRect = new RectF(); + + private final Matrix mShaderMatrix = new Matrix(); + private final Paint mBitmapPaint = new Paint(); + private final Paint mBorderPaint = new Paint(); + private final Paint mCircleBackgroundPaint = new Paint(); + + private int mBorderColor = DEFAULT_BORDER_COLOR; + private int mBorderWidth = DEFAULT_BORDER_WIDTH; + private int mCircleBackgroundColor = DEFAULT_CIRCLE_BACKGROUND_COLOR; + + private Bitmap mBitmap; + private BitmapShader mBitmapShader; + private int mBitmapWidth; + private int mBitmapHeight; + + private float mDrawableRadius; + private float mBorderRadius; + + private ColorFilter mColorFilter; + + private boolean mReady; + private boolean mSetupPending; + private boolean mBorderOverlay; + private boolean mDisableCircularTransformation; + + public CircleImageView(Context context) { + super(context); + + init(); + } + + public CircleImageView(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public CircleImageView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CircleImageView, defStyle, 0); + + mBorderWidth = a.getDimensionPixelSize(R.styleable.CircleImageView_civ_border_width, DEFAULT_BORDER_WIDTH); + mBorderColor = a.getColor(R.styleable.CircleImageView_civ_border_color, DEFAULT_BORDER_COLOR); + mBorderOverlay = a.getBoolean(R.styleable.CircleImageView_civ_border_overlay, DEFAULT_BORDER_OVERLAY); + mCircleBackgroundColor = a.getColor(R.styleable.CircleImageView_civ_circle_background_color, DEFAULT_CIRCLE_BACKGROUND_COLOR); + + a.recycle(); + + init(); + } + + private void init() { + super.setScaleType(SCALE_TYPE); + mReady = true; + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + setOutlineProvider(new OutlineProvider()); + } + + if (mSetupPending) { + setup(); + mSetupPending = false; + } + } + + @Override + public ScaleType getScaleType() { + return SCALE_TYPE; + } + + @Override + public void setScaleType(ScaleType scaleType) { + if (scaleType != SCALE_TYPE) { + throw new IllegalArgumentException(String.format("ScaleType %s not supported.", scaleType)); + } + } + + @Override + public void setAdjustViewBounds(boolean adjustViewBounds) { + if (adjustViewBounds) { + throw new IllegalArgumentException("adjustViewBounds not supported."); + } + } + + @Override + protected void onDraw(Canvas canvas) { + if (mDisableCircularTransformation) { + super.onDraw(canvas); + return; + } + + if (mBitmap == null) { + return; + } + + if (mCircleBackgroundColor != Color.TRANSPARENT) { + canvas.drawCircle(mDrawableRect.centerX(), mDrawableRect.centerY(), mDrawableRadius, mCircleBackgroundPaint); + } + canvas.drawCircle(mDrawableRect.centerX(), mDrawableRect.centerY(), mDrawableRadius, mBitmapPaint); + if (mBorderWidth > 0) { + canvas.drawCircle(mBorderRect.centerX(), mBorderRect.centerY(), mBorderRadius, mBorderPaint); + } + } + + @Override + protected void onSizeChanged(int w, int h, int oldw, int oldh) { + super.onSizeChanged(w, h, oldw, oldh); + setup(); + } + + @Override + public void setPadding(int left, int top, int right, int bottom) { + super.setPadding(left, top, right, bottom); + setup(); + } + + @Override + public void setPaddingRelative(int start, int top, int end, int bottom) { + super.setPaddingRelative(start, top, end, bottom); + setup(); + } + + public int getBorderColor() { + return mBorderColor; + } + + public void setBorderColor(@ColorInt int borderColor) { + if (borderColor == mBorderColor) { + return; + } + + mBorderColor = borderColor; + mBorderPaint.setColor(mBorderColor); + invalidate(); + } + + public int getCircleBackgroundColor() { + return mCircleBackgroundColor; + } + + public void setCircleBackgroundColor(@ColorInt int circleBackgroundColor) { + if (circleBackgroundColor == mCircleBackgroundColor) { + return; + } + + mCircleBackgroundColor = circleBackgroundColor; + mCircleBackgroundPaint.setColor(circleBackgroundColor); + invalidate(); + } + + public void setCircleBackgroundColorResource(@ColorRes int circleBackgroundRes) { + setCircleBackgroundColor(getContext().getResources().getColor(circleBackgroundRes)); + } + + public int getBorderWidth() { + return mBorderWidth; + } + + public void setBorderWidth(int borderWidth) { + if (borderWidth == mBorderWidth) { + return; + } + + mBorderWidth = borderWidth; + setup(); + } + + public boolean isBorderOverlay() { + return mBorderOverlay; + } + + public void setBorderOverlay(boolean borderOverlay) { + if (borderOverlay == mBorderOverlay) { + return; + } + + mBorderOverlay = borderOverlay; + setup(); + } + + public boolean isDisableCircularTransformation() { + return mDisableCircularTransformation; + } + + public void setDisableCircularTransformation(boolean disableCircularTransformation) { + if (mDisableCircularTransformation == disableCircularTransformation) { + return; + } + + mDisableCircularTransformation = disableCircularTransformation; + initializeBitmap(); + } + + @Override + public void setImageBitmap(Bitmap bm) { + super.setImageBitmap(bm); + initializeBitmap(); + } + + @Override + public void setImageDrawable(Drawable drawable) { + super.setImageDrawable(drawable); + initializeBitmap(); + } + + @Override + public void setImageResource(@DrawableRes int resId) { + super.setImageResource(resId); + initializeBitmap(); + } + + @Override + public void setImageURI(Uri uri) { + super.setImageURI(uri); + initializeBitmap(); + } + + @Override + public void setColorFilter(ColorFilter cf) { + if (cf == mColorFilter) { + return; + } + + mColorFilter = cf; + applyColorFilter(); + invalidate(); + } + + @Override + public ColorFilter getColorFilter() { + return mColorFilter; + } + + @SuppressWarnings("ConstantConditions") + private void applyColorFilter() { + // This might be called from setColorFilter during ImageView construction + // before member initialization has finished on API level <= 19. + if (mBitmapPaint != null) { + mBitmapPaint.setColorFilter(mColorFilter); + } + } + + private Bitmap getBitmapFromDrawable(Drawable drawable) { + if (drawable == null) { + return null; + } + + if (drawable instanceof BitmapDrawable) { + return ((BitmapDrawable) drawable).getBitmap(); + } + + try { + Bitmap bitmap; + + if (drawable instanceof ColorDrawable) { + bitmap = Bitmap.createBitmap(COLORDRAWABLE_DIMENSION, COLORDRAWABLE_DIMENSION, BITMAP_CONFIG); + } else { + bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), BITMAP_CONFIG); + } + + Canvas canvas = new Canvas(bitmap); + drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); + drawable.draw(canvas); + return bitmap; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + private void initializeBitmap() { + if (mDisableCircularTransformation) { + mBitmap = null; + } else { + mBitmap = getBitmapFromDrawable(getDrawable()); + } + setup(); + } + + private void setup() { + if (!mReady) { + mSetupPending = true; + return; + } + + if (getWidth() == 0 && getHeight() == 0) { + return; + } + + if (mBitmap == null) { + invalidate(); + return; + } + + mBitmapShader = new BitmapShader(mBitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP); + + mBitmapPaint.setAntiAlias(true); + mBitmapPaint.setDither(true); + mBitmapPaint.setFilterBitmap(true); + mBitmapPaint.setShader(mBitmapShader); + + mBorderPaint.setStyle(Paint.Style.STROKE); + mBorderPaint.setAntiAlias(true); + mBorderPaint.setColor(mBorderColor); + mBorderPaint.setStrokeWidth(mBorderWidth); + + mCircleBackgroundPaint.setStyle(Paint.Style.FILL); + mCircleBackgroundPaint.setAntiAlias(true); + mCircleBackgroundPaint.setColor(mCircleBackgroundColor); + + mBitmapHeight = mBitmap.getHeight(); + mBitmapWidth = mBitmap.getWidth(); + + mBorderRect.set(calculateBounds()); + mBorderRadius = Math.min((mBorderRect.height() - mBorderWidth) / 2.0f, (mBorderRect.width() - mBorderWidth) / 2.0f); + + mDrawableRect.set(mBorderRect); + if (!mBorderOverlay && mBorderWidth > 0) { + mDrawableRect.inset(mBorderWidth - 1.0f, mBorderWidth - 1.0f); + } + mDrawableRadius = Math.min(mDrawableRect.height() / 2.0f, mDrawableRect.width() / 2.0f); + + applyColorFilter(); + updateShaderMatrix(); + invalidate(); + } + + private RectF calculateBounds() { + int availableWidth = getWidth() - getPaddingLeft() - getPaddingRight(); + int availableHeight = getHeight() - getPaddingTop() - getPaddingBottom(); + + int sideLength = Math.min(availableWidth, availableHeight); + + float left = getPaddingLeft() + (availableWidth - sideLength) / 2f; + float top = getPaddingTop() + (availableHeight - sideLength) / 2f; + + return new RectF(left, top, left + sideLength, top + sideLength); + } + + private void updateShaderMatrix() { + float scale; + float dx = 0; + float dy = 0; + + mShaderMatrix.set(null); + + if (mBitmapWidth * mDrawableRect.height() > mDrawableRect.width() * mBitmapHeight) { + scale = mDrawableRect.height() / (float) mBitmapHeight; + dx = (mDrawableRect.width() - mBitmapWidth * scale) * 0.5f; + } else { + scale = mDrawableRect.width() / (float) mBitmapWidth; + dy = (mDrawableRect.height() - mBitmapHeight * scale) * 0.5f; + } + + mShaderMatrix.setScale(scale, scale); + mShaderMatrix.postTranslate((int) (dx + 0.5f) + mDrawableRect.left, (int) (dy + 0.5f) + mDrawableRect.top); + + mBitmapShader.setLocalMatrix(mShaderMatrix); + } + + @SuppressLint("ClickableViewAccessibility") + @Override + public boolean onTouchEvent(MotionEvent event) { + if (mDisableCircularTransformation) { + return super.onTouchEvent(event); + } + + return inTouchableArea(event.getX(), event.getY()) && super.onTouchEvent(event); + } + + private boolean inTouchableArea(float x, float y) { + if (mBorderRect.isEmpty()) { + return true; + } + + return Math.pow(x - mBorderRect.centerX(), 2) + Math.pow(y - mBorderRect.centerY(), 2) <= Math.pow(mBorderRadius, 2); + } + + @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) + private class OutlineProvider extends ViewOutlineProvider { + + @Override + public void getOutline(View view, Outline outline) { + if (mDisableCircularTransformation) { + ViewOutlineProvider.BACKGROUND.getOutline(view, outline); + } else { + Rect bounds = new Rect(); + mBorderRect.roundOut(bounds); + outline.setRoundRect(bounds, bounds.width() / 2.0f); + } + } + + } + +} diff --git a/FaceUnity/src/main/java/com/yunbao/faceunity/widget/TouchStateImageView.java b/FaceUnity/src/main/java/com/yunbao/faceunity/widget/TouchStateImageView.java new file mode 100644 index 000000000..6a54842ca --- /dev/null +++ b/FaceUnity/src/main/java/com/yunbao/faceunity/widget/TouchStateImageView.java @@ -0,0 +1,91 @@ +package com.yunbao.faceunity.widget; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.MotionEvent; +import android.view.View; + +import androidx.annotation.Nullable; +import androidx.appcompat.widget.AppCompatImageView; + + +/** + * Touch 事件时支持 state 变换 + * + * @author Richie on 2018.09.20 + */ +public class TouchStateImageView extends AppCompatImageView { + private OnTouchStateListener mOnTouchStateListener; + + public TouchStateImageView(Context context) { + super(context); + } + + public TouchStateImageView(Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + } + + public TouchStateImageView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + public void setOnTouchStateListener(OnTouchStateListener onTouchStateListener) { + mOnTouchStateListener = onTouchStateListener; + } + + @Override + public void setOnTouchListener(final OnTouchListener l) { + OnTouchListener onTouchListener = new OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + setState(event); + boolean ret = l.onTouch(v, event); + if (!ret && mOnTouchStateListener != null) { + return mOnTouchStateListener.onTouch(v, event); + } else { + return ret; + } + } + }; + super.setOnTouchListener(onTouchListener); + } + + @Override + public boolean onTouchEvent(MotionEvent event) { + setState(event); + if (mOnTouchStateListener != null) { + return mOnTouchStateListener.onTouch(this, event); + } else { + return super.onTouchEvent(event); + } + } + + private void setState(MotionEvent event) { + int action = event.getAction(); + if (action == MotionEvent.ACTION_DOWN) { + setSelected(true); + } else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) { + setSelected(false); + } + } + + /** + * Interface definition for a callback to be invoked when a touch event is + * dispatched to this view. The callback will be invoked before the touch + * event is given to the view. + */ + public interface OnTouchStateListener { + /** + * Called when a touch event is dispatched to a view. This allows listeners to + * get a chance to respond before the target view. + * + * @param v The view the touch event has been dispatched to. + * @param event The MotionEvent object containing full information about + * the event. + * @return True if the listener has consumed the event, false otherwise. + */ + boolean onTouch(View v, MotionEvent event); + + + } +} diff --git a/FaceUnity/src/main/res/color/bottom_radio_color.xml b/FaceUnity/src/main/res/color/bottom_radio_color.xml new file mode 100644 index 000000000..c7338f3b2 --- /dev/null +++ b/FaceUnity/src/main/res/color/bottom_radio_color.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/color/dsb_progress_color_list.xml b/FaceUnity/src/main/res/color/dsb_progress_color_list.xml new file mode 100644 index 000000000..6f2ebb433 --- /dev/null +++ b/FaceUnity/src/main/res/color/dsb_progress_color_list.xml @@ -0,0 +1,20 @@ + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/color/dsb_ripple_color_list.xml b/FaceUnity/src/main/res/color/dsb_ripple_color_list.xml new file mode 100644 index 000000000..44850abd1 --- /dev/null +++ b/FaceUnity/src/main/res/color/dsb_ripple_color_list.xml @@ -0,0 +1,22 @@ + + + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/color/dsb_track_color_list.xml b/FaceUnity/src/main/res/color/dsb_track_color_list.xml new file mode 100644 index 000000000..9259d9e5f --- /dev/null +++ b/FaceUnity/src/main/res/color/dsb_track_color_list.xml @@ -0,0 +1,20 @@ + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/color/tv_main_color_selector.xml b/FaceUnity/src/main/res/color/tv_main_color_selector.xml new file mode 100644 index 000000000..d20fe4a0a --- /dev/null +++ b/FaceUnity/src/main/res/color/tv_main_color_selector.xml @@ -0,0 +1,20 @@ + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/bg_confirm_dialog.xml b/FaceUnity/src/main/res/drawable/bg_confirm_dialog.xml new file mode 100644 index 000000000..4b7303f52 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/bg_confirm_dialog.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/bg_confirm_dialog_option.xml b/FaceUnity/src/main/res/drawable/bg_confirm_dialog_option.xml new file mode 100644 index 000000000..fecf83b9e --- /dev/null +++ b/FaceUnity/src/main/res/drawable/bg_confirm_dialog_option.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/bg_control_oval_selector.xml b/FaceUnity/src/main/res/drawable/bg_control_oval_selector.xml new file mode 100644 index 000000000..2dd990cf8 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/bg_control_oval_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/bg_control_square_selector.xml b/FaceUnity/src/main/res/drawable/bg_control_square_selector.xml new file mode 100644 index 000000000..10a6269a3 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/bg_control_square_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/bg_radio_group.xml b/FaceUnity/src/main/res/drawable/bg_radio_group.xml new file mode 100644 index 000000000..5f5d2c37d --- /dev/null +++ b/FaceUnity/src/main/res/drawable/bg_radio_group.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/bg_radio_left.xml b/FaceUnity/src/main/res/drawable/bg_radio_left.xml new file mode 100644 index 000000000..e7599d96a --- /dev/null +++ b/FaceUnity/src/main/res/drawable/bg_radio_left.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/bg_radio_left_check.xml b/FaceUnity/src/main/res/drawable/bg_radio_left_check.xml new file mode 100644 index 000000000..977b89c64 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/bg_radio_left_check.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/bg_radio_left_selector.xml b/FaceUnity/src/main/res/drawable/bg_radio_left_selector.xml new file mode 100644 index 000000000..c37ababf2 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/bg_radio_left_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/bg_radio_middle.xml b/FaceUnity/src/main/res/drawable/bg_radio_middle.xml new file mode 100644 index 000000000..1725e000e --- /dev/null +++ b/FaceUnity/src/main/res/drawable/bg_radio_middle.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/bg_radio_right.xml b/FaceUnity/src/main/res/drawable/bg_radio_right.xml new file mode 100644 index 000000000..2051e5e83 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/bg_radio_right.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/bg_radio_right_check.xml b/FaceUnity/src/main/res/drawable/bg_radio_right_check.xml new file mode 100644 index 000000000..f2fb3b700 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/bg_radio_right_check.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/bg_radio_right_selector.xml b/FaceUnity/src/main/res/drawable/bg_radio_right_selector.xml new file mode 100644 index 000000000..9e121fe6b --- /dev/null +++ b/FaceUnity/src/main/res/drawable/bg_radio_right_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/bg_seek_bar.xml b/FaceUnity/src/main/res/drawable/bg_seek_bar.xml new file mode 100644 index 000000000..f4454ddb2 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/bg_seek_bar.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + diff --git a/FaceUnity/src/main/res/drawable/bg_shape_oval_theme.xml b/FaceUnity/src/main/res/drawable/bg_shape_oval_theme.xml new file mode 100644 index 000000000..7a45eeac3 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/bg_shape_oval_theme.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/bg_shape_rect_theme.xml b/FaceUnity/src/main/res/drawable/bg_shape_rect_theme.xml new file mode 100644 index 000000000..0cbf7b438 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/bg_shape_rect_theme.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/bg_toast_more.xml b/FaceUnity/src/main/res/drawable/bg_toast_more.xml new file mode 100644 index 000000000..f6ad08a0f --- /dev/null +++ b/FaceUnity/src/main/res/drawable/bg_toast_more.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_angle_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_angle_close_selector.xml new file mode 100644 index 000000000..41d26f99c --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_angle_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_angle_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_angle_open_selector.xml new file mode 100644 index 000000000..7254807ee --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_angle_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_cheek_bones_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_cheek_bones_close_selector.xml new file mode 100644 index 000000000..82f59fddd --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_cheek_bones_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_cheek_bones_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_cheek_bones_open_selector.xml new file mode 100644 index 000000000..883a58393 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_cheek_bones_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_chin_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_chin_close_selector.xml new file mode 100644 index 000000000..0d0be92a9 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_chin_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_chin_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_chin_open_selector.xml new file mode 100644 index 000000000..934ea564e --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_chin_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_distance_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_distance_close_selector.xml new file mode 100644 index 000000000..8e9e8136f --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_distance_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_distance_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_distance_open_selector.xml new file mode 100644 index 000000000..06b5a434c --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_distance_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_enlarge_eye_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_enlarge_eye_close_selector.xml new file mode 100644 index 000000000..8e68aa5a3 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_enlarge_eye_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_enlarge_eye_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_enlarge_eye_open_selector.xml new file mode 100644 index 000000000..cdd04dcc9 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_enlarge_eye_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_cheekthin_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_cheekthin_close_selector.xml new file mode 100644 index 000000000..59fab5797 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_cheekthin_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_cheekthin_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_cheekthin_open_selector.xml new file mode 100644 index 000000000..b0ca206a6 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_cheekthin_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_little_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_little_close_selector.xml new file mode 100644 index 000000000..4276d959b --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_little_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_little_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_little_open_selector.xml new file mode 100644 index 000000000..faef91e0d --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_little_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_narrow_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_narrow_close_selector.xml new file mode 100644 index 000000000..71903f9f4 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_narrow_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_narrow_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_narrow_open_selector.xml new file mode 100644 index 000000000..6015ad7c7 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_narrow_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_short_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_short_close_selector.xml new file mode 100644 index 000000000..c0a88e6aa --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_short_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_short_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_short_open_selector.xml new file mode 100644 index 000000000..fcb3174e2 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_short_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_v_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_v_close_selector.xml new file mode 100644 index 000000000..e12998754 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_v_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_v_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_v_open_selector.xml new file mode 100644 index 000000000..8a3258cdb --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_face_v_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_forehead_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_forehead_close_selector.xml new file mode 100644 index 000000000..f96ee3801 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_forehead_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_forehead_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_forehead_open_selector.xml new file mode 100644 index 000000000..f30be5ac2 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_forehead_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_lower_jaw_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_lower_jaw_close_selector.xml new file mode 100644 index 000000000..10415b9f5 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_lower_jaw_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_lower_jaw_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_lower_jaw_open_selector.xml new file mode 100644 index 000000000..43a12f695 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_lower_jaw_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_mouth_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_mouth_close_selector.xml new file mode 100644 index 000000000..a376c9c6e --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_mouth_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_mouth_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_mouth_open_selector.xml new file mode 100644 index 000000000..fbcad5370 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_mouth_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_open_eyes_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_open_eyes_close_selector.xml new file mode 100644 index 000000000..c2f742bec --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_open_eyes_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_open_eyes_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_open_eyes_open_selector.xml new file mode 100644 index 000000000..fb9fa082d --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_open_eyes_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_proboscis_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_proboscis_close_selector.xml new file mode 100644 index 000000000..bb561ed08 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_proboscis_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_proboscis_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_proboscis_open_selector.xml new file mode 100644 index 000000000..7b105c95d --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_proboscis_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_round_eye_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_round_eye_close_selector.xml new file mode 100644 index 000000000..6990d6f05 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_round_eye_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_round_eye_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_round_eye_open_selector.xml new file mode 100644 index 000000000..ab235f69f --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_round_eye_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_shrinking_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_shrinking_close_selector.xml new file mode 100644 index 000000000..dd7fb492e --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_shrinking_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_shrinking_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_shrinking_open_selector.xml new file mode 100644 index 000000000..984626418 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_shrinking_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_smile_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_smile_close_selector.xml new file mode 100644 index 000000000..4e3353ab3 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_smile_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_smile_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_smile_open_selector.xml new file mode 100644 index 000000000..aad751b95 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_smile_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_thin_nose_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_thin_nose_close_selector.xml new file mode 100644 index 000000000..6de232e9a --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_thin_nose_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_shape_thin_nose_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_shape_thin_nose_open_selector.xml new file mode 100644 index 000000000..c6fbc1f25 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_shape_thin_nose_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_skin_buffing_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_skin_buffing_close_selector.xml new file mode 100644 index 000000000..9c46501b1 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_skin_buffing_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_skin_buffing_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_skin_buffing_open_selector.xml new file mode 100644 index 000000000..cfbd51a46 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_skin_buffing_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_skin_color_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_skin_color_close_selector.xml new file mode 100644 index 000000000..57f0c0f1c --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_skin_color_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_skin_color_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_skin_color_open_selector.xml new file mode 100644 index 000000000..284fabc2b --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_skin_color_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_skin_dark_circles_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_skin_dark_circles_close_selector.xml new file mode 100644 index 000000000..30cb39c8f --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_skin_dark_circles_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_skin_dark_circles_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_skin_dark_circles_open_selector.xml new file mode 100644 index 000000000..b2b7db2e2 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_skin_dark_circles_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_skin_eyes_bright_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_skin_eyes_bright_close_selector.xml new file mode 100644 index 000000000..89227b2cc --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_skin_eyes_bright_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_skin_eyes_bright_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_skin_eyes_bright_open_selector.xml new file mode 100644 index 000000000..8ca8afa82 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_skin_eyes_bright_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_skin_red_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_skin_red_close_selector.xml new file mode 100644 index 000000000..35d515d68 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_skin_red_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_skin_red_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_skin_red_open_selector.xml new file mode 100644 index 000000000..ae7fde13e --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_skin_red_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_skin_sharpen_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_skin_sharpen_close_selector.xml new file mode 100644 index 000000000..854fe0dc8 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_skin_sharpen_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_skin_sharpen_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_skin_sharpen_open_selector.xml new file mode 100644 index 000000000..5d81e38c6 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_skin_sharpen_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_skin_teeth_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_skin_teeth_close_selector.xml new file mode 100644 index 000000000..656a32026 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_skin_teeth_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_skin_teeth_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_skin_teeth_open_selector.xml new file mode 100644 index 000000000..0cf8a500a --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_skin_teeth_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_skin_wrinkle_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_skin_wrinkle_close_selector.xml new file mode 100644 index 000000000..df777a4b2 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_skin_wrinkle_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_beauty_skin_wrinkle_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_beauty_skin_wrinkle_open_selector.xml new file mode 100644 index 000000000..ac097210d --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_beauty_skin_wrinkle_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_body_hip_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_body_hip_close_selector.xml new file mode 100644 index 000000000..6182ca304 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_body_hip_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_body_hip_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_body_hip_open_selector.xml new file mode 100644 index 000000000..147df52a1 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_body_hip_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_body_little_head_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_body_little_head_close_selector.xml new file mode 100644 index 000000000..971404c0c --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_body_little_head_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_body_little_head_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_body_little_head_open_selector.xml new file mode 100644 index 000000000..71df7d760 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_body_little_head_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_body_shoulder_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_body_shoulder_close_selector.xml new file mode 100644 index 000000000..d79248402 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_body_shoulder_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_body_shoulder_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_body_shoulder_open_selector.xml new file mode 100644 index 000000000..3c82e5998 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_body_shoulder_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_body_slimming_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_body_slimming_close_selector.xml new file mode 100644 index 000000000..cb09db6fd --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_body_slimming_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_body_slimming_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_body_slimming_open_selector.xml new file mode 100644 index 000000000..95bf22e7f --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_body_slimming_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_body_stovepipe_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_body_stovepipe_close_selector.xml new file mode 100644 index 000000000..16d104fdd --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_body_stovepipe_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_body_stovepipe_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_body_stovepipe_open_selector.xml new file mode 100644 index 000000000..6078524a4 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_body_stovepipe_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_body_thin_leg_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_body_thin_leg_close_selector.xml new file mode 100644 index 000000000..473cc7dad --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_body_thin_leg_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_body_thin_leg_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_body_thin_leg_open_selector.xml new file mode 100644 index 000000000..2828a71e8 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_body_thin_leg_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_body_waist_close_selector.xml b/FaceUnity/src/main/res/drawable/icon_body_waist_close_selector.xml new file mode 100644 index 000000000..2200d900f --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_body_waist_close_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/drawable/icon_body_waist_open_selector.xml b/FaceUnity/src/main/res/drawable/icon_body_waist_open_selector.xml new file mode 100644 index 000000000..d65381a30 --- /dev/null +++ b/FaceUnity/src/main/res/drawable/icon_body_waist_open_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/layout/dialog_confirm.xml b/FaceUnity/src/main/res/layout/dialog_confirm.xml new file mode 100644 index 000000000..a0652da86 --- /dev/null +++ b/FaceUnity/src/main/res/layout/dialog_confirm.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/layout/layout_body_beauty_control.xml b/FaceUnity/src/main/res/layout/layout_body_beauty_control.xml new file mode 100644 index 000000000..4e0a6779d --- /dev/null +++ b/FaceUnity/src/main/res/layout/layout_body_beauty_control.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/layout/layout_effect_control.xml b/FaceUnity/src/main/res/layout/layout_effect_control.xml new file mode 100644 index 000000000..4083e6262 --- /dev/null +++ b/FaceUnity/src/main/res/layout/layout_effect_control.xml @@ -0,0 +1,7 @@ + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/layout/layout_face_beauty_control.xml b/FaceUnity/src/main/res/layout/layout_face_beauty_control.xml new file mode 100644 index 000000000..d6c7f488a --- /dev/null +++ b/FaceUnity/src/main/res/layout/layout_face_beauty_control.xml @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/layout/layout_faceunity.xml b/FaceUnity/src/main/res/layout/layout_faceunity.xml new file mode 100644 index 000000000..eb28479ad --- /dev/null +++ b/FaceUnity/src/main/res/layout/layout_faceunity.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/layout/layout_make_up_control.xml b/FaceUnity/src/main/res/layout/layout_make_up_control.xml new file mode 100644 index 000000000..4fdad6265 --- /dev/null +++ b/FaceUnity/src/main/res/layout/layout_make_up_control.xml @@ -0,0 +1,36 @@ + + + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/layout/list_item_control_image_circle.xml b/FaceUnity/src/main/res/layout/list_item_control_image_circle.xml new file mode 100644 index 000000000..6caf9dc25 --- /dev/null +++ b/FaceUnity/src/main/res/layout/list_item_control_image_circle.xml @@ -0,0 +1,16 @@ + + + + + + diff --git a/FaceUnity/src/main/res/layout/list_item_control_image_square.xml b/FaceUnity/src/main/res/layout/list_item_control_image_square.xml new file mode 100644 index 000000000..cf3dfa934 --- /dev/null +++ b/FaceUnity/src/main/res/layout/list_item_control_image_square.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/FaceUnity/src/main/res/layout/list_item_control_title_image_circle.xml b/FaceUnity/src/main/res/layout/list_item_control_title_image_circle.xml new file mode 100644 index 000000000..7b5560c3a --- /dev/null +++ b/FaceUnity/src/main/res/layout/list_item_control_title_image_circle.xml @@ -0,0 +1,25 @@ + + + + + + + + diff --git a/FaceUnity/src/main/res/layout/list_item_control_title_image_square.xml b/FaceUnity/src/main/res/layout/list_item_control_title_image_square.xml new file mode 100644 index 000000000..d5face96b --- /dev/null +++ b/FaceUnity/src/main/res/layout/list_item_control_title_image_square.xml @@ -0,0 +1,25 @@ + + + + + + + + diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/bg_live_seek_bar_light.9.png b/FaceUnity/src/main/res/mipmap-xxhdpi/bg_live_seek_bar_light.9.png new file mode 100644 index 000000000..23fa14795 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/bg_live_seek_bar_light.9.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_angle_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_angle_close_checked.png new file mode 100644 index 000000000..addcafd75 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_angle_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_angle_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_angle_close_normal.png new file mode 100644 index 000000000..d4fb366d3 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_angle_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_angle_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_angle_open_checked.png new file mode 100644 index 000000000..ff046c01b Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_angle_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_angle_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_angle_open_normal.png new file mode 100644 index 000000000..92ca0d58a Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_angle_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_buffing_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_buffing_close_checked.png new file mode 100644 index 000000000..4a4685577 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_buffing_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_buffing_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_buffing_close_normal.png new file mode 100644 index 000000000..a3b5a1928 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_buffing_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_buffing_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_buffing_open_checked.png new file mode 100644 index 000000000..98792b875 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_buffing_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_buffing_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_buffing_open_normal.png new file mode 100644 index 000000000..c68b57c02 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_buffing_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_cheek_bones_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_cheek_bones_close_checked.png new file mode 100644 index 000000000..8fd08b313 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_cheek_bones_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_cheek_bones_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_cheek_bones_close_normal.png new file mode 100644 index 000000000..e398f15c8 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_cheek_bones_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_cheek_bones_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_cheek_bones_open_checked.png new file mode 100644 index 000000000..f77b6f1ca Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_cheek_bones_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_cheek_bones_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_cheek_bones_open_normal.png new file mode 100644 index 000000000..969757dfc Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_cheek_bones_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_chin_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_chin_close_checked.png new file mode 100644 index 000000000..821806fc7 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_chin_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_chin_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_chin_close_normal.png new file mode 100644 index 000000000..c445826d4 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_chin_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_chin_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_chin_open_checked.png new file mode 100644 index 000000000..fcef7b070 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_chin_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_chin_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_chin_open_normal.png new file mode 100644 index 000000000..57092e8cb Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_chin_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_color_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_color_close_checked.png new file mode 100644 index 000000000..888110e8b Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_color_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_color_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_color_close_normal.png new file mode 100644 index 000000000..3114903c7 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_color_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_color_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_color_open_checked.png new file mode 100644 index 000000000..90f66faaa Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_color_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_color_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_color_open_normal.png new file mode 100644 index 000000000..af21d0e0e Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_color_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_dark_circles_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_dark_circles_close_checked.png new file mode 100644 index 000000000..8e4ac7379 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_dark_circles_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_dark_circles_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_dark_circles_close_normal.png new file mode 100644 index 000000000..f408a977a Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_dark_circles_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_dark_circles_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_dark_circles_open_checked.png new file mode 100644 index 000000000..9ee3139d6 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_dark_circles_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_dark_circles_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_dark_circles_open_normal.png new file mode 100644 index 000000000..266b235eb Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_dark_circles_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_distance_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_distance_close_checked.png new file mode 100644 index 000000000..488ffdb42 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_distance_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_distance_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_distance_close_normal.png new file mode 100644 index 000000000..ea9a9a3e3 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_distance_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_distance_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_distance_open_checked.png new file mode 100644 index 000000000..6e013fb96 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_distance_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_distance_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_distance_open_normal.png new file mode 100644 index 000000000..5591edd55 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_distance_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_enlarge_eye_level_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_enlarge_eye_level_close_checked.png new file mode 100644 index 000000000..ae9d84dc2 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_enlarge_eye_level_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_enlarge_eye_level_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_enlarge_eye_level_close_normal.png new file mode 100644 index 000000000..3a1fd63fb Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_enlarge_eye_level_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_enlarge_eye_level_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_enlarge_eye_level_open_checked.png new file mode 100644 index 000000000..8c91b7660 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_enlarge_eye_level_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_enlarge_eye_level_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_enlarge_eye_level_open_normal.png new file mode 100644 index 000000000..0f6c95509 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_enlarge_eye_level_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_eyes_bright_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_eyes_bright_close_checked.png new file mode 100644 index 000000000..2b7aa46d3 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_eyes_bright_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_eyes_bright_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_eyes_bright_close_normal.png new file mode 100644 index 000000000..7527878f0 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_eyes_bright_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_eyes_bright_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_eyes_bright_open_checked.png new file mode 100644 index 000000000..fd6543d9b Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_eyes_bright_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_eyes_bright_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_eyes_bright_open_normal.png new file mode 100644 index 000000000..4f14ad4f0 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_eyes_bright_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_cheekthin_level_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_cheekthin_level_close_checked.png new file mode 100644 index 000000000..8ab4a1e0f Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_cheekthin_level_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_cheekthin_level_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_cheekthin_level_close_normal.png new file mode 100644 index 000000000..7c300c268 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_cheekthin_level_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_cheekthin_level_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_cheekthin_level_open_checked.png new file mode 100644 index 000000000..11b54dfd9 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_cheekthin_level_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_cheekthin_level_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_cheekthin_level_open_normal.png new file mode 100644 index 000000000..aa49adbc1 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_cheekthin_level_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_little_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_little_close_checked.png new file mode 100644 index 000000000..c45df4141 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_little_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_little_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_little_close_normal.png new file mode 100644 index 000000000..e7a6b0351 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_little_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_little_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_little_open_checked.png new file mode 100644 index 000000000..edd4be9e9 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_little_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_little_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_little_open_normal.png new file mode 100644 index 000000000..10907c06a Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_little_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_narrow_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_narrow_close_checked.png new file mode 100644 index 000000000..1b051f9ec Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_narrow_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_narrow_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_narrow_close_normal.png new file mode 100644 index 000000000..b77959ed4 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_narrow_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_narrow_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_narrow_open_checked.png new file mode 100644 index 000000000..f7641cc91 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_narrow_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_narrow_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_narrow_open_normal.png new file mode 100644 index 000000000..b768c34f7 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_narrow_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_short_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_short_close_checked.png new file mode 100644 index 000000000..c45df4141 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_short_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_short_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_short_close_normal.png new file mode 100644 index 000000000..e7a6b0351 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_short_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_short_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_short_open_checked.png new file mode 100644 index 000000000..edd4be9e9 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_short_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_short_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_short_open_normal.png new file mode 100644 index 000000000..10907c06a Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_short_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_v_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_v_close_checked.png new file mode 100644 index 000000000..584d813b7 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_v_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_v_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_v_close_normal.png new file mode 100644 index 000000000..8db757c53 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_v_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_v_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_v_open_checked.png new file mode 100644 index 000000000..023c0b0fc Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_v_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_v_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_v_open_normal.png new file mode 100644 index 000000000..91de99072 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_face_v_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_forehead_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_forehead_close_checked.png new file mode 100644 index 000000000..6ae5ef450 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_forehead_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_forehead_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_forehead_close_normal.png new file mode 100644 index 000000000..671fb04f7 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_forehead_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_forehead_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_forehead_open_checked.png new file mode 100644 index 000000000..7678987b8 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_forehead_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_forehead_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_forehead_open_normal.png new file mode 100644 index 000000000..b55d13557 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_forehead_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_lower_jaw_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_lower_jaw_close_checked.png new file mode 100644 index 000000000..c0e4ce19c Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_lower_jaw_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_lower_jaw_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_lower_jaw_close_normal.png new file mode 100644 index 000000000..64fa2b482 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_lower_jaw_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_lower_jaw_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_lower_jaw_open_checked.png new file mode 100644 index 000000000..5ff751684 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_lower_jaw_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_lower_jaw_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_lower_jaw_open_normal.png new file mode 100644 index 000000000..09d846aea Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_lower_jaw_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_mouth_bones_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_mouth_bones_close_normal.png new file mode 100644 index 000000000..ac31ba2c9 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_mouth_bones_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_mouth_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_mouth_close_checked.png new file mode 100644 index 000000000..538160f9a Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_mouth_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_mouth_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_mouth_open_checked.png new file mode 100644 index 000000000..e529e9793 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_mouth_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_mouth_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_mouth_open_normal.png new file mode 100644 index 000000000..a97b34fce Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_mouth_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_open_eyes_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_open_eyes_close_checked.png new file mode 100644 index 000000000..f44a183dc Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_open_eyes_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_open_eyes_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_open_eyes_close_normal.png new file mode 100644 index 000000000..d64c079c2 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_open_eyes_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_open_eyes_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_open_eyes_open_checked.png new file mode 100644 index 000000000..c0b4e35eb Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_open_eyes_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_open_eyes_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_open_eyes_open_normal.png new file mode 100644 index 000000000..411ce0c10 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_open_eyes_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_proboscis_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_proboscis_close_checked.png new file mode 100644 index 000000000..c2e6bf3ba Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_proboscis_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_proboscis_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_proboscis_close_normal.png new file mode 100644 index 000000000..7144fa54d Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_proboscis_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_proboscis_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_proboscis_open_checked.png new file mode 100644 index 000000000..4ebf96a79 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_proboscis_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_proboscis_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_proboscis_open_normal.png new file mode 100644 index 000000000..cdcd35ab0 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_proboscis_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_red_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_red_close_checked.png new file mode 100644 index 000000000..89ffb416e Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_red_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_red_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_red_close_normal.png new file mode 100644 index 000000000..3689aa549 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_red_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_red_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_red_open_checked.png new file mode 100644 index 000000000..8e9a75e20 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_red_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_red_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_red_open_normal.png new file mode 100644 index 000000000..a807c159a Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_red_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_round_eye_level_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_round_eye_level_close_checked.png new file mode 100644 index 000000000..967f634b8 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_round_eye_level_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_round_eye_level_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_round_eye_level_close_normal.png new file mode 100644 index 000000000..cc97bfac8 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_round_eye_level_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_round_eye_level_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_round_eye_level_open_checked.png new file mode 100644 index 000000000..ab484155d Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_round_eye_level_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_round_eye_level_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_round_eye_level_open_normal.png new file mode 100644 index 000000000..63d74e752 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_round_eye_level_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_sharpen_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_sharpen_close_checked.png new file mode 100644 index 000000000..bf920a928 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_sharpen_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_sharpen_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_sharpen_close_normal.png new file mode 100644 index 000000000..ca20e6b7a Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_sharpen_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_sharpen_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_sharpen_open_checked.png new file mode 100644 index 000000000..5a225369d Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_sharpen_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_sharpen_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_sharpen_open_normal.png new file mode 100644 index 000000000..423bc28ad Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_sharpen_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_shrinking_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_shrinking_close_checked.png new file mode 100644 index 000000000..9206f9d28 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_shrinking_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_shrinking_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_shrinking_close_normal.png new file mode 100644 index 000000000..840f693fc Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_shrinking_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_shrinking_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_shrinking_open_checked.png new file mode 100644 index 000000000..7b280a7d8 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_shrinking_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_shrinking_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_shrinking_open_normal.png new file mode 100644 index 000000000..23747808a Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_shrinking_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_smile_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_smile_close_checked.png new file mode 100644 index 000000000..69b32afc7 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_smile_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_smile_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_smile_close_normal.png new file mode 100644 index 000000000..ce3137a17 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_smile_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_smile_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_smile_open_checked.png new file mode 100644 index 000000000..47e24ac1f Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_smile_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_smile_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_smile_open_normal.png new file mode 100644 index 000000000..660e2a544 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_smile_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_teeth_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_teeth_close_checked.png new file mode 100644 index 000000000..070617ed1 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_teeth_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_teeth_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_teeth_close_normal.png new file mode 100644 index 000000000..2a47c1afd Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_teeth_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_teeth_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_teeth_open_checked.png new file mode 100644 index 000000000..0ea1c5126 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_teeth_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_teeth_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_teeth_open_normal.png new file mode 100644 index 000000000..e2042e95a Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_teeth_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_thin_nose_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_thin_nose_close_checked.png new file mode 100644 index 000000000..33fe01a6a Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_thin_nose_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_thin_nose_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_thin_nose_close_normal.png new file mode 100644 index 000000000..56f9b87f5 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_thin_nose_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_thin_nose_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_thin_nose_open_checked.png new file mode 100644 index 000000000..b17c44bf0 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_thin_nose_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_thin_nose_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_thin_nose_open_normal.png new file mode 100644 index 000000000..8f955579c Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_thin_nose_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_wrinkle_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_wrinkle_close_checked.png new file mode 100644 index 000000000..ad4727549 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_wrinkle_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_wrinkle_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_wrinkle_close_normal.png new file mode 100644 index 000000000..1d5340945 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_wrinkle_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_wrinkle_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_wrinkle_open_checked.png new file mode 100644 index 000000000..fd53d6dcd Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_wrinkle_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_wrinkle_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_wrinkle_open_normal.png new file mode 100644 index 000000000..6e5318739 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_box_wrinkle_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_face_contrast.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_face_contrast.png new file mode 100644 index 000000000..4666b02c5 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_face_contrast.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_bailiang_1.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_bailiang_1.png new file mode 100644 index 000000000..2ee2c11a8 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_bailiang_1.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_cancel.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_cancel.png new file mode 100644 index 000000000..ef71665c7 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_cancel.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_fennen_1.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_fennen_1.png new file mode 100644 index 000000000..1701965b6 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_fennen_1.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_lengsediao_1.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_lengsediao_1.png new file mode 100644 index 000000000..f69c8d1e2 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_lengsediao_1.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_natural_1.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_natural_1.png new file mode 100644 index 000000000..2214da397 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_natural_1.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_texture_gray_1.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_texture_gray_1.png new file mode 100644 index 000000000..aa72f15c5 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_beauty_filter_texture_gray_1.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_hip_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_hip_close_checked.png new file mode 100644 index 000000000..30d106e90 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_hip_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_hip_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_hip_close_normal.png new file mode 100644 index 000000000..281f702ad Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_hip_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_hip_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_hip_open_checked.png new file mode 100644 index 000000000..9100bdac7 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_hip_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_hip_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_hip_open_normal.png new file mode 100644 index 000000000..104886d20 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_hip_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_little_head_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_little_head_close_checked.png new file mode 100644 index 000000000..88a601632 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_little_head_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_little_head_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_little_head_close_normal.png new file mode 100644 index 000000000..40f2fb739 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_little_head_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_little_head_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_little_head_open_checked.png new file mode 100644 index 000000000..177007438 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_little_head_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_little_head_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_little_head_open_normal.png new file mode 100644 index 000000000..96d0e5ec7 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_little_head_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_shoulder_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_shoulder_close_checked.png new file mode 100644 index 000000000..b48420015 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_shoulder_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_shoulder_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_shoulder_close_normal.png new file mode 100644 index 000000000..56de6db4b Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_shoulder_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_shoulder_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_shoulder_open_checked.png new file mode 100644 index 000000000..c2686dd15 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_shoulder_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_shoulder_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_shoulder_open_normal.png new file mode 100644 index 000000000..0cc78ddcb Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_shoulder_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_slimming_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_slimming_close_checked.png new file mode 100644 index 000000000..5f8c635a8 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_slimming_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_slimming_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_slimming_close_normal.png new file mode 100644 index 000000000..82439e85e Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_slimming_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_slimming_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_slimming_open_checked.png new file mode 100644 index 000000000..b4ed805c9 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_slimming_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_slimming_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_slimming_open_normal.png new file mode 100644 index 000000000..66b51b9c0 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_slimming_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_stovepipe_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_stovepipe_close_checked.png new file mode 100644 index 000000000..fe25d84cc Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_stovepipe_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_stovepipe_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_stovepipe_close_normal.png new file mode 100644 index 000000000..c07ac91b0 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_stovepipe_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_stovepipe_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_stovepipe_open_checked.png new file mode 100644 index 000000000..7281a5a4a Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_stovepipe_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_stovepipe_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_stovepipe_open_normal.png new file mode 100644 index 000000000..f2db63b21 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_stovepipe_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_thin_leg_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_thin_leg_close_checked.png new file mode 100644 index 000000000..6264fac76 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_thin_leg_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_thin_leg_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_thin_leg_close_normal.png new file mode 100644 index 000000000..3c9d74b23 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_thin_leg_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_thin_leg_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_thin_leg_open_checked.png new file mode 100644 index 000000000..ff6b6670d Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_thin_leg_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_thin_leg_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_thin_leg_open_normal.png new file mode 100644 index 000000000..c709f5aa8 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_thin_leg_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_waist_close_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_waist_close_checked.png new file mode 100644 index 000000000..c610bfad6 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_waist_close_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_waist_close_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_waist_close_normal.png new file mode 100644 index 000000000..b8104e114 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_waist_close_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_waist_open_checked.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_waist_open_checked.png new file mode 100644 index 000000000..a207386ea Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_waist_open_checked.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_waist_open_normal.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_waist_open_normal.png new file mode 100644 index 000000000..787b11c7e Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_body_waist_open_normal.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_control_delete_all.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_control_delete_all.png new file mode 100644 index 000000000..3eca85738 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_control_delete_all.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_control_none.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_control_none.png new file mode 100644 index 000000000..6d0e7bbb1 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_control_none.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_control_recover.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_control_recover.png new file mode 100644 index 000000000..5c176cd41 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_control_recover.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_live_camera_change.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_live_camera_change.png new file mode 100644 index 000000000..f0ea6b399 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_live_camera_change.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_makeup_combination_red_bean_paste.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_makeup_combination_red_bean_paste.png new file mode 100644 index 000000000..5dd39cabe Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_makeup_combination_red_bean_paste.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_makeup_combination_super_a.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_makeup_combination_super_a.png new file mode 100644 index 000000000..d244581c9 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_makeup_combination_super_a.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_makeup_combination_tea_with_milk.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_makeup_combination_tea_with_milk.png new file mode 100644 index 000000000..398535922 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_makeup_combination_tea_with_milk.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_sticker_fashi.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_sticker_fashi.png new file mode 100644 index 000000000..c7f74442e Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_sticker_fashi.png differ diff --git a/FaceUnity/src/main/res/mipmap-xxhdpi/icon_sticker_sdlu.png b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_sticker_sdlu.png new file mode 100644 index 000000000..b13df62a2 Binary files /dev/null and b/FaceUnity/src/main/res/mipmap-xxhdpi/icon_sticker_sdlu.png differ diff --git a/FaceUnity/src/main/res/values-1024x600/lay_x.xml b/FaceUnity/src/main/res/values-1024x600/lay_x.xml new file mode 100644 index 000000000..8f1b05828 --- /dev/null +++ b/FaceUnity/src/main/res/values-1024x600/lay_x.xml @@ -0,0 +1,753 @@ + + + 0.8px + 1.6px + 2.4px + 3.2px + 4.0px + 4.8px + 5.6px + 6.4px + 7.2px + 8.0px + 8.8px + 9.6px + 10.4px + 11.2px + 12.0px + 12.8px + 13.6px + 14.4px + 15.2px + 16.0px + 16.8px + 17.6px + 18.4px + 19.2px + 20.0px + 20.8px + 21.6px + 22.4px + 23.2px + 24.0px + 24.8px + 25.6px + 26.4px + 27.2px + 28.0px + 28.8px + 29.6px + 30.4px + 31.2px + 32.0px + 32.8px + 33.6px + 34.4px + 35.2px + 36.0px + 36.8px + 37.6px + 38.4px + 39.2px + 40.0px + 40.8px + 41.6px + 42.4px + 43.2px + 44.0px + 44.8px + 45.6px + 46.4px + 47.2px + 48.0px + 48.8px + 49.6px + 50.4px + 51.2px + 52.0px + 52.8px + 53.6px + 54.4px + 55.2px + 56.0px + 56.8px + 57.6px + 58.4px + 59.2px + 60.0px + 60.8px + 61.6px + 62.4px + 63.2px + 64.0px + 64.8px + 65.6px + 66.4px + 67.2px + 68.0px + 68.8px + 69.6px + 70.4px + 71.2px + 72.0px + 72.8px + 73.6px + 74.4px + 75.2px + 76.0px + 76.8px + 77.6px + 78.4px + 79.2px + 80.0px + 80.8px + 81.6px + 82.4px + 83.2px + 84.0px + 84.8px + 85.6px + 86.4px + 87.2px + 88.0px + 88.8px + 89.6px + 90.4px + 91.2px + 92.0px + 92.8px + 93.6px + 94.4px + 95.2px + 96.0px + 96.8px + 97.6px + 98.4px + 99.2px + 100.0px + 100.8px + 101.6px + 102.4px + 103.2px + 104.0px + 104.8px + 105.6px + 106.4px + 107.2px + 108.0px + 108.8px + 109.6px + 110.4px + 111.2px + 112.0px + 112.8px + 113.6px + 114.4px + 115.2px + 116.0px + 116.8px + 117.6px + 118.4px + 119.2px + 120.0px + 120.8px + 121.6px + 122.4px + 123.2px + 124.0px + 124.8px + 125.6px + 126.4px + 127.2px + 128.0px + 128.8px + 129.6px + 130.4px + 131.2px + 132.0px + 132.8px + 133.6px + 134.4px + 135.2px + 136.0px + 136.8px + 137.6px + 138.4px + 139.2px + 140.0px + 140.8px + 141.6px + 142.4px + 143.2px + 144.0px + 144.8px + 145.6px + 146.4px + 147.2px + 148.0px + 148.8px + 149.6px + 150.4px + 151.2px + 152.0px + 152.8px + 153.6px + 154.4px + 155.2px + 156.0px + 156.8px + 157.6px + 158.4px + 159.2px + 160.0px + 160.8px + 161.6px + 162.4px + 163.2px + 164.0px + 164.8px + 165.6px + 166.4px + 167.2px + 168.0px + 168.8px + 169.6px + 170.4px + 171.2px + 172.0px + 172.8px + 173.6px + 174.4px + 175.2px + 176.0px + 176.8px + 177.6px + 178.4px + 179.2px + 180.0px + 180.8px + 181.6px + 182.4px + 183.2px + 184.0px + 184.8px + 185.6px + 186.4px + 187.2px + 188.0px + 188.8px + 189.6px + 190.4px + 191.2px + 192.0px + 192.8px + 193.6px + 194.4px + 195.2px + 196.0px + 196.8px + 197.6px + 198.4px + 199.2px + 200.0px + 200.8px + 201.6px + 202.4px + 203.2px + 204.0px + 204.8px + 205.6px + 206.4px + 207.2px + 208.0px + 208.8px + 209.6px + 210.4px + 211.2px + 212.0px + 212.8px + 213.6px + 214.4px + 215.2px + 216.0px + 216.8px + 217.6px + 218.4px + 219.2px + 220.0px + 220.8px + 221.6px + 222.4px + 223.2px + 224.0px + 224.8px + 225.6px + 226.4px + 227.2px + 228.0px + 228.8px + 229.6px + 230.4px + 231.2px + 232.0px + 232.8px + 233.6px + 234.4px + 235.2px + 236.0px + 236.8px + 237.6px + 238.4px + 239.2px + 240.0px + 240.8px + 241.6px + 242.4px + 243.2px + 244.0px + 244.8px + 245.6px + 246.4px + 247.2px + 248.0px + 248.8px + 249.6px + 250.4px + 251.2px + 252.0px + 252.8px + 253.6px + 254.4px + 255.2px + 256.0px + 256.8px + 257.6px + 258.4px + 259.2px + 260.0px + 260.8px + 261.6px + 262.4px + 263.2px + 264.0px + 264.8px + 265.6px + 266.4px + 267.2px + 268.0px + 268.8px + 269.6px + 270.4px + 271.2px + 272.0px + 272.8px + 273.6px + 274.4px + 275.2px + 276.0px + 276.8px + 277.6px + 278.4px + 279.2px + 280.0px + 280.8px + 281.6px + 282.4px + 283.2px + 284.0px + 284.8px + 285.6px + 286.4px + 287.2px + 288.0px + 288.8px + 289.6px + 290.4px + 291.2px + 292.0px + 292.8px + 293.6px + 294.4px + 295.2px + 296.0px + 296.8px + 297.6px + 298.4px + 299.2px + 300.0px + 300.8px + 301.6px + 302.4px + 303.2px + 304.0px + 304.8px + 305.6px + 306.4px + 307.2px + 308.0px + 308.8px + 309.6px + 310.4px + 311.2px + 312.0px + 312.8px + 313.6px + 314.4px + 315.2px + 316.0px + 316.8px + 317.6px + 318.4px + 319.2px + 320.0px + 320.8px + 321.6px + 322.4px + 323.2px + 324.0px + 324.8px + 325.6px + 326.4px + 327.2px + 328.0px + 328.8px + 329.6px + 330.4px + 331.2px + 332.0px + 332.8px + 333.6px + 334.4px + 335.2px + 336.0px + 336.8px + 337.6px + 338.4px + 339.2px + 340.0px + 340.8px + 341.6px + 342.4px + 343.2px + 344.0px + 344.8px + 345.6px + 346.4px + 347.2px + 348.0px + 348.8px + 349.6px + 350.4px + 351.2px + 352.0px + 352.8px + 353.6px + 354.4px + 355.2px + 356.0px + 356.8px + 357.6px + 358.4px + 359.2px + 360.0px + 360.8px + 361.6px + 362.4px + 363.2px + 364.0px + 364.8px + 365.6px + 366.4px + 367.2px + 368.0px + 368.8px + 369.6px + 370.4px + 371.2px + 372.0px + 372.8px + 373.6px + 374.4px + 375.2px + 376.0px + 376.8px + 377.6px + 378.4px + 379.2px + 380.0px + 380.8px + 381.6px + 382.4px + 383.2px + 384.0px + 384.8px + 385.6px + 386.4px + 387.2px + 388.0px + 388.8px + 389.6px + 390.4px + 391.2px + 392.0px + 392.8px + 393.6px + 394.4px + 395.2px + 396.0px + 396.8px + 397.6px + 398.4px + 399.2px + 400.0px + 400.8px + 401.6px + 402.4px + 403.2px + 404.0px + 404.8px + 405.6px + 406.4px + 407.2px + 408.0px + 408.8px + 409.6px + 410.4px + 411.2px + 412.0px + 412.8px + 413.6px + 414.4px + 415.2px + 416.0px + 416.8px + 417.6px + 418.4px + 419.2px + 420.0px + 420.8px + 421.6px + 422.4px + 423.2px + 424.0px + 424.8px + 425.6px + 426.4px + 427.2px + 428.0px + 428.8px + 429.6px + 430.4px + 431.2px + 432.0px + 432.8px + 433.6px + 434.4px + 435.2px + 436.0px + 436.8px + 437.6px + 438.4px + 439.2px + 440.0px + 440.8px + 441.6px + 442.4px + 443.2px + 444.0px + 444.8px + 445.6px + 446.4px + 447.2px + 448.0px + 448.8px + 449.6px + 450.4px + 451.2px + 452.0px + 452.8px + 453.6px + 454.4px + 455.2px + 456.0px + 456.8px + 457.6px + 458.4px + 459.2px + 460.0px + 460.8px + 461.6px + 462.4px + 463.2px + 464.0px + 464.8px + 465.6px + 466.4px + 467.2px + 468.0px + 468.8px + 469.6px + 470.4px + 471.2px + 472.0px + 472.8px + 473.6px + 474.4px + 475.2px + 476.0px + 476.8px + 477.6px + 478.4px + 479.2px + 480.0px + 480.8px + 481.6px + 482.4px + 483.2px + 484.0px + 484.8px + 485.6px + 486.4px + 487.2px + 488.0px + 488.8px + 489.6px + 490.4px + 491.2px + 492.0px + 492.8px + 493.6px + 494.4px + 495.2px + 496.0px + 496.8px + 497.6px + 498.4px + 499.2px + 500.0px + 500.8px + 501.6px + 502.4px + 503.2px + 504.0px + 504.8px + 505.6px + 506.4px + 507.2px + 508.0px + 508.8px + 509.6px + 510.4px + 511.2px + 512.0px + 512.8px + 513.6px + 514.4px + 515.2px + 516.0px + 516.8px + 517.6px + 518.4px + 519.2px + 520.0px + 520.8px + 521.6px + 522.4px + 523.2px + 524.0px + 524.8px + 525.6px + 526.4px + 527.2px + 528.0px + 528.8px + 529.6px + 530.4px + 531.2px + 532.0px + 532.8px + 533.6px + 534.4px + 535.2px + 536.0px + 536.8px + 537.6px + 538.4px + 539.2px + 540.0px + 540.8px + 541.6px + 542.4px + 543.2px + 544.0px + 544.8px + 545.6px + 546.4px + 547.2px + 548.0px + 548.8px + 549.6px + 550.4px + 551.2px + 552.0px + 552.8px + 553.6px + 554.4px + 555.2px + 556.0px + 556.8px + 557.6px + 558.4px + 559.2px + 560.0px + 560.8px + 561.6px + 562.4px + 563.2px + 564.0px + 564.8px + 565.6px + 566.4px + 567.2px + 568.0px + 568.8px + 569.6px + 570.4px + 571.2px + 572.0px + 572.8px + 573.6px + 574.4px + 575.2px + 576.0px + 576.8px + 577.6px + 578.4px + 579.2px + 580.0px + 580.8px + 581.6px + 582.4px + 583.2px + 584.0px + 584.8px + 585.6px + 586.4px + 587.2px + 588.0px + 588.8px + 589.6px + 590.4px + 591.2px + 592.0px + 592.8px + 593.6px + 594.4px + 595.2px + 596.0px + 596.8px + 597.6px + 598.4px + 599.2px + 600px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1024x600/lay_y.xml b/FaceUnity/src/main/res/values-1024x600/lay_y.xml new file mode 100644 index 000000000..8b013a226 --- /dev/null +++ b/FaceUnity/src/main/res/values-1024x600/lay_y.xml @@ -0,0 +1,1337 @@ + + + 0.76px + 1.53px + 2.3px + 3.07px + 3.83px + 4.6px + 5.37px + 6.14px + 6.9px + 7.67px + 8.44px + 9.21px + 9.97px + 10.74px + 11.51px + 12.28px + 13.04px + 13.81px + 14.58px + 15.35px + 16.11px + 16.88px + 17.65px + 18.42px + 19.19px + 19.95px + 20.72px + 21.49px + 22.26px + 23.02px + 23.79px + 24.56px + 25.33px + 26.09px + 26.86px + 27.63px + 28.4px + 29.16px + 29.93px + 30.7px + 31.47px + 32.23px + 33.0px + 33.77px + 34.54px + 35.31px + 36.07px + 36.84px + 37.61px + 38.38px + 39.14px + 39.91px + 40.68px + 41.45px + 42.21px + 42.98px + 43.75px + 44.52px + 45.28px + 46.05px + 46.82px + 47.59px + 48.35px + 49.12px + 49.89px + 50.66px + 51.43px + 52.19px + 52.96px + 53.73px + 54.5px + 55.26px + 56.03px + 56.8px + 57.57px + 58.33px + 59.1px + 59.87px + 60.64px + 61.4px + 62.17px + 62.94px + 63.71px + 64.47px + 65.24px + 66.01px + 66.78px + 67.55px + 68.31px + 69.08px + 69.85px + 70.62px + 71.38px + 72.15px + 72.92px + 73.69px + 74.45px + 75.22px + 75.99px + 76.76px + 77.52px + 78.29px + 79.06px + 79.83px + 80.59px + 81.36px + 82.13px + 82.9px + 83.67px + 84.43px + 85.2px + 85.97px + 86.74px + 87.5px + 88.27px + 89.04px + 89.81px + 90.57px + 91.34px + 92.11px + 92.88px + 93.64px + 94.41px + 95.18px + 95.95px + 96.71px + 97.48px + 98.25px + 99.02px + 99.79px + 100.55px + 101.32px + 102.09px + 102.86px + 103.62px + 104.39px + 105.16px + 105.93px + 106.69px + 107.46px + 108.23px + 109.0px + 109.76px + 110.53px + 111.3px + 112.07px + 112.83px + 113.6px + 114.37px + 115.14px + 115.91px + 116.67px + 117.44px + 118.21px + 118.98px + 119.74px + 120.51px + 121.28px + 122.05px + 122.81px + 123.58px + 124.35px + 125.12px + 125.88px + 126.65px + 127.42px + 128.19px + 128.95px + 129.72px + 130.49px + 131.26px + 132.02px + 132.79px + 133.56px + 134.33px + 135.1px + 135.86px + 136.63px + 137.4px + 138.17px + 138.93px + 139.7px + 140.47px + 141.24px + 142.0px + 142.77px + 143.54px + 144.31px + 145.07px + 145.84px + 146.61px + 147.38px + 148.14px + 148.91px + 149.68px + 150.45px + 151.22px + 151.98px + 152.75px + 153.52px + 154.29px + 155.05px + 155.82px + 156.59px + 157.36px + 158.12px + 158.89px + 159.66px + 160.43px + 161.19px + 161.96px + 162.73px + 163.5px + 164.26px + 165.03px + 165.8px + 166.57px + 167.34px + 168.1px + 168.87px + 169.64px + 170.41px + 171.17px + 171.94px + 172.71px + 173.48px + 174.24px + 175.01px + 175.78px + 176.55px + 177.31px + 178.08px + 178.85px + 179.62px + 180.38px + 181.15px + 181.92px + 182.69px + 183.46px + 184.22px + 184.99px + 185.76px + 186.53px + 187.29px + 188.06px + 188.83px + 189.6px + 190.36px + 191.13px + 191.9px + 192.67px + 193.43px + 194.2px + 194.97px + 195.74px + 196.5px + 197.27px + 198.04px + 198.81px + 199.58px + 200.34px + 201.11px + 201.88px + 202.65px + 203.41px + 204.18px + 204.95px + 205.72px + 206.48px + 207.25px + 208.02px + 208.79px + 209.55px + 210.32px + 211.09px + 211.86px + 212.62px + 213.39px + 214.16px + 214.93px + 215.7px + 216.46px + 217.23px + 218.0px + 218.77px + 219.53px + 220.3px + 221.07px + 221.84px + 222.6px + 223.37px + 224.14px + 224.91px + 225.67px + 226.44px + 227.21px + 227.98px + 228.74px + 229.51px + 230.28px + 231.05px + 231.82px + 232.58px + 233.35px + 234.12px + 234.89px + 235.65px + 236.42px + 237.19px + 237.96px + 238.72px + 239.49px + 240.26px + 241.03px + 241.79px + 242.56px + 243.33px + 244.1px + 244.86px + 245.63px + 246.4px + 247.17px + 247.94px + 248.7px + 249.47px + 250.24px + 251.01px + 251.77px + 252.54px + 253.31px + 254.08px + 254.84px + 255.61px + 256.38px + 257.15px + 257.91px + 258.68px + 259.45px + 260.22px + 260.98px + 261.75px + 262.52px + 263.29px + 264.05px + 264.82px + 265.59px + 266.36px + 267.13px + 267.89px + 268.66px + 269.43px + 270.2px + 270.96px + 271.73px + 272.5px + 273.27px + 274.03px + 274.8px + 275.57px + 276.34px + 277.1px + 277.87px + 278.64px + 279.41px + 280.17px + 280.94px + 281.71px + 282.48px + 283.25px + 284.01px + 284.78px + 285.55px + 286.32px + 287.08px + 287.85px + 288.62px + 289.39px + 290.15px + 290.92px + 291.69px + 292.46px + 293.22px + 293.99px + 294.76px + 295.53px + 296.29px + 297.06px + 297.83px + 298.6px + 299.37px + 300.13px + 300.9px + 301.67px + 302.44px + 303.2px + 303.97px + 304.74px + 305.51px + 306.27px + 307.04px + 307.81px + 308.58px + 309.34px + 310.11px + 310.88px + 311.65px + 312.41px + 313.18px + 313.95px + 314.72px + 315.49px + 316.25px + 317.02px + 317.79px + 318.56px + 319.32px + 320.09px + 320.86px + 321.63px + 322.39px + 323.16px + 323.93px + 324.7px + 325.46px + 326.23px + 327.0px + 327.77px + 328.53px + 329.3px + 330.07px + 330.84px + 331.61px + 332.37px + 333.14px + 333.91px + 334.68px + 335.44px + 336.21px + 336.98px + 337.75px + 338.51px + 339.28px + 340.05px + 340.82px + 341.58px + 342.35px + 343.12px + 343.89px + 344.65px + 345.42px + 346.19px + 346.96px + 347.73px + 348.49px + 349.26px + 350.03px + 350.8px + 351.56px + 352.33px + 353.1px + 353.87px + 354.63px + 355.4px + 356.17px + 356.94px + 357.7px + 358.47px + 359.24px + 360.01px + 360.77px + 361.54px + 362.31px + 363.08px + 363.85px + 364.61px + 365.38px + 366.15px + 366.92px + 367.68px + 368.45px + 369.22px + 369.99px + 370.75px + 371.52px + 372.29px + 373.06px + 373.82px + 374.59px + 375.36px + 376.13px + 376.89px + 377.66px + 378.43px + 379.2px + 379.97px + 380.73px + 381.5px + 382.27px + 383.04px + 383.8px + 384.57px + 385.34px + 386.11px + 386.87px + 387.64px + 388.41px + 389.18px + 389.94px + 390.71px + 391.48px + 392.25px + 393.01px + 393.78px + 394.55px + 395.32px + 396.08px + 396.85px + 397.62px + 398.39px + 399.16px + 399.92px + 400.69px + 401.46px + 402.23px + 402.99px + 403.76px + 404.53px + 405.3px + 406.06px + 406.83px + 407.6px + 408.37px + 409.13px + 409.9px + 410.67px + 411.44px + 412.2px + 412.97px + 413.74px + 414.51px + 415.28px + 416.04px + 416.81px + 417.58px + 418.35px + 419.11px + 419.88px + 420.65px + 421.42px + 422.18px + 422.95px + 423.72px + 424.49px + 425.25px + 426.02px + 426.79px + 427.56px + 428.32px + 429.09px + 429.86px + 430.63px + 431.4px + 432.16px + 432.93px + 433.7px + 434.47px + 435.23px + 436.0px + 436.77px + 437.54px + 438.3px + 439.07px + 439.84px + 440.61px + 441.37px + 442.14px + 442.91px + 443.68px + 444.44px + 445.21px + 445.98px + 446.75px + 447.52px + 448.28px + 449.05px + 449.82px + 450.59px + 451.35px + 452.12px + 452.89px + 453.66px + 454.42px + 455.19px + 455.96px + 456.73px + 457.49px + 458.26px + 459.03px + 459.8px + 460.56px + 461.33px + 462.1px + 462.87px + 463.64px + 464.4px + 465.17px + 465.94px + 466.71px + 467.47px + 468.24px + 469.01px + 469.78px + 470.54px + 471.31px + 472.08px + 472.85px + 473.61px + 474.38px + 475.15px + 475.92px + 476.68px + 477.45px + 478.22px + 478.99px + 479.76px + 480.52px + 481.29px + 482.06px + 482.83px + 483.59px + 484.36px + 485.13px + 485.9px + 486.66px + 487.43px + 488.2px + 488.97px + 489.73px + 490.5px + 491.27px + 492.04px + 492.8px + 493.57px + 494.34px + 495.11px + 495.88px + 496.64px + 497.41px + 498.18px + 498.95px + 499.71px + 500.48px + 501.25px + 502.02px + 502.78px + 503.55px + 504.32px + 505.09px + 505.85px + 506.62px + 507.39px + 508.16px + 508.92px + 509.69px + 510.46px + 511.23px + 512.0px + 512.76px + 513.53px + 514.3px + 515.07px + 515.83px + 516.6px + 517.37px + 518.14px + 518.9px + 519.67px + 520.44px + 521.21px + 521.97px + 522.74px + 523.51px + 524.28px + 525.04px + 525.81px + 526.58px + 527.35px + 528.11px + 528.88px + 529.65px + 530.42px + 531.19px + 531.95px + 532.72px + 533.49px + 534.26px + 535.02px + 535.79px + 536.56px + 537.33px + 538.09px + 538.86px + 539.63px + 540.4px + 541.16px + 541.93px + 542.7px + 543.47px + 544.23px + 545.0px + 545.77px + 546.54px + 547.31px + 548.07px + 548.84px + 549.61px + 550.38px + 551.14px + 551.91px + 552.68px + 553.45px + 554.21px + 554.98px + 555.75px + 556.52px + 557.28px + 558.05px + 558.82px + 559.59px + 560.35px + 561.12px + 561.89px + 562.66px + 563.43px + 564.19px + 564.96px + 565.73px + 566.5px + 567.26px + 568.03px + 568.8px + 569.57px + 570.33px + 571.1px + 571.87px + 572.64px + 573.4px + 574.17px + 574.94px + 575.71px + 576.47px + 577.24px + 578.01px + 578.78px + 579.55px + 580.31px + 581.08px + 581.85px + 582.62px + 583.38px + 584.15px + 584.92px + 585.69px + 586.45px + 587.22px + 587.99px + 588.76px + 589.52px + 590.29px + 591.06px + 591.83px + 592.59px + 593.36px + 594.13px + 594.9px + 595.67px + 596.43px + 597.2px + 597.97px + 598.74px + 599.5px + 600.27px + 601.04px + 601.81px + 602.57px + 603.34px + 604.11px + 604.88px + 605.64px + 606.41px + 607.18px + 607.95px + 608.71px + 609.48px + 610.25px + 611.02px + 611.79px + 612.55px + 613.32px + 614.09px + 614.86px + 615.62px + 616.39px + 617.16px + 617.93px + 618.69px + 619.46px + 620.23px + 621.0px + 621.76px + 622.53px + 623.3px + 624.07px + 624.83px + 625.6px + 626.37px + 627.14px + 627.91px + 628.67px + 629.44px + 630.21px + 630.98px + 631.74px + 632.51px + 633.28px + 634.05px + 634.81px + 635.58px + 636.35px + 637.12px + 637.88px + 638.65px + 639.42px + 640.19px + 640.95px + 641.72px + 642.49px + 643.26px + 644.03px + 644.79px + 645.56px + 646.33px + 647.1px + 647.86px + 648.63px + 649.4px + 650.17px + 650.93px + 651.7px + 652.47px + 653.24px + 654.0px + 654.77px + 655.54px + 656.31px + 657.07px + 657.84px + 658.61px + 659.38px + 660.15px + 660.91px + 661.68px + 662.45px + 663.22px + 663.98px + 664.75px + 665.52px + 666.29px + 667.05px + 667.82px + 668.59px + 669.36px + 670.12px + 670.89px + 671.66px + 672.43px + 673.19px + 673.96px + 674.73px + 675.5px + 676.26px + 677.03px + 677.8px + 678.57px + 679.34px + 680.1px + 680.87px + 681.64px + 682.41px + 683.17px + 683.94px + 684.71px + 685.48px + 686.24px + 687.01px + 687.78px + 688.55px + 689.31px + 690.08px + 690.85px + 691.62px + 692.38px + 693.15px + 693.92px + 694.69px + 695.46px + 696.22px + 696.99px + 697.76px + 698.53px + 699.29px + 700.06px + 700.83px + 701.6px + 702.36px + 703.13px + 703.9px + 704.67px + 705.43px + 706.2px + 706.97px + 707.74px + 708.5px + 709.27px + 710.04px + 710.81px + 711.58px + 712.34px + 713.11px + 713.88px + 714.65px + 715.41px + 716.18px + 716.95px + 717.72px + 718.48px + 719.25px + 720.02px + 720.79px + 721.55px + 722.32px + 723.09px + 723.86px + 724.62px + 725.39px + 726.16px + 726.93px + 727.7px + 728.46px + 729.23px + 730.0px + 730.77px + 731.53px + 732.3px + 733.07px + 733.84px + 734.6px + 735.37px + 736.14px + 736.91px + 737.67px + 738.44px + 739.21px + 739.98px + 740.74px + 741.51px + 742.28px + 743.05px + 743.82px + 744.58px + 745.35px + 746.12px + 746.89px + 747.65px + 748.42px + 749.19px + 749.96px + 750.72px + 751.49px + 752.26px + 753.03px + 753.79px + 754.56px + 755.33px + 756.1px + 756.86px + 757.63px + 758.4px + 759.17px + 759.94px + 760.7px + 761.47px + 762.24px + 763.01px + 763.77px + 764.54px + 765.31px + 766.08px + 766.84px + 767.61px + 768.38px + 769.15px + 769.91px + 770.68px + 771.45px + 772.22px + 772.98px + 773.75px + 774.52px + 775.29px + 776.06px + 776.82px + 777.59px + 778.36px + 779.13px + 779.89px + 780.66px + 781.43px + 782.2px + 782.96px + 783.73px + 784.5px + 785.27px + 786.03px + 786.8px + 787.57px + 788.34px + 789.1px + 789.87px + 790.64px + 791.41px + 792.17px + 792.94px + 793.71px + 794.48px + 795.25px + 796.01px + 796.78px + 797.55px + 798.32px + 799.08px + 799.85px + 800.62px + 801.39px + 802.15px + 802.92px + 803.69px + 804.46px + 805.22px + 805.99px + 806.76px + 807.53px + 808.29px + 809.06px + 809.83px + 810.6px + 811.37px + 812.13px + 812.9px + 813.67px + 814.44px + 815.2px + 815.97px + 816.74px + 817.51px + 818.27px + 819.04px + 819.81px + 820.58px + 821.34px + 822.11px + 822.88px + 823.65px + 824.41px + 825.18px + 825.95px + 826.72px + 827.49px + 828.25px + 829.02px + 829.79px + 830.56px + 831.32px + 832.09px + 832.86px + 833.63px + 834.39px + 835.16px + 835.93px + 836.7px + 837.46px + 838.23px + 839.0px + 839.77px + 840.53px + 841.3px + 842.07px + 842.84px + 843.61px + 844.37px + 845.14px + 845.91px + 846.68px + 847.44px + 848.21px + 848.98px + 849.75px + 850.51px + 851.28px + 852.05px + 852.82px + 853.58px + 854.35px + 855.12px + 855.89px + 856.65px + 857.42px + 858.19px + 858.96px + 859.73px + 860.49px + 861.26px + 862.03px + 862.8px + 863.56px + 864.33px + 865.1px + 865.87px + 866.63px + 867.4px + 868.17px + 868.94px + 869.7px + 870.47px + 871.24px + 872.01px + 872.77px + 873.54px + 874.31px + 875.08px + 875.85px + 876.61px + 877.38px + 878.15px + 878.92px + 879.68px + 880.45px + 881.22px + 881.99px + 882.75px + 883.52px + 884.29px + 885.06px + 885.82px + 886.59px + 887.36px + 888.13px + 888.89px + 889.66px + 890.43px + 891.2px + 891.97px + 892.73px + 893.5px + 894.27px + 895.04px + 895.8px + 896.57px + 897.34px + 898.11px + 898.87px + 899.64px + 900.41px + 901.18px + 901.94px + 902.71px + 903.48px + 904.25px + 905.01px + 905.78px + 906.55px + 907.32px + 908.09px + 908.85px + 909.62px + 910.39px + 911.16px + 911.92px + 912.69px + 913.46px + 914.23px + 914.99px + 915.76px + 916.53px + 917.3px + 918.06px + 918.83px + 919.6px + 920.37px + 921.13px + 921.9px + 922.67px + 923.44px + 924.2px + 924.97px + 925.74px + 926.51px + 927.28px + 928.04px + 928.81px + 929.58px + 930.35px + 931.11px + 931.88px + 932.65px + 933.42px + 934.18px + 934.95px + 935.72px + 936.49px + 937.25px + 938.02px + 938.79px + 939.56px + 940.32px + 941.09px + 941.86px + 942.63px + 943.4px + 944.16px + 944.93px + 945.7px + 946.47px + 947.23px + 948.0px + 948.77px + 949.54px + 950.3px + 951.07px + 951.84px + 952.61px + 953.37px + 954.14px + 954.91px + 955.68px + 956.44px + 957.21px + 957.98px + 958.75px + 959.52px + 960.28px + 961.05px + 961.82px + 962.59px + 963.35px + 964.12px + 964.89px + 965.66px + 966.42px + 967.19px + 967.96px + 968.73px + 969.49px + 970.26px + 971.03px + 971.8px + 972.56px + 973.33px + 974.1px + 974.87px + 975.64px + 976.4px + 977.17px + 977.94px + 978.71px + 979.47px + 980.24px + 981.01px + 981.78px + 982.54px + 983.31px + 984.08px + 984.85px + 985.61px + 986.38px + 987.15px + 987.92px + 988.68px + 989.45px + 990.22px + 990.99px + 991.76px + 992.52px + 993.29px + 994.06px + 994.83px + 995.59px + 996.36px + 997.13px + 997.9px + 998.66px + 999.43px + 1000.2px + 1000.97px + 1001.73px + 1002.5px + 1003.27px + 1004.04px + 1004.8px + 1005.57px + 1006.34px + 1007.11px + 1007.88px + 1008.64px + 1009.41px + 1010.18px + 1010.95px + 1011.71px + 1012.48px + 1013.25px + 1014.02px + 1014.78px + 1015.55px + 1016.32px + 1017.09px + 1017.85px + 1018.62px + 1019.39px + 1020.16px + 1020.92px + 1021.69px + 1022.46px + 1023.23px + 1024px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1024x768/lay_x.xml b/FaceUnity/src/main/res/values-1024x768/lay_x.xml new file mode 100644 index 000000000..b1f038c23 --- /dev/null +++ b/FaceUnity/src/main/res/values-1024x768/lay_x.xml @@ -0,0 +1,753 @@ + + + 1.02px + 2.04px + 3.07px + 4.09px + 5.12px + 6.14px + 7.16px + 8.19px + 9.21px + 10.24px + 11.26px + 12.28px + 13.31px + 14.33px + 15.36px + 16.38px + 17.4px + 18.43px + 19.45px + 20.48px + 21.5px + 22.52px + 23.55px + 24.57px + 25.6px + 26.62px + 27.64px + 28.67px + 29.69px + 30.72px + 31.74px + 32.76px + 33.79px + 34.81px + 35.84px + 36.86px + 37.88px + 38.91px + 39.93px + 40.96px + 41.98px + 43.0px + 44.03px + 45.05px + 46.08px + 47.1px + 48.12px + 49.15px + 50.17px + 51.2px + 52.22px + 53.24px + 54.27px + 55.29px + 56.32px + 57.34px + 58.36px + 59.39px + 60.41px + 61.44px + 62.46px + 63.48px + 64.51px + 65.53px + 66.56px + 67.58px + 68.6px + 69.63px + 70.65px + 71.68px + 72.7px + 73.72px + 74.75px + 75.77px + 76.8px + 77.82px + 78.84px + 79.87px + 80.89px + 81.92px + 82.94px + 83.96px + 84.99px + 86.01px + 87.04px + 88.06px + 89.08px + 90.11px + 91.13px + 92.16px + 93.18px + 94.2px + 95.23px + 96.25px + 97.28px + 98.3px + 99.32px + 100.35px + 101.37px + 102.4px + 103.42px + 104.44px + 105.47px + 106.49px + 107.52px + 108.54px + 109.56px + 110.59px + 111.61px + 112.64px + 113.66px + 114.68px + 115.71px + 116.73px + 117.76px + 118.78px + 119.8px + 120.83px + 121.85px + 122.88px + 123.9px + 124.92px + 125.95px + 126.97px + 128.0px + 129.02px + 130.04px + 131.07px + 132.09px + 133.12px + 134.14px + 135.16px + 136.19px + 137.21px + 138.24px + 139.26px + 140.28px + 141.31px + 142.33px + 143.36px + 144.38px + 145.4px + 146.43px + 147.45px + 148.48px + 149.5px + 150.52px + 151.55px + 152.57px + 153.6px + 154.62px + 155.64px + 156.67px + 157.69px + 158.72px + 159.74px + 160.76px + 161.79px + 162.81px + 163.84px + 164.86px + 165.88px + 166.91px + 167.93px + 168.96px + 169.98px + 171.0px + 172.03px + 173.05px + 174.08px + 175.1px + 176.12px + 177.15px + 178.17px + 179.2px + 180.22px + 181.24px + 182.27px + 183.29px + 184.32px + 185.34px + 186.36px + 187.39px + 188.41px + 189.44px + 190.46px + 191.48px + 192.51px + 193.53px + 194.56px + 195.58px + 196.6px + 197.63px + 198.65px + 199.68px + 200.7px + 201.72px + 202.75px + 203.77px + 204.8px + 205.82px + 206.84px + 207.87px + 208.89px + 209.92px + 210.94px + 211.96px + 212.99px + 214.01px + 215.04px + 216.06px + 217.08px + 218.11px + 219.13px + 220.16px + 221.18px + 222.2px + 223.23px + 224.25px + 225.28px + 226.3px + 227.32px + 228.35px + 229.37px + 230.4px + 231.42px + 232.44px + 233.47px + 234.49px + 235.52px + 236.54px + 237.56px + 238.59px + 239.61px + 240.64px + 241.66px + 242.68px + 243.71px + 244.73px + 245.76px + 246.78px + 247.8px + 248.83px + 249.85px + 250.88px + 251.9px + 252.92px + 253.95px + 254.97px + 256.0px + 257.02px + 258.04px + 259.07px + 260.09px + 261.12px + 262.14px + 263.16px + 264.19px + 265.21px + 266.24px + 267.26px + 268.28px + 269.31px + 270.33px + 271.36px + 272.38px + 273.4px + 274.43px + 275.45px + 276.48px + 277.5px + 278.52px + 279.55px + 280.57px + 281.6px + 282.62px + 283.64px + 284.67px + 285.69px + 286.72px + 287.74px + 288.76px + 289.79px + 290.81px + 291.84px + 292.86px + 293.88px + 294.91px + 295.93px + 296.96px + 297.98px + 299.0px + 300.03px + 301.05px + 302.08px + 303.1px + 304.12px + 305.15px + 306.17px + 307.2px + 308.22px + 309.24px + 310.27px + 311.29px + 312.32px + 313.34px + 314.36px + 315.39px + 316.41px + 317.44px + 318.46px + 319.48px + 320.51px + 321.53px + 322.56px + 323.58px + 324.6px + 325.63px + 326.65px + 327.68px + 328.7px + 329.72px + 330.75px + 331.77px + 332.8px + 333.82px + 334.84px + 335.87px + 336.89px + 337.92px + 338.94px + 339.96px + 340.99px + 342.01px + 343.04px + 344.06px + 345.08px + 346.11px + 347.13px + 348.16px + 349.18px + 350.2px + 351.23px + 352.25px + 353.28px + 354.3px + 355.32px + 356.35px + 357.37px + 358.4px + 359.42px + 360.44px + 361.47px + 362.49px + 363.52px + 364.54px + 365.56px + 366.59px + 367.61px + 368.64px + 369.66px + 370.68px + 371.71px + 372.73px + 373.76px + 374.78px + 375.8px + 376.83px + 377.85px + 378.88px + 379.9px + 380.92px + 381.95px + 382.97px + 384.0px + 385.02px + 386.04px + 387.07px + 388.09px + 389.12px + 390.14px + 391.16px + 392.19px + 393.21px + 394.24px + 395.26px + 396.28px + 397.31px + 398.33px + 399.36px + 400.38px + 401.4px + 402.43px + 403.45px + 404.48px + 405.5px + 406.52px + 407.55px + 408.57px + 409.6px + 410.62px + 411.64px + 412.67px + 413.69px + 414.72px + 415.74px + 416.76px + 417.79px + 418.81px + 419.84px + 420.86px + 421.88px + 422.91px + 423.93px + 424.96px + 425.98px + 427.0px + 428.03px + 429.05px + 430.08px + 431.1px + 432.12px + 433.15px + 434.17px + 435.2px + 436.22px + 437.24px + 438.27px + 439.29px + 440.32px + 441.34px + 442.36px + 443.39px + 444.41px + 445.44px + 446.46px + 447.48px + 448.51px + 449.53px + 450.56px + 451.58px + 452.6px + 453.63px + 454.65px + 455.68px + 456.7px + 457.72px + 458.75px + 459.77px + 460.8px + 461.82px + 462.84px + 463.87px + 464.89px + 465.92px + 466.94px + 467.96px + 468.99px + 470.01px + 471.04px + 472.06px + 473.08px + 474.11px + 475.13px + 476.16px + 477.18px + 478.2px + 479.23px + 480.25px + 481.28px + 482.3px + 483.32px + 484.35px + 485.37px + 486.4px + 487.42px + 488.44px + 489.47px + 490.49px + 491.52px + 492.54px + 493.56px + 494.59px + 495.61px + 496.64px + 497.66px + 498.68px + 499.71px + 500.73px + 501.76px + 502.78px + 503.8px + 504.83px + 505.85px + 506.88px + 507.9px + 508.92px + 509.95px + 510.97px + 512.0px + 513.02px + 514.04px + 515.07px + 516.09px + 517.12px + 518.14px + 519.16px + 520.19px + 521.21px + 522.24px + 523.26px + 524.28px + 525.31px + 526.33px + 527.36px + 528.38px + 529.4px + 530.43px + 531.45px + 532.48px + 533.5px + 534.52px + 535.55px + 536.57px + 537.6px + 538.62px + 539.64px + 540.67px + 541.69px + 542.72px + 543.74px + 544.76px + 545.79px + 546.81px + 547.84px + 548.86px + 549.88px + 550.91px + 551.93px + 552.96px + 553.98px + 555.0px + 556.03px + 557.05px + 558.08px + 559.1px + 560.12px + 561.15px + 562.17px + 563.2px + 564.22px + 565.24px + 566.27px + 567.29px + 568.32px + 569.34px + 570.36px + 571.39px + 572.41px + 573.44px + 574.46px + 575.48px + 576.51px + 577.53px + 578.56px + 579.58px + 580.6px + 581.63px + 582.65px + 583.68px + 584.7px + 585.72px + 586.75px + 587.77px + 588.8px + 589.82px + 590.84px + 591.87px + 592.89px + 593.92px + 594.94px + 595.96px + 596.99px + 598.01px + 599.04px + 600.06px + 601.08px + 602.11px + 603.13px + 604.16px + 605.18px + 606.2px + 607.23px + 608.25px + 609.28px + 610.3px + 611.32px + 612.35px + 613.37px + 614.4px + 615.42px + 616.44px + 617.47px + 618.49px + 619.52px + 620.54px + 621.56px + 622.59px + 623.61px + 624.64px + 625.66px + 626.68px + 627.71px + 628.73px + 629.76px + 630.78px + 631.8px + 632.83px + 633.85px + 634.88px + 635.9px + 636.92px + 637.95px + 638.97px + 640.0px + 641.02px + 642.04px + 643.07px + 644.09px + 645.12px + 646.14px + 647.16px + 648.19px + 649.21px + 650.24px + 651.26px + 652.28px + 653.31px + 654.33px + 655.36px + 656.38px + 657.4px + 658.43px + 659.45px + 660.48px + 661.5px + 662.52px + 663.55px + 664.57px + 665.6px + 666.62px + 667.64px + 668.67px + 669.69px + 670.72px + 671.74px + 672.76px + 673.79px + 674.81px + 675.84px + 676.86px + 677.88px + 678.91px + 679.93px + 680.96px + 681.98px + 683.0px + 684.03px + 685.05px + 686.08px + 687.1px + 688.12px + 689.15px + 690.17px + 691.2px + 692.22px + 693.24px + 694.27px + 695.29px + 696.32px + 697.34px + 698.36px + 699.39px + 700.41px + 701.44px + 702.46px + 703.48px + 704.51px + 705.53px + 706.56px + 707.58px + 708.6px + 709.63px + 710.65px + 711.68px + 712.7px + 713.72px + 714.75px + 715.77px + 716.8px + 717.82px + 718.84px + 719.87px + 720.89px + 721.92px + 722.94px + 723.96px + 724.99px + 726.01px + 727.04px + 728.06px + 729.08px + 730.11px + 731.13px + 732.16px + 733.18px + 734.2px + 735.23px + 736.25px + 737.28px + 738.3px + 739.32px + 740.35px + 741.37px + 742.4px + 743.42px + 744.44px + 745.47px + 746.49px + 747.52px + 748.54px + 749.56px + 750.59px + 751.61px + 752.64px + 753.66px + 754.68px + 755.71px + 756.73px + 757.76px + 758.78px + 759.8px + 760.83px + 761.85px + 762.88px + 763.9px + 764.92px + 765.95px + 766.97px + 768px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1024x768/lay_y.xml b/FaceUnity/src/main/res/values-1024x768/lay_y.xml new file mode 100644 index 000000000..8b013a226 --- /dev/null +++ b/FaceUnity/src/main/res/values-1024x768/lay_y.xml @@ -0,0 +1,1337 @@ + + + 0.76px + 1.53px + 2.3px + 3.07px + 3.83px + 4.6px + 5.37px + 6.14px + 6.9px + 7.67px + 8.44px + 9.21px + 9.97px + 10.74px + 11.51px + 12.28px + 13.04px + 13.81px + 14.58px + 15.35px + 16.11px + 16.88px + 17.65px + 18.42px + 19.19px + 19.95px + 20.72px + 21.49px + 22.26px + 23.02px + 23.79px + 24.56px + 25.33px + 26.09px + 26.86px + 27.63px + 28.4px + 29.16px + 29.93px + 30.7px + 31.47px + 32.23px + 33.0px + 33.77px + 34.54px + 35.31px + 36.07px + 36.84px + 37.61px + 38.38px + 39.14px + 39.91px + 40.68px + 41.45px + 42.21px + 42.98px + 43.75px + 44.52px + 45.28px + 46.05px + 46.82px + 47.59px + 48.35px + 49.12px + 49.89px + 50.66px + 51.43px + 52.19px + 52.96px + 53.73px + 54.5px + 55.26px + 56.03px + 56.8px + 57.57px + 58.33px + 59.1px + 59.87px + 60.64px + 61.4px + 62.17px + 62.94px + 63.71px + 64.47px + 65.24px + 66.01px + 66.78px + 67.55px + 68.31px + 69.08px + 69.85px + 70.62px + 71.38px + 72.15px + 72.92px + 73.69px + 74.45px + 75.22px + 75.99px + 76.76px + 77.52px + 78.29px + 79.06px + 79.83px + 80.59px + 81.36px + 82.13px + 82.9px + 83.67px + 84.43px + 85.2px + 85.97px + 86.74px + 87.5px + 88.27px + 89.04px + 89.81px + 90.57px + 91.34px + 92.11px + 92.88px + 93.64px + 94.41px + 95.18px + 95.95px + 96.71px + 97.48px + 98.25px + 99.02px + 99.79px + 100.55px + 101.32px + 102.09px + 102.86px + 103.62px + 104.39px + 105.16px + 105.93px + 106.69px + 107.46px + 108.23px + 109.0px + 109.76px + 110.53px + 111.3px + 112.07px + 112.83px + 113.6px + 114.37px + 115.14px + 115.91px + 116.67px + 117.44px + 118.21px + 118.98px + 119.74px + 120.51px + 121.28px + 122.05px + 122.81px + 123.58px + 124.35px + 125.12px + 125.88px + 126.65px + 127.42px + 128.19px + 128.95px + 129.72px + 130.49px + 131.26px + 132.02px + 132.79px + 133.56px + 134.33px + 135.1px + 135.86px + 136.63px + 137.4px + 138.17px + 138.93px + 139.7px + 140.47px + 141.24px + 142.0px + 142.77px + 143.54px + 144.31px + 145.07px + 145.84px + 146.61px + 147.38px + 148.14px + 148.91px + 149.68px + 150.45px + 151.22px + 151.98px + 152.75px + 153.52px + 154.29px + 155.05px + 155.82px + 156.59px + 157.36px + 158.12px + 158.89px + 159.66px + 160.43px + 161.19px + 161.96px + 162.73px + 163.5px + 164.26px + 165.03px + 165.8px + 166.57px + 167.34px + 168.1px + 168.87px + 169.64px + 170.41px + 171.17px + 171.94px + 172.71px + 173.48px + 174.24px + 175.01px + 175.78px + 176.55px + 177.31px + 178.08px + 178.85px + 179.62px + 180.38px + 181.15px + 181.92px + 182.69px + 183.46px + 184.22px + 184.99px + 185.76px + 186.53px + 187.29px + 188.06px + 188.83px + 189.6px + 190.36px + 191.13px + 191.9px + 192.67px + 193.43px + 194.2px + 194.97px + 195.74px + 196.5px + 197.27px + 198.04px + 198.81px + 199.58px + 200.34px + 201.11px + 201.88px + 202.65px + 203.41px + 204.18px + 204.95px + 205.72px + 206.48px + 207.25px + 208.02px + 208.79px + 209.55px + 210.32px + 211.09px + 211.86px + 212.62px + 213.39px + 214.16px + 214.93px + 215.7px + 216.46px + 217.23px + 218.0px + 218.77px + 219.53px + 220.3px + 221.07px + 221.84px + 222.6px + 223.37px + 224.14px + 224.91px + 225.67px + 226.44px + 227.21px + 227.98px + 228.74px + 229.51px + 230.28px + 231.05px + 231.82px + 232.58px + 233.35px + 234.12px + 234.89px + 235.65px + 236.42px + 237.19px + 237.96px + 238.72px + 239.49px + 240.26px + 241.03px + 241.79px + 242.56px + 243.33px + 244.1px + 244.86px + 245.63px + 246.4px + 247.17px + 247.94px + 248.7px + 249.47px + 250.24px + 251.01px + 251.77px + 252.54px + 253.31px + 254.08px + 254.84px + 255.61px + 256.38px + 257.15px + 257.91px + 258.68px + 259.45px + 260.22px + 260.98px + 261.75px + 262.52px + 263.29px + 264.05px + 264.82px + 265.59px + 266.36px + 267.13px + 267.89px + 268.66px + 269.43px + 270.2px + 270.96px + 271.73px + 272.5px + 273.27px + 274.03px + 274.8px + 275.57px + 276.34px + 277.1px + 277.87px + 278.64px + 279.41px + 280.17px + 280.94px + 281.71px + 282.48px + 283.25px + 284.01px + 284.78px + 285.55px + 286.32px + 287.08px + 287.85px + 288.62px + 289.39px + 290.15px + 290.92px + 291.69px + 292.46px + 293.22px + 293.99px + 294.76px + 295.53px + 296.29px + 297.06px + 297.83px + 298.6px + 299.37px + 300.13px + 300.9px + 301.67px + 302.44px + 303.2px + 303.97px + 304.74px + 305.51px + 306.27px + 307.04px + 307.81px + 308.58px + 309.34px + 310.11px + 310.88px + 311.65px + 312.41px + 313.18px + 313.95px + 314.72px + 315.49px + 316.25px + 317.02px + 317.79px + 318.56px + 319.32px + 320.09px + 320.86px + 321.63px + 322.39px + 323.16px + 323.93px + 324.7px + 325.46px + 326.23px + 327.0px + 327.77px + 328.53px + 329.3px + 330.07px + 330.84px + 331.61px + 332.37px + 333.14px + 333.91px + 334.68px + 335.44px + 336.21px + 336.98px + 337.75px + 338.51px + 339.28px + 340.05px + 340.82px + 341.58px + 342.35px + 343.12px + 343.89px + 344.65px + 345.42px + 346.19px + 346.96px + 347.73px + 348.49px + 349.26px + 350.03px + 350.8px + 351.56px + 352.33px + 353.1px + 353.87px + 354.63px + 355.4px + 356.17px + 356.94px + 357.7px + 358.47px + 359.24px + 360.01px + 360.77px + 361.54px + 362.31px + 363.08px + 363.85px + 364.61px + 365.38px + 366.15px + 366.92px + 367.68px + 368.45px + 369.22px + 369.99px + 370.75px + 371.52px + 372.29px + 373.06px + 373.82px + 374.59px + 375.36px + 376.13px + 376.89px + 377.66px + 378.43px + 379.2px + 379.97px + 380.73px + 381.5px + 382.27px + 383.04px + 383.8px + 384.57px + 385.34px + 386.11px + 386.87px + 387.64px + 388.41px + 389.18px + 389.94px + 390.71px + 391.48px + 392.25px + 393.01px + 393.78px + 394.55px + 395.32px + 396.08px + 396.85px + 397.62px + 398.39px + 399.16px + 399.92px + 400.69px + 401.46px + 402.23px + 402.99px + 403.76px + 404.53px + 405.3px + 406.06px + 406.83px + 407.6px + 408.37px + 409.13px + 409.9px + 410.67px + 411.44px + 412.2px + 412.97px + 413.74px + 414.51px + 415.28px + 416.04px + 416.81px + 417.58px + 418.35px + 419.11px + 419.88px + 420.65px + 421.42px + 422.18px + 422.95px + 423.72px + 424.49px + 425.25px + 426.02px + 426.79px + 427.56px + 428.32px + 429.09px + 429.86px + 430.63px + 431.4px + 432.16px + 432.93px + 433.7px + 434.47px + 435.23px + 436.0px + 436.77px + 437.54px + 438.3px + 439.07px + 439.84px + 440.61px + 441.37px + 442.14px + 442.91px + 443.68px + 444.44px + 445.21px + 445.98px + 446.75px + 447.52px + 448.28px + 449.05px + 449.82px + 450.59px + 451.35px + 452.12px + 452.89px + 453.66px + 454.42px + 455.19px + 455.96px + 456.73px + 457.49px + 458.26px + 459.03px + 459.8px + 460.56px + 461.33px + 462.1px + 462.87px + 463.64px + 464.4px + 465.17px + 465.94px + 466.71px + 467.47px + 468.24px + 469.01px + 469.78px + 470.54px + 471.31px + 472.08px + 472.85px + 473.61px + 474.38px + 475.15px + 475.92px + 476.68px + 477.45px + 478.22px + 478.99px + 479.76px + 480.52px + 481.29px + 482.06px + 482.83px + 483.59px + 484.36px + 485.13px + 485.9px + 486.66px + 487.43px + 488.2px + 488.97px + 489.73px + 490.5px + 491.27px + 492.04px + 492.8px + 493.57px + 494.34px + 495.11px + 495.88px + 496.64px + 497.41px + 498.18px + 498.95px + 499.71px + 500.48px + 501.25px + 502.02px + 502.78px + 503.55px + 504.32px + 505.09px + 505.85px + 506.62px + 507.39px + 508.16px + 508.92px + 509.69px + 510.46px + 511.23px + 512.0px + 512.76px + 513.53px + 514.3px + 515.07px + 515.83px + 516.6px + 517.37px + 518.14px + 518.9px + 519.67px + 520.44px + 521.21px + 521.97px + 522.74px + 523.51px + 524.28px + 525.04px + 525.81px + 526.58px + 527.35px + 528.11px + 528.88px + 529.65px + 530.42px + 531.19px + 531.95px + 532.72px + 533.49px + 534.26px + 535.02px + 535.79px + 536.56px + 537.33px + 538.09px + 538.86px + 539.63px + 540.4px + 541.16px + 541.93px + 542.7px + 543.47px + 544.23px + 545.0px + 545.77px + 546.54px + 547.31px + 548.07px + 548.84px + 549.61px + 550.38px + 551.14px + 551.91px + 552.68px + 553.45px + 554.21px + 554.98px + 555.75px + 556.52px + 557.28px + 558.05px + 558.82px + 559.59px + 560.35px + 561.12px + 561.89px + 562.66px + 563.43px + 564.19px + 564.96px + 565.73px + 566.5px + 567.26px + 568.03px + 568.8px + 569.57px + 570.33px + 571.1px + 571.87px + 572.64px + 573.4px + 574.17px + 574.94px + 575.71px + 576.47px + 577.24px + 578.01px + 578.78px + 579.55px + 580.31px + 581.08px + 581.85px + 582.62px + 583.38px + 584.15px + 584.92px + 585.69px + 586.45px + 587.22px + 587.99px + 588.76px + 589.52px + 590.29px + 591.06px + 591.83px + 592.59px + 593.36px + 594.13px + 594.9px + 595.67px + 596.43px + 597.2px + 597.97px + 598.74px + 599.5px + 600.27px + 601.04px + 601.81px + 602.57px + 603.34px + 604.11px + 604.88px + 605.64px + 606.41px + 607.18px + 607.95px + 608.71px + 609.48px + 610.25px + 611.02px + 611.79px + 612.55px + 613.32px + 614.09px + 614.86px + 615.62px + 616.39px + 617.16px + 617.93px + 618.69px + 619.46px + 620.23px + 621.0px + 621.76px + 622.53px + 623.3px + 624.07px + 624.83px + 625.6px + 626.37px + 627.14px + 627.91px + 628.67px + 629.44px + 630.21px + 630.98px + 631.74px + 632.51px + 633.28px + 634.05px + 634.81px + 635.58px + 636.35px + 637.12px + 637.88px + 638.65px + 639.42px + 640.19px + 640.95px + 641.72px + 642.49px + 643.26px + 644.03px + 644.79px + 645.56px + 646.33px + 647.1px + 647.86px + 648.63px + 649.4px + 650.17px + 650.93px + 651.7px + 652.47px + 653.24px + 654.0px + 654.77px + 655.54px + 656.31px + 657.07px + 657.84px + 658.61px + 659.38px + 660.15px + 660.91px + 661.68px + 662.45px + 663.22px + 663.98px + 664.75px + 665.52px + 666.29px + 667.05px + 667.82px + 668.59px + 669.36px + 670.12px + 670.89px + 671.66px + 672.43px + 673.19px + 673.96px + 674.73px + 675.5px + 676.26px + 677.03px + 677.8px + 678.57px + 679.34px + 680.1px + 680.87px + 681.64px + 682.41px + 683.17px + 683.94px + 684.71px + 685.48px + 686.24px + 687.01px + 687.78px + 688.55px + 689.31px + 690.08px + 690.85px + 691.62px + 692.38px + 693.15px + 693.92px + 694.69px + 695.46px + 696.22px + 696.99px + 697.76px + 698.53px + 699.29px + 700.06px + 700.83px + 701.6px + 702.36px + 703.13px + 703.9px + 704.67px + 705.43px + 706.2px + 706.97px + 707.74px + 708.5px + 709.27px + 710.04px + 710.81px + 711.58px + 712.34px + 713.11px + 713.88px + 714.65px + 715.41px + 716.18px + 716.95px + 717.72px + 718.48px + 719.25px + 720.02px + 720.79px + 721.55px + 722.32px + 723.09px + 723.86px + 724.62px + 725.39px + 726.16px + 726.93px + 727.7px + 728.46px + 729.23px + 730.0px + 730.77px + 731.53px + 732.3px + 733.07px + 733.84px + 734.6px + 735.37px + 736.14px + 736.91px + 737.67px + 738.44px + 739.21px + 739.98px + 740.74px + 741.51px + 742.28px + 743.05px + 743.82px + 744.58px + 745.35px + 746.12px + 746.89px + 747.65px + 748.42px + 749.19px + 749.96px + 750.72px + 751.49px + 752.26px + 753.03px + 753.79px + 754.56px + 755.33px + 756.1px + 756.86px + 757.63px + 758.4px + 759.17px + 759.94px + 760.7px + 761.47px + 762.24px + 763.01px + 763.77px + 764.54px + 765.31px + 766.08px + 766.84px + 767.61px + 768.38px + 769.15px + 769.91px + 770.68px + 771.45px + 772.22px + 772.98px + 773.75px + 774.52px + 775.29px + 776.06px + 776.82px + 777.59px + 778.36px + 779.13px + 779.89px + 780.66px + 781.43px + 782.2px + 782.96px + 783.73px + 784.5px + 785.27px + 786.03px + 786.8px + 787.57px + 788.34px + 789.1px + 789.87px + 790.64px + 791.41px + 792.17px + 792.94px + 793.71px + 794.48px + 795.25px + 796.01px + 796.78px + 797.55px + 798.32px + 799.08px + 799.85px + 800.62px + 801.39px + 802.15px + 802.92px + 803.69px + 804.46px + 805.22px + 805.99px + 806.76px + 807.53px + 808.29px + 809.06px + 809.83px + 810.6px + 811.37px + 812.13px + 812.9px + 813.67px + 814.44px + 815.2px + 815.97px + 816.74px + 817.51px + 818.27px + 819.04px + 819.81px + 820.58px + 821.34px + 822.11px + 822.88px + 823.65px + 824.41px + 825.18px + 825.95px + 826.72px + 827.49px + 828.25px + 829.02px + 829.79px + 830.56px + 831.32px + 832.09px + 832.86px + 833.63px + 834.39px + 835.16px + 835.93px + 836.7px + 837.46px + 838.23px + 839.0px + 839.77px + 840.53px + 841.3px + 842.07px + 842.84px + 843.61px + 844.37px + 845.14px + 845.91px + 846.68px + 847.44px + 848.21px + 848.98px + 849.75px + 850.51px + 851.28px + 852.05px + 852.82px + 853.58px + 854.35px + 855.12px + 855.89px + 856.65px + 857.42px + 858.19px + 858.96px + 859.73px + 860.49px + 861.26px + 862.03px + 862.8px + 863.56px + 864.33px + 865.1px + 865.87px + 866.63px + 867.4px + 868.17px + 868.94px + 869.7px + 870.47px + 871.24px + 872.01px + 872.77px + 873.54px + 874.31px + 875.08px + 875.85px + 876.61px + 877.38px + 878.15px + 878.92px + 879.68px + 880.45px + 881.22px + 881.99px + 882.75px + 883.52px + 884.29px + 885.06px + 885.82px + 886.59px + 887.36px + 888.13px + 888.89px + 889.66px + 890.43px + 891.2px + 891.97px + 892.73px + 893.5px + 894.27px + 895.04px + 895.8px + 896.57px + 897.34px + 898.11px + 898.87px + 899.64px + 900.41px + 901.18px + 901.94px + 902.71px + 903.48px + 904.25px + 905.01px + 905.78px + 906.55px + 907.32px + 908.09px + 908.85px + 909.62px + 910.39px + 911.16px + 911.92px + 912.69px + 913.46px + 914.23px + 914.99px + 915.76px + 916.53px + 917.3px + 918.06px + 918.83px + 919.6px + 920.37px + 921.13px + 921.9px + 922.67px + 923.44px + 924.2px + 924.97px + 925.74px + 926.51px + 927.28px + 928.04px + 928.81px + 929.58px + 930.35px + 931.11px + 931.88px + 932.65px + 933.42px + 934.18px + 934.95px + 935.72px + 936.49px + 937.25px + 938.02px + 938.79px + 939.56px + 940.32px + 941.09px + 941.86px + 942.63px + 943.4px + 944.16px + 944.93px + 945.7px + 946.47px + 947.23px + 948.0px + 948.77px + 949.54px + 950.3px + 951.07px + 951.84px + 952.61px + 953.37px + 954.14px + 954.91px + 955.68px + 956.44px + 957.21px + 957.98px + 958.75px + 959.52px + 960.28px + 961.05px + 961.82px + 962.59px + 963.35px + 964.12px + 964.89px + 965.66px + 966.42px + 967.19px + 967.96px + 968.73px + 969.49px + 970.26px + 971.03px + 971.8px + 972.56px + 973.33px + 974.1px + 974.87px + 975.64px + 976.4px + 977.17px + 977.94px + 978.71px + 979.47px + 980.24px + 981.01px + 981.78px + 982.54px + 983.31px + 984.08px + 984.85px + 985.61px + 986.38px + 987.15px + 987.92px + 988.68px + 989.45px + 990.22px + 990.99px + 991.76px + 992.52px + 993.29px + 994.06px + 994.83px + 995.59px + 996.36px + 997.13px + 997.9px + 998.66px + 999.43px + 1000.2px + 1000.97px + 1001.73px + 1002.5px + 1003.27px + 1004.04px + 1004.8px + 1005.57px + 1006.34px + 1007.11px + 1007.88px + 1008.64px + 1009.41px + 1010.18px + 1010.95px + 1011.71px + 1012.48px + 1013.25px + 1014.02px + 1014.78px + 1015.55px + 1016.32px + 1017.09px + 1017.85px + 1018.62px + 1019.39px + 1020.16px + 1020.92px + 1021.69px + 1022.46px + 1023.23px + 1024px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1184x720/lay_x.xml b/FaceUnity/src/main/res/values-1184x720/lay_x.xml new file mode 100644 index 000000000..80d38bd83 --- /dev/null +++ b/FaceUnity/src/main/res/values-1184x720/lay_x.xml @@ -0,0 +1,753 @@ + + + 0.96px + 1.92px + 2.88px + 3.84px + 4.79px + 5.76px + 6.72px + 7.68px + 8.63px + 9.59px + 10.56px + 11.52px + 12.48px + 13.44px + 14.4px + 15.36px + 16.32px + 17.27px + 18.24px + 19.19px + 20.16px + 21.12px + 22.08px + 23.04px + 24.0px + 24.96px + 25.92px + 26.88px + 27.84px + 28.8px + 29.76px + 30.72px + 31.67px + 32.64px + 33.59px + 34.55px + 35.52px + 36.48px + 37.43px + 38.39px + 39.36px + 40.32px + 41.28px + 42.24px + 43.2px + 44.16px + 45.12px + 46.08px + 47.03px + 48.0px + 48.96px + 49.92px + 50.87px + 51.84px + 52.8px + 53.76px + 54.71px + 55.68px + 56.64px + 57.6px + 58.56px + 59.52px + 60.48px + 61.44px + 62.4px + 63.35px + 64.32px + 65.28px + 66.24px + 67.19px + 68.15px + 69.11px + 70.08px + 71.04px + 72.0px + 72.96px + 73.92px + 74.87px + 75.83px + 76.79px + 77.75px + 78.72px + 79.68px + 80.64px + 81.6px + 82.56px + 83.52px + 84.48px + 85.43px + 86.4px + 87.36px + 88.32px + 89.28px + 90.24px + 91.2px + 92.16px + 93.12px + 94.07px + 95.04px + 96.0px + 96.96px + 97.92px + 98.88px + 99.84px + 100.8px + 101.75px + 102.72px + 103.68px + 104.64px + 105.6px + 106.56px + 107.52px + 108.48px + 109.43px + 110.39px + 111.36px + 112.32px + 113.28px + 114.24px + 115.2px + 116.16px + 117.12px + 118.07px + 119.04px + 120.0px + 120.96px + 121.92px + 122.88px + 123.84px + 124.8px + 125.75px + 126.71px + 127.68px + 128.64px + 129.59px + 130.56px + 131.52px + 132.48px + 133.44px + 134.39px + 135.36px + 136.31px + 137.28px + 138.23px + 139.2px + 140.16px + 141.12px + 142.08px + 143.03px + 144.0px + 144.95px + 145.92px + 146.87px + 147.84px + 148.8px + 149.75px + 150.72px + 151.67px + 152.64px + 153.59px + 154.56px + 155.51px + 156.48px + 157.44px + 158.39px + 159.36px + 160.31px + 161.28px + 162.23px + 163.2px + 164.16px + 165.12px + 166.08px + 167.04px + 168.0px + 168.96px + 169.92px + 170.87px + 171.84px + 172.8px + 173.76px + 174.72px + 175.68px + 176.64px + 177.6px + 178.56px + 179.51px + 180.48px + 181.44px + 182.4px + 183.36px + 184.32px + 185.28px + 186.24px + 187.2px + 188.15px + 189.12px + 190.08px + 191.04px + 192.0px + 192.96px + 193.92px + 194.87px + 195.84px + 196.8px + 197.76px + 198.72px + 199.68px + 200.64px + 201.6px + 202.56px + 203.51px + 204.48px + 205.44px + 206.4px + 207.36px + 208.32px + 209.28px + 210.24px + 211.2px + 212.15px + 213.12px + 214.08px + 215.04px + 216.0px + 216.96px + 217.92px + 218.87px + 219.84px + 220.79px + 221.76px + 222.72px + 223.68px + 224.64px + 225.6px + 226.56px + 227.51px + 228.48px + 229.44px + 230.4px + 231.36px + 232.32px + 233.28px + 234.24px + 235.2px + 236.15px + 237.12px + 238.08px + 239.04px + 240.0px + 240.96px + 241.92px + 242.87px + 243.84px + 244.79px + 245.76px + 246.72px + 247.68px + 248.64px + 249.6px + 250.56px + 251.51px + 252.48px + 253.43px + 254.4px + 255.36px + 256.32px + 257.28px + 258.24px + 259.19px + 260.16px + 261.12px + 262.07px + 263.04px + 264.0px + 264.96px + 265.91px + 266.88px + 267.84px + 268.79px + 269.75px + 270.72px + 271.68px + 272.63px + 273.6px + 274.56px + 275.51px + 276.47px + 277.44px + 278.4px + 279.35px + 280.32px + 281.28px + 282.24px + 283.19px + 284.16px + 285.12px + 286.07px + 287.04px + 288.0px + 288.96px + 289.91px + 290.88px + 291.84px + 292.79px + 293.75px + 294.72px + 295.68px + 296.63px + 297.6px + 298.56px + 299.51px + 300.47px + 301.44px + 302.4px + 303.35px + 304.32px + 305.28px + 306.24px + 307.19px + 308.16px + 309.12px + 310.07px + 311.03px + 312.0px + 312.96px + 313.91px + 314.88px + 315.84px + 316.79px + 317.75px + 318.72px + 319.68px + 320.63px + 321.6px + 322.56px + 323.51px + 324.47px + 325.44px + 326.4px + 327.35px + 328.32px + 329.28px + 330.24px + 331.2px + 332.16px + 333.12px + 334.08px + 335.03px + 336.0px + 336.96px + 337.92px + 338.88px + 339.84px + 340.8px + 341.75px + 342.72px + 343.68px + 344.64px + 345.6px + 346.56px + 347.52px + 348.48px + 349.44px + 350.4px + 351.36px + 352.32px + 353.28px + 354.24px + 355.2px + 356.16px + 357.12px + 358.08px + 359.03px + 360.0px + 360.96px + 361.92px + 362.88px + 363.84px + 364.8px + 365.75px + 366.72px + 367.68px + 368.64px + 369.6px + 370.56px + 371.52px + 372.48px + 373.44px + 374.4px + 375.36px + 376.31px + 377.28px + 378.24px + 379.2px + 380.16px + 381.12px + 382.08px + 383.03px + 384.0px + 384.96px + 385.92px + 386.88px + 387.84px + 388.8px + 389.75px + 390.72px + 391.68px + 392.64px + 393.6px + 394.56px + 395.52px + 396.48px + 397.44px + 398.4px + 399.36px + 400.31px + 401.28px + 402.24px + 403.2px + 404.16px + 405.12px + 406.08px + 407.03px + 408.0px + 408.96px + 409.92px + 410.88px + 411.84px + 412.8px + 413.75px + 414.72px + 415.68px + 416.64px + 417.59px + 418.56px + 419.52px + 420.48px + 421.44px + 422.4px + 423.36px + 424.31px + 425.28px + 426.24px + 427.2px + 428.16px + 429.12px + 430.08px + 431.03px + 432.0px + 432.96px + 433.92px + 434.88px + 435.84px + 436.8px + 437.75px + 438.72px + 439.68px + 440.64px + 441.59px + 442.56px + 443.52px + 444.48px + 445.44px + 446.4px + 447.36px + 448.31px + 449.28px + 450.24px + 451.2px + 452.16px + 453.12px + 454.08px + 455.03px + 456.0px + 456.96px + 457.92px + 458.88px + 459.84px + 460.8px + 461.75px + 462.72px + 463.68px + 464.64px + 465.59px + 466.56px + 467.52px + 468.48px + 469.44px + 470.4px + 471.36px + 472.31px + 473.28px + 474.24px + 475.2px + 476.16px + 477.12px + 478.08px + 479.03px + 480.0px + 480.96px + 481.92px + 482.87px + 483.84px + 484.8px + 485.75px + 486.72px + 487.68px + 488.64px + 489.59px + 490.56px + 491.52px + 492.48px + 493.44px + 494.4px + 495.36px + 496.31px + 497.28px + 498.24px + 499.2px + 500.16px + 501.12px + 502.08px + 503.03px + 504.0px + 504.96px + 505.92px + 506.87px + 507.84px + 508.8px + 509.75px + 510.72px + 511.68px + 512.64px + 513.59px + 514.56px + 515.51px + 516.48px + 517.44px + 518.39px + 519.36px + 520.32px + 521.27px + 522.24px + 523.2px + 524.15px + 525.12px + 526.08px + 527.03px + 528.0px + 528.95px + 529.92px + 530.88px + 531.83px + 532.8px + 533.76px + 534.71px + 535.68px + 536.64px + 537.59px + 538.56px + 539.51px + 540.48px + 541.44px + 542.39px + 543.36px + 544.32px + 545.27px + 546.24px + 547.2px + 548.15px + 549.12px + 550.08px + 551.03px + 552.0px + 552.95px + 553.92px + 554.88px + 555.83px + 556.8px + 557.76px + 558.71px + 559.68px + 560.64px + 561.59px + 562.56px + 563.51px + 564.48px + 565.44px + 566.39px + 567.36px + 568.32px + 569.27px + 570.24px + 571.2px + 572.15px + 573.12px + 574.08px + 575.03px + 576.0px + 576.95px + 577.92px + 578.88px + 579.83px + 580.8px + 581.76px + 582.71px + 583.68px + 584.64px + 585.59px + 586.56px + 587.51px + 588.48px + 589.44px + 590.39px + 591.36px + 592.32px + 593.27px + 594.24px + 595.2px + 596.15px + 597.12px + 598.08px + 599.03px + 600.0px + 600.95px + 601.92px + 602.88px + 603.83px + 604.8px + 605.76px + 606.71px + 607.68px + 608.64px + 609.59px + 610.56px + 611.51px + 612.48px + 613.44px + 614.39px + 615.36px + 616.32px + 617.27px + 618.24px + 619.2px + 620.15px + 621.12px + 622.07px + 623.03px + 624.0px + 624.95px + 625.92px + 626.88px + 627.83px + 628.8px + 629.76px + 630.71px + 631.68px + 632.64px + 633.59px + 634.56px + 635.51px + 636.48px + 637.44px + 638.39px + 639.36px + 640.32px + 641.27px + 642.24px + 643.2px + 644.15px + 645.12px + 646.07px + 647.03px + 648.0px + 648.95px + 649.92px + 650.88px + 651.83px + 652.8px + 653.76px + 654.71px + 655.68px + 656.64px + 657.6px + 658.56px + 659.51px + 660.48px + 661.44px + 662.4px + 663.36px + 664.32px + 665.28px + 666.24px + 667.2px + 668.16px + 669.12px + 670.07px + 671.04px + 672.0px + 672.96px + 673.92px + 674.88px + 675.84px + 676.8px + 677.76px + 678.72px + 679.68px + 680.64px + 681.6px + 682.56px + 683.51px + 684.48px + 685.44px + 686.4px + 687.36px + 688.32px + 689.28px + 690.24px + 691.2px + 692.16px + 693.12px + 694.07px + 695.04px + 696.0px + 696.96px + 697.92px + 698.88px + 699.84px + 700.8px + 701.76px + 702.72px + 703.68px + 704.64px + 705.6px + 706.56px + 707.51px + 708.48px + 709.44px + 710.4px + 711.36px + 712.32px + 713.28px + 714.24px + 715.2px + 716.16px + 717.12px + 718.07px + 719.04px + 720px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1184x720/lay_y.xml b/FaceUnity/src/main/res/values-1184x720/lay_y.xml new file mode 100644 index 000000000..1de69bb66 --- /dev/null +++ b/FaceUnity/src/main/res/values-1184x720/lay_y.xml @@ -0,0 +1,1337 @@ + + + 0.88px + 1.77px + 2.66px + 3.55px + 4.43px + 5.32px + 6.21px + 7.1px + 7.98px + 8.87px + 9.76px + 10.65px + 11.53px + 12.42px + 13.31px + 14.2px + 15.08px + 15.97px + 16.86px + 17.75px + 18.63px + 19.52px + 20.41px + 21.3px + 22.18px + 23.07px + 23.96px + 24.85px + 25.73px + 26.62px + 27.51px + 28.4px + 29.28px + 30.17px + 31.06px + 31.95px + 32.83px + 33.72px + 34.61px + 35.5px + 36.38px + 37.27px + 38.16px + 39.05px + 39.94px + 40.82px + 41.71px + 42.6px + 43.49px + 44.37px + 45.26px + 46.15px + 47.04px + 47.92px + 48.81px + 49.7px + 50.59px + 51.47px + 52.36px + 53.25px + 54.14px + 55.02px + 55.91px + 56.8px + 57.69px + 58.57px + 59.46px + 60.35px + 61.24px + 62.12px + 63.01px + 63.9px + 64.79px + 65.67px + 66.56px + 67.45px + 68.34px + 69.22px + 70.11px + 71.0px + 71.89px + 72.77px + 73.66px + 74.55px + 75.44px + 76.32px + 77.21px + 78.1px + 78.99px + 79.88px + 80.76px + 81.65px + 82.54px + 83.43px + 84.31px + 85.2px + 86.09px + 86.98px + 87.86px + 88.75px + 89.64px + 90.53px + 91.41px + 92.3px + 93.19px + 94.08px + 94.96px + 95.85px + 96.74px + 97.63px + 98.51px + 99.4px + 100.29px + 101.18px + 102.06px + 102.95px + 103.84px + 104.73px + 105.61px + 106.5px + 107.39px + 108.28px + 109.16px + 110.05px + 110.94px + 111.83px + 112.71px + 113.6px + 114.49px + 115.38px + 116.26px + 117.15px + 118.04px + 118.93px + 119.82px + 120.7px + 121.59px + 122.48px + 123.37px + 124.25px + 125.14px + 126.03px + 126.92px + 127.8px + 128.69px + 129.58px + 130.47px + 131.35px + 132.24px + 133.13px + 134.02px + 134.9px + 135.79px + 136.68px + 137.57px + 138.45px + 139.34px + 140.23px + 141.12px + 142.0px + 142.89px + 143.78px + 144.67px + 145.55px + 146.44px + 147.33px + 148.22px + 149.1px + 149.99px + 150.88px + 151.77px + 152.65px + 153.54px + 154.43px + 155.32px + 156.2px + 157.09px + 157.98px + 158.87px + 159.76px + 160.64px + 161.53px + 162.42px + 163.31px + 164.19px + 165.08px + 165.97px + 166.86px + 167.74px + 168.63px + 169.52px + 170.41px + 171.29px + 172.18px + 173.07px + 173.96px + 174.84px + 175.73px + 176.62px + 177.51px + 178.39px + 179.28px + 180.17px + 181.06px + 181.94px + 182.83px + 183.72px + 184.61px + 185.49px + 186.38px + 187.27px + 188.16px + 189.04px + 189.93px + 190.82px + 191.71px + 192.59px + 193.48px + 194.37px + 195.26px + 196.14px + 197.03px + 197.92px + 198.81px + 199.7px + 200.58px + 201.47px + 202.36px + 203.25px + 204.13px + 205.02px + 205.91px + 206.8px + 207.68px + 208.57px + 209.46px + 210.35px + 211.23px + 212.12px + 213.01px + 213.9px + 214.78px + 215.67px + 216.56px + 217.45px + 218.33px + 219.22px + 220.11px + 221.0px + 221.88px + 222.77px + 223.66px + 224.55px + 225.43px + 226.32px + 227.21px + 228.1px + 228.98px + 229.87px + 230.76px + 231.65px + 232.53px + 233.42px + 234.31px + 235.2px + 236.08px + 236.97px + 237.86px + 238.75px + 239.64px + 240.52px + 241.41px + 242.3px + 243.19px + 244.07px + 244.96px + 245.85px + 246.74px + 247.62px + 248.51px + 249.4px + 250.29px + 251.17px + 252.06px + 252.95px + 253.84px + 254.72px + 255.61px + 256.5px + 257.39px + 258.27px + 259.16px + 260.05px + 260.94px + 261.82px + 262.71px + 263.6px + 264.49px + 265.37px + 266.26px + 267.15px + 268.04px + 268.92px + 269.81px + 270.7px + 271.59px + 272.47px + 273.36px + 274.25px + 275.14px + 276.02px + 276.91px + 277.8px + 278.69px + 279.58px + 280.46px + 281.35px + 282.24px + 283.13px + 284.01px + 284.9px + 285.79px + 286.68px + 287.56px + 288.45px + 289.34px + 290.23px + 291.11px + 292.0px + 292.89px + 293.78px + 294.66px + 295.55px + 296.44px + 297.33px + 298.21px + 299.1px + 299.99px + 300.88px + 301.76px + 302.65px + 303.54px + 304.43px + 305.31px + 306.2px + 307.09px + 307.98px + 308.86px + 309.75px + 310.64px + 311.53px + 312.41px + 313.3px + 314.19px + 315.08px + 315.97px + 316.85px + 317.74px + 318.63px + 319.52px + 320.4px + 321.29px + 322.18px + 323.07px + 323.95px + 324.84px + 325.73px + 326.62px + 327.5px + 328.39px + 329.28px + 330.17px + 331.05px + 331.94px + 332.83px + 333.72px + 334.6px + 335.49px + 336.38px + 337.27px + 338.15px + 339.04px + 339.93px + 340.82px + 341.7px + 342.59px + 343.48px + 344.37px + 345.25px + 346.14px + 347.03px + 347.92px + 348.8px + 349.69px + 350.58px + 351.47px + 352.35px + 353.24px + 354.13px + 355.02px + 355.91px + 356.79px + 357.68px + 358.57px + 359.46px + 360.34px + 361.23px + 362.12px + 363.01px + 363.89px + 364.78px + 365.67px + 366.56px + 367.44px + 368.33px + 369.22px + 370.11px + 370.99px + 371.88px + 372.77px + 373.66px + 374.54px + 375.43px + 376.32px + 377.21px + 378.09px + 378.98px + 379.87px + 380.76px + 381.64px + 382.53px + 383.42px + 384.31px + 385.19px + 386.08px + 386.97px + 387.86px + 388.74px + 389.63px + 390.52px + 391.41px + 392.29px + 393.18px + 394.07px + 394.96px + 395.85px + 396.73px + 397.62px + 398.51px + 399.4px + 400.28px + 401.17px + 402.06px + 402.95px + 403.83px + 404.72px + 405.61px + 406.5px + 407.38px + 408.27px + 409.16px + 410.05px + 410.93px + 411.82px + 412.71px + 413.6px + 414.48px + 415.37px + 416.26px + 417.15px + 418.03px + 418.92px + 419.81px + 420.7px + 421.58px + 422.47px + 423.36px + 424.25px + 425.13px + 426.02px + 426.91px + 427.8px + 428.68px + 429.57px + 430.46px + 431.35px + 432.23px + 433.12px + 434.01px + 434.9px + 435.79px + 436.67px + 437.56px + 438.45px + 439.34px + 440.22px + 441.11px + 442.0px + 442.89px + 443.77px + 444.66px + 445.55px + 446.44px + 447.32px + 448.21px + 449.1px + 449.99px + 450.87px + 451.76px + 452.65px + 453.54px + 454.42px + 455.31px + 456.2px + 457.09px + 457.97px + 458.86px + 459.75px + 460.64px + 461.52px + 462.41px + 463.3px + 464.19px + 465.07px + 465.96px + 466.85px + 467.74px + 468.62px + 469.51px + 470.4px + 471.29px + 472.17px + 473.06px + 473.95px + 474.84px + 475.73px + 476.61px + 477.5px + 478.39px + 479.28px + 480.16px + 481.05px + 481.94px + 482.83px + 483.71px + 484.6px + 485.49px + 486.38px + 487.26px + 488.15px + 489.04px + 489.93px + 490.81px + 491.7px + 492.59px + 493.48px + 494.36px + 495.25px + 496.14px + 497.03px + 497.91px + 498.8px + 499.69px + 500.58px + 501.46px + 502.35px + 503.24px + 504.13px + 505.01px + 505.9px + 506.79px + 507.68px + 508.56px + 509.45px + 510.34px + 511.23px + 512.11px + 513.0px + 513.89px + 514.78px + 515.67px + 516.55px + 517.44px + 518.33px + 519.22px + 520.1px + 520.99px + 521.88px + 522.77px + 523.65px + 524.54px + 525.43px + 526.32px + 527.2px + 528.09px + 528.98px + 529.87px + 530.75px + 531.64px + 532.53px + 533.42px + 534.3px + 535.19px + 536.08px + 536.97px + 537.85px + 538.74px + 539.63px + 540.52px + 541.4px + 542.29px + 543.18px + 544.07px + 544.95px + 545.84px + 546.73px + 547.62px + 548.5px + 549.39px + 550.28px + 551.17px + 552.05px + 552.94px + 553.83px + 554.72px + 555.61px + 556.49px + 557.38px + 558.27px + 559.16px + 560.04px + 560.93px + 561.82px + 562.71px + 563.59px + 564.48px + 565.37px + 566.26px + 567.14px + 568.03px + 568.92px + 569.81px + 570.69px + 571.58px + 572.47px + 573.36px + 574.24px + 575.13px + 576.02px + 576.91px + 577.79px + 578.68px + 579.57px + 580.46px + 581.34px + 582.23px + 583.12px + 584.01px + 584.89px + 585.78px + 586.67px + 587.56px + 588.44px + 589.33px + 590.22px + 591.11px + 592.0px + 592.88px + 593.77px + 594.66px + 595.55px + 596.43px + 597.32px + 598.21px + 599.1px + 599.98px + 600.87px + 601.76px + 602.65px + 603.53px + 604.42px + 605.31px + 606.2px + 607.08px + 607.97px + 608.86px + 609.75px + 610.63px + 611.52px + 612.41px + 613.3px + 614.18px + 615.07px + 615.96px + 616.85px + 617.73px + 618.62px + 619.51px + 620.4px + 621.28px + 622.17px + 623.06px + 623.95px + 624.83px + 625.72px + 626.61px + 627.5px + 628.38px + 629.27px + 630.16px + 631.05px + 631.94px + 632.82px + 633.71px + 634.6px + 635.49px + 636.37px + 637.26px + 638.15px + 639.04px + 639.92px + 640.81px + 641.7px + 642.59px + 643.47px + 644.36px + 645.25px + 646.14px + 647.02px + 647.91px + 648.8px + 649.69px + 650.57px + 651.46px + 652.35px + 653.24px + 654.12px + 655.01px + 655.9px + 656.79px + 657.67px + 658.56px + 659.45px + 660.34px + 661.22px + 662.11px + 663.0px + 663.89px + 664.77px + 665.66px + 666.55px + 667.44px + 668.32px + 669.21px + 670.1px + 670.99px + 671.88px + 672.76px + 673.65px + 674.54px + 675.43px + 676.31px + 677.2px + 678.09px + 678.98px + 679.86px + 680.75px + 681.64px + 682.53px + 683.41px + 684.3px + 685.19px + 686.08px + 686.96px + 687.85px + 688.74px + 689.63px + 690.51px + 691.4px + 692.29px + 693.18px + 694.06px + 694.95px + 695.84px + 696.73px + 697.61px + 698.5px + 699.39px + 700.28px + 701.16px + 702.05px + 702.94px + 703.83px + 704.71px + 705.6px + 706.49px + 707.38px + 708.26px + 709.15px + 710.04px + 710.93px + 711.82px + 712.7px + 713.59px + 714.48px + 715.37px + 716.25px + 717.14px + 718.03px + 718.92px + 719.8px + 720.69px + 721.58px + 722.47px + 723.35px + 724.24px + 725.13px + 726.02px + 726.9px + 727.79px + 728.68px + 729.57px + 730.45px + 731.34px + 732.23px + 733.12px + 734.0px + 734.89px + 735.78px + 736.67px + 737.55px + 738.44px + 739.33px + 740.22px + 741.1px + 741.99px + 742.88px + 743.77px + 744.65px + 745.54px + 746.43px + 747.32px + 748.2px + 749.09px + 749.98px + 750.87px + 751.76px + 752.64px + 753.53px + 754.42px + 755.31px + 756.19px + 757.08px + 757.97px + 758.86px + 759.74px + 760.63px + 761.52px + 762.41px + 763.29px + 764.18px + 765.07px + 765.96px + 766.84px + 767.73px + 768.62px + 769.51px + 770.39px + 771.28px + 772.17px + 773.06px + 773.94px + 774.83px + 775.72px + 776.61px + 777.49px + 778.38px + 779.27px + 780.16px + 781.04px + 781.93px + 782.82px + 783.71px + 784.59px + 785.48px + 786.37px + 787.26px + 788.14px + 789.03px + 789.92px + 790.81px + 791.7px + 792.58px + 793.47px + 794.36px + 795.25px + 796.13px + 797.02px + 797.91px + 798.8px + 799.68px + 800.57px + 801.46px + 802.35px + 803.23px + 804.12px + 805.01px + 805.9px + 806.78px + 807.67px + 808.56px + 809.45px + 810.33px + 811.22px + 812.11px + 813.0px + 813.88px + 814.77px + 815.66px + 816.55px + 817.43px + 818.32px + 819.21px + 820.1px + 820.98px + 821.87px + 822.76px + 823.65px + 824.53px + 825.42px + 826.31px + 827.2px + 828.08px + 828.97px + 829.86px + 830.75px + 831.64px + 832.52px + 833.41px + 834.3px + 835.19px + 836.07px + 836.96px + 837.85px + 838.74px + 839.62px + 840.51px + 841.4px + 842.29px + 843.17px + 844.06px + 844.95px + 845.84px + 846.72px + 847.61px + 848.5px + 849.39px + 850.27px + 851.16px + 852.05px + 852.94px + 853.82px + 854.71px + 855.6px + 856.49px + 857.37px + 858.26px + 859.15px + 860.04px + 860.92px + 861.81px + 862.7px + 863.59px + 864.47px + 865.36px + 866.25px + 867.14px + 868.03px + 868.91px + 869.8px + 870.69px + 871.58px + 872.46px + 873.35px + 874.24px + 875.13px + 876.01px + 876.9px + 877.79px + 878.68px + 879.56px + 880.45px + 881.34px + 882.23px + 883.11px + 884.0px + 884.89px + 885.78px + 886.66px + 887.55px + 888.44px + 889.33px + 890.21px + 891.1px + 891.99px + 892.88px + 893.76px + 894.65px + 895.54px + 896.43px + 897.31px + 898.2px + 899.09px + 899.98px + 900.86px + 901.75px + 902.64px + 903.53px + 904.41px + 905.3px + 906.19px + 907.08px + 907.97px + 908.85px + 909.74px + 910.63px + 911.52px + 912.4px + 913.29px + 914.18px + 915.07px + 915.95px + 916.84px + 917.73px + 918.62px + 919.5px + 920.39px + 921.28px + 922.17px + 923.05px + 923.94px + 924.83px + 925.72px + 926.6px + 927.49px + 928.38px + 929.27px + 930.15px + 931.04px + 931.93px + 932.82px + 933.7px + 934.59px + 935.48px + 936.37px + 937.25px + 938.14px + 939.03px + 939.92px + 940.8px + 941.69px + 942.58px + 943.47px + 944.35px + 945.24px + 946.13px + 947.02px + 947.91px + 948.79px + 949.68px + 950.57px + 951.46px + 952.34px + 953.23px + 954.12px + 955.01px + 955.89px + 956.78px + 957.67px + 958.56px + 959.44px + 960.33px + 961.22px + 962.11px + 962.99px + 963.88px + 964.77px + 965.66px + 966.54px + 967.43px + 968.32px + 969.21px + 970.09px + 970.98px + 971.87px + 972.76px + 973.64px + 974.53px + 975.42px + 976.31px + 977.19px + 978.08px + 978.97px + 979.86px + 980.74px + 981.63px + 982.52px + 983.41px + 984.29px + 985.18px + 986.07px + 986.96px + 987.85px + 988.73px + 989.62px + 990.51px + 991.4px + 992.28px + 993.17px + 994.06px + 994.95px + 995.83px + 996.72px + 997.61px + 998.5px + 999.38px + 1000.27px + 1001.16px + 1002.05px + 1002.93px + 1003.82px + 1004.71px + 1005.6px + 1006.48px + 1007.37px + 1008.26px + 1009.15px + 1010.03px + 1010.92px + 1011.81px + 1012.7px + 1013.58px + 1014.47px + 1015.36px + 1016.25px + 1017.13px + 1018.02px + 1018.91px + 1019.8px + 1020.68px + 1021.57px + 1022.46px + 1023.35px + 1024.23px + 1025.12px + 1026.01px + 1026.9px + 1027.79px + 1028.67px + 1029.56px + 1030.45px + 1031.34px + 1032.22px + 1033.11px + 1034.0px + 1034.89px + 1035.77px + 1036.66px + 1037.55px + 1038.44px + 1039.32px + 1040.21px + 1041.1px + 1041.99px + 1042.87px + 1043.76px + 1044.65px + 1045.54px + 1046.42px + 1047.31px + 1048.2px + 1049.09px + 1049.97px + 1050.86px + 1051.75px + 1052.64px + 1053.52px + 1054.41px + 1055.3px + 1056.19px + 1057.07px + 1057.96px + 1058.85px + 1059.74px + 1060.62px + 1061.51px + 1062.4px + 1063.29px + 1064.17px + 1065.06px + 1065.95px + 1066.84px + 1067.73px + 1068.61px + 1069.5px + 1070.39px + 1071.28px + 1072.16px + 1073.05px + 1073.94px + 1074.83px + 1075.71px + 1076.6px + 1077.49px + 1078.38px + 1079.26px + 1080.15px + 1081.04px + 1081.93px + 1082.81px + 1083.7px + 1084.59px + 1085.48px + 1086.36px + 1087.25px + 1088.14px + 1089.03px + 1089.91px + 1090.8px + 1091.69px + 1092.58px + 1093.46px + 1094.35px + 1095.24px + 1096.13px + 1097.01px + 1097.9px + 1098.79px + 1099.68px + 1100.56px + 1101.45px + 1102.34px + 1103.23px + 1104.11px + 1105.0px + 1105.89px + 1106.78px + 1107.67px + 1108.55px + 1109.44px + 1110.33px + 1111.22px + 1112.1px + 1112.99px + 1113.88px + 1114.77px + 1115.65px + 1116.54px + 1117.43px + 1118.32px + 1119.2px + 1120.09px + 1120.98px + 1121.87px + 1122.75px + 1123.64px + 1124.53px + 1125.42px + 1126.3px + 1127.19px + 1128.08px + 1128.97px + 1129.85px + 1130.74px + 1131.63px + 1132.52px + 1133.4px + 1134.29px + 1135.18px + 1136.07px + 1136.95px + 1137.84px + 1138.73px + 1139.62px + 1140.5px + 1141.39px + 1142.28px + 1143.17px + 1144.05px + 1144.94px + 1145.83px + 1146.72px + 1147.61px + 1148.49px + 1149.38px + 1150.27px + 1151.16px + 1152.04px + 1152.93px + 1153.82px + 1154.71px + 1155.59px + 1156.48px + 1157.37px + 1158.26px + 1159.14px + 1160.03px + 1160.92px + 1161.81px + 1162.69px + 1163.58px + 1164.47px + 1165.36px + 1166.24px + 1167.13px + 1168.02px + 1168.91px + 1169.79px + 1170.68px + 1171.57px + 1172.46px + 1173.34px + 1174.23px + 1175.12px + 1176.01px + 1176.89px + 1177.78px + 1178.67px + 1179.56px + 1180.44px + 1181.33px + 1182.22px + 1183.11px + 1184px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1196x720/lay_x.xml b/FaceUnity/src/main/res/values-1196x720/lay_x.xml new file mode 100644 index 000000000..80d38bd83 --- /dev/null +++ b/FaceUnity/src/main/res/values-1196x720/lay_x.xml @@ -0,0 +1,753 @@ + + + 0.96px + 1.92px + 2.88px + 3.84px + 4.79px + 5.76px + 6.72px + 7.68px + 8.63px + 9.59px + 10.56px + 11.52px + 12.48px + 13.44px + 14.4px + 15.36px + 16.32px + 17.27px + 18.24px + 19.19px + 20.16px + 21.12px + 22.08px + 23.04px + 24.0px + 24.96px + 25.92px + 26.88px + 27.84px + 28.8px + 29.76px + 30.72px + 31.67px + 32.64px + 33.59px + 34.55px + 35.52px + 36.48px + 37.43px + 38.39px + 39.36px + 40.32px + 41.28px + 42.24px + 43.2px + 44.16px + 45.12px + 46.08px + 47.03px + 48.0px + 48.96px + 49.92px + 50.87px + 51.84px + 52.8px + 53.76px + 54.71px + 55.68px + 56.64px + 57.6px + 58.56px + 59.52px + 60.48px + 61.44px + 62.4px + 63.35px + 64.32px + 65.28px + 66.24px + 67.19px + 68.15px + 69.11px + 70.08px + 71.04px + 72.0px + 72.96px + 73.92px + 74.87px + 75.83px + 76.79px + 77.75px + 78.72px + 79.68px + 80.64px + 81.6px + 82.56px + 83.52px + 84.48px + 85.43px + 86.4px + 87.36px + 88.32px + 89.28px + 90.24px + 91.2px + 92.16px + 93.12px + 94.07px + 95.04px + 96.0px + 96.96px + 97.92px + 98.88px + 99.84px + 100.8px + 101.75px + 102.72px + 103.68px + 104.64px + 105.6px + 106.56px + 107.52px + 108.48px + 109.43px + 110.39px + 111.36px + 112.32px + 113.28px + 114.24px + 115.2px + 116.16px + 117.12px + 118.07px + 119.04px + 120.0px + 120.96px + 121.92px + 122.88px + 123.84px + 124.8px + 125.75px + 126.71px + 127.68px + 128.64px + 129.59px + 130.56px + 131.52px + 132.48px + 133.44px + 134.39px + 135.36px + 136.31px + 137.28px + 138.23px + 139.2px + 140.16px + 141.12px + 142.08px + 143.03px + 144.0px + 144.95px + 145.92px + 146.87px + 147.84px + 148.8px + 149.75px + 150.72px + 151.67px + 152.64px + 153.59px + 154.56px + 155.51px + 156.48px + 157.44px + 158.39px + 159.36px + 160.31px + 161.28px + 162.23px + 163.2px + 164.16px + 165.12px + 166.08px + 167.04px + 168.0px + 168.96px + 169.92px + 170.87px + 171.84px + 172.8px + 173.76px + 174.72px + 175.68px + 176.64px + 177.6px + 178.56px + 179.51px + 180.48px + 181.44px + 182.4px + 183.36px + 184.32px + 185.28px + 186.24px + 187.2px + 188.15px + 189.12px + 190.08px + 191.04px + 192.0px + 192.96px + 193.92px + 194.87px + 195.84px + 196.8px + 197.76px + 198.72px + 199.68px + 200.64px + 201.6px + 202.56px + 203.51px + 204.48px + 205.44px + 206.4px + 207.36px + 208.32px + 209.28px + 210.24px + 211.2px + 212.15px + 213.12px + 214.08px + 215.04px + 216.0px + 216.96px + 217.92px + 218.87px + 219.84px + 220.79px + 221.76px + 222.72px + 223.68px + 224.64px + 225.6px + 226.56px + 227.51px + 228.48px + 229.44px + 230.4px + 231.36px + 232.32px + 233.28px + 234.24px + 235.2px + 236.15px + 237.12px + 238.08px + 239.04px + 240.0px + 240.96px + 241.92px + 242.87px + 243.84px + 244.79px + 245.76px + 246.72px + 247.68px + 248.64px + 249.6px + 250.56px + 251.51px + 252.48px + 253.43px + 254.4px + 255.36px + 256.32px + 257.28px + 258.24px + 259.19px + 260.16px + 261.12px + 262.07px + 263.04px + 264.0px + 264.96px + 265.91px + 266.88px + 267.84px + 268.79px + 269.75px + 270.72px + 271.68px + 272.63px + 273.6px + 274.56px + 275.51px + 276.47px + 277.44px + 278.4px + 279.35px + 280.32px + 281.28px + 282.24px + 283.19px + 284.16px + 285.12px + 286.07px + 287.04px + 288.0px + 288.96px + 289.91px + 290.88px + 291.84px + 292.79px + 293.75px + 294.72px + 295.68px + 296.63px + 297.6px + 298.56px + 299.51px + 300.47px + 301.44px + 302.4px + 303.35px + 304.32px + 305.28px + 306.24px + 307.19px + 308.16px + 309.12px + 310.07px + 311.03px + 312.0px + 312.96px + 313.91px + 314.88px + 315.84px + 316.79px + 317.75px + 318.72px + 319.68px + 320.63px + 321.6px + 322.56px + 323.51px + 324.47px + 325.44px + 326.4px + 327.35px + 328.32px + 329.28px + 330.24px + 331.2px + 332.16px + 333.12px + 334.08px + 335.03px + 336.0px + 336.96px + 337.92px + 338.88px + 339.84px + 340.8px + 341.75px + 342.72px + 343.68px + 344.64px + 345.6px + 346.56px + 347.52px + 348.48px + 349.44px + 350.4px + 351.36px + 352.32px + 353.28px + 354.24px + 355.2px + 356.16px + 357.12px + 358.08px + 359.03px + 360.0px + 360.96px + 361.92px + 362.88px + 363.84px + 364.8px + 365.75px + 366.72px + 367.68px + 368.64px + 369.6px + 370.56px + 371.52px + 372.48px + 373.44px + 374.4px + 375.36px + 376.31px + 377.28px + 378.24px + 379.2px + 380.16px + 381.12px + 382.08px + 383.03px + 384.0px + 384.96px + 385.92px + 386.88px + 387.84px + 388.8px + 389.75px + 390.72px + 391.68px + 392.64px + 393.6px + 394.56px + 395.52px + 396.48px + 397.44px + 398.4px + 399.36px + 400.31px + 401.28px + 402.24px + 403.2px + 404.16px + 405.12px + 406.08px + 407.03px + 408.0px + 408.96px + 409.92px + 410.88px + 411.84px + 412.8px + 413.75px + 414.72px + 415.68px + 416.64px + 417.59px + 418.56px + 419.52px + 420.48px + 421.44px + 422.4px + 423.36px + 424.31px + 425.28px + 426.24px + 427.2px + 428.16px + 429.12px + 430.08px + 431.03px + 432.0px + 432.96px + 433.92px + 434.88px + 435.84px + 436.8px + 437.75px + 438.72px + 439.68px + 440.64px + 441.59px + 442.56px + 443.52px + 444.48px + 445.44px + 446.4px + 447.36px + 448.31px + 449.28px + 450.24px + 451.2px + 452.16px + 453.12px + 454.08px + 455.03px + 456.0px + 456.96px + 457.92px + 458.88px + 459.84px + 460.8px + 461.75px + 462.72px + 463.68px + 464.64px + 465.59px + 466.56px + 467.52px + 468.48px + 469.44px + 470.4px + 471.36px + 472.31px + 473.28px + 474.24px + 475.2px + 476.16px + 477.12px + 478.08px + 479.03px + 480.0px + 480.96px + 481.92px + 482.87px + 483.84px + 484.8px + 485.75px + 486.72px + 487.68px + 488.64px + 489.59px + 490.56px + 491.52px + 492.48px + 493.44px + 494.4px + 495.36px + 496.31px + 497.28px + 498.24px + 499.2px + 500.16px + 501.12px + 502.08px + 503.03px + 504.0px + 504.96px + 505.92px + 506.87px + 507.84px + 508.8px + 509.75px + 510.72px + 511.68px + 512.64px + 513.59px + 514.56px + 515.51px + 516.48px + 517.44px + 518.39px + 519.36px + 520.32px + 521.27px + 522.24px + 523.2px + 524.15px + 525.12px + 526.08px + 527.03px + 528.0px + 528.95px + 529.92px + 530.88px + 531.83px + 532.8px + 533.76px + 534.71px + 535.68px + 536.64px + 537.59px + 538.56px + 539.51px + 540.48px + 541.44px + 542.39px + 543.36px + 544.32px + 545.27px + 546.24px + 547.2px + 548.15px + 549.12px + 550.08px + 551.03px + 552.0px + 552.95px + 553.92px + 554.88px + 555.83px + 556.8px + 557.76px + 558.71px + 559.68px + 560.64px + 561.59px + 562.56px + 563.51px + 564.48px + 565.44px + 566.39px + 567.36px + 568.32px + 569.27px + 570.24px + 571.2px + 572.15px + 573.12px + 574.08px + 575.03px + 576.0px + 576.95px + 577.92px + 578.88px + 579.83px + 580.8px + 581.76px + 582.71px + 583.68px + 584.64px + 585.59px + 586.56px + 587.51px + 588.48px + 589.44px + 590.39px + 591.36px + 592.32px + 593.27px + 594.24px + 595.2px + 596.15px + 597.12px + 598.08px + 599.03px + 600.0px + 600.95px + 601.92px + 602.88px + 603.83px + 604.8px + 605.76px + 606.71px + 607.68px + 608.64px + 609.59px + 610.56px + 611.51px + 612.48px + 613.44px + 614.39px + 615.36px + 616.32px + 617.27px + 618.24px + 619.2px + 620.15px + 621.12px + 622.07px + 623.03px + 624.0px + 624.95px + 625.92px + 626.88px + 627.83px + 628.8px + 629.76px + 630.71px + 631.68px + 632.64px + 633.59px + 634.56px + 635.51px + 636.48px + 637.44px + 638.39px + 639.36px + 640.32px + 641.27px + 642.24px + 643.2px + 644.15px + 645.12px + 646.07px + 647.03px + 648.0px + 648.95px + 649.92px + 650.88px + 651.83px + 652.8px + 653.76px + 654.71px + 655.68px + 656.64px + 657.6px + 658.56px + 659.51px + 660.48px + 661.44px + 662.4px + 663.36px + 664.32px + 665.28px + 666.24px + 667.2px + 668.16px + 669.12px + 670.07px + 671.04px + 672.0px + 672.96px + 673.92px + 674.88px + 675.84px + 676.8px + 677.76px + 678.72px + 679.68px + 680.64px + 681.6px + 682.56px + 683.51px + 684.48px + 685.44px + 686.4px + 687.36px + 688.32px + 689.28px + 690.24px + 691.2px + 692.16px + 693.12px + 694.07px + 695.04px + 696.0px + 696.96px + 697.92px + 698.88px + 699.84px + 700.8px + 701.76px + 702.72px + 703.68px + 704.64px + 705.6px + 706.56px + 707.51px + 708.48px + 709.44px + 710.4px + 711.36px + 712.32px + 713.28px + 714.24px + 715.2px + 716.16px + 717.12px + 718.07px + 719.04px + 720px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1196x720/lay_y.xml b/FaceUnity/src/main/res/values-1196x720/lay_y.xml new file mode 100644 index 000000000..e0fc3da47 --- /dev/null +++ b/FaceUnity/src/main/res/values-1196x720/lay_y.xml @@ -0,0 +1,1337 @@ + + + 0.89px + 1.79px + 2.68px + 3.58px + 4.48px + 5.37px + 6.27px + 7.17px + 8.06px + 8.96px + 9.86px + 10.75px + 11.65px + 12.55px + 13.44px + 14.34px + 15.24px + 16.13px + 17.03px + 17.93px + 18.82px + 19.72px + 20.62px + 21.51px + 22.41px + 23.31px + 24.2px + 25.1px + 26.0px + 26.89px + 27.79px + 28.68px + 29.58px + 30.48px + 31.37px + 32.27px + 33.17px + 34.06px + 34.96px + 35.86px + 36.75px + 37.65px + 38.55px + 39.44px + 40.34px + 41.24px + 42.13px + 43.03px + 43.93px + 44.82px + 45.72px + 46.62px + 47.51px + 48.41px + 49.31px + 50.2px + 51.1px + 52.0px + 52.89px + 53.79px + 54.68px + 55.58px + 56.48px + 57.37px + 58.27px + 59.17px + 60.06px + 60.96px + 61.86px + 62.75px + 63.65px + 64.55px + 65.44px + 66.34px + 67.24px + 68.13px + 69.03px + 69.93px + 70.82px + 71.72px + 72.62px + 73.51px + 74.41px + 75.31px + 76.2px + 77.1px + 78.0px + 78.89px + 79.79px + 80.68px + 81.58px + 82.48px + 83.37px + 84.27px + 85.17px + 86.06px + 86.96px + 87.86px + 88.75px + 89.65px + 90.55px + 91.44px + 92.34px + 93.24px + 94.13px + 95.03px + 95.93px + 96.82px + 97.72px + 98.62px + 99.51px + 100.41px + 101.31px + 102.2px + 103.1px + 104.0px + 104.89px + 105.79px + 106.68px + 107.58px + 108.48px + 109.37px + 110.27px + 111.17px + 112.06px + 112.96px + 113.86px + 114.75px + 115.65px + 116.55px + 117.44px + 118.34px + 119.24px + 120.13px + 121.03px + 121.93px + 122.82px + 123.72px + 124.62px + 125.51px + 126.41px + 127.31px + 128.2px + 129.1px + 130.0px + 130.89px + 131.79px + 132.68px + 133.58px + 134.48px + 135.37px + 136.27px + 137.17px + 138.06px + 138.96px + 139.86px + 140.75px + 141.65px + 142.55px + 143.44px + 144.34px + 145.24px + 146.13px + 147.03px + 147.93px + 148.82px + 149.72px + 150.62px + 151.51px + 152.41px + 153.31px + 154.2px + 155.1px + 156.0px + 156.89px + 157.79px + 158.68px + 159.58px + 160.48px + 161.37px + 162.27px + 163.17px + 164.06px + 164.96px + 165.86px + 166.75px + 167.65px + 168.55px + 169.44px + 170.34px + 171.24px + 172.13px + 173.03px + 173.93px + 174.82px + 175.72px + 176.62px + 177.51px + 178.41px + 179.31px + 180.2px + 181.1px + 182.0px + 182.89px + 183.79px + 184.68px + 185.58px + 186.48px + 187.37px + 188.27px + 189.17px + 190.06px + 190.96px + 191.86px + 192.75px + 193.65px + 194.55px + 195.44px + 196.34px + 197.24px + 198.13px + 199.03px + 199.93px + 200.82px + 201.72px + 202.62px + 203.51px + 204.41px + 205.31px + 206.2px + 207.1px + 208.0px + 208.89px + 209.79px + 210.68px + 211.58px + 212.48px + 213.37px + 214.27px + 215.17px + 216.06px + 216.96px + 217.86px + 218.75px + 219.65px + 220.55px + 221.44px + 222.34px + 223.24px + 224.13px + 225.03px + 225.93px + 226.82px + 227.72px + 228.62px + 229.51px + 230.41px + 231.31px + 232.2px + 233.1px + 234.0px + 234.89px + 235.79px + 236.68px + 237.58px + 238.48px + 239.37px + 240.27px + 241.17px + 242.06px + 242.96px + 243.86px + 244.75px + 245.65px + 246.55px + 247.44px + 248.34px + 249.24px + 250.13px + 251.03px + 251.93px + 252.82px + 253.72px + 254.62px + 255.51px + 256.41px + 257.31px + 258.2px + 259.1px + 260.0px + 260.89px + 261.79px + 262.68px + 263.58px + 264.48px + 265.37px + 266.27px + 267.17px + 268.06px + 268.96px + 269.86px + 270.75px + 271.65px + 272.55px + 273.44px + 274.34px + 275.24px + 276.13px + 277.03px + 277.93px + 278.82px + 279.72px + 280.62px + 281.51px + 282.41px + 283.31px + 284.2px + 285.1px + 286.0px + 286.89px + 287.79px + 288.68px + 289.58px + 290.48px + 291.37px + 292.27px + 293.17px + 294.06px + 294.96px + 295.86px + 296.75px + 297.65px + 298.55px + 299.44px + 300.34px + 301.24px + 302.13px + 303.03px + 303.93px + 304.82px + 305.72px + 306.62px + 307.51px + 308.41px + 309.31px + 310.2px + 311.1px + 312.0px + 312.89px + 313.79px + 314.68px + 315.58px + 316.48px + 317.37px + 318.27px + 319.17px + 320.06px + 320.96px + 321.86px + 322.75px + 323.65px + 324.55px + 325.44px + 326.34px + 327.24px + 328.13px + 329.03px + 329.93px + 330.82px + 331.72px + 332.62px + 333.51px + 334.41px + 335.31px + 336.2px + 337.1px + 338.0px + 338.89px + 339.79px + 340.68px + 341.58px + 342.48px + 343.37px + 344.27px + 345.17px + 346.06px + 346.96px + 347.86px + 348.75px + 349.65px + 350.55px + 351.44px + 352.34px + 353.24px + 354.13px + 355.03px + 355.93px + 356.82px + 357.72px + 358.62px + 359.51px + 360.41px + 361.31px + 362.2px + 363.1px + 364.0px + 364.89px + 365.79px + 366.68px + 367.58px + 368.48px + 369.37px + 370.27px + 371.17px + 372.06px + 372.96px + 373.86px + 374.75px + 375.65px + 376.55px + 377.44px + 378.34px + 379.24px + 380.13px + 381.03px + 381.93px + 382.82px + 383.72px + 384.62px + 385.51px + 386.41px + 387.31px + 388.2px + 389.1px + 390.0px + 390.89px + 391.79px + 392.68px + 393.58px + 394.48px + 395.37px + 396.27px + 397.17px + 398.06px + 398.96px + 399.86px + 400.75px + 401.65px + 402.55px + 403.44px + 404.34px + 405.24px + 406.13px + 407.03px + 407.93px + 408.82px + 409.72px + 410.62px + 411.51px + 412.41px + 413.31px + 414.2px + 415.1px + 416.0px + 416.89px + 417.79px + 418.68px + 419.58px + 420.48px + 421.37px + 422.27px + 423.17px + 424.06px + 424.96px + 425.86px + 426.75px + 427.65px + 428.55px + 429.44px + 430.34px + 431.24px + 432.13px + 433.03px + 433.93px + 434.82px + 435.72px + 436.62px + 437.51px + 438.41px + 439.31px + 440.2px + 441.1px + 442.0px + 442.89px + 443.79px + 444.68px + 445.58px + 446.48px + 447.37px + 448.27px + 449.17px + 450.06px + 450.96px + 451.86px + 452.75px + 453.65px + 454.55px + 455.44px + 456.34px + 457.24px + 458.13px + 459.03px + 459.93px + 460.82px + 461.72px + 462.62px + 463.51px + 464.41px + 465.31px + 466.2px + 467.1px + 468.0px + 468.89px + 469.79px + 470.68px + 471.58px + 472.48px + 473.37px + 474.27px + 475.17px + 476.06px + 476.96px + 477.86px + 478.75px + 479.65px + 480.55px + 481.44px + 482.34px + 483.24px + 484.13px + 485.03px + 485.93px + 486.82px + 487.72px + 488.62px + 489.51px + 490.41px + 491.31px + 492.2px + 493.1px + 494.0px + 494.89px + 495.79px + 496.68px + 497.58px + 498.48px + 499.37px + 500.27px + 501.17px + 502.06px + 502.96px + 503.86px + 504.75px + 505.65px + 506.55px + 507.44px + 508.34px + 509.24px + 510.13px + 511.03px + 511.93px + 512.82px + 513.72px + 514.62px + 515.51px + 516.41px + 517.31px + 518.2px + 519.1px + 520.0px + 520.89px + 521.79px + 522.68px + 523.58px + 524.48px + 525.37px + 526.27px + 527.17px + 528.06px + 528.96px + 529.86px + 530.75px + 531.65px + 532.55px + 533.44px + 534.34px + 535.24px + 536.13px + 537.03px + 537.93px + 538.82px + 539.72px + 540.62px + 541.51px + 542.41px + 543.31px + 544.2px + 545.1px + 546.0px + 546.89px + 547.79px + 548.68px + 549.58px + 550.48px + 551.37px + 552.27px + 553.17px + 554.06px + 554.96px + 555.86px + 556.75px + 557.65px + 558.55px + 559.44px + 560.34px + 561.24px + 562.13px + 563.03px + 563.93px + 564.82px + 565.72px + 566.62px + 567.51px + 568.41px + 569.31px + 570.2px + 571.1px + 572.0px + 572.89px + 573.79px + 574.68px + 575.58px + 576.48px + 577.37px + 578.27px + 579.17px + 580.06px + 580.96px + 581.86px + 582.75px + 583.65px + 584.55px + 585.44px + 586.34px + 587.24px + 588.13px + 589.03px + 589.93px + 590.82px + 591.72px + 592.62px + 593.51px + 594.41px + 595.31px + 596.2px + 597.1px + 598.0px + 598.89px + 599.79px + 600.68px + 601.58px + 602.48px + 603.37px + 604.27px + 605.17px + 606.06px + 606.96px + 607.86px + 608.75px + 609.65px + 610.55px + 611.44px + 612.34px + 613.24px + 614.13px + 615.03px + 615.93px + 616.82px + 617.72px + 618.62px + 619.51px + 620.41px + 621.31px + 622.2px + 623.1px + 624.0px + 624.89px + 625.79px + 626.68px + 627.58px + 628.48px + 629.37px + 630.27px + 631.17px + 632.06px + 632.96px + 633.86px + 634.75px + 635.65px + 636.55px + 637.44px + 638.34px + 639.24px + 640.13px + 641.03px + 641.93px + 642.82px + 643.72px + 644.62px + 645.51px + 646.41px + 647.31px + 648.2px + 649.1px + 650.0px + 650.89px + 651.79px + 652.68px + 653.58px + 654.48px + 655.37px + 656.27px + 657.17px + 658.06px + 658.96px + 659.86px + 660.75px + 661.65px + 662.55px + 663.44px + 664.34px + 665.24px + 666.13px + 667.03px + 667.93px + 668.82px + 669.72px + 670.62px + 671.51px + 672.41px + 673.31px + 674.2px + 675.1px + 676.0px + 676.89px + 677.79px + 678.68px + 679.58px + 680.48px + 681.37px + 682.27px + 683.17px + 684.06px + 684.96px + 685.86px + 686.75px + 687.65px + 688.55px + 689.44px + 690.34px + 691.24px + 692.13px + 693.03px + 693.93px + 694.82px + 695.72px + 696.62px + 697.51px + 698.41px + 699.31px + 700.2px + 701.1px + 702.0px + 702.89px + 703.79px + 704.68px + 705.58px + 706.48px + 707.37px + 708.27px + 709.17px + 710.06px + 710.96px + 711.86px + 712.75px + 713.65px + 714.55px + 715.44px + 716.34px + 717.24px + 718.13px + 719.03px + 719.93px + 720.82px + 721.72px + 722.62px + 723.51px + 724.41px + 725.31px + 726.2px + 727.1px + 728.0px + 728.89px + 729.79px + 730.68px + 731.58px + 732.48px + 733.37px + 734.27px + 735.17px + 736.06px + 736.96px + 737.86px + 738.75px + 739.65px + 740.55px + 741.44px + 742.34px + 743.24px + 744.13px + 745.03px + 745.93px + 746.82px + 747.72px + 748.62px + 749.51px + 750.41px + 751.31px + 752.2px + 753.1px + 754.0px + 754.89px + 755.79px + 756.68px + 757.58px + 758.48px + 759.37px + 760.27px + 761.17px + 762.06px + 762.96px + 763.86px + 764.75px + 765.65px + 766.55px + 767.44px + 768.34px + 769.24px + 770.13px + 771.03px + 771.93px + 772.82px + 773.72px + 774.62px + 775.51px + 776.41px + 777.31px + 778.2px + 779.1px + 780.0px + 780.89px + 781.79px + 782.68px + 783.58px + 784.48px + 785.37px + 786.27px + 787.17px + 788.06px + 788.96px + 789.86px + 790.75px + 791.65px + 792.55px + 793.44px + 794.34px + 795.24px + 796.13px + 797.03px + 797.93px + 798.82px + 799.72px + 800.62px + 801.51px + 802.41px + 803.31px + 804.2px + 805.1px + 806.0px + 806.89px + 807.79px + 808.68px + 809.58px + 810.48px + 811.37px + 812.27px + 813.17px + 814.06px + 814.96px + 815.86px + 816.75px + 817.65px + 818.55px + 819.44px + 820.34px + 821.24px + 822.13px + 823.03px + 823.93px + 824.82px + 825.72px + 826.62px + 827.51px + 828.41px + 829.31px + 830.2px + 831.1px + 832.0px + 832.89px + 833.79px + 834.68px + 835.58px + 836.48px + 837.37px + 838.27px + 839.17px + 840.06px + 840.96px + 841.86px + 842.75px + 843.65px + 844.55px + 845.44px + 846.34px + 847.24px + 848.13px + 849.03px + 849.93px + 850.82px + 851.72px + 852.62px + 853.51px + 854.41px + 855.31px + 856.2px + 857.1px + 858.0px + 858.89px + 859.79px + 860.68px + 861.58px + 862.48px + 863.37px + 864.27px + 865.17px + 866.06px + 866.96px + 867.86px + 868.75px + 869.65px + 870.55px + 871.44px + 872.34px + 873.24px + 874.13px + 875.03px + 875.93px + 876.82px + 877.72px + 878.62px + 879.51px + 880.41px + 881.31px + 882.2px + 883.1px + 884.0px + 884.89px + 885.79px + 886.68px + 887.58px + 888.48px + 889.37px + 890.27px + 891.17px + 892.06px + 892.96px + 893.86px + 894.75px + 895.65px + 896.55px + 897.44px + 898.34px + 899.24px + 900.13px + 901.03px + 901.93px + 902.82px + 903.72px + 904.62px + 905.51px + 906.41px + 907.31px + 908.2px + 909.1px + 910.0px + 910.89px + 911.79px + 912.68px + 913.58px + 914.48px + 915.37px + 916.27px + 917.17px + 918.06px + 918.96px + 919.86px + 920.75px + 921.65px + 922.55px + 923.44px + 924.34px + 925.24px + 926.13px + 927.03px + 927.93px + 928.82px + 929.72px + 930.62px + 931.51px + 932.41px + 933.31px + 934.2px + 935.1px + 936.0px + 936.89px + 937.79px + 938.68px + 939.58px + 940.48px + 941.37px + 942.27px + 943.17px + 944.06px + 944.96px + 945.86px + 946.75px + 947.65px + 948.55px + 949.44px + 950.34px + 951.24px + 952.13px + 953.03px + 953.93px + 954.82px + 955.72px + 956.62px + 957.51px + 958.41px + 959.31px + 960.2px + 961.1px + 962.0px + 962.89px + 963.79px + 964.68px + 965.58px + 966.48px + 967.37px + 968.27px + 969.17px + 970.06px + 970.96px + 971.86px + 972.75px + 973.65px + 974.55px + 975.44px + 976.34px + 977.24px + 978.13px + 979.03px + 979.93px + 980.82px + 981.72px + 982.62px + 983.51px + 984.41px + 985.31px + 986.2px + 987.1px + 988.0px + 988.89px + 989.79px + 990.68px + 991.58px + 992.48px + 993.37px + 994.27px + 995.17px + 996.06px + 996.96px + 997.86px + 998.75px + 999.65px + 1000.55px + 1001.44px + 1002.34px + 1003.24px + 1004.13px + 1005.03px + 1005.93px + 1006.82px + 1007.72px + 1008.62px + 1009.51px + 1010.41px + 1011.31px + 1012.2px + 1013.1px + 1014.0px + 1014.89px + 1015.79px + 1016.68px + 1017.58px + 1018.48px + 1019.37px + 1020.27px + 1021.17px + 1022.06px + 1022.96px + 1023.86px + 1024.75px + 1025.65px + 1026.55px + 1027.44px + 1028.34px + 1029.24px + 1030.13px + 1031.03px + 1031.93px + 1032.82px + 1033.72px + 1034.62px + 1035.51px + 1036.41px + 1037.31px + 1038.2px + 1039.1px + 1040.0px + 1040.89px + 1041.79px + 1042.68px + 1043.58px + 1044.48px + 1045.37px + 1046.27px + 1047.17px + 1048.06px + 1048.96px + 1049.86px + 1050.75px + 1051.65px + 1052.55px + 1053.44px + 1054.34px + 1055.24px + 1056.13px + 1057.03px + 1057.93px + 1058.82px + 1059.72px + 1060.62px + 1061.51px + 1062.41px + 1063.31px + 1064.2px + 1065.1px + 1066.0px + 1066.89px + 1067.79px + 1068.68px + 1069.58px + 1070.48px + 1071.37px + 1072.27px + 1073.17px + 1074.06px + 1074.96px + 1075.86px + 1076.75px + 1077.65px + 1078.55px + 1079.44px + 1080.34px + 1081.24px + 1082.13px + 1083.03px + 1083.93px + 1084.82px + 1085.72px + 1086.62px + 1087.51px + 1088.41px + 1089.31px + 1090.2px + 1091.1px + 1092.0px + 1092.89px + 1093.79px + 1094.68px + 1095.58px + 1096.48px + 1097.37px + 1098.27px + 1099.17px + 1100.06px + 1100.96px + 1101.86px + 1102.75px + 1103.65px + 1104.55px + 1105.44px + 1106.34px + 1107.24px + 1108.13px + 1109.03px + 1109.93px + 1110.82px + 1111.72px + 1112.62px + 1113.51px + 1114.41px + 1115.31px + 1116.2px + 1117.1px + 1118.0px + 1118.89px + 1119.79px + 1120.68px + 1121.58px + 1122.48px + 1123.37px + 1124.27px + 1125.17px + 1126.06px + 1126.96px + 1127.86px + 1128.75px + 1129.65px + 1130.55px + 1131.44px + 1132.34px + 1133.24px + 1134.13px + 1135.03px + 1135.93px + 1136.82px + 1137.72px + 1138.62px + 1139.51px + 1140.41px + 1141.31px + 1142.2px + 1143.1px + 1144.0px + 1144.89px + 1145.79px + 1146.68px + 1147.58px + 1148.48px + 1149.37px + 1150.27px + 1151.17px + 1152.06px + 1152.96px + 1153.86px + 1154.75px + 1155.65px + 1156.55px + 1157.44px + 1158.34px + 1159.24px + 1160.13px + 1161.03px + 1161.93px + 1162.82px + 1163.72px + 1164.62px + 1165.51px + 1166.41px + 1167.31px + 1168.2px + 1169.1px + 1170.0px + 1170.89px + 1171.79px + 1172.68px + 1173.58px + 1174.48px + 1175.37px + 1176.27px + 1177.17px + 1178.06px + 1178.96px + 1179.86px + 1180.75px + 1181.65px + 1182.55px + 1183.44px + 1184.34px + 1185.24px + 1186.13px + 1187.03px + 1187.93px + 1188.82px + 1189.72px + 1190.62px + 1191.51px + 1192.41px + 1193.31px + 1194.2px + 1195.1px + 1196px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1280x720/lay_x.xml b/FaceUnity/src/main/res/values-1280x720/lay_x.xml new file mode 100644 index 000000000..80d38bd83 --- /dev/null +++ b/FaceUnity/src/main/res/values-1280x720/lay_x.xml @@ -0,0 +1,753 @@ + + + 0.96px + 1.92px + 2.88px + 3.84px + 4.79px + 5.76px + 6.72px + 7.68px + 8.63px + 9.59px + 10.56px + 11.52px + 12.48px + 13.44px + 14.4px + 15.36px + 16.32px + 17.27px + 18.24px + 19.19px + 20.16px + 21.12px + 22.08px + 23.04px + 24.0px + 24.96px + 25.92px + 26.88px + 27.84px + 28.8px + 29.76px + 30.72px + 31.67px + 32.64px + 33.59px + 34.55px + 35.52px + 36.48px + 37.43px + 38.39px + 39.36px + 40.32px + 41.28px + 42.24px + 43.2px + 44.16px + 45.12px + 46.08px + 47.03px + 48.0px + 48.96px + 49.92px + 50.87px + 51.84px + 52.8px + 53.76px + 54.71px + 55.68px + 56.64px + 57.6px + 58.56px + 59.52px + 60.48px + 61.44px + 62.4px + 63.35px + 64.32px + 65.28px + 66.24px + 67.19px + 68.15px + 69.11px + 70.08px + 71.04px + 72.0px + 72.96px + 73.92px + 74.87px + 75.83px + 76.79px + 77.75px + 78.72px + 79.68px + 80.64px + 81.6px + 82.56px + 83.52px + 84.48px + 85.43px + 86.4px + 87.36px + 88.32px + 89.28px + 90.24px + 91.2px + 92.16px + 93.12px + 94.07px + 95.04px + 96.0px + 96.96px + 97.92px + 98.88px + 99.84px + 100.8px + 101.75px + 102.72px + 103.68px + 104.64px + 105.6px + 106.56px + 107.52px + 108.48px + 109.43px + 110.39px + 111.36px + 112.32px + 113.28px + 114.24px + 115.2px + 116.16px + 117.12px + 118.07px + 119.04px + 120.0px + 120.96px + 121.92px + 122.88px + 123.84px + 124.8px + 125.75px + 126.71px + 127.68px + 128.64px + 129.59px + 130.56px + 131.52px + 132.48px + 133.44px + 134.39px + 135.36px + 136.31px + 137.28px + 138.23px + 139.2px + 140.16px + 141.12px + 142.08px + 143.03px + 144.0px + 144.95px + 145.92px + 146.87px + 147.84px + 148.8px + 149.75px + 150.72px + 151.67px + 152.64px + 153.59px + 154.56px + 155.51px + 156.48px + 157.44px + 158.39px + 159.36px + 160.31px + 161.28px + 162.23px + 163.2px + 164.16px + 165.12px + 166.08px + 167.04px + 168.0px + 168.96px + 169.92px + 170.87px + 171.84px + 172.8px + 173.76px + 174.72px + 175.68px + 176.64px + 177.6px + 178.56px + 179.51px + 180.48px + 181.44px + 182.4px + 183.36px + 184.32px + 185.28px + 186.24px + 187.2px + 188.15px + 189.12px + 190.08px + 191.04px + 192.0px + 192.96px + 193.92px + 194.87px + 195.84px + 196.8px + 197.76px + 198.72px + 199.68px + 200.64px + 201.6px + 202.56px + 203.51px + 204.48px + 205.44px + 206.4px + 207.36px + 208.32px + 209.28px + 210.24px + 211.2px + 212.15px + 213.12px + 214.08px + 215.04px + 216.0px + 216.96px + 217.92px + 218.87px + 219.84px + 220.79px + 221.76px + 222.72px + 223.68px + 224.64px + 225.6px + 226.56px + 227.51px + 228.48px + 229.44px + 230.4px + 231.36px + 232.32px + 233.28px + 234.24px + 235.2px + 236.15px + 237.12px + 238.08px + 239.04px + 240.0px + 240.96px + 241.92px + 242.87px + 243.84px + 244.79px + 245.76px + 246.72px + 247.68px + 248.64px + 249.6px + 250.56px + 251.51px + 252.48px + 253.43px + 254.4px + 255.36px + 256.32px + 257.28px + 258.24px + 259.19px + 260.16px + 261.12px + 262.07px + 263.04px + 264.0px + 264.96px + 265.91px + 266.88px + 267.84px + 268.79px + 269.75px + 270.72px + 271.68px + 272.63px + 273.6px + 274.56px + 275.51px + 276.47px + 277.44px + 278.4px + 279.35px + 280.32px + 281.28px + 282.24px + 283.19px + 284.16px + 285.12px + 286.07px + 287.04px + 288.0px + 288.96px + 289.91px + 290.88px + 291.84px + 292.79px + 293.75px + 294.72px + 295.68px + 296.63px + 297.6px + 298.56px + 299.51px + 300.47px + 301.44px + 302.4px + 303.35px + 304.32px + 305.28px + 306.24px + 307.19px + 308.16px + 309.12px + 310.07px + 311.03px + 312.0px + 312.96px + 313.91px + 314.88px + 315.84px + 316.79px + 317.75px + 318.72px + 319.68px + 320.63px + 321.6px + 322.56px + 323.51px + 324.47px + 325.44px + 326.4px + 327.35px + 328.32px + 329.28px + 330.24px + 331.2px + 332.16px + 333.12px + 334.08px + 335.03px + 336.0px + 336.96px + 337.92px + 338.88px + 339.84px + 340.8px + 341.75px + 342.72px + 343.68px + 344.64px + 345.6px + 346.56px + 347.52px + 348.48px + 349.44px + 350.4px + 351.36px + 352.32px + 353.28px + 354.24px + 355.2px + 356.16px + 357.12px + 358.08px + 359.03px + 360.0px + 360.96px + 361.92px + 362.88px + 363.84px + 364.8px + 365.75px + 366.72px + 367.68px + 368.64px + 369.6px + 370.56px + 371.52px + 372.48px + 373.44px + 374.4px + 375.36px + 376.31px + 377.28px + 378.24px + 379.2px + 380.16px + 381.12px + 382.08px + 383.03px + 384.0px + 384.96px + 385.92px + 386.88px + 387.84px + 388.8px + 389.75px + 390.72px + 391.68px + 392.64px + 393.6px + 394.56px + 395.52px + 396.48px + 397.44px + 398.4px + 399.36px + 400.31px + 401.28px + 402.24px + 403.2px + 404.16px + 405.12px + 406.08px + 407.03px + 408.0px + 408.96px + 409.92px + 410.88px + 411.84px + 412.8px + 413.75px + 414.72px + 415.68px + 416.64px + 417.59px + 418.56px + 419.52px + 420.48px + 421.44px + 422.4px + 423.36px + 424.31px + 425.28px + 426.24px + 427.2px + 428.16px + 429.12px + 430.08px + 431.03px + 432.0px + 432.96px + 433.92px + 434.88px + 435.84px + 436.8px + 437.75px + 438.72px + 439.68px + 440.64px + 441.59px + 442.56px + 443.52px + 444.48px + 445.44px + 446.4px + 447.36px + 448.31px + 449.28px + 450.24px + 451.2px + 452.16px + 453.12px + 454.08px + 455.03px + 456.0px + 456.96px + 457.92px + 458.88px + 459.84px + 460.8px + 461.75px + 462.72px + 463.68px + 464.64px + 465.59px + 466.56px + 467.52px + 468.48px + 469.44px + 470.4px + 471.36px + 472.31px + 473.28px + 474.24px + 475.2px + 476.16px + 477.12px + 478.08px + 479.03px + 480.0px + 480.96px + 481.92px + 482.87px + 483.84px + 484.8px + 485.75px + 486.72px + 487.68px + 488.64px + 489.59px + 490.56px + 491.52px + 492.48px + 493.44px + 494.4px + 495.36px + 496.31px + 497.28px + 498.24px + 499.2px + 500.16px + 501.12px + 502.08px + 503.03px + 504.0px + 504.96px + 505.92px + 506.87px + 507.84px + 508.8px + 509.75px + 510.72px + 511.68px + 512.64px + 513.59px + 514.56px + 515.51px + 516.48px + 517.44px + 518.39px + 519.36px + 520.32px + 521.27px + 522.24px + 523.2px + 524.15px + 525.12px + 526.08px + 527.03px + 528.0px + 528.95px + 529.92px + 530.88px + 531.83px + 532.8px + 533.76px + 534.71px + 535.68px + 536.64px + 537.59px + 538.56px + 539.51px + 540.48px + 541.44px + 542.39px + 543.36px + 544.32px + 545.27px + 546.24px + 547.2px + 548.15px + 549.12px + 550.08px + 551.03px + 552.0px + 552.95px + 553.92px + 554.88px + 555.83px + 556.8px + 557.76px + 558.71px + 559.68px + 560.64px + 561.59px + 562.56px + 563.51px + 564.48px + 565.44px + 566.39px + 567.36px + 568.32px + 569.27px + 570.24px + 571.2px + 572.15px + 573.12px + 574.08px + 575.03px + 576.0px + 576.95px + 577.92px + 578.88px + 579.83px + 580.8px + 581.76px + 582.71px + 583.68px + 584.64px + 585.59px + 586.56px + 587.51px + 588.48px + 589.44px + 590.39px + 591.36px + 592.32px + 593.27px + 594.24px + 595.2px + 596.15px + 597.12px + 598.08px + 599.03px + 600.0px + 600.95px + 601.92px + 602.88px + 603.83px + 604.8px + 605.76px + 606.71px + 607.68px + 608.64px + 609.59px + 610.56px + 611.51px + 612.48px + 613.44px + 614.39px + 615.36px + 616.32px + 617.27px + 618.24px + 619.2px + 620.15px + 621.12px + 622.07px + 623.03px + 624.0px + 624.95px + 625.92px + 626.88px + 627.83px + 628.8px + 629.76px + 630.71px + 631.68px + 632.64px + 633.59px + 634.56px + 635.51px + 636.48px + 637.44px + 638.39px + 639.36px + 640.32px + 641.27px + 642.24px + 643.2px + 644.15px + 645.12px + 646.07px + 647.03px + 648.0px + 648.95px + 649.92px + 650.88px + 651.83px + 652.8px + 653.76px + 654.71px + 655.68px + 656.64px + 657.6px + 658.56px + 659.51px + 660.48px + 661.44px + 662.4px + 663.36px + 664.32px + 665.28px + 666.24px + 667.2px + 668.16px + 669.12px + 670.07px + 671.04px + 672.0px + 672.96px + 673.92px + 674.88px + 675.84px + 676.8px + 677.76px + 678.72px + 679.68px + 680.64px + 681.6px + 682.56px + 683.51px + 684.48px + 685.44px + 686.4px + 687.36px + 688.32px + 689.28px + 690.24px + 691.2px + 692.16px + 693.12px + 694.07px + 695.04px + 696.0px + 696.96px + 697.92px + 698.88px + 699.84px + 700.8px + 701.76px + 702.72px + 703.68px + 704.64px + 705.6px + 706.56px + 707.51px + 708.48px + 709.44px + 710.4px + 711.36px + 712.32px + 713.28px + 714.24px + 715.2px + 716.16px + 717.12px + 718.07px + 719.04px + 720px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1280x720/lay_y.xml b/FaceUnity/src/main/res/values-1280x720/lay_y.xml new file mode 100644 index 000000000..1d5624b5d --- /dev/null +++ b/FaceUnity/src/main/res/values-1280x720/lay_y.xml @@ -0,0 +1,1337 @@ + + + 0.95px + 1.91px + 2.87px + 3.83px + 4.79px + 5.75px + 6.71px + 7.67px + 8.63px + 9.59px + 10.55px + 11.51px + 12.47px + 13.43px + 14.39px + 15.35px + 16.31px + 17.27px + 18.23px + 19.19px + 20.14px + 21.1px + 22.06px + 23.02px + 23.98px + 24.94px + 25.9px + 26.86px + 27.82px + 28.78px + 29.74px + 30.7px + 31.66px + 32.62px + 33.58px + 34.54px + 35.5px + 36.46px + 37.42px + 38.38px + 39.34px + 40.29px + 41.25px + 42.21px + 43.17px + 44.13px + 45.09px + 46.05px + 47.01px + 47.97px + 48.93px + 49.89px + 50.85px + 51.81px + 52.77px + 53.73px + 54.69px + 55.65px + 56.61px + 57.57px + 58.53px + 59.49px + 60.44px + 61.4px + 62.36px + 63.32px + 64.28px + 65.24px + 66.2px + 67.16px + 68.12px + 69.08px + 70.04px + 71.0px + 71.96px + 72.92px + 73.88px + 74.84px + 75.8px + 76.76px + 77.72px + 78.68px + 79.64px + 80.59px + 81.55px + 82.51px + 83.47px + 84.43px + 85.39px + 86.35px + 87.31px + 88.27px + 89.23px + 90.19px + 91.15px + 92.11px + 93.07px + 94.03px + 94.99px + 95.95px + 96.91px + 97.87px + 98.83px + 99.79px + 100.74px + 101.7px + 102.66px + 103.62px + 104.58px + 105.54px + 106.5px + 107.46px + 108.42px + 109.38px + 110.34px + 111.3px + 112.26px + 113.22px + 114.18px + 115.14px + 116.1px + 117.06px + 118.02px + 118.98px + 119.94px + 120.89px + 121.85px + 122.81px + 123.77px + 124.73px + 125.69px + 126.65px + 127.61px + 128.57px + 129.53px + 130.49px + 131.45px + 132.41px + 133.37px + 134.33px + 135.29px + 136.25px + 137.21px + 138.17px + 139.13px + 140.08px + 141.04px + 142.0px + 142.96px + 143.92px + 144.88px + 145.84px + 146.8px + 147.76px + 148.72px + 149.68px + 150.64px + 151.6px + 152.56px + 153.52px + 154.48px + 155.44px + 156.4px + 157.36px + 158.32px + 159.28px + 160.23px + 161.19px + 162.15px + 163.11px + 164.07px + 165.03px + 165.99px + 166.95px + 167.91px + 168.87px + 169.83px + 170.79px + 171.75px + 172.71px + 173.67px + 174.63px + 175.59px + 176.55px + 177.51px + 178.47px + 179.43px + 180.38px + 181.34px + 182.3px + 183.26px + 184.22px + 185.18px + 186.14px + 187.1px + 188.06px + 189.02px + 189.98px + 190.94px + 191.9px + 192.86px + 193.82px + 194.78px + 195.74px + 196.7px + 197.66px + 198.62px + 199.58px + 200.53px + 201.49px + 202.45px + 203.41px + 204.37px + 205.33px + 206.29px + 207.25px + 208.21px + 209.17px + 210.13px + 211.09px + 212.05px + 213.01px + 213.97px + 214.93px + 215.89px + 216.85px + 217.81px + 218.77px + 219.73px + 220.68px + 221.64px + 222.6px + 223.56px + 224.52px + 225.48px + 226.44px + 227.4px + 228.36px + 229.32px + 230.28px + 231.24px + 232.2px + 233.16px + 234.12px + 235.08px + 236.04px + 237.0px + 237.96px + 238.92px + 239.88px + 240.83px + 241.79px + 242.75px + 243.71px + 244.67px + 245.63px + 246.59px + 247.55px + 248.51px + 249.47px + 250.43px + 251.39px + 252.35px + 253.31px + 254.27px + 255.23px + 256.19px + 257.15px + 258.11px + 259.07px + 260.02px + 260.98px + 261.94px + 262.9px + 263.86px + 264.82px + 265.78px + 266.74px + 267.7px + 268.66px + 269.62px + 270.58px + 271.54px + 272.5px + 273.46px + 274.42px + 275.38px + 276.34px + 277.3px + 278.26px + 279.22px + 280.17px + 281.13px + 282.09px + 283.05px + 284.01px + 284.97px + 285.93px + 286.89px + 287.85px + 288.81px + 289.77px + 290.73px + 291.69px + 292.65px + 293.61px + 294.57px + 295.53px + 296.49px + 297.45px + 298.41px + 299.37px + 300.32px + 301.28px + 302.24px + 303.2px + 304.16px + 305.12px + 306.08px + 307.04px + 308.0px + 308.96px + 309.92px + 310.88px + 311.84px + 312.8px + 313.76px + 314.72px + 315.68px + 316.64px + 317.6px + 318.56px + 319.52px + 320.47px + 321.43px + 322.39px + 323.35px + 324.31px + 325.27px + 326.23px + 327.19px + 328.15px + 329.11px + 330.07px + 331.03px + 331.99px + 332.95px + 333.91px + 334.87px + 335.83px + 336.79px + 337.75px + 338.71px + 339.67px + 340.62px + 341.58px + 342.54px + 343.5px + 344.46px + 345.42px + 346.38px + 347.34px + 348.3px + 349.26px + 350.22px + 351.18px + 352.14px + 353.1px + 354.06px + 355.02px + 355.98px + 356.94px + 357.9px + 358.86px + 359.82px + 360.77px + 361.73px + 362.69px + 363.65px + 364.61px + 365.57px + 366.53px + 367.49px + 368.45px + 369.41px + 370.37px + 371.33px + 372.29px + 373.25px + 374.21px + 375.17px + 376.13px + 377.09px + 378.05px + 379.01px + 379.97px + 380.92px + 381.88px + 382.84px + 383.8px + 384.76px + 385.72px + 386.68px + 387.64px + 388.6px + 389.56px + 390.52px + 391.48px + 392.44px + 393.4px + 394.36px + 395.32px + 396.28px + 397.24px + 398.2px + 399.16px + 400.11px + 401.07px + 402.03px + 402.99px + 403.95px + 404.91px + 405.87px + 406.83px + 407.79px + 408.75px + 409.71px + 410.67px + 411.63px + 412.59px + 413.55px + 414.51px + 415.47px + 416.43px + 417.39px + 418.35px + 419.31px + 420.26px + 421.22px + 422.18px + 423.14px + 424.1px + 425.06px + 426.02px + 426.98px + 427.94px + 428.9px + 429.86px + 430.82px + 431.78px + 432.74px + 433.7px + 434.66px + 435.62px + 436.58px + 437.54px + 438.5px + 439.46px + 440.41px + 441.37px + 442.33px + 443.29px + 444.25px + 445.21px + 446.17px + 447.13px + 448.09px + 449.05px + 450.01px + 450.97px + 451.93px + 452.89px + 453.85px + 454.81px + 455.77px + 456.73px + 457.69px + 458.65px + 459.61px + 460.56px + 461.52px + 462.48px + 463.44px + 464.4px + 465.36px + 466.32px + 467.28px + 468.24px + 469.2px + 470.16px + 471.12px + 472.08px + 473.04px + 474.0px + 474.96px + 475.92px + 476.88px + 477.84px + 478.8px + 479.76px + 480.71px + 481.67px + 482.63px + 483.59px + 484.55px + 485.51px + 486.47px + 487.43px + 488.39px + 489.35px + 490.31px + 491.27px + 492.23px + 493.19px + 494.15px + 495.11px + 496.07px + 497.03px + 497.99px + 498.95px + 499.91px + 500.86px + 501.82px + 502.78px + 503.74px + 504.7px + 505.66px + 506.62px + 507.58px + 508.54px + 509.5px + 510.46px + 511.42px + 512.38px + 513.34px + 514.3px + 515.26px + 516.22px + 517.18px + 518.14px + 519.1px + 520.05px + 521.01px + 521.97px + 522.93px + 523.89px + 524.85px + 525.81px + 526.77px + 527.73px + 528.69px + 529.65px + 530.61px + 531.57px + 532.53px + 533.49px + 534.45px + 535.41px + 536.37px + 537.33px + 538.29px + 539.25px + 540.2px + 541.16px + 542.12px + 543.08px + 544.04px + 545.0px + 545.96px + 546.92px + 547.88px + 548.84px + 549.8px + 550.76px + 551.72px + 552.68px + 553.64px + 554.6px + 555.56px + 556.52px + 557.48px + 558.44px + 559.4px + 560.35px + 561.31px + 562.27px + 563.23px + 564.19px + 565.15px + 566.11px + 567.07px + 568.03px + 568.99px + 569.95px + 570.91px + 571.87px + 572.83px + 573.79px + 574.75px + 575.71px + 576.67px + 577.63px + 578.59px + 579.55px + 580.5px + 581.46px + 582.42px + 583.38px + 584.34px + 585.3px + 586.26px + 587.22px + 588.18px + 589.14px + 590.1px + 591.06px + 592.02px + 592.98px + 593.94px + 594.9px + 595.86px + 596.82px + 597.78px + 598.74px + 599.7px + 600.65px + 601.61px + 602.57px + 603.53px + 604.49px + 605.45px + 606.41px + 607.37px + 608.33px + 609.29px + 610.25px + 611.21px + 612.17px + 613.13px + 614.09px + 615.05px + 616.01px + 616.97px + 617.93px + 618.89px + 619.85px + 620.8px + 621.76px + 622.72px + 623.68px + 624.64px + 625.6px + 626.56px + 627.52px + 628.48px + 629.44px + 630.4px + 631.36px + 632.32px + 633.28px + 634.24px + 635.2px + 636.16px + 637.12px + 638.08px + 639.04px + 640.0px + 640.95px + 641.91px + 642.87px + 643.83px + 644.79px + 645.75px + 646.71px + 647.67px + 648.63px + 649.59px + 650.55px + 651.51px + 652.47px + 653.43px + 654.39px + 655.35px + 656.31px + 657.27px + 658.23px + 659.19px + 660.14px + 661.1px + 662.06px + 663.02px + 663.98px + 664.94px + 665.9px + 666.86px + 667.82px + 668.78px + 669.74px + 670.7px + 671.66px + 672.62px + 673.58px + 674.54px + 675.5px + 676.46px + 677.42px + 678.38px + 679.34px + 680.29px + 681.25px + 682.21px + 683.17px + 684.13px + 685.09px + 686.05px + 687.01px + 687.97px + 688.93px + 689.89px + 690.85px + 691.81px + 692.77px + 693.73px + 694.69px + 695.65px + 696.61px + 697.57px + 698.53px + 699.49px + 700.44px + 701.4px + 702.36px + 703.32px + 704.28px + 705.24px + 706.2px + 707.16px + 708.12px + 709.08px + 710.04px + 711.0px + 711.96px + 712.92px + 713.88px + 714.84px + 715.8px + 716.76px + 717.72px + 718.68px + 719.64px + 720.59px + 721.55px + 722.51px + 723.47px + 724.43px + 725.39px + 726.35px + 727.31px + 728.27px + 729.23px + 730.19px + 731.15px + 732.11px + 733.07px + 734.03px + 734.99px + 735.95px + 736.91px + 737.87px + 738.83px + 739.79px + 740.74px + 741.7px + 742.66px + 743.62px + 744.58px + 745.54px + 746.5px + 747.46px + 748.42px + 749.38px + 750.34px + 751.3px + 752.26px + 753.22px + 754.18px + 755.14px + 756.1px + 757.06px + 758.02px + 758.98px + 759.94px + 760.89px + 761.85px + 762.81px + 763.77px + 764.73px + 765.69px + 766.65px + 767.61px + 768.57px + 769.53px + 770.49px + 771.45px + 772.41px + 773.37px + 774.33px + 775.29px + 776.25px + 777.21px + 778.17px + 779.13px + 780.09px + 781.04px + 782.0px + 782.96px + 783.92px + 784.88px + 785.84px + 786.8px + 787.76px + 788.72px + 789.68px + 790.64px + 791.6px + 792.56px + 793.52px + 794.48px + 795.44px + 796.4px + 797.36px + 798.32px + 799.28px + 800.23px + 801.19px + 802.15px + 803.11px + 804.07px + 805.03px + 805.99px + 806.95px + 807.91px + 808.87px + 809.83px + 810.79px + 811.75px + 812.71px + 813.67px + 814.63px + 815.59px + 816.55px + 817.51px + 818.47px + 819.43px + 820.38px + 821.34px + 822.3px + 823.26px + 824.22px + 825.18px + 826.14px + 827.1px + 828.06px + 829.02px + 829.98px + 830.94px + 831.9px + 832.86px + 833.82px + 834.78px + 835.74px + 836.7px + 837.66px + 838.62px + 839.58px + 840.53px + 841.49px + 842.45px + 843.41px + 844.37px + 845.33px + 846.29px + 847.25px + 848.21px + 849.17px + 850.13px + 851.09px + 852.05px + 853.01px + 853.97px + 854.93px + 855.89px + 856.85px + 857.81px + 858.77px + 859.73px + 860.68px + 861.64px + 862.6px + 863.56px + 864.52px + 865.48px + 866.44px + 867.4px + 868.36px + 869.32px + 870.28px + 871.24px + 872.2px + 873.16px + 874.12px + 875.08px + 876.04px + 877.0px + 877.96px + 878.92px + 879.88px + 880.83px + 881.79px + 882.75px + 883.71px + 884.67px + 885.63px + 886.59px + 887.55px + 888.51px + 889.47px + 890.43px + 891.39px + 892.35px + 893.31px + 894.27px + 895.23px + 896.19px + 897.15px + 898.11px + 899.07px + 900.03px + 900.98px + 901.94px + 902.9px + 903.86px + 904.82px + 905.78px + 906.74px + 907.7px + 908.66px + 909.62px + 910.58px + 911.54px + 912.5px + 913.46px + 914.42px + 915.38px + 916.34px + 917.3px + 918.26px + 919.22px + 920.17px + 921.13px + 922.09px + 923.05px + 924.01px + 924.97px + 925.93px + 926.89px + 927.85px + 928.81px + 929.77px + 930.73px + 931.69px + 932.65px + 933.61px + 934.57px + 935.53px + 936.49px + 937.45px + 938.41px + 939.37px + 940.32px + 941.28px + 942.24px + 943.2px + 944.16px + 945.12px + 946.08px + 947.04px + 948.0px + 948.96px + 949.92px + 950.88px + 951.84px + 952.8px + 953.76px + 954.72px + 955.68px + 956.64px + 957.6px + 958.56px + 959.52px + 960.47px + 961.43px + 962.39px + 963.35px + 964.31px + 965.27px + 966.23px + 967.19px + 968.15px + 969.11px + 970.07px + 971.03px + 971.99px + 972.95px + 973.91px + 974.87px + 975.83px + 976.79px + 977.75px + 978.71px + 979.67px + 980.62px + 981.58px + 982.54px + 983.5px + 984.46px + 985.42px + 986.38px + 987.34px + 988.3px + 989.26px + 990.22px + 991.18px + 992.14px + 993.1px + 994.06px + 995.02px + 995.98px + 996.94px + 997.9px + 998.86px + 999.82px + 1000.77px + 1001.73px + 1002.69px + 1003.65px + 1004.61px + 1005.57px + 1006.53px + 1007.49px + 1008.45px + 1009.41px + 1010.37px + 1011.33px + 1012.29px + 1013.25px + 1014.21px + 1015.17px + 1016.13px + 1017.09px + 1018.05px + 1019.01px + 1019.97px + 1020.92px + 1021.88px + 1022.84px + 1023.8px + 1024.76px + 1025.72px + 1026.68px + 1027.64px + 1028.6px + 1029.56px + 1030.52px + 1031.48px + 1032.44px + 1033.4px + 1034.36px + 1035.32px + 1036.28px + 1037.24px + 1038.2px + 1039.16px + 1040.11px + 1041.07px + 1042.03px + 1042.99px + 1043.95px + 1044.91px + 1045.87px + 1046.83px + 1047.79px + 1048.75px + 1049.71px + 1050.67px + 1051.63px + 1052.59px + 1053.55px + 1054.51px + 1055.47px + 1056.43px + 1057.39px + 1058.35px + 1059.31px + 1060.26px + 1061.22px + 1062.18px + 1063.14px + 1064.1px + 1065.06px + 1066.02px + 1066.98px + 1067.94px + 1068.9px + 1069.86px + 1070.82px + 1071.78px + 1072.74px + 1073.7px + 1074.66px + 1075.62px + 1076.58px + 1077.54px + 1078.5px + 1079.46px + 1080.41px + 1081.37px + 1082.33px + 1083.29px + 1084.25px + 1085.21px + 1086.17px + 1087.13px + 1088.09px + 1089.05px + 1090.01px + 1090.97px + 1091.93px + 1092.89px + 1093.85px + 1094.81px + 1095.77px + 1096.73px + 1097.69px + 1098.65px + 1099.61px + 1100.56px + 1101.52px + 1102.48px + 1103.44px + 1104.4px + 1105.36px + 1106.32px + 1107.28px + 1108.24px + 1109.2px + 1110.16px + 1111.12px + 1112.08px + 1113.04px + 1114.0px + 1114.96px + 1115.92px + 1116.88px + 1117.84px + 1118.8px + 1119.76px + 1120.71px + 1121.67px + 1122.63px + 1123.59px + 1124.55px + 1125.51px + 1126.47px + 1127.43px + 1128.39px + 1129.35px + 1130.31px + 1131.27px + 1132.23px + 1133.19px + 1134.15px + 1135.11px + 1136.07px + 1137.03px + 1137.99px + 1138.95px + 1139.91px + 1140.86px + 1141.82px + 1142.78px + 1143.74px + 1144.7px + 1145.66px + 1146.62px + 1147.58px + 1148.54px + 1149.5px + 1150.46px + 1151.42px + 1152.38px + 1153.34px + 1154.3px + 1155.26px + 1156.22px + 1157.18px + 1158.14px + 1159.1px + 1160.05px + 1161.01px + 1161.97px + 1162.93px + 1163.89px + 1164.85px + 1165.81px + 1166.77px + 1167.73px + 1168.69px + 1169.65px + 1170.61px + 1171.57px + 1172.53px + 1173.49px + 1174.45px + 1175.41px + 1176.37px + 1177.33px + 1178.29px + 1179.25px + 1180.2px + 1181.16px + 1182.12px + 1183.08px + 1184.04px + 1185.0px + 1185.96px + 1186.92px + 1187.88px + 1188.84px + 1189.8px + 1190.76px + 1191.72px + 1192.68px + 1193.64px + 1194.6px + 1195.56px + 1196.52px + 1197.48px + 1198.44px + 1199.4px + 1200.35px + 1201.31px + 1202.27px + 1203.23px + 1204.19px + 1205.15px + 1206.11px + 1207.07px + 1208.03px + 1208.99px + 1209.95px + 1210.91px + 1211.87px + 1212.83px + 1213.79px + 1214.75px + 1215.71px + 1216.67px + 1217.63px + 1218.59px + 1219.55px + 1220.5px + 1221.46px + 1222.42px + 1223.38px + 1224.34px + 1225.3px + 1226.26px + 1227.22px + 1228.18px + 1229.14px + 1230.1px + 1231.06px + 1232.02px + 1232.98px + 1233.94px + 1234.9px + 1235.86px + 1236.82px + 1237.78px + 1238.74px + 1239.7px + 1240.65px + 1241.61px + 1242.57px + 1243.53px + 1244.49px + 1245.45px + 1246.41px + 1247.37px + 1248.33px + 1249.29px + 1250.25px + 1251.21px + 1252.17px + 1253.13px + 1254.09px + 1255.05px + 1256.01px + 1256.97px + 1257.93px + 1258.89px + 1259.85px + 1260.8px + 1261.76px + 1262.72px + 1263.68px + 1264.64px + 1265.6px + 1266.56px + 1267.52px + 1268.48px + 1269.44px + 1270.4px + 1271.36px + 1272.32px + 1273.28px + 1274.24px + 1275.2px + 1276.16px + 1277.12px + 1278.08px + 1279.04px + 1280px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1280x800/lay_x.xml b/FaceUnity/src/main/res/values-1280x800/lay_x.xml new file mode 100644 index 000000000..9865350ff --- /dev/null +++ b/FaceUnity/src/main/res/values-1280x800/lay_x.xml @@ -0,0 +1,753 @@ + + + 1.06px + 2.13px + 3.2px + 4.26px + 5.33px + 6.4px + 7.46px + 8.53px + 9.6px + 10.66px + 11.73px + 12.8px + 13.86px + 14.93px + 16.0px + 17.06px + 18.13px + 19.2px + 20.26px + 21.33px + 22.4px + 23.46px + 24.53px + 25.6px + 26.66px + 27.73px + 28.8px + 29.86px + 30.93px + 32.0px + 33.06px + 34.13px + 35.2px + 36.26px + 37.33px + 38.4px + 39.46px + 40.53px + 41.6px + 42.66px + 43.73px + 44.8px + 45.86px + 46.93px + 48.0px + 49.06px + 50.13px + 51.2px + 52.26px + 53.33px + 54.4px + 55.46px + 56.53px + 57.6px + 58.66px + 59.73px + 60.8px + 61.86px + 62.93px + 64.0px + 65.06px + 66.13px + 67.2px + 68.26px + 69.33px + 70.4px + 71.46px + 72.53px + 73.6px + 74.66px + 75.73px + 76.8px + 77.86px + 78.93px + 80.0px + 81.06px + 82.13px + 83.2px + 84.26px + 85.33px + 86.4px + 87.46px + 88.53px + 89.6px + 90.66px + 91.73px + 92.8px + 93.86px + 94.93px + 96.0px + 97.06px + 98.13px + 99.2px + 100.26px + 101.33px + 102.4px + 103.46px + 104.53px + 105.6px + 106.66px + 107.73px + 108.8px + 109.86px + 110.93px + 112.0px + 113.06px + 114.13px + 115.2px + 116.26px + 117.33px + 118.4px + 119.46px + 120.53px + 121.6px + 122.66px + 123.73px + 124.8px + 125.86px + 126.93px + 128.0px + 129.06px + 130.13px + 131.2px + 132.26px + 133.33px + 134.4px + 135.46px + 136.53px + 137.6px + 138.66px + 139.73px + 140.8px + 141.86px + 142.93px + 144.0px + 145.06px + 146.13px + 147.2px + 148.26px + 149.33px + 150.4px + 151.46px + 152.53px + 153.6px + 154.66px + 155.73px + 156.8px + 157.86px + 158.93px + 160.0px + 161.06px + 162.13px + 163.2px + 164.26px + 165.33px + 166.4px + 167.46px + 168.53px + 169.6px + 170.66px + 171.73px + 172.8px + 173.86px + 174.93px + 176.0px + 177.06px + 178.13px + 179.2px + 180.26px + 181.33px + 182.4px + 183.46px + 184.53px + 185.6px + 186.66px + 187.73px + 188.8px + 189.86px + 190.93px + 192.0px + 193.06px + 194.13px + 195.2px + 196.26px + 197.33px + 198.4px + 199.46px + 200.53px + 201.6px + 202.66px + 203.73px + 204.8px + 205.86px + 206.93px + 208.0px + 209.06px + 210.13px + 211.2px + 212.26px + 213.33px + 214.4px + 215.46px + 216.53px + 217.6px + 218.66px + 219.73px + 220.8px + 221.86px + 222.93px + 224.0px + 225.06px + 226.13px + 227.2px + 228.26px + 229.33px + 230.4px + 231.46px + 232.53px + 233.6px + 234.66px + 235.73px + 236.8px + 237.86px + 238.93px + 240.0px + 241.06px + 242.13px + 243.2px + 244.26px + 245.33px + 246.4px + 247.46px + 248.53px + 249.6px + 250.66px + 251.73px + 252.8px + 253.86px + 254.93px + 256.0px + 257.06px + 258.13px + 259.2px + 260.26px + 261.33px + 262.4px + 263.46px + 264.53px + 265.6px + 266.66px + 267.73px + 268.8px + 269.86px + 270.93px + 272.0px + 273.06px + 274.13px + 275.2px + 276.26px + 277.33px + 278.4px + 279.46px + 280.53px + 281.6px + 282.66px + 283.73px + 284.8px + 285.86px + 286.93px + 288.0px + 289.06px + 290.13px + 291.2px + 292.26px + 293.33px + 294.4px + 295.46px + 296.53px + 297.6px + 298.66px + 299.73px + 300.8px + 301.86px + 302.93px + 304.0px + 305.06px + 306.13px + 307.2px + 308.26px + 309.33px + 310.4px + 311.46px + 312.53px + 313.6px + 314.66px + 315.73px + 316.8px + 317.86px + 318.93px + 320.0px + 321.06px + 322.13px + 323.2px + 324.26px + 325.33px + 326.4px + 327.46px + 328.53px + 329.6px + 330.66px + 331.73px + 332.8px + 333.86px + 334.93px + 336.0px + 337.06px + 338.13px + 339.2px + 340.26px + 341.33px + 342.4px + 343.46px + 344.53px + 345.6px + 346.66px + 347.73px + 348.8px + 349.86px + 350.93px + 352.0px + 353.06px + 354.13px + 355.2px + 356.26px + 357.33px + 358.4px + 359.46px + 360.53px + 361.6px + 362.66px + 363.73px + 364.8px + 365.86px + 366.93px + 368.0px + 369.06px + 370.13px + 371.2px + 372.26px + 373.33px + 374.4px + 375.46px + 376.53px + 377.6px + 378.66px + 379.73px + 380.8px + 381.86px + 382.93px + 384.0px + 385.06px + 386.13px + 387.2px + 388.26px + 389.33px + 390.4px + 391.46px + 392.53px + 393.6px + 394.66px + 395.73px + 396.8px + 397.86px + 398.93px + 400.0px + 401.06px + 402.13px + 403.2px + 404.26px + 405.33px + 406.4px + 407.46px + 408.53px + 409.6px + 410.66px + 411.73px + 412.8px + 413.86px + 414.93px + 416.0px + 417.06px + 418.13px + 419.2px + 420.26px + 421.33px + 422.4px + 423.46px + 424.53px + 425.6px + 426.66px + 427.73px + 428.8px + 429.86px + 430.93px + 432.0px + 433.06px + 434.13px + 435.2px + 436.26px + 437.33px + 438.4px + 439.46px + 440.53px + 441.6px + 442.66px + 443.73px + 444.8px + 445.86px + 446.93px + 448.0px + 449.06px + 450.13px + 451.2px + 452.26px + 453.33px + 454.4px + 455.46px + 456.53px + 457.6px + 458.66px + 459.73px + 460.8px + 461.86px + 462.93px + 464.0px + 465.06px + 466.13px + 467.2px + 468.26px + 469.33px + 470.4px + 471.46px + 472.53px + 473.6px + 474.66px + 475.73px + 476.8px + 477.86px + 478.93px + 480.0px + 481.06px + 482.13px + 483.2px + 484.26px + 485.33px + 486.4px + 487.46px + 488.53px + 489.6px + 490.66px + 491.73px + 492.8px + 493.86px + 494.93px + 496.0px + 497.06px + 498.13px + 499.2px + 500.26px + 501.33px + 502.4px + 503.46px + 504.53px + 505.6px + 506.66px + 507.73px + 508.8px + 509.86px + 510.93px + 512.0px + 513.06px + 514.13px + 515.2px + 516.26px + 517.33px + 518.4px + 519.46px + 520.53px + 521.6px + 522.66px + 523.73px + 524.8px + 525.86px + 526.93px + 528.0px + 529.06px + 530.13px + 531.2px + 532.26px + 533.33px + 534.4px + 535.46px + 536.53px + 537.6px + 538.66px + 539.73px + 540.8px + 541.86px + 542.93px + 544.0px + 545.06px + 546.13px + 547.2px + 548.26px + 549.33px + 550.4px + 551.46px + 552.53px + 553.6px + 554.66px + 555.73px + 556.8px + 557.86px + 558.93px + 560.0px + 561.06px + 562.13px + 563.2px + 564.26px + 565.33px + 566.4px + 567.46px + 568.53px + 569.6px + 570.66px + 571.73px + 572.8px + 573.86px + 574.93px + 576.0px + 577.06px + 578.13px + 579.2px + 580.26px + 581.33px + 582.4px + 583.46px + 584.53px + 585.6px + 586.66px + 587.73px + 588.8px + 589.86px + 590.93px + 592.0px + 593.06px + 594.13px + 595.2px + 596.26px + 597.33px + 598.4px + 599.46px + 600.53px + 601.6px + 602.66px + 603.73px + 604.8px + 605.86px + 606.93px + 608.0px + 609.06px + 610.13px + 611.2px + 612.26px + 613.33px + 614.4px + 615.46px + 616.53px + 617.6px + 618.66px + 619.73px + 620.8px + 621.86px + 622.93px + 624.0px + 625.06px + 626.13px + 627.2px + 628.26px + 629.33px + 630.4px + 631.46px + 632.53px + 633.6px + 634.66px + 635.73px + 636.8px + 637.86px + 638.93px + 640.0px + 641.06px + 642.13px + 643.2px + 644.26px + 645.33px + 646.4px + 647.46px + 648.53px + 649.6px + 650.66px + 651.73px + 652.8px + 653.86px + 654.93px + 656.0px + 657.06px + 658.13px + 659.2px + 660.26px + 661.33px + 662.4px + 663.46px + 664.53px + 665.6px + 666.66px + 667.73px + 668.8px + 669.86px + 670.93px + 672.0px + 673.06px + 674.13px + 675.2px + 676.26px + 677.33px + 678.4px + 679.46px + 680.53px + 681.6px + 682.66px + 683.73px + 684.8px + 685.86px + 686.93px + 688.0px + 689.06px + 690.13px + 691.2px + 692.26px + 693.33px + 694.4px + 695.46px + 696.53px + 697.6px + 698.66px + 699.73px + 700.8px + 701.86px + 702.93px + 704.0px + 705.06px + 706.13px + 707.2px + 708.26px + 709.33px + 710.4px + 711.46px + 712.53px + 713.6px + 714.66px + 715.73px + 716.8px + 717.86px + 718.93px + 720.0px + 721.06px + 722.13px + 723.2px + 724.26px + 725.33px + 726.4px + 727.46px + 728.53px + 729.6px + 730.66px + 731.73px + 732.8px + 733.86px + 734.93px + 736.0px + 737.06px + 738.13px + 739.2px + 740.26px + 741.33px + 742.4px + 743.46px + 744.53px + 745.6px + 746.66px + 747.73px + 748.8px + 749.86px + 750.93px + 752.0px + 753.06px + 754.13px + 755.2px + 756.26px + 757.33px + 758.4px + 759.46px + 760.53px + 761.6px + 762.66px + 763.73px + 764.8px + 765.86px + 766.93px + 768.0px + 769.06px + 770.13px + 771.2px + 772.26px + 773.33px + 774.4px + 775.46px + 776.53px + 777.6px + 778.66px + 779.73px + 780.8px + 781.86px + 782.93px + 784.0px + 785.06px + 786.13px + 787.2px + 788.26px + 789.33px + 790.4px + 791.46px + 792.53px + 793.6px + 794.66px + 795.73px + 796.8px + 797.86px + 798.93px + 800px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1280x800/lay_y.xml b/FaceUnity/src/main/res/values-1280x800/lay_y.xml new file mode 100644 index 000000000..1d5624b5d --- /dev/null +++ b/FaceUnity/src/main/res/values-1280x800/lay_y.xml @@ -0,0 +1,1337 @@ + + + 0.95px + 1.91px + 2.87px + 3.83px + 4.79px + 5.75px + 6.71px + 7.67px + 8.63px + 9.59px + 10.55px + 11.51px + 12.47px + 13.43px + 14.39px + 15.35px + 16.31px + 17.27px + 18.23px + 19.19px + 20.14px + 21.1px + 22.06px + 23.02px + 23.98px + 24.94px + 25.9px + 26.86px + 27.82px + 28.78px + 29.74px + 30.7px + 31.66px + 32.62px + 33.58px + 34.54px + 35.5px + 36.46px + 37.42px + 38.38px + 39.34px + 40.29px + 41.25px + 42.21px + 43.17px + 44.13px + 45.09px + 46.05px + 47.01px + 47.97px + 48.93px + 49.89px + 50.85px + 51.81px + 52.77px + 53.73px + 54.69px + 55.65px + 56.61px + 57.57px + 58.53px + 59.49px + 60.44px + 61.4px + 62.36px + 63.32px + 64.28px + 65.24px + 66.2px + 67.16px + 68.12px + 69.08px + 70.04px + 71.0px + 71.96px + 72.92px + 73.88px + 74.84px + 75.8px + 76.76px + 77.72px + 78.68px + 79.64px + 80.59px + 81.55px + 82.51px + 83.47px + 84.43px + 85.39px + 86.35px + 87.31px + 88.27px + 89.23px + 90.19px + 91.15px + 92.11px + 93.07px + 94.03px + 94.99px + 95.95px + 96.91px + 97.87px + 98.83px + 99.79px + 100.74px + 101.7px + 102.66px + 103.62px + 104.58px + 105.54px + 106.5px + 107.46px + 108.42px + 109.38px + 110.34px + 111.3px + 112.26px + 113.22px + 114.18px + 115.14px + 116.1px + 117.06px + 118.02px + 118.98px + 119.94px + 120.89px + 121.85px + 122.81px + 123.77px + 124.73px + 125.69px + 126.65px + 127.61px + 128.57px + 129.53px + 130.49px + 131.45px + 132.41px + 133.37px + 134.33px + 135.29px + 136.25px + 137.21px + 138.17px + 139.13px + 140.08px + 141.04px + 142.0px + 142.96px + 143.92px + 144.88px + 145.84px + 146.8px + 147.76px + 148.72px + 149.68px + 150.64px + 151.6px + 152.56px + 153.52px + 154.48px + 155.44px + 156.4px + 157.36px + 158.32px + 159.28px + 160.23px + 161.19px + 162.15px + 163.11px + 164.07px + 165.03px + 165.99px + 166.95px + 167.91px + 168.87px + 169.83px + 170.79px + 171.75px + 172.71px + 173.67px + 174.63px + 175.59px + 176.55px + 177.51px + 178.47px + 179.43px + 180.38px + 181.34px + 182.3px + 183.26px + 184.22px + 185.18px + 186.14px + 187.1px + 188.06px + 189.02px + 189.98px + 190.94px + 191.9px + 192.86px + 193.82px + 194.78px + 195.74px + 196.7px + 197.66px + 198.62px + 199.58px + 200.53px + 201.49px + 202.45px + 203.41px + 204.37px + 205.33px + 206.29px + 207.25px + 208.21px + 209.17px + 210.13px + 211.09px + 212.05px + 213.01px + 213.97px + 214.93px + 215.89px + 216.85px + 217.81px + 218.77px + 219.73px + 220.68px + 221.64px + 222.6px + 223.56px + 224.52px + 225.48px + 226.44px + 227.4px + 228.36px + 229.32px + 230.28px + 231.24px + 232.2px + 233.16px + 234.12px + 235.08px + 236.04px + 237.0px + 237.96px + 238.92px + 239.88px + 240.83px + 241.79px + 242.75px + 243.71px + 244.67px + 245.63px + 246.59px + 247.55px + 248.51px + 249.47px + 250.43px + 251.39px + 252.35px + 253.31px + 254.27px + 255.23px + 256.19px + 257.15px + 258.11px + 259.07px + 260.02px + 260.98px + 261.94px + 262.9px + 263.86px + 264.82px + 265.78px + 266.74px + 267.7px + 268.66px + 269.62px + 270.58px + 271.54px + 272.5px + 273.46px + 274.42px + 275.38px + 276.34px + 277.3px + 278.26px + 279.22px + 280.17px + 281.13px + 282.09px + 283.05px + 284.01px + 284.97px + 285.93px + 286.89px + 287.85px + 288.81px + 289.77px + 290.73px + 291.69px + 292.65px + 293.61px + 294.57px + 295.53px + 296.49px + 297.45px + 298.41px + 299.37px + 300.32px + 301.28px + 302.24px + 303.2px + 304.16px + 305.12px + 306.08px + 307.04px + 308.0px + 308.96px + 309.92px + 310.88px + 311.84px + 312.8px + 313.76px + 314.72px + 315.68px + 316.64px + 317.6px + 318.56px + 319.52px + 320.47px + 321.43px + 322.39px + 323.35px + 324.31px + 325.27px + 326.23px + 327.19px + 328.15px + 329.11px + 330.07px + 331.03px + 331.99px + 332.95px + 333.91px + 334.87px + 335.83px + 336.79px + 337.75px + 338.71px + 339.67px + 340.62px + 341.58px + 342.54px + 343.5px + 344.46px + 345.42px + 346.38px + 347.34px + 348.3px + 349.26px + 350.22px + 351.18px + 352.14px + 353.1px + 354.06px + 355.02px + 355.98px + 356.94px + 357.9px + 358.86px + 359.82px + 360.77px + 361.73px + 362.69px + 363.65px + 364.61px + 365.57px + 366.53px + 367.49px + 368.45px + 369.41px + 370.37px + 371.33px + 372.29px + 373.25px + 374.21px + 375.17px + 376.13px + 377.09px + 378.05px + 379.01px + 379.97px + 380.92px + 381.88px + 382.84px + 383.8px + 384.76px + 385.72px + 386.68px + 387.64px + 388.6px + 389.56px + 390.52px + 391.48px + 392.44px + 393.4px + 394.36px + 395.32px + 396.28px + 397.24px + 398.2px + 399.16px + 400.11px + 401.07px + 402.03px + 402.99px + 403.95px + 404.91px + 405.87px + 406.83px + 407.79px + 408.75px + 409.71px + 410.67px + 411.63px + 412.59px + 413.55px + 414.51px + 415.47px + 416.43px + 417.39px + 418.35px + 419.31px + 420.26px + 421.22px + 422.18px + 423.14px + 424.1px + 425.06px + 426.02px + 426.98px + 427.94px + 428.9px + 429.86px + 430.82px + 431.78px + 432.74px + 433.7px + 434.66px + 435.62px + 436.58px + 437.54px + 438.5px + 439.46px + 440.41px + 441.37px + 442.33px + 443.29px + 444.25px + 445.21px + 446.17px + 447.13px + 448.09px + 449.05px + 450.01px + 450.97px + 451.93px + 452.89px + 453.85px + 454.81px + 455.77px + 456.73px + 457.69px + 458.65px + 459.61px + 460.56px + 461.52px + 462.48px + 463.44px + 464.4px + 465.36px + 466.32px + 467.28px + 468.24px + 469.2px + 470.16px + 471.12px + 472.08px + 473.04px + 474.0px + 474.96px + 475.92px + 476.88px + 477.84px + 478.8px + 479.76px + 480.71px + 481.67px + 482.63px + 483.59px + 484.55px + 485.51px + 486.47px + 487.43px + 488.39px + 489.35px + 490.31px + 491.27px + 492.23px + 493.19px + 494.15px + 495.11px + 496.07px + 497.03px + 497.99px + 498.95px + 499.91px + 500.86px + 501.82px + 502.78px + 503.74px + 504.7px + 505.66px + 506.62px + 507.58px + 508.54px + 509.5px + 510.46px + 511.42px + 512.38px + 513.34px + 514.3px + 515.26px + 516.22px + 517.18px + 518.14px + 519.1px + 520.05px + 521.01px + 521.97px + 522.93px + 523.89px + 524.85px + 525.81px + 526.77px + 527.73px + 528.69px + 529.65px + 530.61px + 531.57px + 532.53px + 533.49px + 534.45px + 535.41px + 536.37px + 537.33px + 538.29px + 539.25px + 540.2px + 541.16px + 542.12px + 543.08px + 544.04px + 545.0px + 545.96px + 546.92px + 547.88px + 548.84px + 549.8px + 550.76px + 551.72px + 552.68px + 553.64px + 554.6px + 555.56px + 556.52px + 557.48px + 558.44px + 559.4px + 560.35px + 561.31px + 562.27px + 563.23px + 564.19px + 565.15px + 566.11px + 567.07px + 568.03px + 568.99px + 569.95px + 570.91px + 571.87px + 572.83px + 573.79px + 574.75px + 575.71px + 576.67px + 577.63px + 578.59px + 579.55px + 580.5px + 581.46px + 582.42px + 583.38px + 584.34px + 585.3px + 586.26px + 587.22px + 588.18px + 589.14px + 590.1px + 591.06px + 592.02px + 592.98px + 593.94px + 594.9px + 595.86px + 596.82px + 597.78px + 598.74px + 599.7px + 600.65px + 601.61px + 602.57px + 603.53px + 604.49px + 605.45px + 606.41px + 607.37px + 608.33px + 609.29px + 610.25px + 611.21px + 612.17px + 613.13px + 614.09px + 615.05px + 616.01px + 616.97px + 617.93px + 618.89px + 619.85px + 620.8px + 621.76px + 622.72px + 623.68px + 624.64px + 625.6px + 626.56px + 627.52px + 628.48px + 629.44px + 630.4px + 631.36px + 632.32px + 633.28px + 634.24px + 635.2px + 636.16px + 637.12px + 638.08px + 639.04px + 640.0px + 640.95px + 641.91px + 642.87px + 643.83px + 644.79px + 645.75px + 646.71px + 647.67px + 648.63px + 649.59px + 650.55px + 651.51px + 652.47px + 653.43px + 654.39px + 655.35px + 656.31px + 657.27px + 658.23px + 659.19px + 660.14px + 661.1px + 662.06px + 663.02px + 663.98px + 664.94px + 665.9px + 666.86px + 667.82px + 668.78px + 669.74px + 670.7px + 671.66px + 672.62px + 673.58px + 674.54px + 675.5px + 676.46px + 677.42px + 678.38px + 679.34px + 680.29px + 681.25px + 682.21px + 683.17px + 684.13px + 685.09px + 686.05px + 687.01px + 687.97px + 688.93px + 689.89px + 690.85px + 691.81px + 692.77px + 693.73px + 694.69px + 695.65px + 696.61px + 697.57px + 698.53px + 699.49px + 700.44px + 701.4px + 702.36px + 703.32px + 704.28px + 705.24px + 706.2px + 707.16px + 708.12px + 709.08px + 710.04px + 711.0px + 711.96px + 712.92px + 713.88px + 714.84px + 715.8px + 716.76px + 717.72px + 718.68px + 719.64px + 720.59px + 721.55px + 722.51px + 723.47px + 724.43px + 725.39px + 726.35px + 727.31px + 728.27px + 729.23px + 730.19px + 731.15px + 732.11px + 733.07px + 734.03px + 734.99px + 735.95px + 736.91px + 737.87px + 738.83px + 739.79px + 740.74px + 741.7px + 742.66px + 743.62px + 744.58px + 745.54px + 746.5px + 747.46px + 748.42px + 749.38px + 750.34px + 751.3px + 752.26px + 753.22px + 754.18px + 755.14px + 756.1px + 757.06px + 758.02px + 758.98px + 759.94px + 760.89px + 761.85px + 762.81px + 763.77px + 764.73px + 765.69px + 766.65px + 767.61px + 768.57px + 769.53px + 770.49px + 771.45px + 772.41px + 773.37px + 774.33px + 775.29px + 776.25px + 777.21px + 778.17px + 779.13px + 780.09px + 781.04px + 782.0px + 782.96px + 783.92px + 784.88px + 785.84px + 786.8px + 787.76px + 788.72px + 789.68px + 790.64px + 791.6px + 792.56px + 793.52px + 794.48px + 795.44px + 796.4px + 797.36px + 798.32px + 799.28px + 800.23px + 801.19px + 802.15px + 803.11px + 804.07px + 805.03px + 805.99px + 806.95px + 807.91px + 808.87px + 809.83px + 810.79px + 811.75px + 812.71px + 813.67px + 814.63px + 815.59px + 816.55px + 817.51px + 818.47px + 819.43px + 820.38px + 821.34px + 822.3px + 823.26px + 824.22px + 825.18px + 826.14px + 827.1px + 828.06px + 829.02px + 829.98px + 830.94px + 831.9px + 832.86px + 833.82px + 834.78px + 835.74px + 836.7px + 837.66px + 838.62px + 839.58px + 840.53px + 841.49px + 842.45px + 843.41px + 844.37px + 845.33px + 846.29px + 847.25px + 848.21px + 849.17px + 850.13px + 851.09px + 852.05px + 853.01px + 853.97px + 854.93px + 855.89px + 856.85px + 857.81px + 858.77px + 859.73px + 860.68px + 861.64px + 862.6px + 863.56px + 864.52px + 865.48px + 866.44px + 867.4px + 868.36px + 869.32px + 870.28px + 871.24px + 872.2px + 873.16px + 874.12px + 875.08px + 876.04px + 877.0px + 877.96px + 878.92px + 879.88px + 880.83px + 881.79px + 882.75px + 883.71px + 884.67px + 885.63px + 886.59px + 887.55px + 888.51px + 889.47px + 890.43px + 891.39px + 892.35px + 893.31px + 894.27px + 895.23px + 896.19px + 897.15px + 898.11px + 899.07px + 900.03px + 900.98px + 901.94px + 902.9px + 903.86px + 904.82px + 905.78px + 906.74px + 907.7px + 908.66px + 909.62px + 910.58px + 911.54px + 912.5px + 913.46px + 914.42px + 915.38px + 916.34px + 917.3px + 918.26px + 919.22px + 920.17px + 921.13px + 922.09px + 923.05px + 924.01px + 924.97px + 925.93px + 926.89px + 927.85px + 928.81px + 929.77px + 930.73px + 931.69px + 932.65px + 933.61px + 934.57px + 935.53px + 936.49px + 937.45px + 938.41px + 939.37px + 940.32px + 941.28px + 942.24px + 943.2px + 944.16px + 945.12px + 946.08px + 947.04px + 948.0px + 948.96px + 949.92px + 950.88px + 951.84px + 952.8px + 953.76px + 954.72px + 955.68px + 956.64px + 957.6px + 958.56px + 959.52px + 960.47px + 961.43px + 962.39px + 963.35px + 964.31px + 965.27px + 966.23px + 967.19px + 968.15px + 969.11px + 970.07px + 971.03px + 971.99px + 972.95px + 973.91px + 974.87px + 975.83px + 976.79px + 977.75px + 978.71px + 979.67px + 980.62px + 981.58px + 982.54px + 983.5px + 984.46px + 985.42px + 986.38px + 987.34px + 988.3px + 989.26px + 990.22px + 991.18px + 992.14px + 993.1px + 994.06px + 995.02px + 995.98px + 996.94px + 997.9px + 998.86px + 999.82px + 1000.77px + 1001.73px + 1002.69px + 1003.65px + 1004.61px + 1005.57px + 1006.53px + 1007.49px + 1008.45px + 1009.41px + 1010.37px + 1011.33px + 1012.29px + 1013.25px + 1014.21px + 1015.17px + 1016.13px + 1017.09px + 1018.05px + 1019.01px + 1019.97px + 1020.92px + 1021.88px + 1022.84px + 1023.8px + 1024.76px + 1025.72px + 1026.68px + 1027.64px + 1028.6px + 1029.56px + 1030.52px + 1031.48px + 1032.44px + 1033.4px + 1034.36px + 1035.32px + 1036.28px + 1037.24px + 1038.2px + 1039.16px + 1040.11px + 1041.07px + 1042.03px + 1042.99px + 1043.95px + 1044.91px + 1045.87px + 1046.83px + 1047.79px + 1048.75px + 1049.71px + 1050.67px + 1051.63px + 1052.59px + 1053.55px + 1054.51px + 1055.47px + 1056.43px + 1057.39px + 1058.35px + 1059.31px + 1060.26px + 1061.22px + 1062.18px + 1063.14px + 1064.1px + 1065.06px + 1066.02px + 1066.98px + 1067.94px + 1068.9px + 1069.86px + 1070.82px + 1071.78px + 1072.74px + 1073.7px + 1074.66px + 1075.62px + 1076.58px + 1077.54px + 1078.5px + 1079.46px + 1080.41px + 1081.37px + 1082.33px + 1083.29px + 1084.25px + 1085.21px + 1086.17px + 1087.13px + 1088.09px + 1089.05px + 1090.01px + 1090.97px + 1091.93px + 1092.89px + 1093.85px + 1094.81px + 1095.77px + 1096.73px + 1097.69px + 1098.65px + 1099.61px + 1100.56px + 1101.52px + 1102.48px + 1103.44px + 1104.4px + 1105.36px + 1106.32px + 1107.28px + 1108.24px + 1109.2px + 1110.16px + 1111.12px + 1112.08px + 1113.04px + 1114.0px + 1114.96px + 1115.92px + 1116.88px + 1117.84px + 1118.8px + 1119.76px + 1120.71px + 1121.67px + 1122.63px + 1123.59px + 1124.55px + 1125.51px + 1126.47px + 1127.43px + 1128.39px + 1129.35px + 1130.31px + 1131.27px + 1132.23px + 1133.19px + 1134.15px + 1135.11px + 1136.07px + 1137.03px + 1137.99px + 1138.95px + 1139.91px + 1140.86px + 1141.82px + 1142.78px + 1143.74px + 1144.7px + 1145.66px + 1146.62px + 1147.58px + 1148.54px + 1149.5px + 1150.46px + 1151.42px + 1152.38px + 1153.34px + 1154.3px + 1155.26px + 1156.22px + 1157.18px + 1158.14px + 1159.1px + 1160.05px + 1161.01px + 1161.97px + 1162.93px + 1163.89px + 1164.85px + 1165.81px + 1166.77px + 1167.73px + 1168.69px + 1169.65px + 1170.61px + 1171.57px + 1172.53px + 1173.49px + 1174.45px + 1175.41px + 1176.37px + 1177.33px + 1178.29px + 1179.25px + 1180.2px + 1181.16px + 1182.12px + 1183.08px + 1184.04px + 1185.0px + 1185.96px + 1186.92px + 1187.88px + 1188.84px + 1189.8px + 1190.76px + 1191.72px + 1192.68px + 1193.64px + 1194.6px + 1195.56px + 1196.52px + 1197.48px + 1198.44px + 1199.4px + 1200.35px + 1201.31px + 1202.27px + 1203.23px + 1204.19px + 1205.15px + 1206.11px + 1207.07px + 1208.03px + 1208.99px + 1209.95px + 1210.91px + 1211.87px + 1212.83px + 1213.79px + 1214.75px + 1215.71px + 1216.67px + 1217.63px + 1218.59px + 1219.55px + 1220.5px + 1221.46px + 1222.42px + 1223.38px + 1224.34px + 1225.3px + 1226.26px + 1227.22px + 1228.18px + 1229.14px + 1230.1px + 1231.06px + 1232.02px + 1232.98px + 1233.94px + 1234.9px + 1235.86px + 1236.82px + 1237.78px + 1238.74px + 1239.7px + 1240.65px + 1241.61px + 1242.57px + 1243.53px + 1244.49px + 1245.45px + 1246.41px + 1247.37px + 1248.33px + 1249.29px + 1250.25px + 1251.21px + 1252.17px + 1253.13px + 1254.09px + 1255.05px + 1256.01px + 1256.97px + 1257.93px + 1258.89px + 1259.85px + 1260.8px + 1261.76px + 1262.72px + 1263.68px + 1264.64px + 1265.6px + 1266.56px + 1267.52px + 1268.48px + 1269.44px + 1270.4px + 1271.36px + 1272.32px + 1273.28px + 1274.24px + 1275.2px + 1276.16px + 1277.12px + 1278.08px + 1279.04px + 1280px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1334x750/lay_x.xml b/FaceUnity/src/main/res/values-1334x750/lay_x.xml new file mode 100644 index 000000000..c33ca6590 --- /dev/null +++ b/FaceUnity/src/main/res/values-1334x750/lay_x.xml @@ -0,0 +1,753 @@ + + + 1.0px + 2.0px + 3.0px + 4.0px + 5.0px + 6.0px + 7.0px + 8.0px + 9.0px + 10.0px + 11.0px + 12.0px + 13.0px + 14.0px + 15.0px + 16.0px + 17.0px + 18.0px + 19.0px + 20.0px + 21.0px + 22.0px + 23.0px + 24.0px + 25.0px + 26.0px + 27.0px + 28.0px + 29.0px + 30.0px + 31.0px + 32.0px + 33.0px + 34.0px + 35.0px + 36.0px + 37.0px + 38.0px + 39.0px + 40.0px + 41.0px + 42.0px + 43.0px + 44.0px + 45.0px + 46.0px + 47.0px + 48.0px + 49.0px + 50.0px + 51.0px + 52.0px + 53.0px + 54.0px + 55.0px + 56.0px + 57.0px + 58.0px + 59.0px + 60.0px + 61.0px + 62.0px + 63.0px + 64.0px + 65.0px + 66.0px + 67.0px + 68.0px + 69.0px + 70.0px + 71.0px + 72.0px + 73.0px + 74.0px + 75.0px + 76.0px + 77.0px + 78.0px + 79.0px + 80.0px + 81.0px + 82.0px + 83.0px + 84.0px + 85.0px + 86.0px + 87.0px + 88.0px + 89.0px + 90.0px + 91.0px + 92.0px + 93.0px + 94.0px + 95.0px + 96.0px + 97.0px + 98.0px + 99.0px + 100.0px + 101.0px + 102.0px + 103.0px + 104.0px + 105.0px + 106.0px + 107.0px + 108.0px + 109.0px + 110.0px + 111.0px + 112.0px + 113.0px + 114.0px + 115.0px + 116.0px + 117.0px + 118.0px + 119.0px + 120.0px + 121.0px + 122.0px + 123.0px + 124.0px + 125.0px + 126.0px + 127.0px + 128.0px + 129.0px + 130.0px + 131.0px + 132.0px + 133.0px + 134.0px + 135.0px + 136.0px + 137.0px + 138.0px + 139.0px + 140.0px + 141.0px + 142.0px + 143.0px + 144.0px + 145.0px + 146.0px + 147.0px + 148.0px + 149.0px + 150.0px + 151.0px + 152.0px + 153.0px + 154.0px + 155.0px + 156.0px + 157.0px + 158.0px + 159.0px + 160.0px + 161.0px + 162.0px + 163.0px + 164.0px + 165.0px + 166.0px + 167.0px + 168.0px + 169.0px + 170.0px + 171.0px + 172.0px + 173.0px + 174.0px + 175.0px + 176.0px + 177.0px + 178.0px + 179.0px + 180.0px + 181.0px + 182.0px + 183.0px + 184.0px + 185.0px + 186.0px + 187.0px + 188.0px + 189.0px + 190.0px + 191.0px + 192.0px + 193.0px + 194.0px + 195.0px + 196.0px + 197.0px + 198.0px + 199.0px + 200.0px + 201.0px + 202.0px + 203.0px + 204.0px + 205.0px + 206.0px + 207.0px + 208.0px + 209.0px + 210.0px + 211.0px + 212.0px + 213.0px + 214.0px + 215.0px + 216.0px + 217.0px + 218.0px + 219.0px + 220.0px + 221.0px + 222.0px + 223.0px + 224.0px + 225.0px + 226.0px + 227.0px + 228.0px + 229.0px + 230.0px + 231.0px + 232.0px + 233.0px + 234.0px + 235.0px + 236.0px + 237.0px + 238.0px + 239.0px + 240.0px + 241.0px + 242.0px + 243.0px + 244.0px + 245.0px + 246.0px + 247.0px + 248.0px + 249.0px + 250.0px + 251.0px + 252.0px + 253.0px + 254.0px + 255.0px + 256.0px + 257.0px + 258.0px + 259.0px + 260.0px + 261.0px + 262.0px + 263.0px + 264.0px + 265.0px + 266.0px + 267.0px + 268.0px + 269.0px + 270.0px + 271.0px + 272.0px + 273.0px + 274.0px + 275.0px + 276.0px + 277.0px + 278.0px + 279.0px + 280.0px + 281.0px + 282.0px + 283.0px + 284.0px + 285.0px + 286.0px + 287.0px + 288.0px + 289.0px + 290.0px + 291.0px + 292.0px + 293.0px + 294.0px + 295.0px + 296.0px + 297.0px + 298.0px + 299.0px + 300.0px + 301.0px + 302.0px + 303.0px + 304.0px + 305.0px + 306.0px + 307.0px + 308.0px + 309.0px + 310.0px + 311.0px + 312.0px + 313.0px + 314.0px + 315.0px + 316.0px + 317.0px + 318.0px + 319.0px + 320.0px + 321.0px + 322.0px + 323.0px + 324.0px + 325.0px + 326.0px + 327.0px + 328.0px + 329.0px + 330.0px + 331.0px + 332.0px + 333.0px + 334.0px + 335.0px + 336.0px + 337.0px + 338.0px + 339.0px + 340.0px + 341.0px + 342.0px + 343.0px + 344.0px + 345.0px + 346.0px + 347.0px + 348.0px + 349.0px + 350.0px + 351.0px + 352.0px + 353.0px + 354.0px + 355.0px + 356.0px + 357.0px + 358.0px + 359.0px + 360.0px + 361.0px + 362.0px + 363.0px + 364.0px + 365.0px + 366.0px + 367.0px + 368.0px + 369.0px + 370.0px + 371.0px + 372.0px + 373.0px + 374.0px + 375.0px + 376.0px + 377.0px + 378.0px + 379.0px + 380.0px + 381.0px + 382.0px + 383.0px + 384.0px + 385.0px + 386.0px + 387.0px + 388.0px + 389.0px + 390.0px + 391.0px + 392.0px + 393.0px + 394.0px + 395.0px + 396.0px + 397.0px + 398.0px + 399.0px + 400.0px + 401.0px + 402.0px + 403.0px + 404.0px + 405.0px + 406.0px + 407.0px + 408.0px + 409.0px + 410.0px + 411.0px + 412.0px + 413.0px + 414.0px + 415.0px + 416.0px + 417.0px + 418.0px + 419.0px + 420.0px + 421.0px + 422.0px + 423.0px + 424.0px + 425.0px + 426.0px + 427.0px + 428.0px + 429.0px + 430.0px + 431.0px + 432.0px + 433.0px + 434.0px + 435.0px + 436.0px + 437.0px + 438.0px + 439.0px + 440.0px + 441.0px + 442.0px + 443.0px + 444.0px + 445.0px + 446.0px + 447.0px + 448.0px + 449.0px + 450.0px + 451.0px + 452.0px + 453.0px + 454.0px + 455.0px + 456.0px + 457.0px + 458.0px + 459.0px + 460.0px + 461.0px + 462.0px + 463.0px + 464.0px + 465.0px + 466.0px + 467.0px + 468.0px + 469.0px + 470.0px + 471.0px + 472.0px + 473.0px + 474.0px + 475.0px + 476.0px + 477.0px + 478.0px + 479.0px + 480.0px + 481.0px + 482.0px + 483.0px + 484.0px + 485.0px + 486.0px + 487.0px + 488.0px + 489.0px + 490.0px + 491.0px + 492.0px + 493.0px + 494.0px + 495.0px + 496.0px + 497.0px + 498.0px + 499.0px + 500.0px + 501.0px + 502.0px + 503.0px + 504.0px + 505.0px + 506.0px + 507.0px + 508.0px + 509.0px + 510.0px + 511.0px + 512.0px + 513.0px + 514.0px + 515.0px + 516.0px + 517.0px + 518.0px + 519.0px + 520.0px + 521.0px + 522.0px + 523.0px + 524.0px + 525.0px + 526.0px + 527.0px + 528.0px + 529.0px + 530.0px + 531.0px + 532.0px + 533.0px + 534.0px + 535.0px + 536.0px + 537.0px + 538.0px + 539.0px + 540.0px + 541.0px + 542.0px + 543.0px + 544.0px + 545.0px + 546.0px + 547.0px + 548.0px + 549.0px + 550.0px + 551.0px + 552.0px + 553.0px + 554.0px + 555.0px + 556.0px + 557.0px + 558.0px + 559.0px + 560.0px + 561.0px + 562.0px + 563.0px + 564.0px + 565.0px + 566.0px + 567.0px + 568.0px + 569.0px + 570.0px + 571.0px + 572.0px + 573.0px + 574.0px + 575.0px + 576.0px + 577.0px + 578.0px + 579.0px + 580.0px + 581.0px + 582.0px + 583.0px + 584.0px + 585.0px + 586.0px + 587.0px + 588.0px + 589.0px + 590.0px + 591.0px + 592.0px + 593.0px + 594.0px + 595.0px + 596.0px + 597.0px + 598.0px + 599.0px + 600.0px + 601.0px + 602.0px + 603.0px + 604.0px + 605.0px + 606.0px + 607.0px + 608.0px + 609.0px + 610.0px + 611.0px + 612.0px + 613.0px + 614.0px + 615.0px + 616.0px + 617.0px + 618.0px + 619.0px + 620.0px + 621.0px + 622.0px + 623.0px + 624.0px + 625.0px + 626.0px + 627.0px + 628.0px + 629.0px + 630.0px + 631.0px + 632.0px + 633.0px + 634.0px + 635.0px + 636.0px + 637.0px + 638.0px + 639.0px + 640.0px + 641.0px + 642.0px + 643.0px + 644.0px + 645.0px + 646.0px + 647.0px + 648.0px + 649.0px + 650.0px + 651.0px + 652.0px + 653.0px + 654.0px + 655.0px + 656.0px + 657.0px + 658.0px + 659.0px + 660.0px + 661.0px + 662.0px + 663.0px + 664.0px + 665.0px + 666.0px + 667.0px + 668.0px + 669.0px + 670.0px + 671.0px + 672.0px + 673.0px + 674.0px + 675.0px + 676.0px + 677.0px + 678.0px + 679.0px + 680.0px + 681.0px + 682.0px + 683.0px + 684.0px + 685.0px + 686.0px + 687.0px + 688.0px + 689.0px + 690.0px + 691.0px + 692.0px + 693.0px + 694.0px + 695.0px + 696.0px + 697.0px + 698.0px + 699.0px + 700.0px + 701.0px + 702.0px + 703.0px + 704.0px + 705.0px + 706.0px + 707.0px + 708.0px + 709.0px + 710.0px + 711.0px + 712.0px + 713.0px + 714.0px + 715.0px + 716.0px + 717.0px + 718.0px + 719.0px + 720.0px + 721.0px + 722.0px + 723.0px + 724.0px + 725.0px + 726.0px + 727.0px + 728.0px + 729.0px + 730.0px + 731.0px + 732.0px + 733.0px + 734.0px + 735.0px + 736.0px + 737.0px + 738.0px + 739.0px + 740.0px + 741.0px + 742.0px + 743.0px + 744.0px + 745.0px + 746.0px + 747.0px + 748.0px + 749.0px + 750px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1334x750/lay_y.xml b/FaceUnity/src/main/res/values-1334x750/lay_y.xml new file mode 100644 index 000000000..3fa89a407 --- /dev/null +++ b/FaceUnity/src/main/res/values-1334x750/lay_y.xml @@ -0,0 +1,1337 @@ + + + 1.0px + 2.0px + 3.0px + 4.0px + 5.0px + 6.0px + 7.0px + 8.0px + 9.0px + 10.0px + 11.0px + 12.0px + 13.0px + 14.0px + 15.0px + 16.0px + 17.0px + 18.0px + 19.0px + 20.0px + 21.0px + 22.0px + 23.0px + 24.0px + 25.0px + 26.0px + 27.0px + 28.0px + 29.0px + 30.0px + 31.0px + 32.0px + 33.0px + 34.0px + 35.0px + 36.0px + 37.0px + 38.0px + 39.0px + 40.0px + 41.0px + 42.0px + 43.0px + 44.0px + 45.0px + 46.0px + 47.0px + 48.0px + 49.0px + 50.0px + 51.0px + 52.0px + 53.0px + 54.0px + 55.0px + 56.0px + 57.0px + 58.0px + 59.0px + 60.0px + 61.0px + 62.0px + 63.0px + 64.0px + 65.0px + 66.0px + 67.0px + 68.0px + 69.0px + 70.0px + 71.0px + 72.0px + 73.0px + 74.0px + 75.0px + 76.0px + 77.0px + 78.0px + 79.0px + 80.0px + 81.0px + 82.0px + 83.0px + 84.0px + 85.0px + 86.0px + 87.0px + 88.0px + 89.0px + 90.0px + 91.0px + 92.0px + 93.0px + 94.0px + 95.0px + 96.0px + 97.0px + 98.0px + 99.0px + 100.0px + 101.0px + 102.0px + 103.0px + 104.0px + 105.0px + 106.0px + 107.0px + 108.0px + 109.0px + 110.0px + 111.0px + 112.0px + 113.0px + 114.0px + 115.0px + 116.0px + 117.0px + 118.0px + 119.0px + 120.0px + 121.0px + 122.0px + 123.0px + 124.0px + 125.0px + 126.0px + 127.0px + 128.0px + 129.0px + 130.0px + 131.0px + 132.0px + 133.0px + 134.0px + 135.0px + 136.0px + 137.0px + 138.0px + 139.0px + 140.0px + 141.0px + 142.0px + 143.0px + 144.0px + 145.0px + 146.0px + 147.0px + 148.0px + 149.0px + 150.0px + 151.0px + 152.0px + 153.0px + 154.0px + 155.0px + 156.0px + 157.0px + 158.0px + 159.0px + 160.0px + 161.0px + 162.0px + 163.0px + 164.0px + 165.0px + 166.0px + 167.0px + 168.0px + 169.0px + 170.0px + 171.0px + 172.0px + 173.0px + 174.0px + 175.0px + 176.0px + 177.0px + 178.0px + 179.0px + 180.0px + 181.0px + 182.0px + 183.0px + 184.0px + 185.0px + 186.0px + 187.0px + 188.0px + 189.0px + 190.0px + 191.0px + 192.0px + 193.0px + 194.0px + 195.0px + 196.0px + 197.0px + 198.0px + 199.0px + 200.0px + 201.0px + 202.0px + 203.0px + 204.0px + 205.0px + 206.0px + 207.0px + 208.0px + 209.0px + 210.0px + 211.0px + 212.0px + 213.0px + 214.0px + 215.0px + 216.0px + 217.0px + 218.0px + 219.0px + 220.0px + 221.0px + 222.0px + 223.0px + 224.0px + 225.0px + 226.0px + 227.0px + 228.0px + 229.0px + 230.0px + 231.0px + 232.0px + 233.0px + 234.0px + 235.0px + 236.0px + 237.0px + 238.0px + 239.0px + 240.0px + 241.0px + 242.0px + 243.0px + 244.0px + 245.0px + 246.0px + 247.0px + 248.0px + 249.0px + 250.0px + 251.0px + 252.0px + 253.0px + 254.0px + 255.0px + 256.0px + 257.0px + 258.0px + 259.0px + 260.0px + 261.0px + 262.0px + 263.0px + 264.0px + 265.0px + 266.0px + 267.0px + 268.0px + 269.0px + 270.0px + 271.0px + 272.0px + 273.0px + 274.0px + 275.0px + 276.0px + 277.0px + 278.0px + 279.0px + 280.0px + 281.0px + 282.0px + 283.0px + 284.0px + 285.0px + 286.0px + 287.0px + 288.0px + 289.0px + 290.0px + 291.0px + 292.0px + 293.0px + 294.0px + 295.0px + 296.0px + 297.0px + 298.0px + 299.0px + 300.0px + 301.0px + 302.0px + 303.0px + 304.0px + 305.0px + 306.0px + 307.0px + 308.0px + 309.0px + 310.0px + 311.0px + 312.0px + 313.0px + 314.0px + 315.0px + 316.0px + 317.0px + 318.0px + 319.0px + 320.0px + 321.0px + 322.0px + 323.0px + 324.0px + 325.0px + 326.0px + 327.0px + 328.0px + 329.0px + 330.0px + 331.0px + 332.0px + 333.0px + 334.0px + 335.0px + 336.0px + 337.0px + 338.0px + 339.0px + 340.0px + 341.0px + 342.0px + 343.0px + 344.0px + 345.0px + 346.0px + 347.0px + 348.0px + 349.0px + 350.0px + 351.0px + 352.0px + 353.0px + 354.0px + 355.0px + 356.0px + 357.0px + 358.0px + 359.0px + 360.0px + 361.0px + 362.0px + 363.0px + 364.0px + 365.0px + 366.0px + 367.0px + 368.0px + 369.0px + 370.0px + 371.0px + 372.0px + 373.0px + 374.0px + 375.0px + 376.0px + 377.0px + 378.0px + 379.0px + 380.0px + 381.0px + 382.0px + 383.0px + 384.0px + 385.0px + 386.0px + 387.0px + 388.0px + 389.0px + 390.0px + 391.0px + 392.0px + 393.0px + 394.0px + 395.0px + 396.0px + 397.0px + 398.0px + 399.0px + 400.0px + 401.0px + 402.0px + 403.0px + 404.0px + 405.0px + 406.0px + 407.0px + 408.0px + 409.0px + 410.0px + 411.0px + 412.0px + 413.0px + 414.0px + 415.0px + 416.0px + 417.0px + 418.0px + 419.0px + 420.0px + 421.0px + 422.0px + 423.0px + 424.0px + 425.0px + 426.0px + 427.0px + 428.0px + 429.0px + 430.0px + 431.0px + 432.0px + 433.0px + 434.0px + 435.0px + 436.0px + 437.0px + 438.0px + 439.0px + 440.0px + 441.0px + 442.0px + 443.0px + 444.0px + 445.0px + 446.0px + 447.0px + 448.0px + 449.0px + 450.0px + 451.0px + 452.0px + 453.0px + 454.0px + 455.0px + 456.0px + 457.0px + 458.0px + 459.0px + 460.0px + 461.0px + 462.0px + 463.0px + 464.0px + 465.0px + 466.0px + 467.0px + 468.0px + 469.0px + 470.0px + 471.0px + 472.0px + 473.0px + 474.0px + 475.0px + 476.0px + 477.0px + 478.0px + 479.0px + 480.0px + 481.0px + 482.0px + 483.0px + 484.0px + 485.0px + 486.0px + 487.0px + 488.0px + 489.0px + 490.0px + 491.0px + 492.0px + 493.0px + 494.0px + 495.0px + 496.0px + 497.0px + 498.0px + 499.0px + 500.0px + 501.0px + 502.0px + 503.0px + 504.0px + 505.0px + 506.0px + 507.0px + 508.0px + 509.0px + 510.0px + 511.0px + 512.0px + 513.0px + 514.0px + 515.0px + 516.0px + 517.0px + 518.0px + 519.0px + 520.0px + 521.0px + 522.0px + 523.0px + 524.0px + 525.0px + 526.0px + 527.0px + 528.0px + 529.0px + 530.0px + 531.0px + 532.0px + 533.0px + 534.0px + 535.0px + 536.0px + 537.0px + 538.0px + 539.0px + 540.0px + 541.0px + 542.0px + 543.0px + 544.0px + 545.0px + 546.0px + 547.0px + 548.0px + 549.0px + 550.0px + 551.0px + 552.0px + 553.0px + 554.0px + 555.0px + 556.0px + 557.0px + 558.0px + 559.0px + 560.0px + 561.0px + 562.0px + 563.0px + 564.0px + 565.0px + 566.0px + 567.0px + 568.0px + 569.0px + 570.0px + 571.0px + 572.0px + 573.0px + 574.0px + 575.0px + 576.0px + 577.0px + 578.0px + 579.0px + 580.0px + 581.0px + 582.0px + 583.0px + 584.0px + 585.0px + 586.0px + 587.0px + 588.0px + 589.0px + 590.0px + 591.0px + 592.0px + 593.0px + 594.0px + 595.0px + 596.0px + 597.0px + 598.0px + 599.0px + 600.0px + 601.0px + 602.0px + 603.0px + 604.0px + 605.0px + 606.0px + 607.0px + 608.0px + 609.0px + 610.0px + 611.0px + 612.0px + 613.0px + 614.0px + 615.0px + 616.0px + 617.0px + 618.0px + 619.0px + 620.0px + 621.0px + 622.0px + 623.0px + 624.0px + 625.0px + 626.0px + 627.0px + 628.0px + 629.0px + 630.0px + 631.0px + 632.0px + 633.0px + 634.0px + 635.0px + 636.0px + 637.0px + 638.0px + 639.0px + 640.0px + 641.0px + 642.0px + 643.0px + 644.0px + 645.0px + 646.0px + 647.0px + 648.0px + 649.0px + 650.0px + 651.0px + 652.0px + 653.0px + 654.0px + 655.0px + 656.0px + 657.0px + 658.0px + 659.0px + 660.0px + 661.0px + 662.0px + 663.0px + 664.0px + 665.0px + 666.0px + 667.0px + 668.0px + 669.0px + 670.0px + 671.0px + 672.0px + 673.0px + 674.0px + 675.0px + 676.0px + 677.0px + 678.0px + 679.0px + 680.0px + 681.0px + 682.0px + 683.0px + 684.0px + 685.0px + 686.0px + 687.0px + 688.0px + 689.0px + 690.0px + 691.0px + 692.0px + 693.0px + 694.0px + 695.0px + 696.0px + 697.0px + 698.0px + 699.0px + 700.0px + 701.0px + 702.0px + 703.0px + 704.0px + 705.0px + 706.0px + 707.0px + 708.0px + 709.0px + 710.0px + 711.0px + 712.0px + 713.0px + 714.0px + 715.0px + 716.0px + 717.0px + 718.0px + 719.0px + 720.0px + 721.0px + 722.0px + 723.0px + 724.0px + 725.0px + 726.0px + 727.0px + 728.0px + 729.0px + 730.0px + 731.0px + 732.0px + 733.0px + 734.0px + 735.0px + 736.0px + 737.0px + 738.0px + 739.0px + 740.0px + 741.0px + 742.0px + 743.0px + 744.0px + 745.0px + 746.0px + 747.0px + 748.0px + 749.0px + 750.0px + 751.0px + 752.0px + 753.0px + 754.0px + 755.0px + 756.0px + 757.0px + 758.0px + 759.0px + 760.0px + 761.0px + 762.0px + 763.0px + 764.0px + 765.0px + 766.0px + 767.0px + 768.0px + 769.0px + 770.0px + 771.0px + 772.0px + 773.0px + 774.0px + 775.0px + 776.0px + 777.0px + 778.0px + 779.0px + 780.0px + 781.0px + 782.0px + 783.0px + 784.0px + 785.0px + 786.0px + 787.0px + 788.0px + 789.0px + 790.0px + 791.0px + 792.0px + 793.0px + 794.0px + 795.0px + 796.0px + 797.0px + 798.0px + 799.0px + 800.0px + 801.0px + 802.0px + 803.0px + 804.0px + 805.0px + 806.0px + 807.0px + 808.0px + 809.0px + 810.0px + 811.0px + 812.0px + 813.0px + 814.0px + 815.0px + 816.0px + 817.0px + 818.0px + 819.0px + 820.0px + 821.0px + 822.0px + 823.0px + 824.0px + 825.0px + 826.0px + 827.0px + 828.0px + 829.0px + 830.0px + 831.0px + 832.0px + 833.0px + 834.0px + 835.0px + 836.0px + 837.0px + 838.0px + 839.0px + 840.0px + 841.0px + 842.0px + 843.0px + 844.0px + 845.0px + 846.0px + 847.0px + 848.0px + 849.0px + 850.0px + 851.0px + 852.0px + 853.0px + 854.0px + 855.0px + 856.0px + 857.0px + 858.0px + 859.0px + 860.0px + 861.0px + 862.0px + 863.0px + 864.0px + 865.0px + 866.0px + 867.0px + 868.0px + 869.0px + 870.0px + 871.0px + 872.0px + 873.0px + 874.0px + 875.0px + 876.0px + 877.0px + 878.0px + 879.0px + 880.0px + 881.0px + 882.0px + 883.0px + 884.0px + 885.0px + 886.0px + 887.0px + 888.0px + 889.0px + 890.0px + 891.0px + 892.0px + 893.0px + 894.0px + 895.0px + 896.0px + 897.0px + 898.0px + 899.0px + 900.0px + 901.0px + 902.0px + 903.0px + 904.0px + 905.0px + 906.0px + 907.0px + 908.0px + 909.0px + 910.0px + 911.0px + 912.0px + 913.0px + 914.0px + 915.0px + 916.0px + 917.0px + 918.0px + 919.0px + 920.0px + 921.0px + 922.0px + 923.0px + 924.0px + 925.0px + 926.0px + 927.0px + 928.0px + 929.0px + 930.0px + 931.0px + 932.0px + 933.0px + 934.0px + 935.0px + 936.0px + 937.0px + 938.0px + 939.0px + 940.0px + 941.0px + 942.0px + 943.0px + 944.0px + 945.0px + 946.0px + 947.0px + 948.0px + 949.0px + 950.0px + 951.0px + 952.0px + 953.0px + 954.0px + 955.0px + 956.0px + 957.0px + 958.0px + 959.0px + 960.0px + 961.0px + 962.0px + 963.0px + 964.0px + 965.0px + 966.0px + 967.0px + 968.0px + 969.0px + 970.0px + 971.0px + 972.0px + 973.0px + 974.0px + 975.0px + 976.0px + 977.0px + 978.0px + 979.0px + 980.0px + 981.0px + 982.0px + 983.0px + 984.0px + 985.0px + 986.0px + 987.0px + 988.0px + 989.0px + 990.0px + 991.0px + 992.0px + 993.0px + 994.0px + 995.0px + 996.0px + 997.0px + 998.0px + 999.0px + 1000.0px + 1001.0px + 1002.0px + 1003.0px + 1004.0px + 1005.0px + 1006.0px + 1007.0px + 1008.0px + 1009.0px + 1010.0px + 1011.0px + 1012.0px + 1013.0px + 1014.0px + 1015.0px + 1016.0px + 1017.0px + 1018.0px + 1019.0px + 1020.0px + 1021.0px + 1022.0px + 1023.0px + 1024.0px + 1025.0px + 1026.0px + 1027.0px + 1028.0px + 1029.0px + 1030.0px + 1031.0px + 1032.0px + 1033.0px + 1034.0px + 1035.0px + 1036.0px + 1037.0px + 1038.0px + 1039.0px + 1040.0px + 1041.0px + 1042.0px + 1043.0px + 1044.0px + 1045.0px + 1046.0px + 1047.0px + 1048.0px + 1049.0px + 1050.0px + 1051.0px + 1052.0px + 1053.0px + 1054.0px + 1055.0px + 1056.0px + 1057.0px + 1058.0px + 1059.0px + 1060.0px + 1061.0px + 1062.0px + 1063.0px + 1064.0px + 1065.0px + 1066.0px + 1067.0px + 1068.0px + 1069.0px + 1070.0px + 1071.0px + 1072.0px + 1073.0px + 1074.0px + 1075.0px + 1076.0px + 1077.0px + 1078.0px + 1079.0px + 1080.0px + 1081.0px + 1082.0px + 1083.0px + 1084.0px + 1085.0px + 1086.0px + 1087.0px + 1088.0px + 1089.0px + 1090.0px + 1091.0px + 1092.0px + 1093.0px + 1094.0px + 1095.0px + 1096.0px + 1097.0px + 1098.0px + 1099.0px + 1100.0px + 1101.0px + 1102.0px + 1103.0px + 1104.0px + 1105.0px + 1106.0px + 1107.0px + 1108.0px + 1109.0px + 1110.0px + 1111.0px + 1112.0px + 1113.0px + 1114.0px + 1115.0px + 1116.0px + 1117.0px + 1118.0px + 1119.0px + 1120.0px + 1121.0px + 1122.0px + 1123.0px + 1124.0px + 1125.0px + 1126.0px + 1127.0px + 1128.0px + 1129.0px + 1130.0px + 1131.0px + 1132.0px + 1133.0px + 1134.0px + 1135.0px + 1136.0px + 1137.0px + 1138.0px + 1139.0px + 1140.0px + 1141.0px + 1142.0px + 1143.0px + 1144.0px + 1145.0px + 1146.0px + 1147.0px + 1148.0px + 1149.0px + 1150.0px + 1151.0px + 1152.0px + 1153.0px + 1154.0px + 1155.0px + 1156.0px + 1157.0px + 1158.0px + 1159.0px + 1160.0px + 1161.0px + 1162.0px + 1163.0px + 1164.0px + 1165.0px + 1166.0px + 1167.0px + 1168.0px + 1169.0px + 1170.0px + 1171.0px + 1172.0px + 1173.0px + 1174.0px + 1175.0px + 1176.0px + 1177.0px + 1178.0px + 1179.0px + 1180.0px + 1181.0px + 1182.0px + 1183.0px + 1184.0px + 1185.0px + 1186.0px + 1187.0px + 1188.0px + 1189.0px + 1190.0px + 1191.0px + 1192.0px + 1193.0px + 1194.0px + 1195.0px + 1196.0px + 1197.0px + 1198.0px + 1199.0px + 1200.0px + 1201.0px + 1202.0px + 1203.0px + 1204.0px + 1205.0px + 1206.0px + 1207.0px + 1208.0px + 1209.0px + 1210.0px + 1211.0px + 1212.0px + 1213.0px + 1214.0px + 1215.0px + 1216.0px + 1217.0px + 1218.0px + 1219.0px + 1220.0px + 1221.0px + 1222.0px + 1223.0px + 1224.0px + 1225.0px + 1226.0px + 1227.0px + 1228.0px + 1229.0px + 1230.0px + 1231.0px + 1232.0px + 1233.0px + 1234.0px + 1235.0px + 1236.0px + 1237.0px + 1238.0px + 1239.0px + 1240.0px + 1241.0px + 1242.0px + 1243.0px + 1244.0px + 1245.0px + 1246.0px + 1247.0px + 1248.0px + 1249.0px + 1250.0px + 1251.0px + 1252.0px + 1253.0px + 1254.0px + 1255.0px + 1256.0px + 1257.0px + 1258.0px + 1259.0px + 1260.0px + 1261.0px + 1262.0px + 1263.0px + 1264.0px + 1265.0px + 1266.0px + 1267.0px + 1268.0px + 1269.0px + 1270.0px + 1271.0px + 1272.0px + 1273.0px + 1274.0px + 1275.0px + 1276.0px + 1277.0px + 1278.0px + 1279.0px + 1280.0px + 1281.0px + 1282.0px + 1283.0px + 1284.0px + 1285.0px + 1286.0px + 1287.0px + 1288.0px + 1289.0px + 1290.0px + 1291.0px + 1292.0px + 1293.0px + 1294.0px + 1295.0px + 1296.0px + 1297.0px + 1298.0px + 1299.0px + 1300.0px + 1301.0px + 1302.0px + 1303.0px + 1304.0px + 1305.0px + 1306.0px + 1307.0px + 1308.0px + 1309.0px + 1310.0px + 1311.0px + 1312.0px + 1313.0px + 1314.0px + 1315.0px + 1316.0px + 1317.0px + 1318.0px + 1319.0px + 1320.0px + 1321.0px + 1322.0px + 1323.0px + 1324.0px + 1325.0px + 1326.0px + 1327.0px + 1328.0px + 1329.0px + 1330.0px + 1331.0px + 1332.0px + 1333.0px + 1334px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1700x1080/lay_x.xml b/FaceUnity/src/main/res/values-1700x1080/lay_x.xml new file mode 100644 index 000000000..611c0b1f4 --- /dev/null +++ b/FaceUnity/src/main/res/values-1700x1080/lay_x.xml @@ -0,0 +1,753 @@ + + + 1.44px + 2.88px + 4.32px + 5.76px + 7.2px + 8.64px + 10.08px + 11.52px + 12.96px + 14.4px + 15.84px + 17.28px + 18.72px + 20.16px + 21.6px + 23.04px + 24.48px + 25.92px + 27.36px + 28.8px + 30.24px + 31.68px + 33.12px + 34.56px + 36.0px + 37.44px + 38.88px + 40.32px + 41.76px + 43.2px + 44.64px + 46.08px + 47.52px + 48.96px + 50.4px + 51.84px + 53.28px + 54.72px + 56.16px + 57.6px + 59.04px + 60.48px + 61.92px + 63.36px + 64.8px + 66.24px + 67.68px + 69.12px + 70.56px + 72.0px + 73.44px + 74.88px + 76.32px + 77.76px + 79.2px + 80.64px + 82.08px + 83.52px + 84.96px + 86.4px + 87.84px + 89.28px + 90.72px + 92.16px + 93.6px + 95.04px + 96.48px + 97.92px + 99.36px + 100.8px + 102.24px + 103.68px + 105.12px + 106.56px + 108.0px + 109.44px + 110.88px + 112.32px + 113.76px + 115.2px + 116.64px + 118.08px + 119.52px + 120.96px + 122.4px + 123.84px + 125.28px + 126.72px + 128.16px + 129.6px + 131.04px + 132.48px + 133.92px + 135.36px + 136.8px + 138.24px + 139.68px + 141.12px + 142.56px + 144.0px + 145.44px + 146.88px + 148.32px + 149.76px + 151.2px + 152.64px + 154.08px + 155.52px + 156.96px + 158.4px + 159.84px + 161.28px + 162.72px + 164.16px + 165.6px + 167.04px + 168.48px + 169.92px + 171.36px + 172.8px + 174.24px + 175.68px + 177.12px + 178.56px + 180.0px + 181.44px + 182.88px + 184.32px + 185.76px + 187.2px + 188.64px + 190.08px + 191.52px + 192.96px + 194.4px + 195.84px + 197.28px + 198.72px + 200.16px + 201.6px + 203.04px + 204.48px + 205.92px + 207.36px + 208.8px + 210.24px + 211.68px + 213.12px + 214.56px + 216.0px + 217.44px + 218.88px + 220.32px + 221.76px + 223.2px + 224.64px + 226.08px + 227.52px + 228.96px + 230.4px + 231.84px + 233.28px + 234.72px + 236.16px + 237.6px + 239.04px + 240.48px + 241.92px + 243.36px + 244.8px + 246.24px + 247.68px + 249.12px + 250.56px + 252.0px + 253.44px + 254.88px + 256.32px + 257.76px + 259.2px + 260.64px + 262.08px + 263.52px + 264.96px + 266.4px + 267.84px + 269.28px + 270.72px + 272.16px + 273.6px + 275.04px + 276.48px + 277.92px + 279.36px + 280.8px + 282.24px + 283.68px + 285.12px + 286.56px + 288.0px + 289.44px + 290.88px + 292.32px + 293.76px + 295.2px + 296.64px + 298.08px + 299.52px + 300.96px + 302.4px + 303.84px + 305.28px + 306.72px + 308.16px + 309.6px + 311.04px + 312.48px + 313.92px + 315.36px + 316.8px + 318.24px + 319.68px + 321.12px + 322.56px + 324.0px + 325.44px + 326.88px + 328.32px + 329.76px + 331.2px + 332.64px + 334.08px + 335.52px + 336.96px + 338.4px + 339.84px + 341.28px + 342.72px + 344.16px + 345.6px + 347.04px + 348.48px + 349.92px + 351.36px + 352.8px + 354.24px + 355.68px + 357.12px + 358.56px + 360.0px + 361.44px + 362.88px + 364.32px + 365.76px + 367.2px + 368.64px + 370.08px + 371.52px + 372.96px + 374.4px + 375.84px + 377.28px + 378.72px + 380.16px + 381.6px + 383.04px + 384.48px + 385.92px + 387.36px + 388.8px + 390.24px + 391.68px + 393.12px + 394.56px + 396.0px + 397.44px + 398.88px + 400.32px + 401.76px + 403.2px + 404.64px + 406.08px + 407.52px + 408.96px + 410.4px + 411.84px + 413.28px + 414.72px + 416.16px + 417.6px + 419.04px + 420.48px + 421.92px + 423.36px + 424.8px + 426.24px + 427.68px + 429.12px + 430.56px + 432.0px + 433.44px + 434.88px + 436.32px + 437.76px + 439.2px + 440.64px + 442.08px + 443.52px + 444.96px + 446.4px + 447.84px + 449.28px + 450.72px + 452.16px + 453.6px + 455.04px + 456.48px + 457.92px + 459.36px + 460.8px + 462.24px + 463.68px + 465.12px + 466.56px + 468.0px + 469.44px + 470.88px + 472.32px + 473.76px + 475.2px + 476.64px + 478.08px + 479.52px + 480.96px + 482.4px + 483.84px + 485.28px + 486.72px + 488.16px + 489.6px + 491.04px + 492.48px + 493.92px + 495.36px + 496.8px + 498.24px + 499.68px + 501.12px + 502.56px + 504.0px + 505.44px + 506.88px + 508.32px + 509.76px + 511.2px + 512.64px + 514.08px + 515.52px + 516.96px + 518.4px + 519.84px + 521.28px + 522.72px + 524.16px + 525.6px + 527.04px + 528.48px + 529.92px + 531.36px + 532.8px + 534.24px + 535.68px + 537.12px + 538.56px + 540.0px + 541.44px + 542.88px + 544.32px + 545.76px + 547.2px + 548.64px + 550.08px + 551.52px + 552.96px + 554.4px + 555.84px + 557.28px + 558.72px + 560.16px + 561.6px + 563.04px + 564.48px + 565.92px + 567.36px + 568.8px + 570.24px + 571.68px + 573.12px + 574.56px + 576.0px + 577.44px + 578.88px + 580.32px + 581.76px + 583.2px + 584.64px + 586.08px + 587.52px + 588.96px + 590.4px + 591.84px + 593.28px + 594.72px + 596.16px + 597.6px + 599.04px + 600.48px + 601.92px + 603.36px + 604.8px + 606.24px + 607.68px + 609.12px + 610.56px + 612.0px + 613.44px + 614.88px + 616.32px + 617.76px + 619.2px + 620.64px + 622.08px + 623.52px + 624.96px + 626.4px + 627.84px + 629.28px + 630.72px + 632.16px + 633.6px + 635.04px + 636.48px + 637.92px + 639.36px + 640.8px + 642.24px + 643.68px + 645.12px + 646.56px + 648.0px + 649.44px + 650.88px + 652.32px + 653.76px + 655.2px + 656.64px + 658.08px + 659.52px + 660.96px + 662.4px + 663.84px + 665.28px + 666.72px + 668.16px + 669.6px + 671.04px + 672.48px + 673.92px + 675.36px + 676.8px + 678.24px + 679.68px + 681.12px + 682.56px + 684.0px + 685.44px + 686.88px + 688.32px + 689.76px + 691.2px + 692.64px + 694.08px + 695.52px + 696.96px + 698.4px + 699.84px + 701.28px + 702.72px + 704.16px + 705.6px + 707.04px + 708.48px + 709.92px + 711.36px + 712.8px + 714.24px + 715.68px + 717.12px + 718.56px + 720.0px + 721.44px + 722.88px + 724.32px + 725.76px + 727.2px + 728.64px + 730.08px + 731.52px + 732.96px + 734.4px + 735.84px + 737.28px + 738.72px + 740.16px + 741.6px + 743.04px + 744.48px + 745.92px + 747.36px + 748.8px + 750.24px + 751.68px + 753.12px + 754.56px + 756.0px + 757.44px + 758.88px + 760.32px + 761.76px + 763.2px + 764.64px + 766.08px + 767.52px + 768.96px + 770.4px + 771.84px + 773.28px + 774.72px + 776.16px + 777.6px + 779.04px + 780.48px + 781.92px + 783.36px + 784.8px + 786.24px + 787.68px + 789.12px + 790.56px + 792.0px + 793.44px + 794.88px + 796.32px + 797.76px + 799.2px + 800.64px + 802.08px + 803.52px + 804.96px + 806.4px + 807.84px + 809.28px + 810.72px + 812.16px + 813.6px + 815.04px + 816.48px + 817.92px + 819.36px + 820.8px + 822.24px + 823.68px + 825.12px + 826.56px + 828.0px + 829.44px + 830.88px + 832.32px + 833.76px + 835.2px + 836.64px + 838.08px + 839.52px + 840.96px + 842.4px + 843.84px + 845.28px + 846.72px + 848.16px + 849.6px + 851.04px + 852.48px + 853.92px + 855.36px + 856.8px + 858.24px + 859.68px + 861.12px + 862.56px + 864.0px + 865.44px + 866.88px + 868.32px + 869.76px + 871.2px + 872.64px + 874.08px + 875.52px + 876.96px + 878.4px + 879.84px + 881.28px + 882.72px + 884.16px + 885.6px + 887.04px + 888.48px + 889.92px + 891.36px + 892.8px + 894.24px + 895.68px + 897.12px + 898.56px + 900.0px + 901.44px + 902.88px + 904.32px + 905.76px + 907.2px + 908.64px + 910.08px + 911.52px + 912.96px + 914.4px + 915.84px + 917.28px + 918.72px + 920.16px + 921.6px + 923.04px + 924.48px + 925.92px + 927.36px + 928.8px + 930.24px + 931.68px + 933.12px + 934.56px + 936.0px + 937.44px + 938.88px + 940.32px + 941.76px + 943.2px + 944.64px + 946.08px + 947.52px + 948.96px + 950.4px + 951.84px + 953.28px + 954.72px + 956.16px + 957.6px + 959.04px + 960.48px + 961.92px + 963.36px + 964.8px + 966.24px + 967.68px + 969.12px + 970.56px + 972.0px + 973.44px + 974.88px + 976.32px + 977.76px + 979.2px + 980.64px + 982.08px + 983.52px + 984.96px + 986.4px + 987.84px + 989.28px + 990.72px + 992.16px + 993.6px + 995.04px + 996.48px + 997.92px + 999.36px + 1000.8px + 1002.24px + 1003.68px + 1005.12px + 1006.56px + 1008.0px + 1009.44px + 1010.88px + 1012.32px + 1013.76px + 1015.2px + 1016.64px + 1018.08px + 1019.52px + 1020.96px + 1022.4px + 1023.84px + 1025.28px + 1026.72px + 1028.16px + 1029.6px + 1031.04px + 1032.48px + 1033.92px + 1035.36px + 1036.8px + 1038.24px + 1039.68px + 1041.12px + 1042.56px + 1044.0px + 1045.44px + 1046.88px + 1048.32px + 1049.76px + 1051.2px + 1052.64px + 1054.08px + 1055.52px + 1056.96px + 1058.4px + 1059.84px + 1061.28px + 1062.72px + 1064.16px + 1065.6px + 1067.04px + 1068.48px + 1069.92px + 1071.36px + 1072.8px + 1074.24px + 1075.68px + 1077.12px + 1078.56px + 1080px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1700x1080/lay_y.xml b/FaceUnity/src/main/res/values-1700x1080/lay_y.xml new file mode 100644 index 000000000..974a95bd4 --- /dev/null +++ b/FaceUnity/src/main/res/values-1700x1080/lay_y.xml @@ -0,0 +1,1337 @@ + + + 1.27px + 2.54px + 3.82px + 5.09px + 6.37px + 7.64px + 8.92px + 10.19px + 11.46px + 12.74px + 14.01px + 15.29px + 16.56px + 17.84px + 19.11px + 20.38px + 21.66px + 22.93px + 24.21px + 25.48px + 26.76px + 28.03px + 29.31px + 30.58px + 31.85px + 33.13px + 34.4px + 35.68px + 36.95px + 38.23px + 39.5px + 40.77px + 42.05px + 43.32px + 44.6px + 45.87px + 47.15px + 48.42px + 49.7px + 50.97px + 52.24px + 53.52px + 54.79px + 56.07px + 57.34px + 58.62px + 59.89px + 61.16px + 62.44px + 63.71px + 64.99px + 66.26px + 67.54px + 68.81px + 70.08px + 71.36px + 72.63px + 73.91px + 75.18px + 76.46px + 77.73px + 79.01px + 80.28px + 81.55px + 82.83px + 84.1px + 85.38px + 86.65px + 87.93px + 89.2px + 90.47px + 91.75px + 93.02px + 94.3px + 95.57px + 96.85px + 98.12px + 99.4px + 100.67px + 101.94px + 103.22px + 104.49px + 105.77px + 107.04px + 108.32px + 109.59px + 110.86px + 112.14px + 113.41px + 114.69px + 115.96px + 117.24px + 118.51px + 119.79px + 121.06px + 122.33px + 123.61px + 124.88px + 126.16px + 127.43px + 128.71px + 129.98px + 131.25px + 132.53px + 133.8px + 135.08px + 136.35px + 137.63px + 138.9px + 140.17px + 141.45px + 142.72px + 144.0px + 145.27px + 146.55px + 147.82px + 149.1px + 150.37px + 151.64px + 152.92px + 154.19px + 155.47px + 156.74px + 158.02px + 159.29px + 160.56px + 161.84px + 163.11px + 164.39px + 165.66px + 166.94px + 168.21px + 169.49px + 170.76px + 172.03px + 173.31px + 174.58px + 175.86px + 177.13px + 178.41px + 179.68px + 180.95px + 182.23px + 183.5px + 184.78px + 186.05px + 187.33px + 188.6px + 189.88px + 191.15px + 192.42px + 193.7px + 194.97px + 196.25px + 197.52px + 198.8px + 200.07px + 201.34px + 202.62px + 203.89px + 205.17px + 206.44px + 207.72px + 208.99px + 210.26px + 211.54px + 212.81px + 214.09px + 215.36px + 216.64px + 217.91px + 219.19px + 220.46px + 221.73px + 223.01px + 224.28px + 225.56px + 226.83px + 228.11px + 229.38px + 230.65px + 231.93px + 233.2px + 234.48px + 235.75px + 237.03px + 238.3px + 239.58px + 240.85px + 242.12px + 243.4px + 244.67px + 245.95px + 247.22px + 248.5px + 249.77px + 251.04px + 252.32px + 253.59px + 254.87px + 256.14px + 257.42px + 258.69px + 259.97px + 261.24px + 262.51px + 263.79px + 265.06px + 266.34px + 267.61px + 268.89px + 270.16px + 271.43px + 272.71px + 273.98px + 275.26px + 276.53px + 277.81px + 279.08px + 280.35px + 281.63px + 282.9px + 284.18px + 285.45px + 286.73px + 288.0px + 289.28px + 290.55px + 291.82px + 293.1px + 294.37px + 295.65px + 296.92px + 298.2px + 299.47px + 300.74px + 302.02px + 303.29px + 304.57px + 305.84px + 307.12px + 308.39px + 309.67px + 310.94px + 312.21px + 313.49px + 314.76px + 316.04px + 317.31px + 318.59px + 319.86px + 321.13px + 322.41px + 323.68px + 324.96px + 326.23px + 327.51px + 328.78px + 330.05px + 331.33px + 332.6px + 333.88px + 335.15px + 336.43px + 337.7px + 338.98px + 340.25px + 341.52px + 342.8px + 344.07px + 345.35px + 346.62px + 347.9px + 349.17px + 350.44px + 351.72px + 352.99px + 354.27px + 355.54px + 356.82px + 358.09px + 359.37px + 360.64px + 361.91px + 363.19px + 364.46px + 365.74px + 367.01px + 368.29px + 369.56px + 370.83px + 372.11px + 373.38px + 374.66px + 375.93px + 377.21px + 378.48px + 379.76px + 381.03px + 382.3px + 383.58px + 384.85px + 386.13px + 387.4px + 388.68px + 389.95px + 391.22px + 392.5px + 393.77px + 395.05px + 396.32px + 397.6px + 398.87px + 400.14px + 401.42px + 402.69px + 403.97px + 405.24px + 406.52px + 407.79px + 409.07px + 410.34px + 411.61px + 412.89px + 414.16px + 415.44px + 416.71px + 417.99px + 419.26px + 420.53px + 421.81px + 423.08px + 424.36px + 425.63px + 426.91px + 428.18px + 429.46px + 430.73px + 432.0px + 433.28px + 434.55px + 435.83px + 437.1px + 438.38px + 439.65px + 440.92px + 442.2px + 443.47px + 444.75px + 446.02px + 447.3px + 448.57px + 449.85px + 451.12px + 452.39px + 453.67px + 454.94px + 456.22px + 457.49px + 458.77px + 460.04px + 461.31px + 462.59px + 463.86px + 465.14px + 466.41px + 467.69px + 468.96px + 470.23px + 471.51px + 472.78px + 474.06px + 475.33px + 476.61px + 477.88px + 479.16px + 480.43px + 481.7px + 482.98px + 484.25px + 485.53px + 486.8px + 488.08px + 489.35px + 490.62px + 491.9px + 493.17px + 494.45px + 495.72px + 497.0px + 498.27px + 499.55px + 500.82px + 502.09px + 503.37px + 504.64px + 505.92px + 507.19px + 508.47px + 509.74px + 511.01px + 512.29px + 513.56px + 514.84px + 516.11px + 517.39px + 518.66px + 519.94px + 521.21px + 522.48px + 523.76px + 525.03px + 526.31px + 527.58px + 528.86px + 530.13px + 531.4px + 532.68px + 533.95px + 535.23px + 536.5px + 537.78px + 539.05px + 540.32px + 541.6px + 542.87px + 544.15px + 545.42px + 546.7px + 547.97px + 549.25px + 550.52px + 551.79px + 553.07px + 554.34px + 555.62px + 556.89px + 558.17px + 559.44px + 560.71px + 561.99px + 563.26px + 564.54px + 565.81px + 567.09px + 568.36px + 569.64px + 570.91px + 572.18px + 573.46px + 574.73px + 576.01px + 577.28px + 578.56px + 579.83px + 581.1px + 582.38px + 583.65px + 584.93px + 586.2px + 587.48px + 588.75px + 590.02px + 591.3px + 592.57px + 593.85px + 595.12px + 596.4px + 597.67px + 598.95px + 600.22px + 601.49px + 602.77px + 604.04px + 605.32px + 606.59px + 607.87px + 609.14px + 610.41px + 611.69px + 612.96px + 614.24px + 615.51px + 616.79px + 618.06px + 619.34px + 620.61px + 621.88px + 623.16px + 624.43px + 625.71px + 626.98px + 628.26px + 629.53px + 630.8px + 632.08px + 633.35px + 634.63px + 635.9px + 637.18px + 638.45px + 639.73px + 641.0px + 642.27px + 643.55px + 644.82px + 646.1px + 647.37px + 648.65px + 649.92px + 651.19px + 652.47px + 653.74px + 655.02px + 656.29px + 657.57px + 658.84px + 660.11px + 661.39px + 662.66px + 663.94px + 665.21px + 666.49px + 667.76px + 669.04px + 670.31px + 671.58px + 672.86px + 674.13px + 675.41px + 676.68px + 677.96px + 679.23px + 680.5px + 681.78px + 683.05px + 684.33px + 685.6px + 686.88px + 688.15px + 689.43px + 690.7px + 691.97px + 693.25px + 694.52px + 695.8px + 697.07px + 698.35px + 699.62px + 700.89px + 702.17px + 703.44px + 704.72px + 705.99px + 707.27px + 708.54px + 709.82px + 711.09px + 712.36px + 713.64px + 714.91px + 716.19px + 717.46px + 718.74px + 720.01px + 721.28px + 722.56px + 723.83px + 725.11px + 726.38px + 727.66px + 728.93px + 730.2px + 731.48px + 732.75px + 734.03px + 735.3px + 736.58px + 737.85px + 739.13px + 740.4px + 741.67px + 742.95px + 744.22px + 745.5px + 746.77px + 748.05px + 749.32px + 750.59px + 751.87px + 753.14px + 754.42px + 755.69px + 756.97px + 758.24px + 759.52px + 760.79px + 762.06px + 763.34px + 764.61px + 765.89px + 767.16px + 768.44px + 769.71px + 770.98px + 772.26px + 773.53px + 774.81px + 776.08px + 777.36px + 778.63px + 779.91px + 781.18px + 782.45px + 783.73px + 785.0px + 786.28px + 787.55px + 788.83px + 790.1px + 791.37px + 792.65px + 793.92px + 795.2px + 796.47px + 797.75px + 799.02px + 800.29px + 801.57px + 802.84px + 804.12px + 805.39px + 806.67px + 807.94px + 809.22px + 810.49px + 811.76px + 813.04px + 814.31px + 815.59px + 816.86px + 818.14px + 819.41px + 820.68px + 821.96px + 823.23px + 824.51px + 825.78px + 827.06px + 828.33px + 829.61px + 830.88px + 832.15px + 833.43px + 834.7px + 835.98px + 837.25px + 838.53px + 839.8px + 841.07px + 842.35px + 843.62px + 844.9px + 846.17px + 847.45px + 848.72px + 850.0px + 851.27px + 852.54px + 853.82px + 855.09px + 856.37px + 857.64px + 858.92px + 860.19px + 861.46px + 862.74px + 864.01px + 865.29px + 866.56px + 867.84px + 869.11px + 870.38px + 871.66px + 872.93px + 874.21px + 875.48px + 876.76px + 878.03px + 879.31px + 880.58px + 881.85px + 883.13px + 884.4px + 885.68px + 886.95px + 888.23px + 889.5px + 890.77px + 892.05px + 893.32px + 894.6px + 895.87px + 897.15px + 898.42px + 899.7px + 900.97px + 902.24px + 903.52px + 904.79px + 906.07px + 907.34px + 908.62px + 909.89px + 911.16px + 912.44px + 913.71px + 914.99px + 916.26px + 917.54px + 918.81px + 920.09px + 921.36px + 922.63px + 923.91px + 925.18px + 926.46px + 927.73px + 929.01px + 930.28px + 931.55px + 932.83px + 934.1px + 935.38px + 936.65px + 937.93px + 939.2px + 940.47px + 941.75px + 943.02px + 944.3px + 945.57px + 946.85px + 948.12px + 949.4px + 950.67px + 951.94px + 953.22px + 954.49px + 955.77px + 957.04px + 958.32px + 959.59px + 960.86px + 962.14px + 963.41px + 964.69px + 965.96px + 967.24px + 968.51px + 969.79px + 971.06px + 972.33px + 973.61px + 974.88px + 976.16px + 977.43px + 978.71px + 979.98px + 981.25px + 982.53px + 983.8px + 985.08px + 986.35px + 987.63px + 988.9px + 990.17px + 991.45px + 992.72px + 994.0px + 995.27px + 996.55px + 997.82px + 999.1px + 1000.37px + 1001.64px + 1002.92px + 1004.19px + 1005.47px + 1006.74px + 1008.02px + 1009.29px + 1010.56px + 1011.84px + 1013.11px + 1014.39px + 1015.66px + 1016.94px + 1018.21px + 1019.49px + 1020.76px + 1022.03px + 1023.31px + 1024.58px + 1025.86px + 1027.13px + 1028.41px + 1029.68px + 1030.95px + 1032.23px + 1033.5px + 1034.78px + 1036.05px + 1037.33px + 1038.6px + 1039.88px + 1041.15px + 1042.42px + 1043.7px + 1044.97px + 1046.25px + 1047.52px + 1048.8px + 1050.07px + 1051.34px + 1052.62px + 1053.89px + 1055.17px + 1056.44px + 1057.72px + 1058.99px + 1060.26px + 1061.54px + 1062.81px + 1064.09px + 1065.36px + 1066.64px + 1067.91px + 1069.19px + 1070.46px + 1071.73px + 1073.01px + 1074.28px + 1075.56px + 1076.83px + 1078.11px + 1079.38px + 1080.65px + 1081.93px + 1083.2px + 1084.48px + 1085.75px + 1087.03px + 1088.3px + 1089.58px + 1090.85px + 1092.12px + 1093.4px + 1094.67px + 1095.95px + 1097.22px + 1098.5px + 1099.77px + 1101.04px + 1102.32px + 1103.59px + 1104.87px + 1106.14px + 1107.42px + 1108.69px + 1109.97px + 1111.24px + 1112.51px + 1113.79px + 1115.06px + 1116.34px + 1117.61px + 1118.89px + 1120.16px + 1121.43px + 1122.71px + 1123.98px + 1125.26px + 1126.53px + 1127.81px + 1129.08px + 1130.35px + 1131.63px + 1132.9px + 1134.18px + 1135.45px + 1136.73px + 1138.0px + 1139.28px + 1140.55px + 1141.82px + 1143.1px + 1144.37px + 1145.65px + 1146.92px + 1148.2px + 1149.47px + 1150.74px + 1152.02px + 1153.29px + 1154.57px + 1155.84px + 1157.12px + 1158.39px + 1159.67px + 1160.94px + 1162.21px + 1163.49px + 1164.76px + 1166.04px + 1167.31px + 1168.59px + 1169.86px + 1171.13px + 1172.41px + 1173.68px + 1174.96px + 1176.23px + 1177.51px + 1178.78px + 1180.05px + 1181.33px + 1182.6px + 1183.88px + 1185.15px + 1186.43px + 1187.7px + 1188.98px + 1190.25px + 1191.52px + 1192.8px + 1194.07px + 1195.35px + 1196.62px + 1197.9px + 1199.17px + 1200.44px + 1201.72px + 1202.99px + 1204.27px + 1205.54px + 1206.82px + 1208.09px + 1209.37px + 1210.64px + 1211.91px + 1213.19px + 1214.46px + 1215.74px + 1217.01px + 1218.29px + 1219.56px + 1220.83px + 1222.11px + 1223.38px + 1224.66px + 1225.93px + 1227.21px + 1228.48px + 1229.76px + 1231.03px + 1232.3px + 1233.58px + 1234.85px + 1236.13px + 1237.4px + 1238.68px + 1239.95px + 1241.22px + 1242.5px + 1243.77px + 1245.05px + 1246.32px + 1247.6px + 1248.87px + 1250.14px + 1251.42px + 1252.69px + 1253.97px + 1255.24px + 1256.52px + 1257.79px + 1259.07px + 1260.34px + 1261.61px + 1262.89px + 1264.16px + 1265.44px + 1266.71px + 1267.99px + 1269.26px + 1270.53px + 1271.81px + 1273.08px + 1274.36px + 1275.63px + 1276.91px + 1278.18px + 1279.46px + 1280.73px + 1282.0px + 1283.28px + 1284.55px + 1285.83px + 1287.1px + 1288.38px + 1289.65px + 1290.92px + 1292.2px + 1293.47px + 1294.75px + 1296.02px + 1297.3px + 1298.57px + 1299.85px + 1301.12px + 1302.39px + 1303.67px + 1304.94px + 1306.22px + 1307.49px + 1308.77px + 1310.04px + 1311.31px + 1312.59px + 1313.86px + 1315.14px + 1316.41px + 1317.69px + 1318.96px + 1320.23px + 1321.51px + 1322.78px + 1324.06px + 1325.33px + 1326.61px + 1327.88px + 1329.16px + 1330.43px + 1331.7px + 1332.98px + 1334.25px + 1335.53px + 1336.8px + 1338.08px + 1339.35px + 1340.62px + 1341.9px + 1343.17px + 1344.45px + 1345.72px + 1347.0px + 1348.27px + 1349.55px + 1350.82px + 1352.09px + 1353.37px + 1354.64px + 1355.92px + 1357.19px + 1358.47px + 1359.74px + 1361.01px + 1362.29px + 1363.56px + 1364.84px + 1366.11px + 1367.39px + 1368.66px + 1369.94px + 1371.21px + 1372.48px + 1373.76px + 1375.03px + 1376.31px + 1377.58px + 1378.86px + 1380.13px + 1381.4px + 1382.68px + 1383.95px + 1385.23px + 1386.5px + 1387.78px + 1389.05px + 1390.32px + 1391.6px + 1392.87px + 1394.15px + 1395.42px + 1396.7px + 1397.97px + 1399.25px + 1400.52px + 1401.79px + 1403.07px + 1404.34px + 1405.62px + 1406.89px + 1408.17px + 1409.44px + 1410.71px + 1411.99px + 1413.26px + 1414.54px + 1415.81px + 1417.09px + 1418.36px + 1419.64px + 1420.91px + 1422.18px + 1423.46px + 1424.73px + 1426.01px + 1427.28px + 1428.56px + 1429.83px + 1431.1px + 1432.38px + 1433.65px + 1434.93px + 1436.2px + 1437.48px + 1438.75px + 1440.02px + 1441.3px + 1442.57px + 1443.85px + 1445.12px + 1446.4px + 1447.67px + 1448.95px + 1450.22px + 1451.49px + 1452.77px + 1454.04px + 1455.32px + 1456.59px + 1457.87px + 1459.14px + 1460.41px + 1461.69px + 1462.96px + 1464.24px + 1465.51px + 1466.79px + 1468.06px + 1469.34px + 1470.61px + 1471.88px + 1473.16px + 1474.43px + 1475.71px + 1476.98px + 1478.26px + 1479.53px + 1480.8px + 1482.08px + 1483.35px + 1484.63px + 1485.9px + 1487.18px + 1488.45px + 1489.73px + 1491.0px + 1492.27px + 1493.55px + 1494.82px + 1496.1px + 1497.37px + 1498.65px + 1499.92px + 1501.19px + 1502.47px + 1503.74px + 1505.02px + 1506.29px + 1507.57px + 1508.84px + 1510.11px + 1511.39px + 1512.66px + 1513.94px + 1515.21px + 1516.49px + 1517.76px + 1519.04px + 1520.31px + 1521.58px + 1522.86px + 1524.13px + 1525.41px + 1526.68px + 1527.96px + 1529.23px + 1530.5px + 1531.78px + 1533.05px + 1534.33px + 1535.6px + 1536.88px + 1538.15px + 1539.43px + 1540.7px + 1541.97px + 1543.25px + 1544.52px + 1545.8px + 1547.07px + 1548.35px + 1549.62px + 1550.89px + 1552.17px + 1553.44px + 1554.72px + 1555.99px + 1557.27px + 1558.54px + 1559.82px + 1561.09px + 1562.36px + 1563.64px + 1564.91px + 1566.19px + 1567.46px + 1568.74px + 1570.01px + 1571.28px + 1572.56px + 1573.83px + 1575.11px + 1576.38px + 1577.66px + 1578.93px + 1580.2px + 1581.48px + 1582.75px + 1584.03px + 1585.3px + 1586.58px + 1587.85px + 1589.13px + 1590.4px + 1591.67px + 1592.95px + 1594.22px + 1595.5px + 1596.77px + 1598.05px + 1599.32px + 1600.59px + 1601.87px + 1603.14px + 1604.42px + 1605.69px + 1606.97px + 1608.24px + 1609.52px + 1610.79px + 1612.06px + 1613.34px + 1614.61px + 1615.89px + 1617.16px + 1618.44px + 1619.71px + 1620.98px + 1622.26px + 1623.53px + 1624.81px + 1626.08px + 1627.36px + 1628.63px + 1629.91px + 1631.18px + 1632.45px + 1633.73px + 1635.0px + 1636.28px + 1637.55px + 1638.83px + 1640.1px + 1641.37px + 1642.65px + 1643.92px + 1645.2px + 1646.47px + 1647.75px + 1649.02px + 1650.29px + 1651.57px + 1652.84px + 1654.12px + 1655.39px + 1656.67px + 1657.94px + 1659.22px + 1660.49px + 1661.76px + 1663.04px + 1664.31px + 1665.59px + 1666.86px + 1668.14px + 1669.41px + 1670.68px + 1671.96px + 1673.23px + 1674.51px + 1675.78px + 1677.06px + 1678.33px + 1679.61px + 1680.88px + 1682.15px + 1683.43px + 1684.7px + 1685.98px + 1687.25px + 1688.53px + 1689.8px + 1691.07px + 1692.35px + 1693.62px + 1694.9px + 1696.17px + 1697.45px + 1698.72px + 1700px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1776x1080/lay_x.xml b/FaceUnity/src/main/res/values-1776x1080/lay_x.xml new file mode 100644 index 000000000..611c0b1f4 --- /dev/null +++ b/FaceUnity/src/main/res/values-1776x1080/lay_x.xml @@ -0,0 +1,753 @@ + + + 1.44px + 2.88px + 4.32px + 5.76px + 7.2px + 8.64px + 10.08px + 11.52px + 12.96px + 14.4px + 15.84px + 17.28px + 18.72px + 20.16px + 21.6px + 23.04px + 24.48px + 25.92px + 27.36px + 28.8px + 30.24px + 31.68px + 33.12px + 34.56px + 36.0px + 37.44px + 38.88px + 40.32px + 41.76px + 43.2px + 44.64px + 46.08px + 47.52px + 48.96px + 50.4px + 51.84px + 53.28px + 54.72px + 56.16px + 57.6px + 59.04px + 60.48px + 61.92px + 63.36px + 64.8px + 66.24px + 67.68px + 69.12px + 70.56px + 72.0px + 73.44px + 74.88px + 76.32px + 77.76px + 79.2px + 80.64px + 82.08px + 83.52px + 84.96px + 86.4px + 87.84px + 89.28px + 90.72px + 92.16px + 93.6px + 95.04px + 96.48px + 97.92px + 99.36px + 100.8px + 102.24px + 103.68px + 105.12px + 106.56px + 108.0px + 109.44px + 110.88px + 112.32px + 113.76px + 115.2px + 116.64px + 118.08px + 119.52px + 120.96px + 122.4px + 123.84px + 125.28px + 126.72px + 128.16px + 129.6px + 131.04px + 132.48px + 133.92px + 135.36px + 136.8px + 138.24px + 139.68px + 141.12px + 142.56px + 144.0px + 145.44px + 146.88px + 148.32px + 149.76px + 151.2px + 152.64px + 154.08px + 155.52px + 156.96px + 158.4px + 159.84px + 161.28px + 162.72px + 164.16px + 165.6px + 167.04px + 168.48px + 169.92px + 171.36px + 172.8px + 174.24px + 175.68px + 177.12px + 178.56px + 180.0px + 181.44px + 182.88px + 184.32px + 185.76px + 187.2px + 188.64px + 190.08px + 191.52px + 192.96px + 194.4px + 195.84px + 197.28px + 198.72px + 200.16px + 201.6px + 203.04px + 204.48px + 205.92px + 207.36px + 208.8px + 210.24px + 211.68px + 213.12px + 214.56px + 216.0px + 217.44px + 218.88px + 220.32px + 221.76px + 223.2px + 224.64px + 226.08px + 227.52px + 228.96px + 230.4px + 231.84px + 233.28px + 234.72px + 236.16px + 237.6px + 239.04px + 240.48px + 241.92px + 243.36px + 244.8px + 246.24px + 247.68px + 249.12px + 250.56px + 252.0px + 253.44px + 254.88px + 256.32px + 257.76px + 259.2px + 260.64px + 262.08px + 263.52px + 264.96px + 266.4px + 267.84px + 269.28px + 270.72px + 272.16px + 273.6px + 275.04px + 276.48px + 277.92px + 279.36px + 280.8px + 282.24px + 283.68px + 285.12px + 286.56px + 288.0px + 289.44px + 290.88px + 292.32px + 293.76px + 295.2px + 296.64px + 298.08px + 299.52px + 300.96px + 302.4px + 303.84px + 305.28px + 306.72px + 308.16px + 309.6px + 311.04px + 312.48px + 313.92px + 315.36px + 316.8px + 318.24px + 319.68px + 321.12px + 322.56px + 324.0px + 325.44px + 326.88px + 328.32px + 329.76px + 331.2px + 332.64px + 334.08px + 335.52px + 336.96px + 338.4px + 339.84px + 341.28px + 342.72px + 344.16px + 345.6px + 347.04px + 348.48px + 349.92px + 351.36px + 352.8px + 354.24px + 355.68px + 357.12px + 358.56px + 360.0px + 361.44px + 362.88px + 364.32px + 365.76px + 367.2px + 368.64px + 370.08px + 371.52px + 372.96px + 374.4px + 375.84px + 377.28px + 378.72px + 380.16px + 381.6px + 383.04px + 384.48px + 385.92px + 387.36px + 388.8px + 390.24px + 391.68px + 393.12px + 394.56px + 396.0px + 397.44px + 398.88px + 400.32px + 401.76px + 403.2px + 404.64px + 406.08px + 407.52px + 408.96px + 410.4px + 411.84px + 413.28px + 414.72px + 416.16px + 417.6px + 419.04px + 420.48px + 421.92px + 423.36px + 424.8px + 426.24px + 427.68px + 429.12px + 430.56px + 432.0px + 433.44px + 434.88px + 436.32px + 437.76px + 439.2px + 440.64px + 442.08px + 443.52px + 444.96px + 446.4px + 447.84px + 449.28px + 450.72px + 452.16px + 453.6px + 455.04px + 456.48px + 457.92px + 459.36px + 460.8px + 462.24px + 463.68px + 465.12px + 466.56px + 468.0px + 469.44px + 470.88px + 472.32px + 473.76px + 475.2px + 476.64px + 478.08px + 479.52px + 480.96px + 482.4px + 483.84px + 485.28px + 486.72px + 488.16px + 489.6px + 491.04px + 492.48px + 493.92px + 495.36px + 496.8px + 498.24px + 499.68px + 501.12px + 502.56px + 504.0px + 505.44px + 506.88px + 508.32px + 509.76px + 511.2px + 512.64px + 514.08px + 515.52px + 516.96px + 518.4px + 519.84px + 521.28px + 522.72px + 524.16px + 525.6px + 527.04px + 528.48px + 529.92px + 531.36px + 532.8px + 534.24px + 535.68px + 537.12px + 538.56px + 540.0px + 541.44px + 542.88px + 544.32px + 545.76px + 547.2px + 548.64px + 550.08px + 551.52px + 552.96px + 554.4px + 555.84px + 557.28px + 558.72px + 560.16px + 561.6px + 563.04px + 564.48px + 565.92px + 567.36px + 568.8px + 570.24px + 571.68px + 573.12px + 574.56px + 576.0px + 577.44px + 578.88px + 580.32px + 581.76px + 583.2px + 584.64px + 586.08px + 587.52px + 588.96px + 590.4px + 591.84px + 593.28px + 594.72px + 596.16px + 597.6px + 599.04px + 600.48px + 601.92px + 603.36px + 604.8px + 606.24px + 607.68px + 609.12px + 610.56px + 612.0px + 613.44px + 614.88px + 616.32px + 617.76px + 619.2px + 620.64px + 622.08px + 623.52px + 624.96px + 626.4px + 627.84px + 629.28px + 630.72px + 632.16px + 633.6px + 635.04px + 636.48px + 637.92px + 639.36px + 640.8px + 642.24px + 643.68px + 645.12px + 646.56px + 648.0px + 649.44px + 650.88px + 652.32px + 653.76px + 655.2px + 656.64px + 658.08px + 659.52px + 660.96px + 662.4px + 663.84px + 665.28px + 666.72px + 668.16px + 669.6px + 671.04px + 672.48px + 673.92px + 675.36px + 676.8px + 678.24px + 679.68px + 681.12px + 682.56px + 684.0px + 685.44px + 686.88px + 688.32px + 689.76px + 691.2px + 692.64px + 694.08px + 695.52px + 696.96px + 698.4px + 699.84px + 701.28px + 702.72px + 704.16px + 705.6px + 707.04px + 708.48px + 709.92px + 711.36px + 712.8px + 714.24px + 715.68px + 717.12px + 718.56px + 720.0px + 721.44px + 722.88px + 724.32px + 725.76px + 727.2px + 728.64px + 730.08px + 731.52px + 732.96px + 734.4px + 735.84px + 737.28px + 738.72px + 740.16px + 741.6px + 743.04px + 744.48px + 745.92px + 747.36px + 748.8px + 750.24px + 751.68px + 753.12px + 754.56px + 756.0px + 757.44px + 758.88px + 760.32px + 761.76px + 763.2px + 764.64px + 766.08px + 767.52px + 768.96px + 770.4px + 771.84px + 773.28px + 774.72px + 776.16px + 777.6px + 779.04px + 780.48px + 781.92px + 783.36px + 784.8px + 786.24px + 787.68px + 789.12px + 790.56px + 792.0px + 793.44px + 794.88px + 796.32px + 797.76px + 799.2px + 800.64px + 802.08px + 803.52px + 804.96px + 806.4px + 807.84px + 809.28px + 810.72px + 812.16px + 813.6px + 815.04px + 816.48px + 817.92px + 819.36px + 820.8px + 822.24px + 823.68px + 825.12px + 826.56px + 828.0px + 829.44px + 830.88px + 832.32px + 833.76px + 835.2px + 836.64px + 838.08px + 839.52px + 840.96px + 842.4px + 843.84px + 845.28px + 846.72px + 848.16px + 849.6px + 851.04px + 852.48px + 853.92px + 855.36px + 856.8px + 858.24px + 859.68px + 861.12px + 862.56px + 864.0px + 865.44px + 866.88px + 868.32px + 869.76px + 871.2px + 872.64px + 874.08px + 875.52px + 876.96px + 878.4px + 879.84px + 881.28px + 882.72px + 884.16px + 885.6px + 887.04px + 888.48px + 889.92px + 891.36px + 892.8px + 894.24px + 895.68px + 897.12px + 898.56px + 900.0px + 901.44px + 902.88px + 904.32px + 905.76px + 907.2px + 908.64px + 910.08px + 911.52px + 912.96px + 914.4px + 915.84px + 917.28px + 918.72px + 920.16px + 921.6px + 923.04px + 924.48px + 925.92px + 927.36px + 928.8px + 930.24px + 931.68px + 933.12px + 934.56px + 936.0px + 937.44px + 938.88px + 940.32px + 941.76px + 943.2px + 944.64px + 946.08px + 947.52px + 948.96px + 950.4px + 951.84px + 953.28px + 954.72px + 956.16px + 957.6px + 959.04px + 960.48px + 961.92px + 963.36px + 964.8px + 966.24px + 967.68px + 969.12px + 970.56px + 972.0px + 973.44px + 974.88px + 976.32px + 977.76px + 979.2px + 980.64px + 982.08px + 983.52px + 984.96px + 986.4px + 987.84px + 989.28px + 990.72px + 992.16px + 993.6px + 995.04px + 996.48px + 997.92px + 999.36px + 1000.8px + 1002.24px + 1003.68px + 1005.12px + 1006.56px + 1008.0px + 1009.44px + 1010.88px + 1012.32px + 1013.76px + 1015.2px + 1016.64px + 1018.08px + 1019.52px + 1020.96px + 1022.4px + 1023.84px + 1025.28px + 1026.72px + 1028.16px + 1029.6px + 1031.04px + 1032.48px + 1033.92px + 1035.36px + 1036.8px + 1038.24px + 1039.68px + 1041.12px + 1042.56px + 1044.0px + 1045.44px + 1046.88px + 1048.32px + 1049.76px + 1051.2px + 1052.64px + 1054.08px + 1055.52px + 1056.96px + 1058.4px + 1059.84px + 1061.28px + 1062.72px + 1064.16px + 1065.6px + 1067.04px + 1068.48px + 1069.92px + 1071.36px + 1072.8px + 1074.24px + 1075.68px + 1077.12px + 1078.56px + 1080px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1776x1080/lay_y.xml b/FaceUnity/src/main/res/values-1776x1080/lay_y.xml new file mode 100644 index 000000000..12de62bba --- /dev/null +++ b/FaceUnity/src/main/res/values-1776x1080/lay_y.xml @@ -0,0 +1,1337 @@ + + + 1.33px + 2.66px + 3.99px + 5.32px + 6.65px + 7.98px + 9.31px + 10.65px + 11.98px + 13.31px + 14.64px + 15.97px + 17.3px + 18.63px + 19.97px + 21.3px + 22.63px + 23.96px + 25.29px + 26.62px + 27.95px + 29.28px + 30.62px + 31.95px + 33.28px + 34.61px + 35.94px + 37.27px + 38.6px + 39.94px + 41.27px + 42.6px + 43.93px + 45.26px + 46.59px + 47.92px + 49.25px + 50.59px + 51.92px + 53.25px + 54.58px + 55.91px + 57.24px + 58.57px + 59.91px + 61.24px + 62.57px + 63.9px + 65.23px + 66.56px + 67.89px + 69.22px + 70.56px + 71.89px + 73.22px + 74.55px + 75.88px + 77.21px + 78.54px + 79.88px + 81.21px + 82.54px + 83.87px + 85.2px + 86.53px + 87.86px + 89.19px + 90.53px + 91.86px + 93.19px + 94.52px + 95.85px + 97.18px + 98.51px + 99.85px + 101.18px + 102.51px + 103.84px + 105.17px + 106.5px + 107.83px + 109.16px + 110.5px + 111.83px + 113.16px + 114.49px + 115.82px + 117.15px + 118.48px + 119.82px + 121.15px + 122.48px + 123.81px + 125.14px + 126.47px + 127.8px + 129.13px + 130.47px + 131.8px + 133.13px + 134.46px + 135.79px + 137.12px + 138.45px + 139.79px + 141.12px + 142.45px + 143.78px + 145.11px + 146.44px + 147.77px + 149.1px + 150.44px + 151.77px + 153.1px + 154.43px + 155.76px + 157.09px + 158.42px + 159.76px + 161.09px + 162.42px + 163.75px + 165.08px + 166.41px + 167.74px + 169.07px + 170.41px + 171.74px + 173.07px + 174.4px + 175.73px + 177.06px + 178.39px + 179.73px + 181.06px + 182.39px + 183.72px + 185.05px + 186.38px + 187.71px + 189.04px + 190.38px + 191.71px + 193.04px + 194.37px + 195.7px + 197.03px + 198.36px + 199.7px + 201.03px + 202.36px + 203.69px + 205.02px + 206.35px + 207.68px + 209.01px + 210.35px + 211.68px + 213.01px + 214.34px + 215.67px + 217.0px + 218.33px + 219.67px + 221.0px + 222.33px + 223.66px + 224.99px + 226.32px + 227.65px + 228.98px + 230.32px + 231.65px + 232.98px + 234.31px + 235.64px + 236.97px + 238.3px + 239.64px + 240.97px + 242.3px + 243.63px + 244.96px + 246.29px + 247.62px + 248.95px + 250.29px + 251.62px + 252.95px + 254.28px + 255.61px + 256.94px + 258.27px + 259.61px + 260.94px + 262.27px + 263.6px + 264.93px + 266.26px + 267.59px + 268.92px + 270.26px + 271.59px + 272.92px + 274.25px + 275.58px + 276.91px + 278.24px + 279.58px + 280.91px + 282.24px + 283.57px + 284.9px + 286.23px + 287.56px + 288.89px + 290.23px + 291.56px + 292.89px + 294.22px + 295.55px + 296.88px + 298.21px + 299.55px + 300.88px + 302.21px + 303.54px + 304.87px + 306.2px + 307.53px + 308.86px + 310.2px + 311.53px + 312.86px + 314.19px + 315.52px + 316.85px + 318.18px + 319.52px + 320.85px + 322.18px + 323.51px + 324.84px + 326.17px + 327.5px + 328.83px + 330.17px + 331.5px + 332.83px + 334.16px + 335.49px + 336.82px + 338.15px + 339.49px + 340.82px + 342.15px + 343.48px + 344.81px + 346.14px + 347.47px + 348.8px + 350.14px + 351.47px + 352.8px + 354.13px + 355.46px + 356.79px + 358.12px + 359.46px + 360.79px + 362.12px + 363.45px + 364.78px + 366.11px + 367.44px + 368.77px + 370.11px + 371.44px + 372.77px + 374.1px + 375.43px + 376.76px + 378.09px + 379.43px + 380.76px + 382.09px + 383.42px + 384.75px + 386.08px + 387.41px + 388.74px + 390.08px + 391.41px + 392.74px + 394.07px + 395.4px + 396.73px + 398.06px + 399.4px + 400.73px + 402.06px + 403.39px + 404.72px + 406.05px + 407.38px + 408.71px + 410.05px + 411.38px + 412.71px + 414.04px + 415.37px + 416.7px + 418.03px + 419.37px + 420.7px + 422.03px + 423.36px + 424.69px + 426.02px + 427.35px + 428.68px + 430.02px + 431.35px + 432.68px + 434.01px + 435.34px + 436.67px + 438.0px + 439.34px + 440.67px + 442.0px + 443.33px + 444.66px + 445.99px + 447.32px + 448.65px + 449.99px + 451.32px + 452.65px + 453.98px + 455.31px + 456.64px + 457.97px + 459.31px + 460.64px + 461.97px + 463.3px + 464.63px + 465.96px + 467.29px + 468.62px + 469.96px + 471.29px + 472.62px + 473.95px + 475.28px + 476.61px + 477.94px + 479.28px + 480.61px + 481.94px + 483.27px + 484.6px + 485.93px + 487.26px + 488.59px + 489.93px + 491.26px + 492.59px + 493.92px + 495.25px + 496.58px + 497.91px + 499.25px + 500.58px + 501.91px + 503.24px + 504.57px + 505.9px + 507.23px + 508.56px + 509.9px + 511.23px + 512.56px + 513.89px + 515.22px + 516.55px + 517.88px + 519.22px + 520.55px + 521.88px + 523.21px + 524.54px + 525.87px + 527.2px + 528.53px + 529.87px + 531.2px + 532.53px + 533.86px + 535.19px + 536.52px + 537.85px + 539.19px + 540.52px + 541.85px + 543.18px + 544.51px + 545.84px + 547.17px + 548.5px + 549.84px + 551.17px + 552.5px + 553.83px + 555.16px + 556.49px + 557.82px + 559.16px + 560.49px + 561.82px + 563.15px + 564.48px + 565.81px + 567.14px + 568.47px + 569.81px + 571.14px + 572.47px + 573.8px + 575.13px + 576.46px + 577.79px + 579.13px + 580.46px + 581.79px + 583.12px + 584.45px + 585.78px + 587.11px + 588.44px + 589.78px + 591.11px + 592.44px + 593.77px + 595.1px + 596.43px + 597.76px + 599.1px + 600.43px + 601.76px + 603.09px + 604.42px + 605.75px + 607.08px + 608.41px + 609.75px + 611.08px + 612.41px + 613.74px + 615.07px + 616.4px + 617.73px + 619.07px + 620.4px + 621.73px + 623.06px + 624.39px + 625.72px + 627.05px + 628.38px + 629.72px + 631.05px + 632.38px + 633.71px + 635.04px + 636.37px + 637.7px + 639.04px + 640.37px + 641.7px + 643.03px + 644.36px + 645.69px + 647.02px + 648.35px + 649.69px + 651.02px + 652.35px + 653.68px + 655.01px + 656.34px + 657.67px + 659.01px + 660.34px + 661.67px + 663.0px + 664.33px + 665.66px + 666.99px + 668.32px + 669.66px + 670.99px + 672.32px + 673.65px + 674.98px + 676.31px + 677.64px + 678.98px + 680.31px + 681.64px + 682.97px + 684.3px + 685.63px + 686.96px + 688.29px + 689.63px + 690.96px + 692.29px + 693.62px + 694.95px + 696.28px + 697.61px + 698.95px + 700.28px + 701.61px + 702.94px + 704.27px + 705.6px + 706.93px + 708.26px + 709.6px + 710.93px + 712.26px + 713.59px + 714.92px + 716.25px + 717.58px + 718.92px + 720.25px + 721.58px + 722.91px + 724.24px + 725.57px + 726.9px + 728.23px + 729.57px + 730.9px + 732.23px + 733.56px + 734.89px + 736.22px + 737.55px + 738.89px + 740.22px + 741.55px + 742.88px + 744.21px + 745.54px + 746.87px + 748.2px + 749.54px + 750.87px + 752.2px + 753.53px + 754.86px + 756.19px + 757.52px + 758.86px + 760.19px + 761.52px + 762.85px + 764.18px + 765.51px + 766.84px + 768.17px + 769.51px + 770.84px + 772.17px + 773.5px + 774.83px + 776.16px + 777.49px + 778.83px + 780.16px + 781.49px + 782.82px + 784.15px + 785.48px + 786.81px + 788.15px + 789.48px + 790.81px + 792.14px + 793.47px + 794.8px + 796.13px + 797.46px + 798.8px + 800.13px + 801.46px + 802.79px + 804.12px + 805.45px + 806.78px + 808.11px + 809.45px + 810.78px + 812.11px + 813.44px + 814.77px + 816.1px + 817.43px + 818.77px + 820.1px + 821.43px + 822.76px + 824.09px + 825.42px + 826.75px + 828.09px + 829.42px + 830.75px + 832.08px + 833.41px + 834.74px + 836.07px + 837.4px + 838.74px + 840.07px + 841.4px + 842.73px + 844.06px + 845.39px + 846.72px + 848.06px + 849.39px + 850.72px + 852.05px + 853.38px + 854.71px + 856.04px + 857.37px + 858.71px + 860.04px + 861.37px + 862.7px + 864.03px + 865.36px + 866.69px + 868.03px + 869.36px + 870.69px + 872.02px + 873.35px + 874.68px + 876.01px + 877.34px + 878.68px + 880.01px + 881.34px + 882.67px + 884.0px + 885.33px + 886.66px + 888.0px + 889.33px + 890.66px + 891.99px + 893.32px + 894.65px + 895.98px + 897.31px + 898.65px + 899.98px + 901.31px + 902.64px + 903.97px + 905.3px + 906.63px + 907.97px + 909.3px + 910.63px + 911.96px + 913.29px + 914.62px + 915.95px + 917.28px + 918.62px + 919.95px + 921.28px + 922.61px + 923.94px + 925.27px + 926.6px + 927.94px + 929.27px + 930.6px + 931.93px + 933.26px + 934.59px + 935.92px + 937.25px + 938.59px + 939.92px + 941.25px + 942.58px + 943.91px + 945.24px + 946.57px + 947.91px + 949.24px + 950.57px + 951.9px + 953.23px + 954.56px + 955.89px + 957.22px + 958.56px + 959.89px + 961.22px + 962.55px + 963.88px + 965.21px + 966.54px + 967.88px + 969.21px + 970.54px + 971.87px + 973.2px + 974.53px + 975.86px + 977.19px + 978.53px + 979.86px + 981.19px + 982.52px + 983.85px + 985.18px + 986.51px + 987.85px + 989.18px + 990.51px + 991.84px + 993.17px + 994.5px + 995.83px + 997.16px + 998.5px + 999.83px + 1001.16px + 1002.49px + 1003.82px + 1005.15px + 1006.48px + 1007.82px + 1009.15px + 1010.48px + 1011.81px + 1013.14px + 1014.47px + 1015.8px + 1017.13px + 1018.47px + 1019.8px + 1021.13px + 1022.46px + 1023.79px + 1025.12px + 1026.45px + 1027.79px + 1029.12px + 1030.45px + 1031.78px + 1033.11px + 1034.44px + 1035.77px + 1037.1px + 1038.44px + 1039.77px + 1041.1px + 1042.43px + 1043.76px + 1045.09px + 1046.42px + 1047.76px + 1049.09px + 1050.42px + 1051.75px + 1053.08px + 1054.41px + 1055.74px + 1057.07px + 1058.41px + 1059.74px + 1061.07px + 1062.4px + 1063.73px + 1065.06px + 1066.39px + 1067.73px + 1069.06px + 1070.39px + 1071.72px + 1073.05px + 1074.38px + 1075.71px + 1077.04px + 1078.38px + 1079.71px + 1081.04px + 1082.37px + 1083.7px + 1085.03px + 1086.36px + 1087.7px + 1089.03px + 1090.36px + 1091.69px + 1093.02px + 1094.35px + 1095.68px + 1097.01px + 1098.35px + 1099.68px + 1101.01px + 1102.34px + 1103.67px + 1105.0px + 1106.33px + 1107.67px + 1109.0px + 1110.33px + 1111.66px + 1112.99px + 1114.32px + 1115.65px + 1116.98px + 1118.32px + 1119.65px + 1120.98px + 1122.31px + 1123.64px + 1124.97px + 1126.3px + 1127.64px + 1128.97px + 1130.3px + 1131.63px + 1132.96px + 1134.29px + 1135.62px + 1136.95px + 1138.29px + 1139.62px + 1140.95px + 1142.28px + 1143.61px + 1144.94px + 1146.27px + 1147.61px + 1148.94px + 1150.27px + 1151.6px + 1152.93px + 1154.26px + 1155.59px + 1156.92px + 1158.26px + 1159.59px + 1160.92px + 1162.25px + 1163.58px + 1164.91px + 1166.24px + 1167.58px + 1168.91px + 1170.24px + 1171.57px + 1172.9px + 1174.23px + 1175.56px + 1176.89px + 1178.23px + 1179.56px + 1180.89px + 1182.22px + 1183.55px + 1184.88px + 1186.21px + 1187.55px + 1188.88px + 1190.21px + 1191.54px + 1192.87px + 1194.2px + 1195.53px + 1196.86px + 1198.2px + 1199.53px + 1200.86px + 1202.19px + 1203.52px + 1204.85px + 1206.18px + 1207.52px + 1208.85px + 1210.18px + 1211.51px + 1212.84px + 1214.17px + 1215.5px + 1216.83px + 1218.17px + 1219.5px + 1220.83px + 1222.16px + 1223.49px + 1224.82px + 1226.15px + 1227.49px + 1228.82px + 1230.15px + 1231.48px + 1232.81px + 1234.14px + 1235.47px + 1236.8px + 1238.14px + 1239.47px + 1240.8px + 1242.13px + 1243.46px + 1244.79px + 1246.12px + 1247.46px + 1248.79px + 1250.12px + 1251.45px + 1252.78px + 1254.11px + 1255.44px + 1256.77px + 1258.11px + 1259.44px + 1260.77px + 1262.1px + 1263.43px + 1264.76px + 1266.09px + 1267.43px + 1268.76px + 1270.09px + 1271.42px + 1272.75px + 1274.08px + 1275.41px + 1276.74px + 1278.08px + 1279.41px + 1280.74px + 1282.07px + 1283.4px + 1284.73px + 1286.06px + 1287.4px + 1288.73px + 1290.06px + 1291.39px + 1292.72px + 1294.05px + 1295.38px + 1296.71px + 1298.05px + 1299.38px + 1300.71px + 1302.04px + 1303.37px + 1304.7px + 1306.03px + 1307.37px + 1308.7px + 1310.03px + 1311.36px + 1312.69px + 1314.02px + 1315.35px + 1316.68px + 1318.02px + 1319.35px + 1320.68px + 1322.01px + 1323.34px + 1324.67px + 1326.0px + 1327.34px + 1328.67px + 1330.0px + 1331.33px + 1332.66px + 1333.99px + 1335.32px + 1336.65px + 1337.99px + 1339.32px + 1340.65px + 1341.98px + 1343.31px + 1344.64px + 1345.97px + 1347.31px + 1348.64px + 1349.97px + 1351.3px + 1352.63px + 1353.96px + 1355.29px + 1356.62px + 1357.96px + 1359.29px + 1360.62px + 1361.95px + 1363.28px + 1364.61px + 1365.94px + 1367.28px + 1368.61px + 1369.94px + 1371.27px + 1372.6px + 1373.93px + 1375.26px + 1376.59px + 1377.93px + 1379.26px + 1380.59px + 1381.92px + 1383.25px + 1384.58px + 1385.91px + 1387.25px + 1388.58px + 1389.91px + 1391.24px + 1392.57px + 1393.9px + 1395.23px + 1396.56px + 1397.9px + 1399.23px + 1400.56px + 1401.89px + 1403.22px + 1404.55px + 1405.88px + 1407.22px + 1408.55px + 1409.88px + 1411.21px + 1412.54px + 1413.87px + 1415.2px + 1416.53px + 1417.87px + 1419.2px + 1420.53px + 1421.86px + 1423.19px + 1424.52px + 1425.85px + 1427.19px + 1428.52px + 1429.85px + 1431.18px + 1432.51px + 1433.84px + 1435.17px + 1436.5px + 1437.84px + 1439.17px + 1440.5px + 1441.83px + 1443.16px + 1444.49px + 1445.82px + 1447.16px + 1448.49px + 1449.82px + 1451.15px + 1452.48px + 1453.81px + 1455.14px + 1456.47px + 1457.81px + 1459.14px + 1460.47px + 1461.8px + 1463.13px + 1464.46px + 1465.79px + 1467.13px + 1468.46px + 1469.79px + 1471.12px + 1472.45px + 1473.78px + 1475.11px + 1476.44px + 1477.78px + 1479.11px + 1480.44px + 1481.77px + 1483.1px + 1484.43px + 1485.76px + 1487.1px + 1488.43px + 1489.76px + 1491.09px + 1492.42px + 1493.75px + 1495.08px + 1496.41px + 1497.75px + 1499.08px + 1500.41px + 1501.74px + 1503.07px + 1504.4px + 1505.73px + 1507.07px + 1508.4px + 1509.73px + 1511.06px + 1512.39px + 1513.72px + 1515.05px + 1516.38px + 1517.72px + 1519.05px + 1520.38px + 1521.71px + 1523.04px + 1524.37px + 1525.7px + 1527.04px + 1528.37px + 1529.7px + 1531.03px + 1532.36px + 1533.69px + 1535.02px + 1536.35px + 1537.69px + 1539.02px + 1540.35px + 1541.68px + 1543.01px + 1544.34px + 1545.67px + 1547.01px + 1548.34px + 1549.67px + 1551.0px + 1552.33px + 1553.66px + 1554.99px + 1556.32px + 1557.66px + 1558.99px + 1560.32px + 1561.65px + 1562.98px + 1564.31px + 1565.64px + 1566.98px + 1568.31px + 1569.64px + 1570.97px + 1572.3px + 1573.63px + 1574.96px + 1576.3px + 1577.63px + 1578.96px + 1580.29px + 1581.62px + 1582.95px + 1584.28px + 1585.61px + 1586.95px + 1588.28px + 1589.61px + 1590.94px + 1592.27px + 1593.6px + 1594.93px + 1596.26px + 1597.6px + 1598.93px + 1600.26px + 1601.59px + 1602.92px + 1604.25px + 1605.58px + 1606.92px + 1608.25px + 1609.58px + 1610.91px + 1612.24px + 1613.57px + 1614.9px + 1616.23px + 1617.57px + 1618.9px + 1620.23px + 1621.56px + 1622.89px + 1624.22px + 1625.55px + 1626.89px + 1628.22px + 1629.55px + 1630.88px + 1632.21px + 1633.54px + 1634.87px + 1636.21px + 1637.54px + 1638.87px + 1640.2px + 1641.53px + 1642.86px + 1644.19px + 1645.52px + 1646.86px + 1648.19px + 1649.52px + 1650.85px + 1652.18px + 1653.51px + 1654.84px + 1656.18px + 1657.51px + 1658.84px + 1660.17px + 1661.5px + 1662.83px + 1664.16px + 1665.49px + 1666.83px + 1668.16px + 1669.49px + 1670.82px + 1672.15px + 1673.48px + 1674.81px + 1676.14px + 1677.48px + 1678.81px + 1680.14px + 1681.47px + 1682.8px + 1684.13px + 1685.46px + 1686.8px + 1688.13px + 1689.46px + 1690.79px + 1692.12px + 1693.45px + 1694.78px + 1696.12px + 1697.45px + 1698.78px + 1700.11px + 1701.44px + 1702.77px + 1704.1px + 1705.43px + 1706.77px + 1708.1px + 1709.43px + 1710.76px + 1712.09px + 1713.42px + 1714.75px + 1716.09px + 1717.42px + 1718.75px + 1720.08px + 1721.41px + 1722.74px + 1724.07px + 1725.4px + 1726.74px + 1728.07px + 1729.4px + 1730.73px + 1732.06px + 1733.39px + 1734.72px + 1736.06px + 1737.39px + 1738.72px + 1740.05px + 1741.38px + 1742.71px + 1744.04px + 1745.37px + 1746.71px + 1748.04px + 1749.37px + 1750.7px + 1752.03px + 1753.36px + 1754.69px + 1756.03px + 1757.36px + 1758.69px + 1760.02px + 1761.35px + 1762.68px + 1764.01px + 1765.34px + 1766.68px + 1768.01px + 1769.34px + 1770.67px + 1772.0px + 1773.33px + 1774.66px + 1776px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1794x1080/lay_x.xml b/FaceUnity/src/main/res/values-1794x1080/lay_x.xml new file mode 100644 index 000000000..611c0b1f4 --- /dev/null +++ b/FaceUnity/src/main/res/values-1794x1080/lay_x.xml @@ -0,0 +1,753 @@ + + + 1.44px + 2.88px + 4.32px + 5.76px + 7.2px + 8.64px + 10.08px + 11.52px + 12.96px + 14.4px + 15.84px + 17.28px + 18.72px + 20.16px + 21.6px + 23.04px + 24.48px + 25.92px + 27.36px + 28.8px + 30.24px + 31.68px + 33.12px + 34.56px + 36.0px + 37.44px + 38.88px + 40.32px + 41.76px + 43.2px + 44.64px + 46.08px + 47.52px + 48.96px + 50.4px + 51.84px + 53.28px + 54.72px + 56.16px + 57.6px + 59.04px + 60.48px + 61.92px + 63.36px + 64.8px + 66.24px + 67.68px + 69.12px + 70.56px + 72.0px + 73.44px + 74.88px + 76.32px + 77.76px + 79.2px + 80.64px + 82.08px + 83.52px + 84.96px + 86.4px + 87.84px + 89.28px + 90.72px + 92.16px + 93.6px + 95.04px + 96.48px + 97.92px + 99.36px + 100.8px + 102.24px + 103.68px + 105.12px + 106.56px + 108.0px + 109.44px + 110.88px + 112.32px + 113.76px + 115.2px + 116.64px + 118.08px + 119.52px + 120.96px + 122.4px + 123.84px + 125.28px + 126.72px + 128.16px + 129.6px + 131.04px + 132.48px + 133.92px + 135.36px + 136.8px + 138.24px + 139.68px + 141.12px + 142.56px + 144.0px + 145.44px + 146.88px + 148.32px + 149.76px + 151.2px + 152.64px + 154.08px + 155.52px + 156.96px + 158.4px + 159.84px + 161.28px + 162.72px + 164.16px + 165.6px + 167.04px + 168.48px + 169.92px + 171.36px + 172.8px + 174.24px + 175.68px + 177.12px + 178.56px + 180.0px + 181.44px + 182.88px + 184.32px + 185.76px + 187.2px + 188.64px + 190.08px + 191.52px + 192.96px + 194.4px + 195.84px + 197.28px + 198.72px + 200.16px + 201.6px + 203.04px + 204.48px + 205.92px + 207.36px + 208.8px + 210.24px + 211.68px + 213.12px + 214.56px + 216.0px + 217.44px + 218.88px + 220.32px + 221.76px + 223.2px + 224.64px + 226.08px + 227.52px + 228.96px + 230.4px + 231.84px + 233.28px + 234.72px + 236.16px + 237.6px + 239.04px + 240.48px + 241.92px + 243.36px + 244.8px + 246.24px + 247.68px + 249.12px + 250.56px + 252.0px + 253.44px + 254.88px + 256.32px + 257.76px + 259.2px + 260.64px + 262.08px + 263.52px + 264.96px + 266.4px + 267.84px + 269.28px + 270.72px + 272.16px + 273.6px + 275.04px + 276.48px + 277.92px + 279.36px + 280.8px + 282.24px + 283.68px + 285.12px + 286.56px + 288.0px + 289.44px + 290.88px + 292.32px + 293.76px + 295.2px + 296.64px + 298.08px + 299.52px + 300.96px + 302.4px + 303.84px + 305.28px + 306.72px + 308.16px + 309.6px + 311.04px + 312.48px + 313.92px + 315.36px + 316.8px + 318.24px + 319.68px + 321.12px + 322.56px + 324.0px + 325.44px + 326.88px + 328.32px + 329.76px + 331.2px + 332.64px + 334.08px + 335.52px + 336.96px + 338.4px + 339.84px + 341.28px + 342.72px + 344.16px + 345.6px + 347.04px + 348.48px + 349.92px + 351.36px + 352.8px + 354.24px + 355.68px + 357.12px + 358.56px + 360.0px + 361.44px + 362.88px + 364.32px + 365.76px + 367.2px + 368.64px + 370.08px + 371.52px + 372.96px + 374.4px + 375.84px + 377.28px + 378.72px + 380.16px + 381.6px + 383.04px + 384.48px + 385.92px + 387.36px + 388.8px + 390.24px + 391.68px + 393.12px + 394.56px + 396.0px + 397.44px + 398.88px + 400.32px + 401.76px + 403.2px + 404.64px + 406.08px + 407.52px + 408.96px + 410.4px + 411.84px + 413.28px + 414.72px + 416.16px + 417.6px + 419.04px + 420.48px + 421.92px + 423.36px + 424.8px + 426.24px + 427.68px + 429.12px + 430.56px + 432.0px + 433.44px + 434.88px + 436.32px + 437.76px + 439.2px + 440.64px + 442.08px + 443.52px + 444.96px + 446.4px + 447.84px + 449.28px + 450.72px + 452.16px + 453.6px + 455.04px + 456.48px + 457.92px + 459.36px + 460.8px + 462.24px + 463.68px + 465.12px + 466.56px + 468.0px + 469.44px + 470.88px + 472.32px + 473.76px + 475.2px + 476.64px + 478.08px + 479.52px + 480.96px + 482.4px + 483.84px + 485.28px + 486.72px + 488.16px + 489.6px + 491.04px + 492.48px + 493.92px + 495.36px + 496.8px + 498.24px + 499.68px + 501.12px + 502.56px + 504.0px + 505.44px + 506.88px + 508.32px + 509.76px + 511.2px + 512.64px + 514.08px + 515.52px + 516.96px + 518.4px + 519.84px + 521.28px + 522.72px + 524.16px + 525.6px + 527.04px + 528.48px + 529.92px + 531.36px + 532.8px + 534.24px + 535.68px + 537.12px + 538.56px + 540.0px + 541.44px + 542.88px + 544.32px + 545.76px + 547.2px + 548.64px + 550.08px + 551.52px + 552.96px + 554.4px + 555.84px + 557.28px + 558.72px + 560.16px + 561.6px + 563.04px + 564.48px + 565.92px + 567.36px + 568.8px + 570.24px + 571.68px + 573.12px + 574.56px + 576.0px + 577.44px + 578.88px + 580.32px + 581.76px + 583.2px + 584.64px + 586.08px + 587.52px + 588.96px + 590.4px + 591.84px + 593.28px + 594.72px + 596.16px + 597.6px + 599.04px + 600.48px + 601.92px + 603.36px + 604.8px + 606.24px + 607.68px + 609.12px + 610.56px + 612.0px + 613.44px + 614.88px + 616.32px + 617.76px + 619.2px + 620.64px + 622.08px + 623.52px + 624.96px + 626.4px + 627.84px + 629.28px + 630.72px + 632.16px + 633.6px + 635.04px + 636.48px + 637.92px + 639.36px + 640.8px + 642.24px + 643.68px + 645.12px + 646.56px + 648.0px + 649.44px + 650.88px + 652.32px + 653.76px + 655.2px + 656.64px + 658.08px + 659.52px + 660.96px + 662.4px + 663.84px + 665.28px + 666.72px + 668.16px + 669.6px + 671.04px + 672.48px + 673.92px + 675.36px + 676.8px + 678.24px + 679.68px + 681.12px + 682.56px + 684.0px + 685.44px + 686.88px + 688.32px + 689.76px + 691.2px + 692.64px + 694.08px + 695.52px + 696.96px + 698.4px + 699.84px + 701.28px + 702.72px + 704.16px + 705.6px + 707.04px + 708.48px + 709.92px + 711.36px + 712.8px + 714.24px + 715.68px + 717.12px + 718.56px + 720.0px + 721.44px + 722.88px + 724.32px + 725.76px + 727.2px + 728.64px + 730.08px + 731.52px + 732.96px + 734.4px + 735.84px + 737.28px + 738.72px + 740.16px + 741.6px + 743.04px + 744.48px + 745.92px + 747.36px + 748.8px + 750.24px + 751.68px + 753.12px + 754.56px + 756.0px + 757.44px + 758.88px + 760.32px + 761.76px + 763.2px + 764.64px + 766.08px + 767.52px + 768.96px + 770.4px + 771.84px + 773.28px + 774.72px + 776.16px + 777.6px + 779.04px + 780.48px + 781.92px + 783.36px + 784.8px + 786.24px + 787.68px + 789.12px + 790.56px + 792.0px + 793.44px + 794.88px + 796.32px + 797.76px + 799.2px + 800.64px + 802.08px + 803.52px + 804.96px + 806.4px + 807.84px + 809.28px + 810.72px + 812.16px + 813.6px + 815.04px + 816.48px + 817.92px + 819.36px + 820.8px + 822.24px + 823.68px + 825.12px + 826.56px + 828.0px + 829.44px + 830.88px + 832.32px + 833.76px + 835.2px + 836.64px + 838.08px + 839.52px + 840.96px + 842.4px + 843.84px + 845.28px + 846.72px + 848.16px + 849.6px + 851.04px + 852.48px + 853.92px + 855.36px + 856.8px + 858.24px + 859.68px + 861.12px + 862.56px + 864.0px + 865.44px + 866.88px + 868.32px + 869.76px + 871.2px + 872.64px + 874.08px + 875.52px + 876.96px + 878.4px + 879.84px + 881.28px + 882.72px + 884.16px + 885.6px + 887.04px + 888.48px + 889.92px + 891.36px + 892.8px + 894.24px + 895.68px + 897.12px + 898.56px + 900.0px + 901.44px + 902.88px + 904.32px + 905.76px + 907.2px + 908.64px + 910.08px + 911.52px + 912.96px + 914.4px + 915.84px + 917.28px + 918.72px + 920.16px + 921.6px + 923.04px + 924.48px + 925.92px + 927.36px + 928.8px + 930.24px + 931.68px + 933.12px + 934.56px + 936.0px + 937.44px + 938.88px + 940.32px + 941.76px + 943.2px + 944.64px + 946.08px + 947.52px + 948.96px + 950.4px + 951.84px + 953.28px + 954.72px + 956.16px + 957.6px + 959.04px + 960.48px + 961.92px + 963.36px + 964.8px + 966.24px + 967.68px + 969.12px + 970.56px + 972.0px + 973.44px + 974.88px + 976.32px + 977.76px + 979.2px + 980.64px + 982.08px + 983.52px + 984.96px + 986.4px + 987.84px + 989.28px + 990.72px + 992.16px + 993.6px + 995.04px + 996.48px + 997.92px + 999.36px + 1000.8px + 1002.24px + 1003.68px + 1005.12px + 1006.56px + 1008.0px + 1009.44px + 1010.88px + 1012.32px + 1013.76px + 1015.2px + 1016.64px + 1018.08px + 1019.52px + 1020.96px + 1022.4px + 1023.84px + 1025.28px + 1026.72px + 1028.16px + 1029.6px + 1031.04px + 1032.48px + 1033.92px + 1035.36px + 1036.8px + 1038.24px + 1039.68px + 1041.12px + 1042.56px + 1044.0px + 1045.44px + 1046.88px + 1048.32px + 1049.76px + 1051.2px + 1052.64px + 1054.08px + 1055.52px + 1056.96px + 1058.4px + 1059.84px + 1061.28px + 1062.72px + 1064.16px + 1065.6px + 1067.04px + 1068.48px + 1069.92px + 1071.36px + 1072.8px + 1074.24px + 1075.68px + 1077.12px + 1078.56px + 1080px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1794x1080/lay_y.xml b/FaceUnity/src/main/res/values-1794x1080/lay_y.xml new file mode 100644 index 000000000..af20cf084 --- /dev/null +++ b/FaceUnity/src/main/res/values-1794x1080/lay_y.xml @@ -0,0 +1,1337 @@ + + + 1.34px + 2.68px + 4.03px + 5.37px + 6.72px + 8.06px + 9.41px + 10.75px + 12.1px + 13.44px + 14.79px + 16.13px + 17.48px + 18.82px + 20.17px + 21.51px + 22.86px + 24.2px + 25.55px + 26.89px + 28.24px + 29.58px + 30.93px + 32.27px + 33.62px + 34.96px + 36.31px + 37.65px + 39.0px + 40.34px + 41.68px + 43.03px + 44.37px + 45.72px + 47.06px + 48.41px + 49.75px + 51.1px + 52.44px + 53.79px + 55.13px + 56.48px + 57.82px + 59.17px + 60.51px + 61.86px + 63.2px + 64.55px + 65.89px + 67.24px + 68.58px + 69.93px + 71.27px + 72.62px + 73.96px + 75.31px + 76.65px + 78.0px + 79.34px + 80.68px + 82.03px + 83.37px + 84.72px + 86.06px + 87.41px + 88.75px + 90.1px + 91.44px + 92.79px + 94.13px + 95.48px + 96.82px + 98.17px + 99.51px + 100.86px + 102.2px + 103.55px + 104.89px + 106.24px + 107.58px + 108.93px + 110.27px + 111.62px + 112.96px + 114.31px + 115.65px + 116.99px + 118.34px + 119.68px + 121.03px + 122.37px + 123.72px + 125.06px + 126.41px + 127.75px + 129.1px + 130.44px + 131.79px + 133.13px + 134.48px + 135.82px + 137.17px + 138.51px + 139.86px + 141.2px + 142.55px + 143.89px + 145.24px + 146.58px + 147.93px + 149.27px + 150.62px + 151.96px + 153.31px + 154.65px + 156.0px + 157.34px + 158.68px + 160.03px + 161.37px + 162.72px + 164.06px + 165.41px + 166.75px + 168.1px + 169.44px + 170.79px + 172.13px + 173.48px + 174.82px + 176.17px + 177.51px + 178.86px + 180.2px + 181.55px + 182.89px + 184.24px + 185.58px + 186.93px + 188.27px + 189.62px + 190.96px + 192.31px + 193.65px + 194.99px + 196.34px + 197.68px + 199.03px + 200.37px + 201.72px + 203.06px + 204.41px + 205.75px + 207.1px + 208.44px + 209.79px + 211.13px + 212.48px + 213.82px + 215.17px + 216.51px + 217.86px + 219.2px + 220.55px + 221.89px + 223.24px + 224.58px + 225.93px + 227.27px + 228.62px + 229.96px + 231.31px + 232.65px + 233.99px + 235.34px + 236.68px + 238.03px + 239.37px + 240.72px + 242.06px + 243.41px + 244.75px + 246.1px + 247.44px + 248.79px + 250.13px + 251.48px + 252.82px + 254.17px + 255.51px + 256.86px + 258.2px + 259.55px + 260.89px + 262.24px + 263.58px + 264.93px + 266.27px + 267.62px + 268.96px + 270.31px + 271.65px + 273.0px + 274.34px + 275.68px + 277.03px + 278.37px + 279.72px + 281.06px + 282.41px + 283.75px + 285.1px + 286.44px + 287.79px + 289.13px + 290.48px + 291.82px + 293.17px + 294.51px + 295.86px + 297.2px + 298.55px + 299.89px + 301.24px + 302.58px + 303.93px + 305.27px + 306.62px + 307.96px + 309.31px + 310.65px + 312.0px + 313.34px + 314.68px + 316.03px + 317.37px + 318.72px + 320.06px + 321.41px + 322.75px + 324.1px + 325.44px + 326.79px + 328.13px + 329.48px + 330.82px + 332.17px + 333.51px + 334.86px + 336.2px + 337.55px + 338.89px + 340.24px + 341.58px + 342.93px + 344.27px + 345.62px + 346.96px + 348.31px + 349.65px + 351.0px + 352.34px + 353.68px + 355.03px + 356.37px + 357.72px + 359.06px + 360.41px + 361.75px + 363.1px + 364.44px + 365.79px + 367.13px + 368.48px + 369.82px + 371.17px + 372.51px + 373.86px + 375.2px + 376.55px + 377.89px + 379.24px + 380.58px + 381.93px + 383.27px + 384.62px + 385.96px + 387.31px + 388.65px + 389.99px + 391.34px + 392.68px + 394.03px + 395.37px + 396.72px + 398.06px + 399.41px + 400.75px + 402.1px + 403.44px + 404.79px + 406.13px + 407.48px + 408.82px + 410.17px + 411.51px + 412.86px + 414.2px + 415.55px + 416.89px + 418.24px + 419.58px + 420.93px + 422.27px + 423.62px + 424.96px + 426.31px + 427.65px + 428.99px + 430.34px + 431.68px + 433.03px + 434.37px + 435.72px + 437.06px + 438.41px + 439.75px + 441.1px + 442.44px + 443.79px + 445.13px + 446.48px + 447.82px + 449.17px + 450.51px + 451.86px + 453.2px + 454.55px + 455.89px + 457.24px + 458.58px + 459.93px + 461.27px + 462.62px + 463.96px + 465.31px + 466.65px + 467.99px + 469.34px + 470.68px + 472.03px + 473.37px + 474.72px + 476.06px + 477.41px + 478.75px + 480.1px + 481.44px + 482.79px + 484.13px + 485.48px + 486.82px + 488.17px + 489.51px + 490.86px + 492.2px + 493.55px + 494.89px + 496.24px + 497.58px + 498.93px + 500.27px + 501.62px + 502.96px + 504.31px + 505.65px + 506.99px + 508.34px + 509.68px + 511.03px + 512.37px + 513.72px + 515.06px + 516.41px + 517.75px + 519.1px + 520.44px + 521.79px + 523.13px + 524.48px + 525.82px + 527.17px + 528.51px + 529.86px + 531.2px + 532.55px + 533.89px + 535.24px + 536.58px + 537.93px + 539.27px + 540.62px + 541.96px + 543.31px + 544.65px + 546.0px + 547.34px + 548.68px + 550.03px + 551.37px + 552.72px + 554.06px + 555.41px + 556.75px + 558.1px + 559.44px + 560.79px + 562.13px + 563.48px + 564.82px + 566.17px + 567.51px + 568.86px + 570.2px + 571.55px + 572.89px + 574.24px + 575.58px + 576.93px + 578.27px + 579.62px + 580.96px + 582.31px + 583.65px + 585.0px + 586.34px + 587.68px + 589.03px + 590.37px + 591.72px + 593.06px + 594.41px + 595.75px + 597.1px + 598.44px + 599.79px + 601.13px + 602.48px + 603.82px + 605.17px + 606.51px + 607.86px + 609.2px + 610.55px + 611.89px + 613.24px + 614.58px + 615.93px + 617.27px + 618.62px + 619.96px + 621.31px + 622.65px + 624.0px + 625.34px + 626.68px + 628.03px + 629.37px + 630.72px + 632.06px + 633.41px + 634.75px + 636.1px + 637.44px + 638.79px + 640.13px + 641.48px + 642.82px + 644.17px + 645.51px + 646.86px + 648.2px + 649.55px + 650.89px + 652.24px + 653.58px + 654.93px + 656.27px + 657.62px + 658.96px + 660.31px + 661.65px + 663.0px + 664.34px + 665.68px + 667.03px + 668.37px + 669.72px + 671.06px + 672.41px + 673.75px + 675.1px + 676.44px + 677.79px + 679.13px + 680.48px + 681.82px + 683.17px + 684.51px + 685.86px + 687.2px + 688.55px + 689.89px + 691.24px + 692.58px + 693.93px + 695.27px + 696.62px + 697.96px + 699.31px + 700.65px + 702.0px + 703.34px + 704.68px + 706.03px + 707.37px + 708.72px + 710.06px + 711.41px + 712.75px + 714.1px + 715.44px + 716.79px + 718.13px + 719.48px + 720.82px + 722.17px + 723.51px + 724.86px + 726.2px + 727.55px + 728.89px + 730.24px + 731.58px + 732.93px + 734.27px + 735.62px + 736.96px + 738.31px + 739.65px + 741.0px + 742.34px + 743.68px + 745.03px + 746.37px + 747.72px + 749.06px + 750.41px + 751.75px + 753.1px + 754.44px + 755.79px + 757.13px + 758.48px + 759.82px + 761.17px + 762.51px + 763.86px + 765.2px + 766.55px + 767.89px + 769.24px + 770.58px + 771.93px + 773.27px + 774.62px + 775.96px + 777.31px + 778.65px + 779.99px + 781.34px + 782.68px + 784.03px + 785.37px + 786.72px + 788.06px + 789.41px + 790.75px + 792.1px + 793.44px + 794.79px + 796.13px + 797.48px + 798.82px + 800.17px + 801.51px + 802.86px + 804.2px + 805.55px + 806.89px + 808.24px + 809.58px + 810.93px + 812.27px + 813.62px + 814.96px + 816.31px + 817.65px + 818.99px + 820.34px + 821.68px + 823.03px + 824.37px + 825.72px + 827.06px + 828.41px + 829.75px + 831.1px + 832.44px + 833.79px + 835.13px + 836.48px + 837.82px + 839.17px + 840.51px + 841.86px + 843.2px + 844.55px + 845.89px + 847.24px + 848.58px + 849.93px + 851.27px + 852.62px + 853.96px + 855.31px + 856.65px + 857.99px + 859.34px + 860.68px + 862.03px + 863.37px + 864.72px + 866.06px + 867.41px + 868.75px + 870.1px + 871.44px + 872.79px + 874.13px + 875.48px + 876.82px + 878.17px + 879.51px + 880.86px + 882.2px + 883.55px + 884.89px + 886.24px + 887.58px + 888.93px + 890.27px + 891.62px + 892.96px + 894.31px + 895.65px + 896.99px + 898.34px + 899.68px + 901.03px + 902.37px + 903.72px + 905.06px + 906.41px + 907.75px + 909.1px + 910.44px + 911.79px + 913.13px + 914.48px + 915.82px + 917.17px + 918.51px + 919.86px + 921.2px + 922.55px + 923.89px + 925.24px + 926.58px + 927.93px + 929.27px + 930.62px + 931.96px + 933.31px + 934.65px + 935.99px + 937.34px + 938.68px + 940.03px + 941.37px + 942.72px + 944.06px + 945.41px + 946.75px + 948.1px + 949.44px + 950.79px + 952.13px + 953.48px + 954.82px + 956.17px + 957.51px + 958.86px + 960.2px + 961.55px + 962.89px + 964.24px + 965.58px + 966.93px + 968.27px + 969.62px + 970.96px + 972.31px + 973.65px + 974.99px + 976.34px + 977.68px + 979.03px + 980.37px + 981.72px + 983.06px + 984.41px + 985.75px + 987.1px + 988.44px + 989.79px + 991.13px + 992.48px + 993.82px + 995.17px + 996.51px + 997.86px + 999.2px + 1000.55px + 1001.89px + 1003.24px + 1004.58px + 1005.93px + 1007.27px + 1008.62px + 1009.96px + 1011.31px + 1012.65px + 1013.99px + 1015.34px + 1016.68px + 1018.03px + 1019.37px + 1020.72px + 1022.06px + 1023.41px + 1024.75px + 1026.1px + 1027.44px + 1028.79px + 1030.13px + 1031.48px + 1032.82px + 1034.17px + 1035.51px + 1036.86px + 1038.2px + 1039.55px + 1040.89px + 1042.24px + 1043.58px + 1044.93px + 1046.27px + 1047.62px + 1048.96px + 1050.31px + 1051.65px + 1053.0px + 1054.34px + 1055.68px + 1057.03px + 1058.37px + 1059.72px + 1061.06px + 1062.41px + 1063.75px + 1065.1px + 1066.44px + 1067.79px + 1069.13px + 1070.48px + 1071.82px + 1073.17px + 1074.51px + 1075.86px + 1077.2px + 1078.55px + 1079.89px + 1081.24px + 1082.58px + 1083.93px + 1085.27px + 1086.62px + 1087.96px + 1089.31px + 1090.65px + 1092.0px + 1093.34px + 1094.68px + 1096.03px + 1097.37px + 1098.72px + 1100.06px + 1101.41px + 1102.75px + 1104.1px + 1105.44px + 1106.79px + 1108.13px + 1109.48px + 1110.82px + 1112.17px + 1113.51px + 1114.86px + 1116.2px + 1117.55px + 1118.89px + 1120.24px + 1121.58px + 1122.93px + 1124.27px + 1125.62px + 1126.96px + 1128.31px + 1129.65px + 1131.0px + 1132.34px + 1133.68px + 1135.03px + 1136.37px + 1137.72px + 1139.06px + 1140.41px + 1141.75px + 1143.1px + 1144.44px + 1145.79px + 1147.13px + 1148.48px + 1149.82px + 1151.17px + 1152.51px + 1153.86px + 1155.2px + 1156.55px + 1157.89px + 1159.24px + 1160.58px + 1161.93px + 1163.27px + 1164.62px + 1165.96px + 1167.31px + 1168.65px + 1170.0px + 1171.34px + 1172.68px + 1174.03px + 1175.37px + 1176.72px + 1178.06px + 1179.41px + 1180.75px + 1182.1px + 1183.44px + 1184.79px + 1186.13px + 1187.48px + 1188.82px + 1190.17px + 1191.51px + 1192.86px + 1194.2px + 1195.55px + 1196.89px + 1198.24px + 1199.58px + 1200.93px + 1202.27px + 1203.62px + 1204.96px + 1206.31px + 1207.65px + 1209.0px + 1210.34px + 1211.68px + 1213.03px + 1214.37px + 1215.72px + 1217.06px + 1218.41px + 1219.75px + 1221.1px + 1222.44px + 1223.79px + 1225.13px + 1226.48px + 1227.82px + 1229.17px + 1230.51px + 1231.86px + 1233.2px + 1234.55px + 1235.89px + 1237.24px + 1238.58px + 1239.93px + 1241.27px + 1242.62px + 1243.96px + 1245.31px + 1246.65px + 1248.0px + 1249.34px + 1250.68px + 1252.03px + 1253.37px + 1254.72px + 1256.06px + 1257.41px + 1258.75px + 1260.1px + 1261.44px + 1262.79px + 1264.13px + 1265.48px + 1266.82px + 1268.17px + 1269.51px + 1270.86px + 1272.2px + 1273.55px + 1274.89px + 1276.24px + 1277.58px + 1278.93px + 1280.27px + 1281.62px + 1282.96px + 1284.31px + 1285.65px + 1287.0px + 1288.34px + 1289.68px + 1291.03px + 1292.37px + 1293.72px + 1295.06px + 1296.41px + 1297.75px + 1299.1px + 1300.44px + 1301.79px + 1303.13px + 1304.48px + 1305.82px + 1307.17px + 1308.51px + 1309.86px + 1311.2px + 1312.55px + 1313.89px + 1315.24px + 1316.58px + 1317.93px + 1319.27px + 1320.62px + 1321.96px + 1323.31px + 1324.65px + 1326.0px + 1327.34px + 1328.68px + 1330.03px + 1331.37px + 1332.72px + 1334.06px + 1335.41px + 1336.75px + 1338.1px + 1339.44px + 1340.79px + 1342.13px + 1343.48px + 1344.82px + 1346.17px + 1347.51px + 1348.86px + 1350.2px + 1351.55px + 1352.89px + 1354.24px + 1355.58px + 1356.93px + 1358.27px + 1359.62px + 1360.96px + 1362.31px + 1363.65px + 1365.0px + 1366.34px + 1367.68px + 1369.03px + 1370.37px + 1371.72px + 1373.06px + 1374.41px + 1375.75px + 1377.1px + 1378.44px + 1379.79px + 1381.13px + 1382.48px + 1383.82px + 1385.17px + 1386.51px + 1387.86px + 1389.2px + 1390.55px + 1391.89px + 1393.24px + 1394.58px + 1395.93px + 1397.27px + 1398.62px + 1399.96px + 1401.31px + 1402.65px + 1404.0px + 1405.34px + 1406.68px + 1408.03px + 1409.37px + 1410.72px + 1412.06px + 1413.41px + 1414.75px + 1416.1px + 1417.44px + 1418.79px + 1420.13px + 1421.48px + 1422.82px + 1424.17px + 1425.51px + 1426.86px + 1428.2px + 1429.55px + 1430.89px + 1432.24px + 1433.58px + 1434.93px + 1436.27px + 1437.62px + 1438.96px + 1440.31px + 1441.65px + 1443.0px + 1444.34px + 1445.68px + 1447.03px + 1448.37px + 1449.72px + 1451.06px + 1452.41px + 1453.75px + 1455.1px + 1456.44px + 1457.79px + 1459.13px + 1460.48px + 1461.82px + 1463.17px + 1464.51px + 1465.86px + 1467.2px + 1468.55px + 1469.89px + 1471.24px + 1472.58px + 1473.93px + 1475.27px + 1476.62px + 1477.96px + 1479.31px + 1480.65px + 1482.0px + 1483.34px + 1484.68px + 1486.03px + 1487.37px + 1488.72px + 1490.06px + 1491.41px + 1492.75px + 1494.1px + 1495.44px + 1496.79px + 1498.13px + 1499.48px + 1500.82px + 1502.17px + 1503.51px + 1504.86px + 1506.2px + 1507.55px + 1508.89px + 1510.24px + 1511.58px + 1512.93px + 1514.27px + 1515.62px + 1516.96px + 1518.31px + 1519.65px + 1521.0px + 1522.34px + 1523.68px + 1525.03px + 1526.37px + 1527.72px + 1529.06px + 1530.41px + 1531.75px + 1533.1px + 1534.44px + 1535.79px + 1537.13px + 1538.48px + 1539.82px + 1541.17px + 1542.51px + 1543.86px + 1545.2px + 1546.55px + 1547.89px + 1549.24px + 1550.58px + 1551.93px + 1553.27px + 1554.62px + 1555.96px + 1557.31px + 1558.65px + 1559.99px + 1561.34px + 1562.68px + 1564.03px + 1565.37px + 1566.72px + 1568.06px + 1569.41px + 1570.75px + 1572.1px + 1573.44px + 1574.79px + 1576.13px + 1577.48px + 1578.82px + 1580.17px + 1581.51px + 1582.86px + 1584.2px + 1585.55px + 1586.89px + 1588.24px + 1589.58px + 1590.93px + 1592.27px + 1593.62px + 1594.96px + 1596.31px + 1597.65px + 1598.99px + 1600.34px + 1601.68px + 1603.03px + 1604.37px + 1605.72px + 1607.06px + 1608.41px + 1609.75px + 1611.1px + 1612.44px + 1613.79px + 1615.13px + 1616.48px + 1617.82px + 1619.17px + 1620.51px + 1621.86px + 1623.2px + 1624.55px + 1625.89px + 1627.24px + 1628.58px + 1629.93px + 1631.27px + 1632.62px + 1633.96px + 1635.31px + 1636.65px + 1637.99px + 1639.34px + 1640.68px + 1642.03px + 1643.37px + 1644.72px + 1646.06px + 1647.41px + 1648.75px + 1650.1px + 1651.44px + 1652.79px + 1654.13px + 1655.48px + 1656.82px + 1658.17px + 1659.51px + 1660.86px + 1662.2px + 1663.55px + 1664.89px + 1666.24px + 1667.58px + 1668.93px + 1670.27px + 1671.62px + 1672.96px + 1674.31px + 1675.65px + 1676.99px + 1678.34px + 1679.68px + 1681.03px + 1682.37px + 1683.72px + 1685.06px + 1686.41px + 1687.75px + 1689.1px + 1690.44px + 1691.79px + 1693.13px + 1694.48px + 1695.82px + 1697.17px + 1698.51px + 1699.86px + 1701.2px + 1702.55px + 1703.89px + 1705.24px + 1706.58px + 1707.93px + 1709.27px + 1710.62px + 1711.96px + 1713.31px + 1714.65px + 1715.99px + 1717.34px + 1718.68px + 1720.03px + 1721.37px + 1722.72px + 1724.06px + 1725.41px + 1726.75px + 1728.1px + 1729.44px + 1730.79px + 1732.13px + 1733.48px + 1734.82px + 1736.17px + 1737.51px + 1738.86px + 1740.2px + 1741.55px + 1742.89px + 1744.24px + 1745.58px + 1746.93px + 1748.27px + 1749.62px + 1750.96px + 1752.31px + 1753.65px + 1754.99px + 1756.34px + 1757.68px + 1759.03px + 1760.37px + 1761.72px + 1763.06px + 1764.41px + 1765.75px + 1767.1px + 1768.44px + 1769.79px + 1771.13px + 1772.48px + 1773.82px + 1775.17px + 1776.51px + 1777.86px + 1779.2px + 1780.55px + 1781.89px + 1783.24px + 1784.58px + 1785.93px + 1787.27px + 1788.62px + 1789.96px + 1791.31px + 1792.65px + 1794px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1800x1080/lay_x.xml b/FaceUnity/src/main/res/values-1800x1080/lay_x.xml new file mode 100644 index 000000000..611c0b1f4 --- /dev/null +++ b/FaceUnity/src/main/res/values-1800x1080/lay_x.xml @@ -0,0 +1,753 @@ + + + 1.44px + 2.88px + 4.32px + 5.76px + 7.2px + 8.64px + 10.08px + 11.52px + 12.96px + 14.4px + 15.84px + 17.28px + 18.72px + 20.16px + 21.6px + 23.04px + 24.48px + 25.92px + 27.36px + 28.8px + 30.24px + 31.68px + 33.12px + 34.56px + 36.0px + 37.44px + 38.88px + 40.32px + 41.76px + 43.2px + 44.64px + 46.08px + 47.52px + 48.96px + 50.4px + 51.84px + 53.28px + 54.72px + 56.16px + 57.6px + 59.04px + 60.48px + 61.92px + 63.36px + 64.8px + 66.24px + 67.68px + 69.12px + 70.56px + 72.0px + 73.44px + 74.88px + 76.32px + 77.76px + 79.2px + 80.64px + 82.08px + 83.52px + 84.96px + 86.4px + 87.84px + 89.28px + 90.72px + 92.16px + 93.6px + 95.04px + 96.48px + 97.92px + 99.36px + 100.8px + 102.24px + 103.68px + 105.12px + 106.56px + 108.0px + 109.44px + 110.88px + 112.32px + 113.76px + 115.2px + 116.64px + 118.08px + 119.52px + 120.96px + 122.4px + 123.84px + 125.28px + 126.72px + 128.16px + 129.6px + 131.04px + 132.48px + 133.92px + 135.36px + 136.8px + 138.24px + 139.68px + 141.12px + 142.56px + 144.0px + 145.44px + 146.88px + 148.32px + 149.76px + 151.2px + 152.64px + 154.08px + 155.52px + 156.96px + 158.4px + 159.84px + 161.28px + 162.72px + 164.16px + 165.6px + 167.04px + 168.48px + 169.92px + 171.36px + 172.8px + 174.24px + 175.68px + 177.12px + 178.56px + 180.0px + 181.44px + 182.88px + 184.32px + 185.76px + 187.2px + 188.64px + 190.08px + 191.52px + 192.96px + 194.4px + 195.84px + 197.28px + 198.72px + 200.16px + 201.6px + 203.04px + 204.48px + 205.92px + 207.36px + 208.8px + 210.24px + 211.68px + 213.12px + 214.56px + 216.0px + 217.44px + 218.88px + 220.32px + 221.76px + 223.2px + 224.64px + 226.08px + 227.52px + 228.96px + 230.4px + 231.84px + 233.28px + 234.72px + 236.16px + 237.6px + 239.04px + 240.48px + 241.92px + 243.36px + 244.8px + 246.24px + 247.68px + 249.12px + 250.56px + 252.0px + 253.44px + 254.88px + 256.32px + 257.76px + 259.2px + 260.64px + 262.08px + 263.52px + 264.96px + 266.4px + 267.84px + 269.28px + 270.72px + 272.16px + 273.6px + 275.04px + 276.48px + 277.92px + 279.36px + 280.8px + 282.24px + 283.68px + 285.12px + 286.56px + 288.0px + 289.44px + 290.88px + 292.32px + 293.76px + 295.2px + 296.64px + 298.08px + 299.52px + 300.96px + 302.4px + 303.84px + 305.28px + 306.72px + 308.16px + 309.6px + 311.04px + 312.48px + 313.92px + 315.36px + 316.8px + 318.24px + 319.68px + 321.12px + 322.56px + 324.0px + 325.44px + 326.88px + 328.32px + 329.76px + 331.2px + 332.64px + 334.08px + 335.52px + 336.96px + 338.4px + 339.84px + 341.28px + 342.72px + 344.16px + 345.6px + 347.04px + 348.48px + 349.92px + 351.36px + 352.8px + 354.24px + 355.68px + 357.12px + 358.56px + 360.0px + 361.44px + 362.88px + 364.32px + 365.76px + 367.2px + 368.64px + 370.08px + 371.52px + 372.96px + 374.4px + 375.84px + 377.28px + 378.72px + 380.16px + 381.6px + 383.04px + 384.48px + 385.92px + 387.36px + 388.8px + 390.24px + 391.68px + 393.12px + 394.56px + 396.0px + 397.44px + 398.88px + 400.32px + 401.76px + 403.2px + 404.64px + 406.08px + 407.52px + 408.96px + 410.4px + 411.84px + 413.28px + 414.72px + 416.16px + 417.6px + 419.04px + 420.48px + 421.92px + 423.36px + 424.8px + 426.24px + 427.68px + 429.12px + 430.56px + 432.0px + 433.44px + 434.88px + 436.32px + 437.76px + 439.2px + 440.64px + 442.08px + 443.52px + 444.96px + 446.4px + 447.84px + 449.28px + 450.72px + 452.16px + 453.6px + 455.04px + 456.48px + 457.92px + 459.36px + 460.8px + 462.24px + 463.68px + 465.12px + 466.56px + 468.0px + 469.44px + 470.88px + 472.32px + 473.76px + 475.2px + 476.64px + 478.08px + 479.52px + 480.96px + 482.4px + 483.84px + 485.28px + 486.72px + 488.16px + 489.6px + 491.04px + 492.48px + 493.92px + 495.36px + 496.8px + 498.24px + 499.68px + 501.12px + 502.56px + 504.0px + 505.44px + 506.88px + 508.32px + 509.76px + 511.2px + 512.64px + 514.08px + 515.52px + 516.96px + 518.4px + 519.84px + 521.28px + 522.72px + 524.16px + 525.6px + 527.04px + 528.48px + 529.92px + 531.36px + 532.8px + 534.24px + 535.68px + 537.12px + 538.56px + 540.0px + 541.44px + 542.88px + 544.32px + 545.76px + 547.2px + 548.64px + 550.08px + 551.52px + 552.96px + 554.4px + 555.84px + 557.28px + 558.72px + 560.16px + 561.6px + 563.04px + 564.48px + 565.92px + 567.36px + 568.8px + 570.24px + 571.68px + 573.12px + 574.56px + 576.0px + 577.44px + 578.88px + 580.32px + 581.76px + 583.2px + 584.64px + 586.08px + 587.52px + 588.96px + 590.4px + 591.84px + 593.28px + 594.72px + 596.16px + 597.6px + 599.04px + 600.48px + 601.92px + 603.36px + 604.8px + 606.24px + 607.68px + 609.12px + 610.56px + 612.0px + 613.44px + 614.88px + 616.32px + 617.76px + 619.2px + 620.64px + 622.08px + 623.52px + 624.96px + 626.4px + 627.84px + 629.28px + 630.72px + 632.16px + 633.6px + 635.04px + 636.48px + 637.92px + 639.36px + 640.8px + 642.24px + 643.68px + 645.12px + 646.56px + 648.0px + 649.44px + 650.88px + 652.32px + 653.76px + 655.2px + 656.64px + 658.08px + 659.52px + 660.96px + 662.4px + 663.84px + 665.28px + 666.72px + 668.16px + 669.6px + 671.04px + 672.48px + 673.92px + 675.36px + 676.8px + 678.24px + 679.68px + 681.12px + 682.56px + 684.0px + 685.44px + 686.88px + 688.32px + 689.76px + 691.2px + 692.64px + 694.08px + 695.52px + 696.96px + 698.4px + 699.84px + 701.28px + 702.72px + 704.16px + 705.6px + 707.04px + 708.48px + 709.92px + 711.36px + 712.8px + 714.24px + 715.68px + 717.12px + 718.56px + 720.0px + 721.44px + 722.88px + 724.32px + 725.76px + 727.2px + 728.64px + 730.08px + 731.52px + 732.96px + 734.4px + 735.84px + 737.28px + 738.72px + 740.16px + 741.6px + 743.04px + 744.48px + 745.92px + 747.36px + 748.8px + 750.24px + 751.68px + 753.12px + 754.56px + 756.0px + 757.44px + 758.88px + 760.32px + 761.76px + 763.2px + 764.64px + 766.08px + 767.52px + 768.96px + 770.4px + 771.84px + 773.28px + 774.72px + 776.16px + 777.6px + 779.04px + 780.48px + 781.92px + 783.36px + 784.8px + 786.24px + 787.68px + 789.12px + 790.56px + 792.0px + 793.44px + 794.88px + 796.32px + 797.76px + 799.2px + 800.64px + 802.08px + 803.52px + 804.96px + 806.4px + 807.84px + 809.28px + 810.72px + 812.16px + 813.6px + 815.04px + 816.48px + 817.92px + 819.36px + 820.8px + 822.24px + 823.68px + 825.12px + 826.56px + 828.0px + 829.44px + 830.88px + 832.32px + 833.76px + 835.2px + 836.64px + 838.08px + 839.52px + 840.96px + 842.4px + 843.84px + 845.28px + 846.72px + 848.16px + 849.6px + 851.04px + 852.48px + 853.92px + 855.36px + 856.8px + 858.24px + 859.68px + 861.12px + 862.56px + 864.0px + 865.44px + 866.88px + 868.32px + 869.76px + 871.2px + 872.64px + 874.08px + 875.52px + 876.96px + 878.4px + 879.84px + 881.28px + 882.72px + 884.16px + 885.6px + 887.04px + 888.48px + 889.92px + 891.36px + 892.8px + 894.24px + 895.68px + 897.12px + 898.56px + 900.0px + 901.44px + 902.88px + 904.32px + 905.76px + 907.2px + 908.64px + 910.08px + 911.52px + 912.96px + 914.4px + 915.84px + 917.28px + 918.72px + 920.16px + 921.6px + 923.04px + 924.48px + 925.92px + 927.36px + 928.8px + 930.24px + 931.68px + 933.12px + 934.56px + 936.0px + 937.44px + 938.88px + 940.32px + 941.76px + 943.2px + 944.64px + 946.08px + 947.52px + 948.96px + 950.4px + 951.84px + 953.28px + 954.72px + 956.16px + 957.6px + 959.04px + 960.48px + 961.92px + 963.36px + 964.8px + 966.24px + 967.68px + 969.12px + 970.56px + 972.0px + 973.44px + 974.88px + 976.32px + 977.76px + 979.2px + 980.64px + 982.08px + 983.52px + 984.96px + 986.4px + 987.84px + 989.28px + 990.72px + 992.16px + 993.6px + 995.04px + 996.48px + 997.92px + 999.36px + 1000.8px + 1002.24px + 1003.68px + 1005.12px + 1006.56px + 1008.0px + 1009.44px + 1010.88px + 1012.32px + 1013.76px + 1015.2px + 1016.64px + 1018.08px + 1019.52px + 1020.96px + 1022.4px + 1023.84px + 1025.28px + 1026.72px + 1028.16px + 1029.6px + 1031.04px + 1032.48px + 1033.92px + 1035.36px + 1036.8px + 1038.24px + 1039.68px + 1041.12px + 1042.56px + 1044.0px + 1045.44px + 1046.88px + 1048.32px + 1049.76px + 1051.2px + 1052.64px + 1054.08px + 1055.52px + 1056.96px + 1058.4px + 1059.84px + 1061.28px + 1062.72px + 1064.16px + 1065.6px + 1067.04px + 1068.48px + 1069.92px + 1071.36px + 1072.8px + 1074.24px + 1075.68px + 1077.12px + 1078.56px + 1080px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1800x1080/lay_y.xml b/FaceUnity/src/main/res/values-1800x1080/lay_y.xml new file mode 100644 index 000000000..784b1955c --- /dev/null +++ b/FaceUnity/src/main/res/values-1800x1080/lay_y.xml @@ -0,0 +1,1337 @@ + + + 1.34px + 2.69px + 4.04px + 5.39px + 6.74px + 8.09px + 9.44px + 10.79px + 12.14px + 13.49px + 14.84px + 16.19px + 17.54px + 18.89px + 20.23px + 21.58px + 22.93px + 24.28px + 25.63px + 26.98px + 28.33px + 29.68px + 31.03px + 32.38px + 33.73px + 35.08px + 36.43px + 37.78px + 39.13px + 40.47px + 41.82px + 43.17px + 44.52px + 45.87px + 47.22px + 48.57px + 49.92px + 51.27px + 52.62px + 53.97px + 55.32px + 56.67px + 58.02px + 59.37px + 60.71px + 62.06px + 63.41px + 64.76px + 66.11px + 67.46px + 68.81px + 70.16px + 71.51px + 72.86px + 74.21px + 75.56px + 76.91px + 78.26px + 79.61px + 80.95px + 82.3px + 83.65px + 85.0px + 86.35px + 87.7px + 89.05px + 90.4px + 91.75px + 93.1px + 94.45px + 95.8px + 97.15px + 98.5px + 99.85px + 101.19px + 102.54px + 103.89px + 105.24px + 106.59px + 107.94px + 109.29px + 110.64px + 111.99px + 113.34px + 114.69px + 116.04px + 117.39px + 118.74px + 120.08px + 121.43px + 122.78px + 124.13px + 125.48px + 126.83px + 128.18px + 129.53px + 130.88px + 132.23px + 133.58px + 134.93px + 136.28px + 137.63px + 138.98px + 140.32px + 141.67px + 143.02px + 144.37px + 145.72px + 147.07px + 148.42px + 149.77px + 151.12px + 152.47px + 153.82px + 155.17px + 156.52px + 157.87px + 159.22px + 160.56px + 161.91px + 163.26px + 164.61px + 165.96px + 167.31px + 168.66px + 170.01px + 171.36px + 172.71px + 174.06px + 175.41px + 176.76px + 178.11px + 179.46px + 180.8px + 182.15px + 183.5px + 184.85px + 186.2px + 187.55px + 188.9px + 190.25px + 191.6px + 192.95px + 194.3px + 195.65px + 197.0px + 198.35px + 199.7px + 201.04px + 202.39px + 203.74px + 205.09px + 206.44px + 207.79px + 209.14px + 210.49px + 211.84px + 213.19px + 214.54px + 215.89px + 217.24px + 218.59px + 219.94px + 221.28px + 222.63px + 223.98px + 225.33px + 226.68px + 228.03px + 229.38px + 230.73px + 232.08px + 233.43px + 234.78px + 236.13px + 237.48px + 238.83px + 240.17px + 241.52px + 242.87px + 244.22px + 245.57px + 246.92px + 248.27px + 249.62px + 250.97px + 252.32px + 253.67px + 255.02px + 256.37px + 257.72px + 259.07px + 260.41px + 261.76px + 263.11px + 264.46px + 265.81px + 267.16px + 268.51px + 269.86px + 271.21px + 272.56px + 273.91px + 275.26px + 276.61px + 277.96px + 279.31px + 280.65px + 282.0px + 283.35px + 284.7px + 286.05px + 287.4px + 288.75px + 290.1px + 291.45px + 292.8px + 294.15px + 295.5px + 296.85px + 298.2px + 299.55px + 300.89px + 302.24px + 303.59px + 304.94px + 306.29px + 307.64px + 308.99px + 310.34px + 311.69px + 313.04px + 314.39px + 315.74px + 317.09px + 318.44px + 319.79px + 321.13px + 322.48px + 323.83px + 325.18px + 326.53px + 327.88px + 329.23px + 330.58px + 331.93px + 333.28px + 334.63px + 335.98px + 337.33px + 338.68px + 340.02px + 341.37px + 342.72px + 344.07px + 345.42px + 346.77px + 348.12px + 349.47px + 350.82px + 352.17px + 353.52px + 354.87px + 356.22px + 357.57px + 358.92px + 360.26px + 361.61px + 362.96px + 364.31px + 365.66px + 367.01px + 368.36px + 369.71px + 371.06px + 372.41px + 373.76px + 375.11px + 376.46px + 377.81px + 379.16px + 380.5px + 381.85px + 383.2px + 384.55px + 385.9px + 387.25px + 388.6px + 389.95px + 391.3px + 392.65px + 394.0px + 395.35px + 396.7px + 398.05px + 399.4px + 400.74px + 402.09px + 403.44px + 404.79px + 406.14px + 407.49px + 408.84px + 410.19px + 411.54px + 412.89px + 414.24px + 415.59px + 416.94px + 418.29px + 419.64px + 420.98px + 422.33px + 423.68px + 425.03px + 426.38px + 427.73px + 429.08px + 430.43px + 431.78px + 433.13px + 434.48px + 435.83px + 437.18px + 438.53px + 439.88px + 441.22px + 442.57px + 443.92px + 445.27px + 446.62px + 447.97px + 449.32px + 450.67px + 452.02px + 453.37px + 454.72px + 456.07px + 457.42px + 458.77px + 460.11px + 461.46px + 462.81px + 464.16px + 465.51px + 466.86px + 468.21px + 469.56px + 470.91px + 472.26px + 473.61px + 474.96px + 476.31px + 477.66px + 479.01px + 480.35px + 481.7px + 483.05px + 484.4px + 485.75px + 487.1px + 488.45px + 489.8px + 491.15px + 492.5px + 493.85px + 495.2px + 496.55px + 497.9px + 499.25px + 500.59px + 501.94px + 503.29px + 504.64px + 505.99px + 507.34px + 508.69px + 510.04px + 511.39px + 512.74px + 514.09px + 515.44px + 516.79px + 518.14px + 519.49px + 520.83px + 522.18px + 523.53px + 524.88px + 526.23px + 527.58px + 528.93px + 530.28px + 531.63px + 532.98px + 534.33px + 535.68px + 537.03px + 538.38px + 539.73px + 541.07px + 542.42px + 543.77px + 545.12px + 546.47px + 547.82px + 549.17px + 550.52px + 551.87px + 553.22px + 554.57px + 555.92px + 557.27px + 558.62px + 559.96px + 561.31px + 562.66px + 564.01px + 565.36px + 566.71px + 568.06px + 569.41px + 570.76px + 572.11px + 573.46px + 574.81px + 576.16px + 577.51px + 578.86px + 580.2px + 581.55px + 582.9px + 584.25px + 585.6px + 586.95px + 588.3px + 589.65px + 591.0px + 592.35px + 593.7px + 595.05px + 596.4px + 597.75px + 599.1px + 600.44px + 601.79px + 603.14px + 604.49px + 605.84px + 607.19px + 608.54px + 609.89px + 611.24px + 612.59px + 613.94px + 615.29px + 616.64px + 617.99px + 619.34px + 620.68px + 622.03px + 623.38px + 624.73px + 626.08px + 627.43px + 628.78px + 630.13px + 631.48px + 632.83px + 634.18px + 635.53px + 636.88px + 638.23px + 639.58px + 640.92px + 642.27px + 643.62px + 644.97px + 646.32px + 647.67px + 649.02px + 650.37px + 651.72px + 653.07px + 654.42px + 655.77px + 657.12px + 658.47px + 659.82px + 661.16px + 662.51px + 663.86px + 665.21px + 666.56px + 667.91px + 669.26px + 670.61px + 671.96px + 673.31px + 674.66px + 676.01px + 677.36px + 678.71px + 680.05px + 681.4px + 682.75px + 684.1px + 685.45px + 686.8px + 688.15px + 689.5px + 690.85px + 692.2px + 693.55px + 694.9px + 696.25px + 697.6px + 698.95px + 700.29px + 701.64px + 702.99px + 704.34px + 705.69px + 707.04px + 708.39px + 709.74px + 711.09px + 712.44px + 713.79px + 715.14px + 716.49px + 717.84px + 719.19px + 720.53px + 721.88px + 723.23px + 724.58px + 725.93px + 727.28px + 728.63px + 729.98px + 731.33px + 732.68px + 734.03px + 735.38px + 736.73px + 738.08px + 739.43px + 740.77px + 742.12px + 743.47px + 744.82px + 746.17px + 747.52px + 748.87px + 750.22px + 751.57px + 752.92px + 754.27px + 755.62px + 756.97px + 758.32px + 759.67px + 761.01px + 762.36px + 763.71px + 765.06px + 766.41px + 767.76px + 769.11px + 770.46px + 771.81px + 773.16px + 774.51px + 775.86px + 777.21px + 778.56px + 779.91px + 781.25px + 782.6px + 783.95px + 785.3px + 786.65px + 788.0px + 789.35px + 790.7px + 792.05px + 793.4px + 794.75px + 796.1px + 797.45px + 798.8px + 800.14px + 801.49px + 802.84px + 804.19px + 805.54px + 806.89px + 808.24px + 809.59px + 810.94px + 812.29px + 813.64px + 814.99px + 816.34px + 817.69px + 819.04px + 820.38px + 821.73px + 823.08px + 824.43px + 825.78px + 827.13px + 828.48px + 829.83px + 831.18px + 832.53px + 833.88px + 835.23px + 836.58px + 837.93px + 839.28px + 840.62px + 841.97px + 843.32px + 844.67px + 846.02px + 847.37px + 848.72px + 850.07px + 851.42px + 852.77px + 854.12px + 855.47px + 856.82px + 858.17px + 859.52px + 860.86px + 862.21px + 863.56px + 864.91px + 866.26px + 867.61px + 868.96px + 870.31px + 871.66px + 873.01px + 874.36px + 875.71px + 877.06px + 878.41px + 879.76px + 881.1px + 882.45px + 883.8px + 885.15px + 886.5px + 887.85px + 889.2px + 890.55px + 891.9px + 893.25px + 894.6px + 895.95px + 897.3px + 898.65px + 900.0px + 901.34px + 902.69px + 904.04px + 905.39px + 906.74px + 908.09px + 909.44px + 910.79px + 912.14px + 913.49px + 914.84px + 916.19px + 917.54px + 918.89px + 920.23px + 921.58px + 922.93px + 924.28px + 925.63px + 926.98px + 928.33px + 929.68px + 931.03px + 932.38px + 933.73px + 935.08px + 936.43px + 937.78px + 939.13px + 940.47px + 941.82px + 943.17px + 944.52px + 945.87px + 947.22px + 948.57px + 949.92px + 951.27px + 952.62px + 953.97px + 955.32px + 956.67px + 958.02px + 959.37px + 960.71px + 962.06px + 963.41px + 964.76px + 966.11px + 967.46px + 968.81px + 970.16px + 971.51px + 972.86px + 974.21px + 975.56px + 976.91px + 978.26px + 979.61px + 980.95px + 982.3px + 983.65px + 985.0px + 986.35px + 987.7px + 989.05px + 990.4px + 991.75px + 993.1px + 994.45px + 995.8px + 997.15px + 998.5px + 999.85px + 1001.19px + 1002.54px + 1003.89px + 1005.24px + 1006.59px + 1007.94px + 1009.29px + 1010.64px + 1011.99px + 1013.34px + 1014.69px + 1016.04px + 1017.39px + 1018.74px + 1020.08px + 1021.43px + 1022.78px + 1024.13px + 1025.48px + 1026.83px + 1028.18px + 1029.53px + 1030.88px + 1032.23px + 1033.58px + 1034.93px + 1036.28px + 1037.63px + 1038.98px + 1040.32px + 1041.67px + 1043.02px + 1044.37px + 1045.72px + 1047.07px + 1048.42px + 1049.77px + 1051.12px + 1052.47px + 1053.82px + 1055.17px + 1056.52px + 1057.87px + 1059.22px + 1060.56px + 1061.91px + 1063.26px + 1064.61px + 1065.96px + 1067.31px + 1068.66px + 1070.01px + 1071.36px + 1072.71px + 1074.06px + 1075.41px + 1076.76px + 1078.11px + 1079.46px + 1080.8px + 1082.15px + 1083.5px + 1084.85px + 1086.2px + 1087.55px + 1088.9px + 1090.25px + 1091.6px + 1092.95px + 1094.3px + 1095.65px + 1097.0px + 1098.35px + 1099.7px + 1101.04px + 1102.39px + 1103.74px + 1105.09px + 1106.44px + 1107.79px + 1109.14px + 1110.49px + 1111.84px + 1113.19px + 1114.54px + 1115.89px + 1117.24px + 1118.59px + 1119.93px + 1121.28px + 1122.63px + 1123.98px + 1125.33px + 1126.68px + 1128.03px + 1129.38px + 1130.73px + 1132.08px + 1133.43px + 1134.78px + 1136.13px + 1137.48px + 1138.83px + 1140.17px + 1141.52px + 1142.87px + 1144.22px + 1145.57px + 1146.92px + 1148.27px + 1149.62px + 1150.97px + 1152.32px + 1153.67px + 1155.02px + 1156.37px + 1157.72px + 1159.07px + 1160.41px + 1161.76px + 1163.11px + 1164.46px + 1165.81px + 1167.16px + 1168.51px + 1169.86px + 1171.21px + 1172.56px + 1173.91px + 1175.26px + 1176.61px + 1177.96px + 1179.31px + 1180.65px + 1182.0px + 1183.35px + 1184.7px + 1186.05px + 1187.4px + 1188.75px + 1190.1px + 1191.45px + 1192.8px + 1194.15px + 1195.5px + 1196.85px + 1198.2px + 1199.55px + 1200.89px + 1202.24px + 1203.59px + 1204.94px + 1206.29px + 1207.64px + 1208.99px + 1210.34px + 1211.69px + 1213.04px + 1214.39px + 1215.74px + 1217.09px + 1218.44px + 1219.79px + 1221.13px + 1222.48px + 1223.83px + 1225.18px + 1226.53px + 1227.88px + 1229.23px + 1230.58px + 1231.93px + 1233.28px + 1234.63px + 1235.98px + 1237.33px + 1238.68px + 1240.02px + 1241.37px + 1242.72px + 1244.07px + 1245.42px + 1246.77px + 1248.12px + 1249.47px + 1250.82px + 1252.17px + 1253.52px + 1254.87px + 1256.22px + 1257.57px + 1258.92px + 1260.26px + 1261.61px + 1262.96px + 1264.31px + 1265.66px + 1267.01px + 1268.36px + 1269.71px + 1271.06px + 1272.41px + 1273.76px + 1275.11px + 1276.46px + 1277.81px + 1279.16px + 1280.5px + 1281.85px + 1283.2px + 1284.55px + 1285.9px + 1287.25px + 1288.6px + 1289.95px + 1291.3px + 1292.65px + 1294.0px + 1295.35px + 1296.7px + 1298.05px + 1299.4px + 1300.74px + 1302.09px + 1303.44px + 1304.79px + 1306.14px + 1307.49px + 1308.84px + 1310.19px + 1311.54px + 1312.89px + 1314.24px + 1315.59px + 1316.94px + 1318.29px + 1319.64px + 1320.98px + 1322.33px + 1323.68px + 1325.03px + 1326.38px + 1327.73px + 1329.08px + 1330.43px + 1331.78px + 1333.13px + 1334.48px + 1335.83px + 1337.18px + 1338.53px + 1339.88px + 1341.22px + 1342.57px + 1343.92px + 1345.27px + 1346.62px + 1347.97px + 1349.32px + 1350.67px + 1352.02px + 1353.37px + 1354.72px + 1356.07px + 1357.42px + 1358.77px + 1360.11px + 1361.46px + 1362.81px + 1364.16px + 1365.51px + 1366.86px + 1368.21px + 1369.56px + 1370.91px + 1372.26px + 1373.61px + 1374.96px + 1376.31px + 1377.66px + 1379.01px + 1380.35px + 1381.7px + 1383.05px + 1384.4px + 1385.75px + 1387.1px + 1388.45px + 1389.8px + 1391.15px + 1392.5px + 1393.85px + 1395.2px + 1396.55px + 1397.9px + 1399.25px + 1400.59px + 1401.94px + 1403.29px + 1404.64px + 1405.99px + 1407.34px + 1408.69px + 1410.04px + 1411.39px + 1412.74px + 1414.09px + 1415.44px + 1416.79px + 1418.14px + 1419.49px + 1420.83px + 1422.18px + 1423.53px + 1424.88px + 1426.23px + 1427.58px + 1428.93px + 1430.28px + 1431.63px + 1432.98px + 1434.33px + 1435.68px + 1437.03px + 1438.38px + 1439.73px + 1441.07px + 1442.42px + 1443.77px + 1445.12px + 1446.47px + 1447.82px + 1449.17px + 1450.52px + 1451.87px + 1453.22px + 1454.57px + 1455.92px + 1457.27px + 1458.62px + 1459.97px + 1461.31px + 1462.66px + 1464.01px + 1465.36px + 1466.71px + 1468.06px + 1469.41px + 1470.76px + 1472.11px + 1473.46px + 1474.81px + 1476.16px + 1477.51px + 1478.86px + 1480.2px + 1481.55px + 1482.9px + 1484.25px + 1485.6px + 1486.95px + 1488.3px + 1489.65px + 1491.0px + 1492.35px + 1493.7px + 1495.05px + 1496.4px + 1497.75px + 1499.1px + 1500.44px + 1501.79px + 1503.14px + 1504.49px + 1505.84px + 1507.19px + 1508.54px + 1509.89px + 1511.24px + 1512.59px + 1513.94px + 1515.29px + 1516.64px + 1517.99px + 1519.34px + 1520.68px + 1522.03px + 1523.38px + 1524.73px + 1526.08px + 1527.43px + 1528.78px + 1530.13px + 1531.48px + 1532.83px + 1534.18px + 1535.53px + 1536.88px + 1538.23px + 1539.58px + 1540.92px + 1542.27px + 1543.62px + 1544.97px + 1546.32px + 1547.67px + 1549.02px + 1550.37px + 1551.72px + 1553.07px + 1554.42px + 1555.77px + 1557.12px + 1558.47px + 1559.82px + 1561.16px + 1562.51px + 1563.86px + 1565.21px + 1566.56px + 1567.91px + 1569.26px + 1570.61px + 1571.96px + 1573.31px + 1574.66px + 1576.01px + 1577.36px + 1578.71px + 1580.06px + 1581.4px + 1582.75px + 1584.1px + 1585.45px + 1586.8px + 1588.15px + 1589.5px + 1590.85px + 1592.2px + 1593.55px + 1594.9px + 1596.25px + 1597.6px + 1598.95px + 1600.29px + 1601.64px + 1602.99px + 1604.34px + 1605.69px + 1607.04px + 1608.39px + 1609.74px + 1611.09px + 1612.44px + 1613.79px + 1615.14px + 1616.49px + 1617.84px + 1619.19px + 1620.53px + 1621.88px + 1623.23px + 1624.58px + 1625.93px + 1627.28px + 1628.63px + 1629.98px + 1631.33px + 1632.68px + 1634.03px + 1635.38px + 1636.73px + 1638.08px + 1639.43px + 1640.77px + 1642.12px + 1643.47px + 1644.82px + 1646.17px + 1647.52px + 1648.87px + 1650.22px + 1651.57px + 1652.92px + 1654.27px + 1655.62px + 1656.97px + 1658.32px + 1659.67px + 1661.01px + 1662.36px + 1663.71px + 1665.06px + 1666.41px + 1667.76px + 1669.11px + 1670.46px + 1671.81px + 1673.16px + 1674.51px + 1675.86px + 1677.21px + 1678.56px + 1679.91px + 1681.25px + 1682.6px + 1683.95px + 1685.3px + 1686.65px + 1688.0px + 1689.35px + 1690.7px + 1692.05px + 1693.4px + 1694.75px + 1696.1px + 1697.45px + 1698.8px + 1700.14px + 1701.49px + 1702.84px + 1704.19px + 1705.54px + 1706.89px + 1708.24px + 1709.59px + 1710.94px + 1712.29px + 1713.64px + 1714.99px + 1716.34px + 1717.69px + 1719.04px + 1720.38px + 1721.73px + 1723.08px + 1724.43px + 1725.78px + 1727.13px + 1728.48px + 1729.83px + 1731.18px + 1732.53px + 1733.88px + 1735.23px + 1736.58px + 1737.93px + 1739.28px + 1740.62px + 1741.97px + 1743.32px + 1744.67px + 1746.02px + 1747.37px + 1748.72px + 1750.07px + 1751.42px + 1752.77px + 1754.12px + 1755.47px + 1756.82px + 1758.17px + 1759.52px + 1760.86px + 1762.21px + 1763.56px + 1764.91px + 1766.26px + 1767.61px + 1768.96px + 1770.31px + 1771.66px + 1773.01px + 1774.36px + 1775.71px + 1777.06px + 1778.41px + 1779.76px + 1781.1px + 1782.45px + 1783.8px + 1785.15px + 1786.5px + 1787.85px + 1789.2px + 1790.55px + 1791.9px + 1793.25px + 1794.6px + 1795.95px + 1797.3px + 1798.65px + 1800px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1812x1080/lay_x.xml b/FaceUnity/src/main/res/values-1812x1080/lay_x.xml new file mode 100644 index 000000000..611c0b1f4 --- /dev/null +++ b/FaceUnity/src/main/res/values-1812x1080/lay_x.xml @@ -0,0 +1,753 @@ + + + 1.44px + 2.88px + 4.32px + 5.76px + 7.2px + 8.64px + 10.08px + 11.52px + 12.96px + 14.4px + 15.84px + 17.28px + 18.72px + 20.16px + 21.6px + 23.04px + 24.48px + 25.92px + 27.36px + 28.8px + 30.24px + 31.68px + 33.12px + 34.56px + 36.0px + 37.44px + 38.88px + 40.32px + 41.76px + 43.2px + 44.64px + 46.08px + 47.52px + 48.96px + 50.4px + 51.84px + 53.28px + 54.72px + 56.16px + 57.6px + 59.04px + 60.48px + 61.92px + 63.36px + 64.8px + 66.24px + 67.68px + 69.12px + 70.56px + 72.0px + 73.44px + 74.88px + 76.32px + 77.76px + 79.2px + 80.64px + 82.08px + 83.52px + 84.96px + 86.4px + 87.84px + 89.28px + 90.72px + 92.16px + 93.6px + 95.04px + 96.48px + 97.92px + 99.36px + 100.8px + 102.24px + 103.68px + 105.12px + 106.56px + 108.0px + 109.44px + 110.88px + 112.32px + 113.76px + 115.2px + 116.64px + 118.08px + 119.52px + 120.96px + 122.4px + 123.84px + 125.28px + 126.72px + 128.16px + 129.6px + 131.04px + 132.48px + 133.92px + 135.36px + 136.8px + 138.24px + 139.68px + 141.12px + 142.56px + 144.0px + 145.44px + 146.88px + 148.32px + 149.76px + 151.2px + 152.64px + 154.08px + 155.52px + 156.96px + 158.4px + 159.84px + 161.28px + 162.72px + 164.16px + 165.6px + 167.04px + 168.48px + 169.92px + 171.36px + 172.8px + 174.24px + 175.68px + 177.12px + 178.56px + 180.0px + 181.44px + 182.88px + 184.32px + 185.76px + 187.2px + 188.64px + 190.08px + 191.52px + 192.96px + 194.4px + 195.84px + 197.28px + 198.72px + 200.16px + 201.6px + 203.04px + 204.48px + 205.92px + 207.36px + 208.8px + 210.24px + 211.68px + 213.12px + 214.56px + 216.0px + 217.44px + 218.88px + 220.32px + 221.76px + 223.2px + 224.64px + 226.08px + 227.52px + 228.96px + 230.4px + 231.84px + 233.28px + 234.72px + 236.16px + 237.6px + 239.04px + 240.48px + 241.92px + 243.36px + 244.8px + 246.24px + 247.68px + 249.12px + 250.56px + 252.0px + 253.44px + 254.88px + 256.32px + 257.76px + 259.2px + 260.64px + 262.08px + 263.52px + 264.96px + 266.4px + 267.84px + 269.28px + 270.72px + 272.16px + 273.6px + 275.04px + 276.48px + 277.92px + 279.36px + 280.8px + 282.24px + 283.68px + 285.12px + 286.56px + 288.0px + 289.44px + 290.88px + 292.32px + 293.76px + 295.2px + 296.64px + 298.08px + 299.52px + 300.96px + 302.4px + 303.84px + 305.28px + 306.72px + 308.16px + 309.6px + 311.04px + 312.48px + 313.92px + 315.36px + 316.8px + 318.24px + 319.68px + 321.12px + 322.56px + 324.0px + 325.44px + 326.88px + 328.32px + 329.76px + 331.2px + 332.64px + 334.08px + 335.52px + 336.96px + 338.4px + 339.84px + 341.28px + 342.72px + 344.16px + 345.6px + 347.04px + 348.48px + 349.92px + 351.36px + 352.8px + 354.24px + 355.68px + 357.12px + 358.56px + 360.0px + 361.44px + 362.88px + 364.32px + 365.76px + 367.2px + 368.64px + 370.08px + 371.52px + 372.96px + 374.4px + 375.84px + 377.28px + 378.72px + 380.16px + 381.6px + 383.04px + 384.48px + 385.92px + 387.36px + 388.8px + 390.24px + 391.68px + 393.12px + 394.56px + 396.0px + 397.44px + 398.88px + 400.32px + 401.76px + 403.2px + 404.64px + 406.08px + 407.52px + 408.96px + 410.4px + 411.84px + 413.28px + 414.72px + 416.16px + 417.6px + 419.04px + 420.48px + 421.92px + 423.36px + 424.8px + 426.24px + 427.68px + 429.12px + 430.56px + 432.0px + 433.44px + 434.88px + 436.32px + 437.76px + 439.2px + 440.64px + 442.08px + 443.52px + 444.96px + 446.4px + 447.84px + 449.28px + 450.72px + 452.16px + 453.6px + 455.04px + 456.48px + 457.92px + 459.36px + 460.8px + 462.24px + 463.68px + 465.12px + 466.56px + 468.0px + 469.44px + 470.88px + 472.32px + 473.76px + 475.2px + 476.64px + 478.08px + 479.52px + 480.96px + 482.4px + 483.84px + 485.28px + 486.72px + 488.16px + 489.6px + 491.04px + 492.48px + 493.92px + 495.36px + 496.8px + 498.24px + 499.68px + 501.12px + 502.56px + 504.0px + 505.44px + 506.88px + 508.32px + 509.76px + 511.2px + 512.64px + 514.08px + 515.52px + 516.96px + 518.4px + 519.84px + 521.28px + 522.72px + 524.16px + 525.6px + 527.04px + 528.48px + 529.92px + 531.36px + 532.8px + 534.24px + 535.68px + 537.12px + 538.56px + 540.0px + 541.44px + 542.88px + 544.32px + 545.76px + 547.2px + 548.64px + 550.08px + 551.52px + 552.96px + 554.4px + 555.84px + 557.28px + 558.72px + 560.16px + 561.6px + 563.04px + 564.48px + 565.92px + 567.36px + 568.8px + 570.24px + 571.68px + 573.12px + 574.56px + 576.0px + 577.44px + 578.88px + 580.32px + 581.76px + 583.2px + 584.64px + 586.08px + 587.52px + 588.96px + 590.4px + 591.84px + 593.28px + 594.72px + 596.16px + 597.6px + 599.04px + 600.48px + 601.92px + 603.36px + 604.8px + 606.24px + 607.68px + 609.12px + 610.56px + 612.0px + 613.44px + 614.88px + 616.32px + 617.76px + 619.2px + 620.64px + 622.08px + 623.52px + 624.96px + 626.4px + 627.84px + 629.28px + 630.72px + 632.16px + 633.6px + 635.04px + 636.48px + 637.92px + 639.36px + 640.8px + 642.24px + 643.68px + 645.12px + 646.56px + 648.0px + 649.44px + 650.88px + 652.32px + 653.76px + 655.2px + 656.64px + 658.08px + 659.52px + 660.96px + 662.4px + 663.84px + 665.28px + 666.72px + 668.16px + 669.6px + 671.04px + 672.48px + 673.92px + 675.36px + 676.8px + 678.24px + 679.68px + 681.12px + 682.56px + 684.0px + 685.44px + 686.88px + 688.32px + 689.76px + 691.2px + 692.64px + 694.08px + 695.52px + 696.96px + 698.4px + 699.84px + 701.28px + 702.72px + 704.16px + 705.6px + 707.04px + 708.48px + 709.92px + 711.36px + 712.8px + 714.24px + 715.68px + 717.12px + 718.56px + 720.0px + 721.44px + 722.88px + 724.32px + 725.76px + 727.2px + 728.64px + 730.08px + 731.52px + 732.96px + 734.4px + 735.84px + 737.28px + 738.72px + 740.16px + 741.6px + 743.04px + 744.48px + 745.92px + 747.36px + 748.8px + 750.24px + 751.68px + 753.12px + 754.56px + 756.0px + 757.44px + 758.88px + 760.32px + 761.76px + 763.2px + 764.64px + 766.08px + 767.52px + 768.96px + 770.4px + 771.84px + 773.28px + 774.72px + 776.16px + 777.6px + 779.04px + 780.48px + 781.92px + 783.36px + 784.8px + 786.24px + 787.68px + 789.12px + 790.56px + 792.0px + 793.44px + 794.88px + 796.32px + 797.76px + 799.2px + 800.64px + 802.08px + 803.52px + 804.96px + 806.4px + 807.84px + 809.28px + 810.72px + 812.16px + 813.6px + 815.04px + 816.48px + 817.92px + 819.36px + 820.8px + 822.24px + 823.68px + 825.12px + 826.56px + 828.0px + 829.44px + 830.88px + 832.32px + 833.76px + 835.2px + 836.64px + 838.08px + 839.52px + 840.96px + 842.4px + 843.84px + 845.28px + 846.72px + 848.16px + 849.6px + 851.04px + 852.48px + 853.92px + 855.36px + 856.8px + 858.24px + 859.68px + 861.12px + 862.56px + 864.0px + 865.44px + 866.88px + 868.32px + 869.76px + 871.2px + 872.64px + 874.08px + 875.52px + 876.96px + 878.4px + 879.84px + 881.28px + 882.72px + 884.16px + 885.6px + 887.04px + 888.48px + 889.92px + 891.36px + 892.8px + 894.24px + 895.68px + 897.12px + 898.56px + 900.0px + 901.44px + 902.88px + 904.32px + 905.76px + 907.2px + 908.64px + 910.08px + 911.52px + 912.96px + 914.4px + 915.84px + 917.28px + 918.72px + 920.16px + 921.6px + 923.04px + 924.48px + 925.92px + 927.36px + 928.8px + 930.24px + 931.68px + 933.12px + 934.56px + 936.0px + 937.44px + 938.88px + 940.32px + 941.76px + 943.2px + 944.64px + 946.08px + 947.52px + 948.96px + 950.4px + 951.84px + 953.28px + 954.72px + 956.16px + 957.6px + 959.04px + 960.48px + 961.92px + 963.36px + 964.8px + 966.24px + 967.68px + 969.12px + 970.56px + 972.0px + 973.44px + 974.88px + 976.32px + 977.76px + 979.2px + 980.64px + 982.08px + 983.52px + 984.96px + 986.4px + 987.84px + 989.28px + 990.72px + 992.16px + 993.6px + 995.04px + 996.48px + 997.92px + 999.36px + 1000.8px + 1002.24px + 1003.68px + 1005.12px + 1006.56px + 1008.0px + 1009.44px + 1010.88px + 1012.32px + 1013.76px + 1015.2px + 1016.64px + 1018.08px + 1019.52px + 1020.96px + 1022.4px + 1023.84px + 1025.28px + 1026.72px + 1028.16px + 1029.6px + 1031.04px + 1032.48px + 1033.92px + 1035.36px + 1036.8px + 1038.24px + 1039.68px + 1041.12px + 1042.56px + 1044.0px + 1045.44px + 1046.88px + 1048.32px + 1049.76px + 1051.2px + 1052.64px + 1054.08px + 1055.52px + 1056.96px + 1058.4px + 1059.84px + 1061.28px + 1062.72px + 1064.16px + 1065.6px + 1067.04px + 1068.48px + 1069.92px + 1071.36px + 1072.8px + 1074.24px + 1075.68px + 1077.12px + 1078.56px + 1080px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1812x1080/lay_y.xml b/FaceUnity/src/main/res/values-1812x1080/lay_y.xml new file mode 100644 index 000000000..fc663b0a9 --- /dev/null +++ b/FaceUnity/src/main/res/values-1812x1080/lay_y.xml @@ -0,0 +1,1337 @@ + + + 1.35px + 2.71px + 4.07px + 5.43px + 6.79px + 8.14px + 9.5px + 10.86px + 12.22px + 13.58px + 14.94px + 16.29px + 17.65px + 19.01px + 20.37px + 21.73px + 23.09px + 24.44px + 25.8px + 27.16px + 28.52px + 29.88px + 31.24px + 32.59px + 33.95px + 35.31px + 36.67px + 38.03px + 39.39px + 40.74px + 42.1px + 43.46px + 44.82px + 46.18px + 47.54px + 48.89px + 50.25px + 51.61px + 52.97px + 54.33px + 55.69px + 57.04px + 58.4px + 59.76px + 61.12px + 62.48px + 63.84px + 65.19px + 66.55px + 67.91px + 69.27px + 70.63px + 71.99px + 73.34px + 74.7px + 76.06px + 77.42px + 78.78px + 80.14px + 81.49px + 82.85px + 84.21px + 85.57px + 86.93px + 88.29px + 89.64px + 91.0px + 92.36px + 93.72px + 95.08px + 96.44px + 97.79px + 99.15px + 100.51px + 101.87px + 103.23px + 104.59px + 105.94px + 107.3px + 108.66px + 110.02px + 111.38px + 112.74px + 114.09px + 115.45px + 116.81px + 118.17px + 119.53px + 120.89px + 122.24px + 123.6px + 124.96px + 126.32px + 127.68px + 129.04px + 130.39px + 131.75px + 133.11px + 134.47px + 135.83px + 137.19px + 138.54px + 139.9px + 141.26px + 142.62px + 143.98px + 145.34px + 146.69px + 148.05px + 149.41px + 150.77px + 152.13px + 153.49px + 154.84px + 156.2px + 157.56px + 158.92px + 160.28px + 161.64px + 162.99px + 164.35px + 165.71px + 167.07px + 168.43px + 169.79px + 171.14px + 172.5px + 173.86px + 175.22px + 176.58px + 177.94px + 179.29px + 180.65px + 182.01px + 183.37px + 184.73px + 186.08px + 187.44px + 188.8px + 190.16px + 191.52px + 192.88px + 194.23px + 195.59px + 196.95px + 198.31px + 199.67px + 201.03px + 202.38px + 203.74px + 205.1px + 206.46px + 207.82px + 209.18px + 210.53px + 211.89px + 213.25px + 214.61px + 215.97px + 217.33px + 218.68px + 220.04px + 221.4px + 222.76px + 224.12px + 225.48px + 226.83px + 228.19px + 229.55px + 230.91px + 232.27px + 233.63px + 234.98px + 236.34px + 237.7px + 239.06px + 240.42px + 241.78px + 243.13px + 244.49px + 245.85px + 247.21px + 248.57px + 249.93px + 251.28px + 252.64px + 254.0px + 255.36px + 256.72px + 258.08px + 259.43px + 260.79px + 262.15px + 263.51px + 264.87px + 266.23px + 267.58px + 268.94px + 270.3px + 271.66px + 273.02px + 274.38px + 275.73px + 277.09px + 278.45px + 279.81px + 281.17px + 282.53px + 283.88px + 285.24px + 286.6px + 287.96px + 289.32px + 290.68px + 292.03px + 293.39px + 294.75px + 296.11px + 297.47px + 298.83px + 300.18px + 301.54px + 302.9px + 304.26px + 305.62px + 306.98px + 308.33px + 309.69px + 311.05px + 312.41px + 313.77px + 315.13px + 316.48px + 317.84px + 319.2px + 320.56px + 321.92px + 323.28px + 324.63px + 325.99px + 327.35px + 328.71px + 330.07px + 331.43px + 332.78px + 334.14px + 335.5px + 336.86px + 338.22px + 339.58px + 340.93px + 342.29px + 343.65px + 345.01px + 346.37px + 347.73px + 349.08px + 350.44px + 351.8px + 353.16px + 354.52px + 355.88px + 357.23px + 358.59px + 359.95px + 361.31px + 362.67px + 364.02px + 365.38px + 366.74px + 368.1px + 369.46px + 370.82px + 372.17px + 373.53px + 374.89px + 376.25px + 377.61px + 378.97px + 380.32px + 381.68px + 383.04px + 384.4px + 385.76px + 387.12px + 388.47px + 389.83px + 391.19px + 392.55px + 393.91px + 395.27px + 396.62px + 397.98px + 399.34px + 400.7px + 402.06px + 403.42px + 404.77px + 406.13px + 407.49px + 408.85px + 410.21px + 411.57px + 412.92px + 414.28px + 415.64px + 417.0px + 418.36px + 419.72px + 421.07px + 422.43px + 423.79px + 425.15px + 426.51px + 427.87px + 429.22px + 430.58px + 431.94px + 433.3px + 434.66px + 436.02px + 437.37px + 438.73px + 440.09px + 441.45px + 442.81px + 444.17px + 445.52px + 446.88px + 448.24px + 449.6px + 450.96px + 452.32px + 453.67px + 455.03px + 456.39px + 457.75px + 459.11px + 460.47px + 461.82px + 463.18px + 464.54px + 465.9px + 467.26px + 468.62px + 469.97px + 471.33px + 472.69px + 474.05px + 475.41px + 476.77px + 478.12px + 479.48px + 480.84px + 482.2px + 483.56px + 484.92px + 486.27px + 487.63px + 488.99px + 490.35px + 491.71px + 493.07px + 494.42px + 495.78px + 497.14px + 498.5px + 499.86px + 501.22px + 502.57px + 503.93px + 505.29px + 506.65px + 508.01px + 509.37px + 510.72px + 512.08px + 513.44px + 514.8px + 516.16px + 517.52px + 518.87px + 520.23px + 521.59px + 522.95px + 524.31px + 525.67px + 527.02px + 528.38px + 529.74px + 531.1px + 532.46px + 533.82px + 535.17px + 536.53px + 537.89px + 539.25px + 540.61px + 541.97px + 543.32px + 544.68px + 546.04px + 547.4px + 548.76px + 550.11px + 551.47px + 552.83px + 554.19px + 555.55px + 556.91px + 558.26px + 559.62px + 560.98px + 562.34px + 563.7px + 565.06px + 566.41px + 567.77px + 569.13px + 570.49px + 571.85px + 573.21px + 574.56px + 575.92px + 577.28px + 578.64px + 580.0px + 581.36px + 582.71px + 584.07px + 585.43px + 586.79px + 588.15px + 589.51px + 590.86px + 592.22px + 593.58px + 594.94px + 596.3px + 597.66px + 599.01px + 600.37px + 601.73px + 603.09px + 604.45px + 605.81px + 607.16px + 608.52px + 609.88px + 611.24px + 612.6px + 613.96px + 615.31px + 616.67px + 618.03px + 619.39px + 620.75px + 622.11px + 623.46px + 624.82px + 626.18px + 627.54px + 628.9px + 630.26px + 631.61px + 632.97px + 634.33px + 635.69px + 637.05px + 638.41px + 639.76px + 641.12px + 642.48px + 643.84px + 645.2px + 646.56px + 647.91px + 649.27px + 650.63px + 651.99px + 653.35px + 654.71px + 656.06px + 657.42px + 658.78px + 660.14px + 661.5px + 662.86px + 664.21px + 665.57px + 666.93px + 668.29px + 669.65px + 671.01px + 672.36px + 673.72px + 675.08px + 676.44px + 677.8px + 679.16px + 680.51px + 681.87px + 683.23px + 684.59px + 685.95px + 687.31px + 688.66px + 690.02px + 691.38px + 692.74px + 694.1px + 695.46px + 696.81px + 698.17px + 699.53px + 700.89px + 702.25px + 703.61px + 704.96px + 706.32px + 707.68px + 709.04px + 710.4px + 711.76px + 713.11px + 714.47px + 715.83px + 717.19px + 718.55px + 719.91px + 721.26px + 722.62px + 723.98px + 725.34px + 726.7px + 728.05px + 729.41px + 730.77px + 732.13px + 733.49px + 734.85px + 736.2px + 737.56px + 738.92px + 740.28px + 741.64px + 743.0px + 744.35px + 745.71px + 747.07px + 748.43px + 749.79px + 751.15px + 752.5px + 753.86px + 755.22px + 756.58px + 757.94px + 759.3px + 760.65px + 762.01px + 763.37px + 764.73px + 766.09px + 767.45px + 768.8px + 770.16px + 771.52px + 772.88px + 774.24px + 775.6px + 776.95px + 778.31px + 779.67px + 781.03px + 782.39px + 783.75px + 785.1px + 786.46px + 787.82px + 789.18px + 790.54px + 791.9px + 793.25px + 794.61px + 795.97px + 797.33px + 798.69px + 800.05px + 801.4px + 802.76px + 804.12px + 805.48px + 806.84px + 808.2px + 809.55px + 810.91px + 812.27px + 813.63px + 814.99px + 816.35px + 817.7px + 819.06px + 820.42px + 821.78px + 823.14px + 824.5px + 825.85px + 827.21px + 828.57px + 829.93px + 831.29px + 832.65px + 834.0px + 835.36px + 836.72px + 838.08px + 839.44px + 840.8px + 842.15px + 843.51px + 844.87px + 846.23px + 847.59px + 848.95px + 850.3px + 851.66px + 853.02px + 854.38px + 855.74px + 857.1px + 858.45px + 859.81px + 861.17px + 862.53px + 863.89px + 865.25px + 866.6px + 867.96px + 869.32px + 870.68px + 872.04px + 873.4px + 874.75px + 876.11px + 877.47px + 878.83px + 880.19px + 881.55px + 882.9px + 884.26px + 885.62px + 886.98px + 888.34px + 889.7px + 891.05px + 892.41px + 893.77px + 895.13px + 896.49px + 897.85px + 899.2px + 900.56px + 901.92px + 903.28px + 904.64px + 906.0px + 907.35px + 908.71px + 910.07px + 911.43px + 912.79px + 914.14px + 915.5px + 916.86px + 918.22px + 919.58px + 920.94px + 922.29px + 923.65px + 925.01px + 926.37px + 927.73px + 929.09px + 930.44px + 931.8px + 933.16px + 934.52px + 935.88px + 937.24px + 938.59px + 939.95px + 941.31px + 942.67px + 944.03px + 945.39px + 946.74px + 948.1px + 949.46px + 950.82px + 952.18px + 953.54px + 954.89px + 956.25px + 957.61px + 958.97px + 960.33px + 961.69px + 963.04px + 964.4px + 965.76px + 967.12px + 968.48px + 969.84px + 971.19px + 972.55px + 973.91px + 975.27px + 976.63px + 977.99px + 979.34px + 980.7px + 982.06px + 983.42px + 984.78px + 986.14px + 987.49px + 988.85px + 990.21px + 991.57px + 992.93px + 994.29px + 995.64px + 997.0px + 998.36px + 999.72px + 1001.08px + 1002.44px + 1003.79px + 1005.15px + 1006.51px + 1007.87px + 1009.23px + 1010.59px + 1011.94px + 1013.3px + 1014.66px + 1016.02px + 1017.38px + 1018.74px + 1020.09px + 1021.45px + 1022.81px + 1024.17px + 1025.53px + 1026.89px + 1028.24px + 1029.6px + 1030.96px + 1032.32px + 1033.68px + 1035.04px + 1036.39px + 1037.75px + 1039.11px + 1040.47px + 1041.83px + 1043.19px + 1044.54px + 1045.9px + 1047.26px + 1048.62px + 1049.98px + 1051.34px + 1052.69px + 1054.05px + 1055.41px + 1056.77px + 1058.13px + 1059.49px + 1060.84px + 1062.2px + 1063.56px + 1064.92px + 1066.28px + 1067.64px + 1068.99px + 1070.35px + 1071.71px + 1073.07px + 1074.43px + 1075.79px + 1077.14px + 1078.5px + 1079.86px + 1081.22px + 1082.58px + 1083.94px + 1085.29px + 1086.65px + 1088.01px + 1089.37px + 1090.73px + 1092.09px + 1093.44px + 1094.8px + 1096.16px + 1097.52px + 1098.88px + 1100.23px + 1101.59px + 1102.95px + 1104.31px + 1105.67px + 1107.03px + 1108.38px + 1109.74px + 1111.1px + 1112.46px + 1113.82px + 1115.18px + 1116.53px + 1117.89px + 1119.25px + 1120.61px + 1121.97px + 1123.33px + 1124.68px + 1126.04px + 1127.4px + 1128.76px + 1130.12px + 1131.48px + 1132.83px + 1134.19px + 1135.55px + 1136.91px + 1138.27px + 1139.63px + 1140.98px + 1142.34px + 1143.7px + 1145.06px + 1146.42px + 1147.78px + 1149.13px + 1150.49px + 1151.85px + 1153.21px + 1154.57px + 1155.93px + 1157.28px + 1158.64px + 1160.0px + 1161.36px + 1162.72px + 1164.08px + 1165.43px + 1166.79px + 1168.15px + 1169.51px + 1170.87px + 1172.23px + 1173.58px + 1174.94px + 1176.3px + 1177.66px + 1179.02px + 1180.38px + 1181.73px + 1183.09px + 1184.45px + 1185.81px + 1187.17px + 1188.53px + 1189.88px + 1191.24px + 1192.6px + 1193.96px + 1195.32px + 1196.68px + 1198.03px + 1199.39px + 1200.75px + 1202.11px + 1203.47px + 1204.83px + 1206.18px + 1207.54px + 1208.9px + 1210.26px + 1211.62px + 1212.98px + 1214.33px + 1215.69px + 1217.05px + 1218.41px + 1219.77px + 1221.13px + 1222.48px + 1223.84px + 1225.2px + 1226.56px + 1227.92px + 1229.28px + 1230.63px + 1231.99px + 1233.35px + 1234.71px + 1236.07px + 1237.43px + 1238.78px + 1240.14px + 1241.5px + 1242.86px + 1244.22px + 1245.58px + 1246.93px + 1248.29px + 1249.65px + 1251.01px + 1252.37px + 1253.73px + 1255.08px + 1256.44px + 1257.8px + 1259.16px + 1260.52px + 1261.88px + 1263.23px + 1264.59px + 1265.95px + 1267.31px + 1268.67px + 1270.03px + 1271.38px + 1272.74px + 1274.1px + 1275.46px + 1276.82px + 1278.17px + 1279.53px + 1280.89px + 1282.25px + 1283.61px + 1284.97px + 1286.32px + 1287.68px + 1289.04px + 1290.4px + 1291.76px + 1293.12px + 1294.47px + 1295.83px + 1297.19px + 1298.55px + 1299.91px + 1301.27px + 1302.62px + 1303.98px + 1305.34px + 1306.7px + 1308.06px + 1309.42px + 1310.77px + 1312.13px + 1313.49px + 1314.85px + 1316.21px + 1317.57px + 1318.92px + 1320.28px + 1321.64px + 1323.0px + 1324.36px + 1325.72px + 1327.07px + 1328.43px + 1329.79px + 1331.15px + 1332.51px + 1333.87px + 1335.22px + 1336.58px + 1337.94px + 1339.3px + 1340.66px + 1342.02px + 1343.37px + 1344.73px + 1346.09px + 1347.45px + 1348.81px + 1350.17px + 1351.52px + 1352.88px + 1354.24px + 1355.6px + 1356.96px + 1358.32px + 1359.67px + 1361.03px + 1362.39px + 1363.75px + 1365.11px + 1366.47px + 1367.82px + 1369.18px + 1370.54px + 1371.9px + 1373.26px + 1374.62px + 1375.97px + 1377.33px + 1378.69px + 1380.05px + 1381.41px + 1382.77px + 1384.12px + 1385.48px + 1386.84px + 1388.2px + 1389.56px + 1390.92px + 1392.27px + 1393.63px + 1394.99px + 1396.35px + 1397.71px + 1399.07px + 1400.42px + 1401.78px + 1403.14px + 1404.5px + 1405.86px + 1407.22px + 1408.57px + 1409.93px + 1411.29px + 1412.65px + 1414.01px + 1415.37px + 1416.72px + 1418.08px + 1419.44px + 1420.8px + 1422.16px + 1423.52px + 1424.87px + 1426.23px + 1427.59px + 1428.95px + 1430.31px + 1431.67px + 1433.02px + 1434.38px + 1435.74px + 1437.1px + 1438.46px + 1439.82px + 1441.17px + 1442.53px + 1443.89px + 1445.25px + 1446.61px + 1447.97px + 1449.32px + 1450.68px + 1452.04px + 1453.4px + 1454.76px + 1456.11px + 1457.47px + 1458.83px + 1460.19px + 1461.55px + 1462.91px + 1464.26px + 1465.62px + 1466.98px + 1468.34px + 1469.7px + 1471.06px + 1472.41px + 1473.77px + 1475.13px + 1476.49px + 1477.85px + 1479.21px + 1480.56px + 1481.92px + 1483.28px + 1484.64px + 1486.0px + 1487.36px + 1488.71px + 1490.07px + 1491.43px + 1492.79px + 1494.15px + 1495.51px + 1496.86px + 1498.22px + 1499.58px + 1500.94px + 1502.3px + 1503.66px + 1505.01px + 1506.37px + 1507.73px + 1509.09px + 1510.45px + 1511.81px + 1513.16px + 1514.52px + 1515.88px + 1517.24px + 1518.6px + 1519.96px + 1521.31px + 1522.67px + 1524.03px + 1525.39px + 1526.75px + 1528.11px + 1529.46px + 1530.82px + 1532.18px + 1533.54px + 1534.9px + 1536.26px + 1537.61px + 1538.97px + 1540.33px + 1541.69px + 1543.05px + 1544.41px + 1545.76px + 1547.12px + 1548.48px + 1549.84px + 1551.2px + 1552.56px + 1553.91px + 1555.27px + 1556.63px + 1557.99px + 1559.35px + 1560.71px + 1562.06px + 1563.42px + 1564.78px + 1566.14px + 1567.5px + 1568.86px + 1570.21px + 1571.57px + 1572.93px + 1574.29px + 1575.65px + 1577.01px + 1578.36px + 1579.72px + 1581.08px + 1582.44px + 1583.8px + 1585.16px + 1586.51px + 1587.87px + 1589.23px + 1590.59px + 1591.95px + 1593.31px + 1594.66px + 1596.02px + 1597.38px + 1598.74px + 1600.1px + 1601.46px + 1602.81px + 1604.17px + 1605.53px + 1606.89px + 1608.25px + 1609.61px + 1610.96px + 1612.32px + 1613.68px + 1615.04px + 1616.4px + 1617.76px + 1619.11px + 1620.47px + 1621.83px + 1623.19px + 1624.55px + 1625.91px + 1627.26px + 1628.62px + 1629.98px + 1631.34px + 1632.7px + 1634.06px + 1635.41px + 1636.77px + 1638.13px + 1639.49px + 1640.85px + 1642.2px + 1643.56px + 1644.92px + 1646.28px + 1647.64px + 1649.0px + 1650.35px + 1651.71px + 1653.07px + 1654.43px + 1655.79px + 1657.15px + 1658.5px + 1659.86px + 1661.22px + 1662.58px + 1663.94px + 1665.3px + 1666.65px + 1668.01px + 1669.37px + 1670.73px + 1672.09px + 1673.45px + 1674.8px + 1676.16px + 1677.52px + 1678.88px + 1680.24px + 1681.6px + 1682.95px + 1684.31px + 1685.67px + 1687.03px + 1688.39px + 1689.75px + 1691.1px + 1692.46px + 1693.82px + 1695.18px + 1696.54px + 1697.9px + 1699.25px + 1700.61px + 1701.97px + 1703.33px + 1704.69px + 1706.05px + 1707.4px + 1708.76px + 1710.12px + 1711.48px + 1712.84px + 1714.2px + 1715.55px + 1716.91px + 1718.27px + 1719.63px + 1720.99px + 1722.35px + 1723.7px + 1725.06px + 1726.42px + 1727.78px + 1729.14px + 1730.5px + 1731.85px + 1733.21px + 1734.57px + 1735.93px + 1737.29px + 1738.65px + 1740.0px + 1741.36px + 1742.72px + 1744.08px + 1745.44px + 1746.8px + 1748.15px + 1749.51px + 1750.87px + 1752.23px + 1753.59px + 1754.95px + 1756.3px + 1757.66px + 1759.02px + 1760.38px + 1761.74px + 1763.1px + 1764.45px + 1765.81px + 1767.17px + 1768.53px + 1769.89px + 1771.25px + 1772.6px + 1773.96px + 1775.32px + 1776.68px + 1778.04px + 1779.4px + 1780.75px + 1782.11px + 1783.47px + 1784.83px + 1786.19px + 1787.55px + 1788.9px + 1790.26px + 1791.62px + 1792.98px + 1794.34px + 1795.7px + 1797.05px + 1798.41px + 1799.77px + 1801.13px + 1802.49px + 1803.85px + 1805.2px + 1806.56px + 1807.92px + 1809.28px + 1810.64px + 1812px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1920x1080/lay_x.xml b/FaceUnity/src/main/res/values-1920x1080/lay_x.xml new file mode 100644 index 000000000..611c0b1f4 --- /dev/null +++ b/FaceUnity/src/main/res/values-1920x1080/lay_x.xml @@ -0,0 +1,753 @@ + + + 1.44px + 2.88px + 4.32px + 5.76px + 7.2px + 8.64px + 10.08px + 11.52px + 12.96px + 14.4px + 15.84px + 17.28px + 18.72px + 20.16px + 21.6px + 23.04px + 24.48px + 25.92px + 27.36px + 28.8px + 30.24px + 31.68px + 33.12px + 34.56px + 36.0px + 37.44px + 38.88px + 40.32px + 41.76px + 43.2px + 44.64px + 46.08px + 47.52px + 48.96px + 50.4px + 51.84px + 53.28px + 54.72px + 56.16px + 57.6px + 59.04px + 60.48px + 61.92px + 63.36px + 64.8px + 66.24px + 67.68px + 69.12px + 70.56px + 72.0px + 73.44px + 74.88px + 76.32px + 77.76px + 79.2px + 80.64px + 82.08px + 83.52px + 84.96px + 86.4px + 87.84px + 89.28px + 90.72px + 92.16px + 93.6px + 95.04px + 96.48px + 97.92px + 99.36px + 100.8px + 102.24px + 103.68px + 105.12px + 106.56px + 108.0px + 109.44px + 110.88px + 112.32px + 113.76px + 115.2px + 116.64px + 118.08px + 119.52px + 120.96px + 122.4px + 123.84px + 125.28px + 126.72px + 128.16px + 129.6px + 131.04px + 132.48px + 133.92px + 135.36px + 136.8px + 138.24px + 139.68px + 141.12px + 142.56px + 144.0px + 145.44px + 146.88px + 148.32px + 149.76px + 151.2px + 152.64px + 154.08px + 155.52px + 156.96px + 158.4px + 159.84px + 161.28px + 162.72px + 164.16px + 165.6px + 167.04px + 168.48px + 169.92px + 171.36px + 172.8px + 174.24px + 175.68px + 177.12px + 178.56px + 180.0px + 181.44px + 182.88px + 184.32px + 185.76px + 187.2px + 188.64px + 190.08px + 191.52px + 192.96px + 194.4px + 195.84px + 197.28px + 198.72px + 200.16px + 201.6px + 203.04px + 204.48px + 205.92px + 207.36px + 208.8px + 210.24px + 211.68px + 213.12px + 214.56px + 216.0px + 217.44px + 218.88px + 220.32px + 221.76px + 223.2px + 224.64px + 226.08px + 227.52px + 228.96px + 230.4px + 231.84px + 233.28px + 234.72px + 236.16px + 237.6px + 239.04px + 240.48px + 241.92px + 243.36px + 244.8px + 246.24px + 247.68px + 249.12px + 250.56px + 252.0px + 253.44px + 254.88px + 256.32px + 257.76px + 259.2px + 260.64px + 262.08px + 263.52px + 264.96px + 266.4px + 267.84px + 269.28px + 270.72px + 272.16px + 273.6px + 275.04px + 276.48px + 277.92px + 279.36px + 280.8px + 282.24px + 283.68px + 285.12px + 286.56px + 288.0px + 289.44px + 290.88px + 292.32px + 293.76px + 295.2px + 296.64px + 298.08px + 299.52px + 300.96px + 302.4px + 303.84px + 305.28px + 306.72px + 308.16px + 309.6px + 311.04px + 312.48px + 313.92px + 315.36px + 316.8px + 318.24px + 319.68px + 321.12px + 322.56px + 324.0px + 325.44px + 326.88px + 328.32px + 329.76px + 331.2px + 332.64px + 334.08px + 335.52px + 336.96px + 338.4px + 339.84px + 341.28px + 342.72px + 344.16px + 345.6px + 347.04px + 348.48px + 349.92px + 351.36px + 352.8px + 354.24px + 355.68px + 357.12px + 358.56px + 360.0px + 361.44px + 362.88px + 364.32px + 365.76px + 367.2px + 368.64px + 370.08px + 371.52px + 372.96px + 374.4px + 375.84px + 377.28px + 378.72px + 380.16px + 381.6px + 383.04px + 384.48px + 385.92px + 387.36px + 388.8px + 390.24px + 391.68px + 393.12px + 394.56px + 396.0px + 397.44px + 398.88px + 400.32px + 401.76px + 403.2px + 404.64px + 406.08px + 407.52px + 408.96px + 410.4px + 411.84px + 413.28px + 414.72px + 416.16px + 417.6px + 419.04px + 420.48px + 421.92px + 423.36px + 424.8px + 426.24px + 427.68px + 429.12px + 430.56px + 432.0px + 433.44px + 434.88px + 436.32px + 437.76px + 439.2px + 440.64px + 442.08px + 443.52px + 444.96px + 446.4px + 447.84px + 449.28px + 450.72px + 452.16px + 453.6px + 455.04px + 456.48px + 457.92px + 459.36px + 460.8px + 462.24px + 463.68px + 465.12px + 466.56px + 468.0px + 469.44px + 470.88px + 472.32px + 473.76px + 475.2px + 476.64px + 478.08px + 479.52px + 480.96px + 482.4px + 483.84px + 485.28px + 486.72px + 488.16px + 489.6px + 491.04px + 492.48px + 493.92px + 495.36px + 496.8px + 498.24px + 499.68px + 501.12px + 502.56px + 504.0px + 505.44px + 506.88px + 508.32px + 509.76px + 511.2px + 512.64px + 514.08px + 515.52px + 516.96px + 518.4px + 519.84px + 521.28px + 522.72px + 524.16px + 525.6px + 527.04px + 528.48px + 529.92px + 531.36px + 532.8px + 534.24px + 535.68px + 537.12px + 538.56px + 540.0px + 541.44px + 542.88px + 544.32px + 545.76px + 547.2px + 548.64px + 550.08px + 551.52px + 552.96px + 554.4px + 555.84px + 557.28px + 558.72px + 560.16px + 561.6px + 563.04px + 564.48px + 565.92px + 567.36px + 568.8px + 570.24px + 571.68px + 573.12px + 574.56px + 576.0px + 577.44px + 578.88px + 580.32px + 581.76px + 583.2px + 584.64px + 586.08px + 587.52px + 588.96px + 590.4px + 591.84px + 593.28px + 594.72px + 596.16px + 597.6px + 599.04px + 600.48px + 601.92px + 603.36px + 604.8px + 606.24px + 607.68px + 609.12px + 610.56px + 612.0px + 613.44px + 614.88px + 616.32px + 617.76px + 619.2px + 620.64px + 622.08px + 623.52px + 624.96px + 626.4px + 627.84px + 629.28px + 630.72px + 632.16px + 633.6px + 635.04px + 636.48px + 637.92px + 639.36px + 640.8px + 642.24px + 643.68px + 645.12px + 646.56px + 648.0px + 649.44px + 650.88px + 652.32px + 653.76px + 655.2px + 656.64px + 658.08px + 659.52px + 660.96px + 662.4px + 663.84px + 665.28px + 666.72px + 668.16px + 669.6px + 671.04px + 672.48px + 673.92px + 675.36px + 676.8px + 678.24px + 679.68px + 681.12px + 682.56px + 684.0px + 685.44px + 686.88px + 688.32px + 689.76px + 691.2px + 692.64px + 694.08px + 695.52px + 696.96px + 698.4px + 699.84px + 701.28px + 702.72px + 704.16px + 705.6px + 707.04px + 708.48px + 709.92px + 711.36px + 712.8px + 714.24px + 715.68px + 717.12px + 718.56px + 720.0px + 721.44px + 722.88px + 724.32px + 725.76px + 727.2px + 728.64px + 730.08px + 731.52px + 732.96px + 734.4px + 735.84px + 737.28px + 738.72px + 740.16px + 741.6px + 743.04px + 744.48px + 745.92px + 747.36px + 748.8px + 750.24px + 751.68px + 753.12px + 754.56px + 756.0px + 757.44px + 758.88px + 760.32px + 761.76px + 763.2px + 764.64px + 766.08px + 767.52px + 768.96px + 770.4px + 771.84px + 773.28px + 774.72px + 776.16px + 777.6px + 779.04px + 780.48px + 781.92px + 783.36px + 784.8px + 786.24px + 787.68px + 789.12px + 790.56px + 792.0px + 793.44px + 794.88px + 796.32px + 797.76px + 799.2px + 800.64px + 802.08px + 803.52px + 804.96px + 806.4px + 807.84px + 809.28px + 810.72px + 812.16px + 813.6px + 815.04px + 816.48px + 817.92px + 819.36px + 820.8px + 822.24px + 823.68px + 825.12px + 826.56px + 828.0px + 829.44px + 830.88px + 832.32px + 833.76px + 835.2px + 836.64px + 838.08px + 839.52px + 840.96px + 842.4px + 843.84px + 845.28px + 846.72px + 848.16px + 849.6px + 851.04px + 852.48px + 853.92px + 855.36px + 856.8px + 858.24px + 859.68px + 861.12px + 862.56px + 864.0px + 865.44px + 866.88px + 868.32px + 869.76px + 871.2px + 872.64px + 874.08px + 875.52px + 876.96px + 878.4px + 879.84px + 881.28px + 882.72px + 884.16px + 885.6px + 887.04px + 888.48px + 889.92px + 891.36px + 892.8px + 894.24px + 895.68px + 897.12px + 898.56px + 900.0px + 901.44px + 902.88px + 904.32px + 905.76px + 907.2px + 908.64px + 910.08px + 911.52px + 912.96px + 914.4px + 915.84px + 917.28px + 918.72px + 920.16px + 921.6px + 923.04px + 924.48px + 925.92px + 927.36px + 928.8px + 930.24px + 931.68px + 933.12px + 934.56px + 936.0px + 937.44px + 938.88px + 940.32px + 941.76px + 943.2px + 944.64px + 946.08px + 947.52px + 948.96px + 950.4px + 951.84px + 953.28px + 954.72px + 956.16px + 957.6px + 959.04px + 960.48px + 961.92px + 963.36px + 964.8px + 966.24px + 967.68px + 969.12px + 970.56px + 972.0px + 973.44px + 974.88px + 976.32px + 977.76px + 979.2px + 980.64px + 982.08px + 983.52px + 984.96px + 986.4px + 987.84px + 989.28px + 990.72px + 992.16px + 993.6px + 995.04px + 996.48px + 997.92px + 999.36px + 1000.8px + 1002.24px + 1003.68px + 1005.12px + 1006.56px + 1008.0px + 1009.44px + 1010.88px + 1012.32px + 1013.76px + 1015.2px + 1016.64px + 1018.08px + 1019.52px + 1020.96px + 1022.4px + 1023.84px + 1025.28px + 1026.72px + 1028.16px + 1029.6px + 1031.04px + 1032.48px + 1033.92px + 1035.36px + 1036.8px + 1038.24px + 1039.68px + 1041.12px + 1042.56px + 1044.0px + 1045.44px + 1046.88px + 1048.32px + 1049.76px + 1051.2px + 1052.64px + 1054.08px + 1055.52px + 1056.96px + 1058.4px + 1059.84px + 1061.28px + 1062.72px + 1064.16px + 1065.6px + 1067.04px + 1068.48px + 1069.92px + 1071.36px + 1072.8px + 1074.24px + 1075.68px + 1077.12px + 1078.56px + 1080px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1920x1080/lay_y.xml b/FaceUnity/src/main/res/values-1920x1080/lay_y.xml new file mode 100644 index 000000000..234c05a3a --- /dev/null +++ b/FaceUnity/src/main/res/values-1920x1080/lay_y.xml @@ -0,0 +1,1337 @@ + + + 1.43px + 2.87px + 4.31px + 5.75px + 7.19px + 8.63px + 10.07px + 11.51px + 12.95px + 14.39px + 15.83px + 17.27px + 18.71px + 20.14px + 21.58px + 23.02px + 24.46px + 25.9px + 27.34px + 28.78px + 30.22px + 31.66px + 33.1px + 34.54px + 35.98px + 37.42px + 38.86px + 40.29px + 41.73px + 43.17px + 44.61px + 46.05px + 47.49px + 48.93px + 50.37px + 51.81px + 53.25px + 54.69px + 56.13px + 57.57px + 59.01px + 60.44px + 61.88px + 63.32px + 64.76px + 66.2px + 67.64px + 69.08px + 70.52px + 71.96px + 73.4px + 74.84px + 76.28px + 77.72px + 79.16px + 80.59px + 82.03px + 83.47px + 84.91px + 86.35px + 87.79px + 89.23px + 90.67px + 92.11px + 93.55px + 94.99px + 96.43px + 97.87px + 99.31px + 100.74px + 102.18px + 103.62px + 105.06px + 106.5px + 107.94px + 109.38px + 110.82px + 112.26px + 113.7px + 115.14px + 116.58px + 118.02px + 119.46px + 120.89px + 122.33px + 123.77px + 125.21px + 126.65px + 128.09px + 129.53px + 130.97px + 132.41px + 133.85px + 135.29px + 136.73px + 138.17px + 139.61px + 141.04px + 142.48px + 143.92px + 145.36px + 146.8px + 148.24px + 149.68px + 151.12px + 152.56px + 154.0px + 155.44px + 156.88px + 158.32px + 159.76px + 161.19px + 162.63px + 164.07px + 165.51px + 166.95px + 168.39px + 169.83px + 171.27px + 172.71px + 174.15px + 175.59px + 177.03px + 178.47px + 179.91px + 181.34px + 182.78px + 184.22px + 185.66px + 187.1px + 188.54px + 189.98px + 191.42px + 192.86px + 194.3px + 195.74px + 197.18px + 198.62px + 200.05px + 201.49px + 202.93px + 204.37px + 205.81px + 207.25px + 208.69px + 210.13px + 211.57px + 213.01px + 214.45px + 215.89px + 217.33px + 218.77px + 220.2px + 221.64px + 223.08px + 224.52px + 225.96px + 227.4px + 228.84px + 230.28px + 231.72px + 233.16px + 234.6px + 236.04px + 237.48px + 238.92px + 240.35px + 241.79px + 243.23px + 244.67px + 246.11px + 247.55px + 248.99px + 250.43px + 251.87px + 253.31px + 254.75px + 256.19px + 257.63px + 259.07px + 260.5px + 261.94px + 263.38px + 264.82px + 266.26px + 267.7px + 269.14px + 270.58px + 272.02px + 273.46px + 274.9px + 276.34px + 277.78px + 279.22px + 280.65px + 282.09px + 283.53px + 284.97px + 286.41px + 287.85px + 289.29px + 290.73px + 292.17px + 293.61px + 295.05px + 296.49px + 297.93px + 299.37px + 300.8px + 302.24px + 303.68px + 305.12px + 306.56px + 308.0px + 309.44px + 310.88px + 312.32px + 313.76px + 315.2px + 316.64px + 318.08px + 319.52px + 320.95px + 322.39px + 323.83px + 325.27px + 326.71px + 328.15px + 329.59px + 331.03px + 332.47px + 333.91px + 335.35px + 336.79px + 338.23px + 339.67px + 341.1px + 342.54px + 343.98px + 345.42px + 346.86px + 348.3px + 349.74px + 351.18px + 352.62px + 354.06px + 355.5px + 356.94px + 358.38px + 359.82px + 361.25px + 362.69px + 364.13px + 365.57px + 367.01px + 368.45px + 369.89px + 371.33px + 372.77px + 374.21px + 375.65px + 377.09px + 378.53px + 379.97px + 381.4px + 382.84px + 384.28px + 385.72px + 387.16px + 388.6px + 390.04px + 391.48px + 392.92px + 394.36px + 395.8px + 397.24px + 398.68px + 400.11px + 401.55px + 402.99px + 404.43px + 405.87px + 407.31px + 408.75px + 410.19px + 411.63px + 413.07px + 414.51px + 415.95px + 417.39px + 418.83px + 420.26px + 421.7px + 423.14px + 424.58px + 426.02px + 427.46px + 428.9px + 430.34px + 431.78px + 433.22px + 434.66px + 436.1px + 437.54px + 438.98px + 440.41px + 441.85px + 443.29px + 444.73px + 446.17px + 447.61px + 449.05px + 450.49px + 451.93px + 453.37px + 454.81px + 456.25px + 457.69px + 459.13px + 460.56px + 462.0px + 463.44px + 464.88px + 466.32px + 467.76px + 469.2px + 470.64px + 472.08px + 473.52px + 474.96px + 476.4px + 477.84px + 479.28px + 480.71px + 482.15px + 483.59px + 485.03px + 486.47px + 487.91px + 489.35px + 490.79px + 492.23px + 493.67px + 495.11px + 496.55px + 497.99px + 499.43px + 500.86px + 502.3px + 503.74px + 505.18px + 506.62px + 508.06px + 509.5px + 510.94px + 512.38px + 513.82px + 515.26px + 516.7px + 518.14px + 519.58px + 521.01px + 522.45px + 523.89px + 525.33px + 526.77px + 528.21px + 529.65px + 531.09px + 532.53px + 533.97px + 535.41px + 536.85px + 538.29px + 539.73px + 541.16px + 542.6px + 544.04px + 545.48px + 546.92px + 548.36px + 549.8px + 551.24px + 552.68px + 554.12px + 555.56px + 557.0px + 558.44px + 559.88px + 561.31px + 562.75px + 564.19px + 565.63px + 567.07px + 568.51px + 569.95px + 571.39px + 572.83px + 574.27px + 575.71px + 577.15px + 578.59px + 580.02px + 581.46px + 582.9px + 584.34px + 585.78px + 587.22px + 588.66px + 590.1px + 591.54px + 592.98px + 594.42px + 595.86px + 597.3px + 598.74px + 600.17px + 601.61px + 603.05px + 604.49px + 605.93px + 607.37px + 608.81px + 610.25px + 611.69px + 613.13px + 614.57px + 616.01px + 617.45px + 618.89px + 620.32px + 621.76px + 623.2px + 624.64px + 626.08px + 627.52px + 628.96px + 630.4px + 631.84px + 633.28px + 634.72px + 636.16px + 637.6px + 639.04px + 640.47px + 641.91px + 643.35px + 644.79px + 646.23px + 647.67px + 649.11px + 650.55px + 651.99px + 653.43px + 654.87px + 656.31px + 657.75px + 659.19px + 660.62px + 662.06px + 663.5px + 664.94px + 666.38px + 667.82px + 669.26px + 670.7px + 672.14px + 673.58px + 675.02px + 676.46px + 677.9px + 679.34px + 680.77px + 682.21px + 683.65px + 685.09px + 686.53px + 687.97px + 689.41px + 690.85px + 692.29px + 693.73px + 695.17px + 696.61px + 698.05px + 699.49px + 700.92px + 702.36px + 703.8px + 705.24px + 706.68px + 708.12px + 709.56px + 711.0px + 712.44px + 713.88px + 715.32px + 716.76px + 718.2px + 719.64px + 721.07px + 722.51px + 723.95px + 725.39px + 726.83px + 728.27px + 729.71px + 731.15px + 732.59px + 734.03px + 735.47px + 736.91px + 738.35px + 739.79px + 741.22px + 742.66px + 744.1px + 745.54px + 746.98px + 748.42px + 749.86px + 751.3px + 752.74px + 754.18px + 755.62px + 757.06px + 758.5px + 759.94px + 761.37px + 762.81px + 764.25px + 765.69px + 767.13px + 768.57px + 770.01px + 771.45px + 772.89px + 774.33px + 775.77px + 777.21px + 778.65px + 780.09px + 781.52px + 782.96px + 784.4px + 785.84px + 787.28px + 788.72px + 790.16px + 791.6px + 793.04px + 794.48px + 795.92px + 797.36px + 798.8px + 800.23px + 801.67px + 803.11px + 804.55px + 805.99px + 807.43px + 808.87px + 810.31px + 811.75px + 813.19px + 814.63px + 816.07px + 817.51px + 818.95px + 820.38px + 821.82px + 823.26px + 824.7px + 826.14px + 827.58px + 829.02px + 830.46px + 831.9px + 833.34px + 834.78px + 836.22px + 837.66px + 839.1px + 840.53px + 841.97px + 843.41px + 844.85px + 846.29px + 847.73px + 849.17px + 850.61px + 852.05px + 853.49px + 854.93px + 856.37px + 857.81px + 859.25px + 860.68px + 862.12px + 863.56px + 865.0px + 866.44px + 867.88px + 869.32px + 870.76px + 872.2px + 873.64px + 875.08px + 876.52px + 877.96px + 879.4px + 880.83px + 882.27px + 883.71px + 885.15px + 886.59px + 888.03px + 889.47px + 890.91px + 892.35px + 893.79px + 895.23px + 896.67px + 898.11px + 899.55px + 900.98px + 902.42px + 903.86px + 905.3px + 906.74px + 908.18px + 909.62px + 911.06px + 912.5px + 913.94px + 915.38px + 916.82px + 918.26px + 919.7px + 921.13px + 922.57px + 924.01px + 925.45px + 926.89px + 928.33px + 929.77px + 931.21px + 932.65px + 934.09px + 935.53px + 936.97px + 938.41px + 939.85px + 941.28px + 942.72px + 944.16px + 945.6px + 947.04px + 948.48px + 949.92px + 951.36px + 952.8px + 954.24px + 955.68px + 957.12px + 958.56px + 960.0px + 961.43px + 962.87px + 964.31px + 965.75px + 967.19px + 968.63px + 970.07px + 971.51px + 972.95px + 974.39px + 975.83px + 977.27px + 978.71px + 980.15px + 981.58px + 983.02px + 984.46px + 985.9px + 987.34px + 988.78px + 990.22px + 991.66px + 993.1px + 994.54px + 995.98px + 997.42px + 998.86px + 1000.29px + 1001.73px + 1003.17px + 1004.61px + 1006.05px + 1007.49px + 1008.93px + 1010.37px + 1011.81px + 1013.25px + 1014.69px + 1016.13px + 1017.57px + 1019.01px + 1020.44px + 1021.88px + 1023.32px + 1024.76px + 1026.2px + 1027.64px + 1029.08px + 1030.52px + 1031.96px + 1033.4px + 1034.84px + 1036.28px + 1037.72px + 1039.16px + 1040.59px + 1042.03px + 1043.47px + 1044.91px + 1046.35px + 1047.79px + 1049.23px + 1050.67px + 1052.11px + 1053.55px + 1054.99px + 1056.43px + 1057.87px + 1059.31px + 1060.74px + 1062.18px + 1063.62px + 1065.06px + 1066.5px + 1067.94px + 1069.38px + 1070.82px + 1072.26px + 1073.7px + 1075.14px + 1076.58px + 1078.02px + 1079.46px + 1080.89px + 1082.33px + 1083.77px + 1085.21px + 1086.65px + 1088.09px + 1089.53px + 1090.97px + 1092.41px + 1093.85px + 1095.29px + 1096.73px + 1098.17px + 1099.61px + 1101.04px + 1102.48px + 1103.92px + 1105.36px + 1106.8px + 1108.24px + 1109.68px + 1111.12px + 1112.56px + 1114.0px + 1115.44px + 1116.88px + 1118.32px + 1119.76px + 1121.19px + 1122.63px + 1124.07px + 1125.51px + 1126.95px + 1128.39px + 1129.83px + 1131.27px + 1132.71px + 1134.15px + 1135.59px + 1137.03px + 1138.47px + 1139.91px + 1141.34px + 1142.78px + 1144.22px + 1145.66px + 1147.1px + 1148.54px + 1149.98px + 1151.42px + 1152.86px + 1154.3px + 1155.74px + 1157.18px + 1158.62px + 1160.05px + 1161.49px + 1162.93px + 1164.37px + 1165.81px + 1167.25px + 1168.69px + 1170.13px + 1171.57px + 1173.01px + 1174.45px + 1175.89px + 1177.33px + 1178.77px + 1180.21px + 1181.64px + 1183.08px + 1184.52px + 1185.96px + 1187.4px + 1188.84px + 1190.28px + 1191.72px + 1193.16px + 1194.6px + 1196.04px + 1197.48px + 1198.92px + 1200.35px + 1201.79px + 1203.23px + 1204.67px + 1206.11px + 1207.55px + 1208.99px + 1210.43px + 1211.87px + 1213.31px + 1214.75px + 1216.19px + 1217.63px + 1219.07px + 1220.5px + 1221.94px + 1223.38px + 1224.82px + 1226.26px + 1227.7px + 1229.14px + 1230.58px + 1232.02px + 1233.46px + 1234.9px + 1236.34px + 1237.78px + 1239.22px + 1240.65px + 1242.09px + 1243.53px + 1244.97px + 1246.41px + 1247.85px + 1249.29px + 1250.73px + 1252.17px + 1253.61px + 1255.05px + 1256.49px + 1257.93px + 1259.37px + 1260.8px + 1262.24px + 1263.68px + 1265.12px + 1266.56px + 1268.0px + 1269.44px + 1270.88px + 1272.32px + 1273.76px + 1275.2px + 1276.64px + 1278.08px + 1279.52px + 1280.95px + 1282.39px + 1283.83px + 1285.27px + 1286.71px + 1288.15px + 1289.59px + 1291.03px + 1292.47px + 1293.91px + 1295.35px + 1296.79px + 1298.23px + 1299.67px + 1301.1px + 1302.54px + 1303.98px + 1305.42px + 1306.86px + 1308.3px + 1309.74px + 1311.18px + 1312.62px + 1314.06px + 1315.5px + 1316.94px + 1318.38px + 1319.82px + 1321.25px + 1322.69px + 1324.13px + 1325.57px + 1327.01px + 1328.45px + 1329.89px + 1331.33px + 1332.77px + 1334.21px + 1335.65px + 1337.09px + 1338.53px + 1339.97px + 1341.4px + 1342.84px + 1344.28px + 1345.72px + 1347.16px + 1348.6px + 1350.04px + 1351.48px + 1352.92px + 1354.36px + 1355.8px + 1357.24px + 1358.68px + 1360.12px + 1361.55px + 1362.99px + 1364.43px + 1365.87px + 1367.31px + 1368.75px + 1370.19px + 1371.63px + 1373.07px + 1374.51px + 1375.95px + 1377.39px + 1378.83px + 1380.26px + 1381.7px + 1383.14px + 1384.58px + 1386.02px + 1387.46px + 1388.9px + 1390.34px + 1391.78px + 1393.22px + 1394.66px + 1396.1px + 1397.54px + 1398.98px + 1400.41px + 1401.85px + 1403.29px + 1404.73px + 1406.17px + 1407.61px + 1409.05px + 1410.49px + 1411.93px + 1413.37px + 1414.81px + 1416.25px + 1417.69px + 1419.13px + 1420.56px + 1422.0px + 1423.44px + 1424.88px + 1426.32px + 1427.76px + 1429.2px + 1430.64px + 1432.08px + 1433.52px + 1434.96px + 1436.4px + 1437.84px + 1439.28px + 1440.71px + 1442.15px + 1443.59px + 1445.03px + 1446.47px + 1447.91px + 1449.35px + 1450.79px + 1452.23px + 1453.67px + 1455.11px + 1456.55px + 1457.99px + 1459.43px + 1460.86px + 1462.3px + 1463.74px + 1465.18px + 1466.62px + 1468.06px + 1469.5px + 1470.94px + 1472.38px + 1473.82px + 1475.26px + 1476.7px + 1478.14px + 1479.58px + 1481.01px + 1482.45px + 1483.89px + 1485.33px + 1486.77px + 1488.21px + 1489.65px + 1491.09px + 1492.53px + 1493.97px + 1495.41px + 1496.85px + 1498.29px + 1499.73px + 1501.16px + 1502.6px + 1504.04px + 1505.48px + 1506.92px + 1508.36px + 1509.8px + 1511.24px + 1512.68px + 1514.12px + 1515.56px + 1517.0px + 1518.44px + 1519.88px + 1521.31px + 1522.75px + 1524.19px + 1525.63px + 1527.07px + 1528.51px + 1529.95px + 1531.39px + 1532.83px + 1534.27px + 1535.71px + 1537.15px + 1538.59px + 1540.03px + 1541.46px + 1542.9px + 1544.34px + 1545.78px + 1547.22px + 1548.66px + 1550.1px + 1551.54px + 1552.98px + 1554.42px + 1555.86px + 1557.3px + 1558.74px + 1560.18px + 1561.61px + 1563.05px + 1564.49px + 1565.93px + 1567.37px + 1568.81px + 1570.25px + 1571.69px + 1573.13px + 1574.57px + 1576.01px + 1577.45px + 1578.89px + 1580.32px + 1581.76px + 1583.2px + 1584.64px + 1586.08px + 1587.52px + 1588.96px + 1590.4px + 1591.84px + 1593.28px + 1594.72px + 1596.16px + 1597.6px + 1599.04px + 1600.47px + 1601.91px + 1603.35px + 1604.79px + 1606.23px + 1607.67px + 1609.11px + 1610.55px + 1611.99px + 1613.43px + 1614.87px + 1616.31px + 1617.75px + 1619.19px + 1620.62px + 1622.06px + 1623.5px + 1624.94px + 1626.38px + 1627.82px + 1629.26px + 1630.7px + 1632.14px + 1633.58px + 1635.02px + 1636.46px + 1637.9px + 1639.34px + 1640.77px + 1642.21px + 1643.65px + 1645.09px + 1646.53px + 1647.97px + 1649.41px + 1650.85px + 1652.29px + 1653.73px + 1655.17px + 1656.61px + 1658.05px + 1659.49px + 1660.92px + 1662.36px + 1663.8px + 1665.24px + 1666.68px + 1668.12px + 1669.56px + 1671.0px + 1672.44px + 1673.88px + 1675.32px + 1676.76px + 1678.2px + 1679.64px + 1681.07px + 1682.51px + 1683.95px + 1685.39px + 1686.83px + 1688.27px + 1689.71px + 1691.15px + 1692.59px + 1694.03px + 1695.47px + 1696.91px + 1698.35px + 1699.79px + 1701.22px + 1702.66px + 1704.1px + 1705.54px + 1706.98px + 1708.42px + 1709.86px + 1711.3px + 1712.74px + 1714.18px + 1715.62px + 1717.06px + 1718.5px + 1719.94px + 1721.37px + 1722.81px + 1724.25px + 1725.69px + 1727.13px + 1728.57px + 1730.01px + 1731.45px + 1732.89px + 1734.33px + 1735.77px + 1737.21px + 1738.65px + 1740.09px + 1741.52px + 1742.96px + 1744.4px + 1745.84px + 1747.28px + 1748.72px + 1750.16px + 1751.6px + 1753.04px + 1754.48px + 1755.92px + 1757.36px + 1758.8px + 1760.23px + 1761.67px + 1763.11px + 1764.55px + 1765.99px + 1767.43px + 1768.87px + 1770.31px + 1771.75px + 1773.19px + 1774.63px + 1776.07px + 1777.51px + 1778.95px + 1780.38px + 1781.82px + 1783.26px + 1784.7px + 1786.14px + 1787.58px + 1789.02px + 1790.46px + 1791.9px + 1793.34px + 1794.78px + 1796.22px + 1797.66px + 1799.1px + 1800.53px + 1801.97px + 1803.41px + 1804.85px + 1806.29px + 1807.73px + 1809.17px + 1810.61px + 1812.05px + 1813.49px + 1814.93px + 1816.37px + 1817.81px + 1819.25px + 1820.68px + 1822.12px + 1823.56px + 1825.0px + 1826.44px + 1827.88px + 1829.32px + 1830.76px + 1832.2px + 1833.64px + 1835.08px + 1836.52px + 1837.96px + 1839.4px + 1840.83px + 1842.27px + 1843.71px + 1845.15px + 1846.59px + 1848.03px + 1849.47px + 1850.91px + 1852.35px + 1853.79px + 1855.23px + 1856.67px + 1858.11px + 1859.55px + 1860.98px + 1862.42px + 1863.86px + 1865.3px + 1866.74px + 1868.18px + 1869.62px + 1871.06px + 1872.5px + 1873.94px + 1875.38px + 1876.82px + 1878.26px + 1879.7px + 1881.13px + 1882.57px + 1884.01px + 1885.45px + 1886.89px + 1888.33px + 1889.77px + 1891.21px + 1892.65px + 1894.09px + 1895.53px + 1896.97px + 1898.41px + 1899.85px + 1901.28px + 1902.72px + 1904.16px + 1905.6px + 1907.04px + 1908.48px + 1909.92px + 1911.36px + 1912.8px + 1914.24px + 1915.68px + 1917.12px + 1918.56px + 1920px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1920x1200/lay_x.xml b/FaceUnity/src/main/res/values-1920x1200/lay_x.xml new file mode 100644 index 000000000..a044c25d0 --- /dev/null +++ b/FaceUnity/src/main/res/values-1920x1200/lay_x.xml @@ -0,0 +1,753 @@ + + + 1.6px + 3.2px + 4.8px + 6.4px + 8.0px + 9.6px + 11.2px + 12.8px + 14.4px + 16.0px + 17.6px + 19.2px + 20.8px + 22.4px + 24.0px + 25.6px + 27.2px + 28.8px + 30.4px + 32.0px + 33.6px + 35.2px + 36.8px + 38.4px + 40.0px + 41.6px + 43.2px + 44.8px + 46.4px + 48.0px + 49.6px + 51.2px + 52.8px + 54.4px + 56.0px + 57.6px + 59.2px + 60.8px + 62.4px + 64.0px + 65.6px + 67.2px + 68.8px + 70.4px + 72.0px + 73.6px + 75.2px + 76.8px + 78.4px + 80.0px + 81.6px + 83.2px + 84.8px + 86.4px + 88.0px + 89.6px + 91.2px + 92.8px + 94.4px + 96.0px + 97.6px + 99.2px + 100.8px + 102.4px + 104.0px + 105.6px + 107.2px + 108.8px + 110.4px + 112.0px + 113.6px + 115.2px + 116.8px + 118.4px + 120.0px + 121.6px + 123.2px + 124.8px + 126.4px + 128.0px + 129.6px + 131.2px + 132.8px + 134.4px + 136.0px + 137.6px + 139.2px + 140.8px + 142.4px + 144.0px + 145.6px + 147.2px + 148.8px + 150.4px + 152.0px + 153.6px + 155.2px + 156.8px + 158.4px + 160.0px + 161.6px + 163.2px + 164.8px + 166.4px + 168.0px + 169.6px + 171.2px + 172.8px + 174.4px + 176.0px + 177.6px + 179.2px + 180.8px + 182.4px + 184.0px + 185.6px + 187.2px + 188.8px + 190.4px + 192.0px + 193.6px + 195.2px + 196.8px + 198.4px + 200.0px + 201.6px + 203.2px + 204.8px + 206.4px + 208.0px + 209.6px + 211.2px + 212.8px + 214.4px + 216.0px + 217.6px + 219.2px + 220.8px + 222.4px + 224.0px + 225.6px + 227.2px + 228.8px + 230.4px + 232.0px + 233.6px + 235.2px + 236.8px + 238.4px + 240.0px + 241.6px + 243.2px + 244.8px + 246.4px + 248.0px + 249.6px + 251.2px + 252.8px + 254.4px + 256.0px + 257.6px + 259.2px + 260.8px + 262.4px + 264.0px + 265.6px + 267.2px + 268.8px + 270.4px + 272.0px + 273.6px + 275.2px + 276.8px + 278.4px + 280.0px + 281.6px + 283.2px + 284.8px + 286.4px + 288.0px + 289.6px + 291.2px + 292.8px + 294.4px + 296.0px + 297.6px + 299.2px + 300.8px + 302.4px + 304.0px + 305.6px + 307.2px + 308.8px + 310.4px + 312.0px + 313.6px + 315.2px + 316.8px + 318.4px + 320.0px + 321.6px + 323.2px + 324.8px + 326.4px + 328.0px + 329.6px + 331.2px + 332.8px + 334.4px + 336.0px + 337.6px + 339.2px + 340.8px + 342.4px + 344.0px + 345.6px + 347.2px + 348.8px + 350.4px + 352.0px + 353.6px + 355.2px + 356.8px + 358.4px + 360.0px + 361.6px + 363.2px + 364.8px + 366.4px + 368.0px + 369.6px + 371.2px + 372.8px + 374.4px + 376.0px + 377.6px + 379.2px + 380.8px + 382.4px + 384.0px + 385.6px + 387.2px + 388.8px + 390.4px + 392.0px + 393.6px + 395.2px + 396.8px + 398.4px + 400.0px + 401.6px + 403.2px + 404.8px + 406.4px + 408.0px + 409.6px + 411.2px + 412.8px + 414.4px + 416.0px + 417.6px + 419.2px + 420.8px + 422.4px + 424.0px + 425.6px + 427.2px + 428.8px + 430.4px + 432.0px + 433.6px + 435.2px + 436.8px + 438.4px + 440.0px + 441.6px + 443.2px + 444.8px + 446.4px + 448.0px + 449.6px + 451.2px + 452.8px + 454.4px + 456.0px + 457.6px + 459.2px + 460.8px + 462.4px + 464.0px + 465.6px + 467.2px + 468.8px + 470.4px + 472.0px + 473.6px + 475.2px + 476.8px + 478.4px + 480.0px + 481.6px + 483.2px + 484.8px + 486.4px + 488.0px + 489.6px + 491.2px + 492.8px + 494.4px + 496.0px + 497.6px + 499.2px + 500.8px + 502.4px + 504.0px + 505.6px + 507.2px + 508.8px + 510.4px + 512.0px + 513.6px + 515.2px + 516.8px + 518.4px + 520.0px + 521.6px + 523.2px + 524.8px + 526.4px + 528.0px + 529.6px + 531.2px + 532.8px + 534.4px + 536.0px + 537.6px + 539.2px + 540.8px + 542.4px + 544.0px + 545.6px + 547.2px + 548.8px + 550.4px + 552.0px + 553.6px + 555.2px + 556.8px + 558.4px + 560.0px + 561.6px + 563.2px + 564.8px + 566.4px + 568.0px + 569.6px + 571.2px + 572.8px + 574.4px + 576.0px + 577.6px + 579.2px + 580.8px + 582.4px + 584.0px + 585.6px + 587.2px + 588.8px + 590.4px + 592.0px + 593.6px + 595.2px + 596.8px + 598.4px + 600.0px + 601.6px + 603.2px + 604.8px + 606.4px + 608.0px + 609.6px + 611.2px + 612.8px + 614.4px + 616.0px + 617.6px + 619.2px + 620.8px + 622.4px + 624.0px + 625.6px + 627.2px + 628.8px + 630.4px + 632.0px + 633.6px + 635.2px + 636.8px + 638.4px + 640.0px + 641.6px + 643.2px + 644.8px + 646.4px + 648.0px + 649.6px + 651.2px + 652.8px + 654.4px + 656.0px + 657.6px + 659.2px + 660.8px + 662.4px + 664.0px + 665.6px + 667.2px + 668.8px + 670.4px + 672.0px + 673.6px + 675.2px + 676.8px + 678.4px + 680.0px + 681.6px + 683.2px + 684.8px + 686.4px + 688.0px + 689.6px + 691.2px + 692.8px + 694.4px + 696.0px + 697.6px + 699.2px + 700.8px + 702.4px + 704.0px + 705.6px + 707.2px + 708.8px + 710.4px + 712.0px + 713.6px + 715.2px + 716.8px + 718.4px + 720.0px + 721.6px + 723.2px + 724.8px + 726.4px + 728.0px + 729.6px + 731.2px + 732.8px + 734.4px + 736.0px + 737.6px + 739.2px + 740.8px + 742.4px + 744.0px + 745.6px + 747.2px + 748.8px + 750.4px + 752.0px + 753.6px + 755.2px + 756.8px + 758.4px + 760.0px + 761.6px + 763.2px + 764.8px + 766.4px + 768.0px + 769.6px + 771.2px + 772.8px + 774.4px + 776.0px + 777.6px + 779.2px + 780.8px + 782.4px + 784.0px + 785.6px + 787.2px + 788.8px + 790.4px + 792.0px + 793.6px + 795.2px + 796.8px + 798.4px + 800.0px + 801.6px + 803.2px + 804.8px + 806.4px + 808.0px + 809.6px + 811.2px + 812.8px + 814.4px + 816.0px + 817.6px + 819.2px + 820.8px + 822.4px + 824.0px + 825.6px + 827.2px + 828.8px + 830.4px + 832.0px + 833.6px + 835.2px + 836.8px + 838.4px + 840.0px + 841.6px + 843.2px + 844.8px + 846.4px + 848.0px + 849.6px + 851.2px + 852.8px + 854.4px + 856.0px + 857.6px + 859.2px + 860.8px + 862.4px + 864.0px + 865.6px + 867.2px + 868.8px + 870.4px + 872.0px + 873.6px + 875.2px + 876.8px + 878.4px + 880.0px + 881.6px + 883.2px + 884.8px + 886.4px + 888.0px + 889.6px + 891.2px + 892.8px + 894.4px + 896.0px + 897.6px + 899.2px + 900.8px + 902.4px + 904.0px + 905.6px + 907.2px + 908.8px + 910.4px + 912.0px + 913.6px + 915.2px + 916.8px + 918.4px + 920.0px + 921.6px + 923.2px + 924.8px + 926.4px + 928.0px + 929.6px + 931.2px + 932.8px + 934.4px + 936.0px + 937.6px + 939.2px + 940.8px + 942.4px + 944.0px + 945.6px + 947.2px + 948.8px + 950.4px + 952.0px + 953.6px + 955.2px + 956.8px + 958.4px + 960.0px + 961.6px + 963.2px + 964.8px + 966.4px + 968.0px + 969.6px + 971.2px + 972.8px + 974.4px + 976.0px + 977.6px + 979.2px + 980.8px + 982.4px + 984.0px + 985.6px + 987.2px + 988.8px + 990.4px + 992.0px + 993.6px + 995.2px + 996.8px + 998.4px + 1000.0px + 1001.6px + 1003.2px + 1004.8px + 1006.4px + 1008.0px + 1009.6px + 1011.2px + 1012.8px + 1014.4px + 1016.0px + 1017.6px + 1019.2px + 1020.8px + 1022.4px + 1024.0px + 1025.6px + 1027.2px + 1028.8px + 1030.4px + 1032.0px + 1033.6px + 1035.2px + 1036.8px + 1038.4px + 1040.0px + 1041.6px + 1043.2px + 1044.8px + 1046.4px + 1048.0px + 1049.6px + 1051.2px + 1052.8px + 1054.4px + 1056.0px + 1057.6px + 1059.2px + 1060.8px + 1062.4px + 1064.0px + 1065.6px + 1067.2px + 1068.8px + 1070.4px + 1072.0px + 1073.6px + 1075.2px + 1076.8px + 1078.4px + 1080.0px + 1081.6px + 1083.2px + 1084.8px + 1086.4px + 1088.0px + 1089.6px + 1091.2px + 1092.8px + 1094.4px + 1096.0px + 1097.6px + 1099.2px + 1100.8px + 1102.4px + 1104.0px + 1105.6px + 1107.2px + 1108.8px + 1110.4px + 1112.0px + 1113.6px + 1115.2px + 1116.8px + 1118.4px + 1120.0px + 1121.6px + 1123.2px + 1124.8px + 1126.4px + 1128.0px + 1129.6px + 1131.2px + 1132.8px + 1134.4px + 1136.0px + 1137.6px + 1139.2px + 1140.8px + 1142.4px + 1144.0px + 1145.6px + 1147.2px + 1148.8px + 1150.4px + 1152.0px + 1153.6px + 1155.2px + 1156.8px + 1158.4px + 1160.0px + 1161.6px + 1163.2px + 1164.8px + 1166.4px + 1168.0px + 1169.6px + 1171.2px + 1172.8px + 1174.4px + 1176.0px + 1177.6px + 1179.2px + 1180.8px + 1182.4px + 1184.0px + 1185.6px + 1187.2px + 1188.8px + 1190.4px + 1192.0px + 1193.6px + 1195.2px + 1196.8px + 1198.4px + 1200px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-1920x1200/lay_y.xml b/FaceUnity/src/main/res/values-1920x1200/lay_y.xml new file mode 100644 index 000000000..234c05a3a --- /dev/null +++ b/FaceUnity/src/main/res/values-1920x1200/lay_y.xml @@ -0,0 +1,1337 @@ + + + 1.43px + 2.87px + 4.31px + 5.75px + 7.19px + 8.63px + 10.07px + 11.51px + 12.95px + 14.39px + 15.83px + 17.27px + 18.71px + 20.14px + 21.58px + 23.02px + 24.46px + 25.9px + 27.34px + 28.78px + 30.22px + 31.66px + 33.1px + 34.54px + 35.98px + 37.42px + 38.86px + 40.29px + 41.73px + 43.17px + 44.61px + 46.05px + 47.49px + 48.93px + 50.37px + 51.81px + 53.25px + 54.69px + 56.13px + 57.57px + 59.01px + 60.44px + 61.88px + 63.32px + 64.76px + 66.2px + 67.64px + 69.08px + 70.52px + 71.96px + 73.4px + 74.84px + 76.28px + 77.72px + 79.16px + 80.59px + 82.03px + 83.47px + 84.91px + 86.35px + 87.79px + 89.23px + 90.67px + 92.11px + 93.55px + 94.99px + 96.43px + 97.87px + 99.31px + 100.74px + 102.18px + 103.62px + 105.06px + 106.5px + 107.94px + 109.38px + 110.82px + 112.26px + 113.7px + 115.14px + 116.58px + 118.02px + 119.46px + 120.89px + 122.33px + 123.77px + 125.21px + 126.65px + 128.09px + 129.53px + 130.97px + 132.41px + 133.85px + 135.29px + 136.73px + 138.17px + 139.61px + 141.04px + 142.48px + 143.92px + 145.36px + 146.8px + 148.24px + 149.68px + 151.12px + 152.56px + 154.0px + 155.44px + 156.88px + 158.32px + 159.76px + 161.19px + 162.63px + 164.07px + 165.51px + 166.95px + 168.39px + 169.83px + 171.27px + 172.71px + 174.15px + 175.59px + 177.03px + 178.47px + 179.91px + 181.34px + 182.78px + 184.22px + 185.66px + 187.1px + 188.54px + 189.98px + 191.42px + 192.86px + 194.3px + 195.74px + 197.18px + 198.62px + 200.05px + 201.49px + 202.93px + 204.37px + 205.81px + 207.25px + 208.69px + 210.13px + 211.57px + 213.01px + 214.45px + 215.89px + 217.33px + 218.77px + 220.2px + 221.64px + 223.08px + 224.52px + 225.96px + 227.4px + 228.84px + 230.28px + 231.72px + 233.16px + 234.6px + 236.04px + 237.48px + 238.92px + 240.35px + 241.79px + 243.23px + 244.67px + 246.11px + 247.55px + 248.99px + 250.43px + 251.87px + 253.31px + 254.75px + 256.19px + 257.63px + 259.07px + 260.5px + 261.94px + 263.38px + 264.82px + 266.26px + 267.7px + 269.14px + 270.58px + 272.02px + 273.46px + 274.9px + 276.34px + 277.78px + 279.22px + 280.65px + 282.09px + 283.53px + 284.97px + 286.41px + 287.85px + 289.29px + 290.73px + 292.17px + 293.61px + 295.05px + 296.49px + 297.93px + 299.37px + 300.8px + 302.24px + 303.68px + 305.12px + 306.56px + 308.0px + 309.44px + 310.88px + 312.32px + 313.76px + 315.2px + 316.64px + 318.08px + 319.52px + 320.95px + 322.39px + 323.83px + 325.27px + 326.71px + 328.15px + 329.59px + 331.03px + 332.47px + 333.91px + 335.35px + 336.79px + 338.23px + 339.67px + 341.1px + 342.54px + 343.98px + 345.42px + 346.86px + 348.3px + 349.74px + 351.18px + 352.62px + 354.06px + 355.5px + 356.94px + 358.38px + 359.82px + 361.25px + 362.69px + 364.13px + 365.57px + 367.01px + 368.45px + 369.89px + 371.33px + 372.77px + 374.21px + 375.65px + 377.09px + 378.53px + 379.97px + 381.4px + 382.84px + 384.28px + 385.72px + 387.16px + 388.6px + 390.04px + 391.48px + 392.92px + 394.36px + 395.8px + 397.24px + 398.68px + 400.11px + 401.55px + 402.99px + 404.43px + 405.87px + 407.31px + 408.75px + 410.19px + 411.63px + 413.07px + 414.51px + 415.95px + 417.39px + 418.83px + 420.26px + 421.7px + 423.14px + 424.58px + 426.02px + 427.46px + 428.9px + 430.34px + 431.78px + 433.22px + 434.66px + 436.1px + 437.54px + 438.98px + 440.41px + 441.85px + 443.29px + 444.73px + 446.17px + 447.61px + 449.05px + 450.49px + 451.93px + 453.37px + 454.81px + 456.25px + 457.69px + 459.13px + 460.56px + 462.0px + 463.44px + 464.88px + 466.32px + 467.76px + 469.2px + 470.64px + 472.08px + 473.52px + 474.96px + 476.4px + 477.84px + 479.28px + 480.71px + 482.15px + 483.59px + 485.03px + 486.47px + 487.91px + 489.35px + 490.79px + 492.23px + 493.67px + 495.11px + 496.55px + 497.99px + 499.43px + 500.86px + 502.3px + 503.74px + 505.18px + 506.62px + 508.06px + 509.5px + 510.94px + 512.38px + 513.82px + 515.26px + 516.7px + 518.14px + 519.58px + 521.01px + 522.45px + 523.89px + 525.33px + 526.77px + 528.21px + 529.65px + 531.09px + 532.53px + 533.97px + 535.41px + 536.85px + 538.29px + 539.73px + 541.16px + 542.6px + 544.04px + 545.48px + 546.92px + 548.36px + 549.8px + 551.24px + 552.68px + 554.12px + 555.56px + 557.0px + 558.44px + 559.88px + 561.31px + 562.75px + 564.19px + 565.63px + 567.07px + 568.51px + 569.95px + 571.39px + 572.83px + 574.27px + 575.71px + 577.15px + 578.59px + 580.02px + 581.46px + 582.9px + 584.34px + 585.78px + 587.22px + 588.66px + 590.1px + 591.54px + 592.98px + 594.42px + 595.86px + 597.3px + 598.74px + 600.17px + 601.61px + 603.05px + 604.49px + 605.93px + 607.37px + 608.81px + 610.25px + 611.69px + 613.13px + 614.57px + 616.01px + 617.45px + 618.89px + 620.32px + 621.76px + 623.2px + 624.64px + 626.08px + 627.52px + 628.96px + 630.4px + 631.84px + 633.28px + 634.72px + 636.16px + 637.6px + 639.04px + 640.47px + 641.91px + 643.35px + 644.79px + 646.23px + 647.67px + 649.11px + 650.55px + 651.99px + 653.43px + 654.87px + 656.31px + 657.75px + 659.19px + 660.62px + 662.06px + 663.5px + 664.94px + 666.38px + 667.82px + 669.26px + 670.7px + 672.14px + 673.58px + 675.02px + 676.46px + 677.9px + 679.34px + 680.77px + 682.21px + 683.65px + 685.09px + 686.53px + 687.97px + 689.41px + 690.85px + 692.29px + 693.73px + 695.17px + 696.61px + 698.05px + 699.49px + 700.92px + 702.36px + 703.8px + 705.24px + 706.68px + 708.12px + 709.56px + 711.0px + 712.44px + 713.88px + 715.32px + 716.76px + 718.2px + 719.64px + 721.07px + 722.51px + 723.95px + 725.39px + 726.83px + 728.27px + 729.71px + 731.15px + 732.59px + 734.03px + 735.47px + 736.91px + 738.35px + 739.79px + 741.22px + 742.66px + 744.1px + 745.54px + 746.98px + 748.42px + 749.86px + 751.3px + 752.74px + 754.18px + 755.62px + 757.06px + 758.5px + 759.94px + 761.37px + 762.81px + 764.25px + 765.69px + 767.13px + 768.57px + 770.01px + 771.45px + 772.89px + 774.33px + 775.77px + 777.21px + 778.65px + 780.09px + 781.52px + 782.96px + 784.4px + 785.84px + 787.28px + 788.72px + 790.16px + 791.6px + 793.04px + 794.48px + 795.92px + 797.36px + 798.8px + 800.23px + 801.67px + 803.11px + 804.55px + 805.99px + 807.43px + 808.87px + 810.31px + 811.75px + 813.19px + 814.63px + 816.07px + 817.51px + 818.95px + 820.38px + 821.82px + 823.26px + 824.7px + 826.14px + 827.58px + 829.02px + 830.46px + 831.9px + 833.34px + 834.78px + 836.22px + 837.66px + 839.1px + 840.53px + 841.97px + 843.41px + 844.85px + 846.29px + 847.73px + 849.17px + 850.61px + 852.05px + 853.49px + 854.93px + 856.37px + 857.81px + 859.25px + 860.68px + 862.12px + 863.56px + 865.0px + 866.44px + 867.88px + 869.32px + 870.76px + 872.2px + 873.64px + 875.08px + 876.52px + 877.96px + 879.4px + 880.83px + 882.27px + 883.71px + 885.15px + 886.59px + 888.03px + 889.47px + 890.91px + 892.35px + 893.79px + 895.23px + 896.67px + 898.11px + 899.55px + 900.98px + 902.42px + 903.86px + 905.3px + 906.74px + 908.18px + 909.62px + 911.06px + 912.5px + 913.94px + 915.38px + 916.82px + 918.26px + 919.7px + 921.13px + 922.57px + 924.01px + 925.45px + 926.89px + 928.33px + 929.77px + 931.21px + 932.65px + 934.09px + 935.53px + 936.97px + 938.41px + 939.85px + 941.28px + 942.72px + 944.16px + 945.6px + 947.04px + 948.48px + 949.92px + 951.36px + 952.8px + 954.24px + 955.68px + 957.12px + 958.56px + 960.0px + 961.43px + 962.87px + 964.31px + 965.75px + 967.19px + 968.63px + 970.07px + 971.51px + 972.95px + 974.39px + 975.83px + 977.27px + 978.71px + 980.15px + 981.58px + 983.02px + 984.46px + 985.9px + 987.34px + 988.78px + 990.22px + 991.66px + 993.1px + 994.54px + 995.98px + 997.42px + 998.86px + 1000.29px + 1001.73px + 1003.17px + 1004.61px + 1006.05px + 1007.49px + 1008.93px + 1010.37px + 1011.81px + 1013.25px + 1014.69px + 1016.13px + 1017.57px + 1019.01px + 1020.44px + 1021.88px + 1023.32px + 1024.76px + 1026.2px + 1027.64px + 1029.08px + 1030.52px + 1031.96px + 1033.4px + 1034.84px + 1036.28px + 1037.72px + 1039.16px + 1040.59px + 1042.03px + 1043.47px + 1044.91px + 1046.35px + 1047.79px + 1049.23px + 1050.67px + 1052.11px + 1053.55px + 1054.99px + 1056.43px + 1057.87px + 1059.31px + 1060.74px + 1062.18px + 1063.62px + 1065.06px + 1066.5px + 1067.94px + 1069.38px + 1070.82px + 1072.26px + 1073.7px + 1075.14px + 1076.58px + 1078.02px + 1079.46px + 1080.89px + 1082.33px + 1083.77px + 1085.21px + 1086.65px + 1088.09px + 1089.53px + 1090.97px + 1092.41px + 1093.85px + 1095.29px + 1096.73px + 1098.17px + 1099.61px + 1101.04px + 1102.48px + 1103.92px + 1105.36px + 1106.8px + 1108.24px + 1109.68px + 1111.12px + 1112.56px + 1114.0px + 1115.44px + 1116.88px + 1118.32px + 1119.76px + 1121.19px + 1122.63px + 1124.07px + 1125.51px + 1126.95px + 1128.39px + 1129.83px + 1131.27px + 1132.71px + 1134.15px + 1135.59px + 1137.03px + 1138.47px + 1139.91px + 1141.34px + 1142.78px + 1144.22px + 1145.66px + 1147.1px + 1148.54px + 1149.98px + 1151.42px + 1152.86px + 1154.3px + 1155.74px + 1157.18px + 1158.62px + 1160.05px + 1161.49px + 1162.93px + 1164.37px + 1165.81px + 1167.25px + 1168.69px + 1170.13px + 1171.57px + 1173.01px + 1174.45px + 1175.89px + 1177.33px + 1178.77px + 1180.21px + 1181.64px + 1183.08px + 1184.52px + 1185.96px + 1187.4px + 1188.84px + 1190.28px + 1191.72px + 1193.16px + 1194.6px + 1196.04px + 1197.48px + 1198.92px + 1200.35px + 1201.79px + 1203.23px + 1204.67px + 1206.11px + 1207.55px + 1208.99px + 1210.43px + 1211.87px + 1213.31px + 1214.75px + 1216.19px + 1217.63px + 1219.07px + 1220.5px + 1221.94px + 1223.38px + 1224.82px + 1226.26px + 1227.7px + 1229.14px + 1230.58px + 1232.02px + 1233.46px + 1234.9px + 1236.34px + 1237.78px + 1239.22px + 1240.65px + 1242.09px + 1243.53px + 1244.97px + 1246.41px + 1247.85px + 1249.29px + 1250.73px + 1252.17px + 1253.61px + 1255.05px + 1256.49px + 1257.93px + 1259.37px + 1260.8px + 1262.24px + 1263.68px + 1265.12px + 1266.56px + 1268.0px + 1269.44px + 1270.88px + 1272.32px + 1273.76px + 1275.2px + 1276.64px + 1278.08px + 1279.52px + 1280.95px + 1282.39px + 1283.83px + 1285.27px + 1286.71px + 1288.15px + 1289.59px + 1291.03px + 1292.47px + 1293.91px + 1295.35px + 1296.79px + 1298.23px + 1299.67px + 1301.1px + 1302.54px + 1303.98px + 1305.42px + 1306.86px + 1308.3px + 1309.74px + 1311.18px + 1312.62px + 1314.06px + 1315.5px + 1316.94px + 1318.38px + 1319.82px + 1321.25px + 1322.69px + 1324.13px + 1325.57px + 1327.01px + 1328.45px + 1329.89px + 1331.33px + 1332.77px + 1334.21px + 1335.65px + 1337.09px + 1338.53px + 1339.97px + 1341.4px + 1342.84px + 1344.28px + 1345.72px + 1347.16px + 1348.6px + 1350.04px + 1351.48px + 1352.92px + 1354.36px + 1355.8px + 1357.24px + 1358.68px + 1360.12px + 1361.55px + 1362.99px + 1364.43px + 1365.87px + 1367.31px + 1368.75px + 1370.19px + 1371.63px + 1373.07px + 1374.51px + 1375.95px + 1377.39px + 1378.83px + 1380.26px + 1381.7px + 1383.14px + 1384.58px + 1386.02px + 1387.46px + 1388.9px + 1390.34px + 1391.78px + 1393.22px + 1394.66px + 1396.1px + 1397.54px + 1398.98px + 1400.41px + 1401.85px + 1403.29px + 1404.73px + 1406.17px + 1407.61px + 1409.05px + 1410.49px + 1411.93px + 1413.37px + 1414.81px + 1416.25px + 1417.69px + 1419.13px + 1420.56px + 1422.0px + 1423.44px + 1424.88px + 1426.32px + 1427.76px + 1429.2px + 1430.64px + 1432.08px + 1433.52px + 1434.96px + 1436.4px + 1437.84px + 1439.28px + 1440.71px + 1442.15px + 1443.59px + 1445.03px + 1446.47px + 1447.91px + 1449.35px + 1450.79px + 1452.23px + 1453.67px + 1455.11px + 1456.55px + 1457.99px + 1459.43px + 1460.86px + 1462.3px + 1463.74px + 1465.18px + 1466.62px + 1468.06px + 1469.5px + 1470.94px + 1472.38px + 1473.82px + 1475.26px + 1476.7px + 1478.14px + 1479.58px + 1481.01px + 1482.45px + 1483.89px + 1485.33px + 1486.77px + 1488.21px + 1489.65px + 1491.09px + 1492.53px + 1493.97px + 1495.41px + 1496.85px + 1498.29px + 1499.73px + 1501.16px + 1502.6px + 1504.04px + 1505.48px + 1506.92px + 1508.36px + 1509.8px + 1511.24px + 1512.68px + 1514.12px + 1515.56px + 1517.0px + 1518.44px + 1519.88px + 1521.31px + 1522.75px + 1524.19px + 1525.63px + 1527.07px + 1528.51px + 1529.95px + 1531.39px + 1532.83px + 1534.27px + 1535.71px + 1537.15px + 1538.59px + 1540.03px + 1541.46px + 1542.9px + 1544.34px + 1545.78px + 1547.22px + 1548.66px + 1550.1px + 1551.54px + 1552.98px + 1554.42px + 1555.86px + 1557.3px + 1558.74px + 1560.18px + 1561.61px + 1563.05px + 1564.49px + 1565.93px + 1567.37px + 1568.81px + 1570.25px + 1571.69px + 1573.13px + 1574.57px + 1576.01px + 1577.45px + 1578.89px + 1580.32px + 1581.76px + 1583.2px + 1584.64px + 1586.08px + 1587.52px + 1588.96px + 1590.4px + 1591.84px + 1593.28px + 1594.72px + 1596.16px + 1597.6px + 1599.04px + 1600.47px + 1601.91px + 1603.35px + 1604.79px + 1606.23px + 1607.67px + 1609.11px + 1610.55px + 1611.99px + 1613.43px + 1614.87px + 1616.31px + 1617.75px + 1619.19px + 1620.62px + 1622.06px + 1623.5px + 1624.94px + 1626.38px + 1627.82px + 1629.26px + 1630.7px + 1632.14px + 1633.58px + 1635.02px + 1636.46px + 1637.9px + 1639.34px + 1640.77px + 1642.21px + 1643.65px + 1645.09px + 1646.53px + 1647.97px + 1649.41px + 1650.85px + 1652.29px + 1653.73px + 1655.17px + 1656.61px + 1658.05px + 1659.49px + 1660.92px + 1662.36px + 1663.8px + 1665.24px + 1666.68px + 1668.12px + 1669.56px + 1671.0px + 1672.44px + 1673.88px + 1675.32px + 1676.76px + 1678.2px + 1679.64px + 1681.07px + 1682.51px + 1683.95px + 1685.39px + 1686.83px + 1688.27px + 1689.71px + 1691.15px + 1692.59px + 1694.03px + 1695.47px + 1696.91px + 1698.35px + 1699.79px + 1701.22px + 1702.66px + 1704.1px + 1705.54px + 1706.98px + 1708.42px + 1709.86px + 1711.3px + 1712.74px + 1714.18px + 1715.62px + 1717.06px + 1718.5px + 1719.94px + 1721.37px + 1722.81px + 1724.25px + 1725.69px + 1727.13px + 1728.57px + 1730.01px + 1731.45px + 1732.89px + 1734.33px + 1735.77px + 1737.21px + 1738.65px + 1740.09px + 1741.52px + 1742.96px + 1744.4px + 1745.84px + 1747.28px + 1748.72px + 1750.16px + 1751.6px + 1753.04px + 1754.48px + 1755.92px + 1757.36px + 1758.8px + 1760.23px + 1761.67px + 1763.11px + 1764.55px + 1765.99px + 1767.43px + 1768.87px + 1770.31px + 1771.75px + 1773.19px + 1774.63px + 1776.07px + 1777.51px + 1778.95px + 1780.38px + 1781.82px + 1783.26px + 1784.7px + 1786.14px + 1787.58px + 1789.02px + 1790.46px + 1791.9px + 1793.34px + 1794.78px + 1796.22px + 1797.66px + 1799.1px + 1800.53px + 1801.97px + 1803.41px + 1804.85px + 1806.29px + 1807.73px + 1809.17px + 1810.61px + 1812.05px + 1813.49px + 1814.93px + 1816.37px + 1817.81px + 1819.25px + 1820.68px + 1822.12px + 1823.56px + 1825.0px + 1826.44px + 1827.88px + 1829.32px + 1830.76px + 1832.2px + 1833.64px + 1835.08px + 1836.52px + 1837.96px + 1839.4px + 1840.83px + 1842.27px + 1843.71px + 1845.15px + 1846.59px + 1848.03px + 1849.47px + 1850.91px + 1852.35px + 1853.79px + 1855.23px + 1856.67px + 1858.11px + 1859.55px + 1860.98px + 1862.42px + 1863.86px + 1865.3px + 1866.74px + 1868.18px + 1869.62px + 1871.06px + 1872.5px + 1873.94px + 1875.38px + 1876.82px + 1878.26px + 1879.7px + 1881.13px + 1882.57px + 1884.01px + 1885.45px + 1886.89px + 1888.33px + 1889.77px + 1891.21px + 1892.65px + 1894.09px + 1895.53px + 1896.97px + 1898.41px + 1899.85px + 1901.28px + 1902.72px + 1904.16px + 1905.6px + 1907.04px + 1908.48px + 1909.92px + 1911.36px + 1912.8px + 1914.24px + 1915.68px + 1917.12px + 1918.56px + 1920px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-2160x1080/lay_x.xml b/FaceUnity/src/main/res/values-2160x1080/lay_x.xml new file mode 100644 index 000000000..611c0b1f4 --- /dev/null +++ b/FaceUnity/src/main/res/values-2160x1080/lay_x.xml @@ -0,0 +1,753 @@ + + + 1.44px + 2.88px + 4.32px + 5.76px + 7.2px + 8.64px + 10.08px + 11.52px + 12.96px + 14.4px + 15.84px + 17.28px + 18.72px + 20.16px + 21.6px + 23.04px + 24.48px + 25.92px + 27.36px + 28.8px + 30.24px + 31.68px + 33.12px + 34.56px + 36.0px + 37.44px + 38.88px + 40.32px + 41.76px + 43.2px + 44.64px + 46.08px + 47.52px + 48.96px + 50.4px + 51.84px + 53.28px + 54.72px + 56.16px + 57.6px + 59.04px + 60.48px + 61.92px + 63.36px + 64.8px + 66.24px + 67.68px + 69.12px + 70.56px + 72.0px + 73.44px + 74.88px + 76.32px + 77.76px + 79.2px + 80.64px + 82.08px + 83.52px + 84.96px + 86.4px + 87.84px + 89.28px + 90.72px + 92.16px + 93.6px + 95.04px + 96.48px + 97.92px + 99.36px + 100.8px + 102.24px + 103.68px + 105.12px + 106.56px + 108.0px + 109.44px + 110.88px + 112.32px + 113.76px + 115.2px + 116.64px + 118.08px + 119.52px + 120.96px + 122.4px + 123.84px + 125.28px + 126.72px + 128.16px + 129.6px + 131.04px + 132.48px + 133.92px + 135.36px + 136.8px + 138.24px + 139.68px + 141.12px + 142.56px + 144.0px + 145.44px + 146.88px + 148.32px + 149.76px + 151.2px + 152.64px + 154.08px + 155.52px + 156.96px + 158.4px + 159.84px + 161.28px + 162.72px + 164.16px + 165.6px + 167.04px + 168.48px + 169.92px + 171.36px + 172.8px + 174.24px + 175.68px + 177.12px + 178.56px + 180.0px + 181.44px + 182.88px + 184.32px + 185.76px + 187.2px + 188.64px + 190.08px + 191.52px + 192.96px + 194.4px + 195.84px + 197.28px + 198.72px + 200.16px + 201.6px + 203.04px + 204.48px + 205.92px + 207.36px + 208.8px + 210.24px + 211.68px + 213.12px + 214.56px + 216.0px + 217.44px + 218.88px + 220.32px + 221.76px + 223.2px + 224.64px + 226.08px + 227.52px + 228.96px + 230.4px + 231.84px + 233.28px + 234.72px + 236.16px + 237.6px + 239.04px + 240.48px + 241.92px + 243.36px + 244.8px + 246.24px + 247.68px + 249.12px + 250.56px + 252.0px + 253.44px + 254.88px + 256.32px + 257.76px + 259.2px + 260.64px + 262.08px + 263.52px + 264.96px + 266.4px + 267.84px + 269.28px + 270.72px + 272.16px + 273.6px + 275.04px + 276.48px + 277.92px + 279.36px + 280.8px + 282.24px + 283.68px + 285.12px + 286.56px + 288.0px + 289.44px + 290.88px + 292.32px + 293.76px + 295.2px + 296.64px + 298.08px + 299.52px + 300.96px + 302.4px + 303.84px + 305.28px + 306.72px + 308.16px + 309.6px + 311.04px + 312.48px + 313.92px + 315.36px + 316.8px + 318.24px + 319.68px + 321.12px + 322.56px + 324.0px + 325.44px + 326.88px + 328.32px + 329.76px + 331.2px + 332.64px + 334.08px + 335.52px + 336.96px + 338.4px + 339.84px + 341.28px + 342.72px + 344.16px + 345.6px + 347.04px + 348.48px + 349.92px + 351.36px + 352.8px + 354.24px + 355.68px + 357.12px + 358.56px + 360.0px + 361.44px + 362.88px + 364.32px + 365.76px + 367.2px + 368.64px + 370.08px + 371.52px + 372.96px + 374.4px + 375.84px + 377.28px + 378.72px + 380.16px + 381.6px + 383.04px + 384.48px + 385.92px + 387.36px + 388.8px + 390.24px + 391.68px + 393.12px + 394.56px + 396.0px + 397.44px + 398.88px + 400.32px + 401.76px + 403.2px + 404.64px + 406.08px + 407.52px + 408.96px + 410.4px + 411.84px + 413.28px + 414.72px + 416.16px + 417.6px + 419.04px + 420.48px + 421.92px + 423.36px + 424.8px + 426.24px + 427.68px + 429.12px + 430.56px + 432.0px + 433.44px + 434.88px + 436.32px + 437.76px + 439.2px + 440.64px + 442.08px + 443.52px + 444.96px + 446.4px + 447.84px + 449.28px + 450.72px + 452.16px + 453.6px + 455.04px + 456.48px + 457.92px + 459.36px + 460.8px + 462.24px + 463.68px + 465.12px + 466.56px + 468.0px + 469.44px + 470.88px + 472.32px + 473.76px + 475.2px + 476.64px + 478.08px + 479.52px + 480.96px + 482.4px + 483.84px + 485.28px + 486.72px + 488.16px + 489.6px + 491.04px + 492.48px + 493.92px + 495.36px + 496.8px + 498.24px + 499.68px + 501.12px + 502.56px + 504.0px + 505.44px + 506.88px + 508.32px + 509.76px + 511.2px + 512.64px + 514.08px + 515.52px + 516.96px + 518.4px + 519.84px + 521.28px + 522.72px + 524.16px + 525.6px + 527.04px + 528.48px + 529.92px + 531.36px + 532.8px + 534.24px + 535.68px + 537.12px + 538.56px + 540.0px + 541.44px + 542.88px + 544.32px + 545.76px + 547.2px + 548.64px + 550.08px + 551.52px + 552.96px + 554.4px + 555.84px + 557.28px + 558.72px + 560.16px + 561.6px + 563.04px + 564.48px + 565.92px + 567.36px + 568.8px + 570.24px + 571.68px + 573.12px + 574.56px + 576.0px + 577.44px + 578.88px + 580.32px + 581.76px + 583.2px + 584.64px + 586.08px + 587.52px + 588.96px + 590.4px + 591.84px + 593.28px + 594.72px + 596.16px + 597.6px + 599.04px + 600.48px + 601.92px + 603.36px + 604.8px + 606.24px + 607.68px + 609.12px + 610.56px + 612.0px + 613.44px + 614.88px + 616.32px + 617.76px + 619.2px + 620.64px + 622.08px + 623.52px + 624.96px + 626.4px + 627.84px + 629.28px + 630.72px + 632.16px + 633.6px + 635.04px + 636.48px + 637.92px + 639.36px + 640.8px + 642.24px + 643.68px + 645.12px + 646.56px + 648.0px + 649.44px + 650.88px + 652.32px + 653.76px + 655.2px + 656.64px + 658.08px + 659.52px + 660.96px + 662.4px + 663.84px + 665.28px + 666.72px + 668.16px + 669.6px + 671.04px + 672.48px + 673.92px + 675.36px + 676.8px + 678.24px + 679.68px + 681.12px + 682.56px + 684.0px + 685.44px + 686.88px + 688.32px + 689.76px + 691.2px + 692.64px + 694.08px + 695.52px + 696.96px + 698.4px + 699.84px + 701.28px + 702.72px + 704.16px + 705.6px + 707.04px + 708.48px + 709.92px + 711.36px + 712.8px + 714.24px + 715.68px + 717.12px + 718.56px + 720.0px + 721.44px + 722.88px + 724.32px + 725.76px + 727.2px + 728.64px + 730.08px + 731.52px + 732.96px + 734.4px + 735.84px + 737.28px + 738.72px + 740.16px + 741.6px + 743.04px + 744.48px + 745.92px + 747.36px + 748.8px + 750.24px + 751.68px + 753.12px + 754.56px + 756.0px + 757.44px + 758.88px + 760.32px + 761.76px + 763.2px + 764.64px + 766.08px + 767.52px + 768.96px + 770.4px + 771.84px + 773.28px + 774.72px + 776.16px + 777.6px + 779.04px + 780.48px + 781.92px + 783.36px + 784.8px + 786.24px + 787.68px + 789.12px + 790.56px + 792.0px + 793.44px + 794.88px + 796.32px + 797.76px + 799.2px + 800.64px + 802.08px + 803.52px + 804.96px + 806.4px + 807.84px + 809.28px + 810.72px + 812.16px + 813.6px + 815.04px + 816.48px + 817.92px + 819.36px + 820.8px + 822.24px + 823.68px + 825.12px + 826.56px + 828.0px + 829.44px + 830.88px + 832.32px + 833.76px + 835.2px + 836.64px + 838.08px + 839.52px + 840.96px + 842.4px + 843.84px + 845.28px + 846.72px + 848.16px + 849.6px + 851.04px + 852.48px + 853.92px + 855.36px + 856.8px + 858.24px + 859.68px + 861.12px + 862.56px + 864.0px + 865.44px + 866.88px + 868.32px + 869.76px + 871.2px + 872.64px + 874.08px + 875.52px + 876.96px + 878.4px + 879.84px + 881.28px + 882.72px + 884.16px + 885.6px + 887.04px + 888.48px + 889.92px + 891.36px + 892.8px + 894.24px + 895.68px + 897.12px + 898.56px + 900.0px + 901.44px + 902.88px + 904.32px + 905.76px + 907.2px + 908.64px + 910.08px + 911.52px + 912.96px + 914.4px + 915.84px + 917.28px + 918.72px + 920.16px + 921.6px + 923.04px + 924.48px + 925.92px + 927.36px + 928.8px + 930.24px + 931.68px + 933.12px + 934.56px + 936.0px + 937.44px + 938.88px + 940.32px + 941.76px + 943.2px + 944.64px + 946.08px + 947.52px + 948.96px + 950.4px + 951.84px + 953.28px + 954.72px + 956.16px + 957.6px + 959.04px + 960.48px + 961.92px + 963.36px + 964.8px + 966.24px + 967.68px + 969.12px + 970.56px + 972.0px + 973.44px + 974.88px + 976.32px + 977.76px + 979.2px + 980.64px + 982.08px + 983.52px + 984.96px + 986.4px + 987.84px + 989.28px + 990.72px + 992.16px + 993.6px + 995.04px + 996.48px + 997.92px + 999.36px + 1000.8px + 1002.24px + 1003.68px + 1005.12px + 1006.56px + 1008.0px + 1009.44px + 1010.88px + 1012.32px + 1013.76px + 1015.2px + 1016.64px + 1018.08px + 1019.52px + 1020.96px + 1022.4px + 1023.84px + 1025.28px + 1026.72px + 1028.16px + 1029.6px + 1031.04px + 1032.48px + 1033.92px + 1035.36px + 1036.8px + 1038.24px + 1039.68px + 1041.12px + 1042.56px + 1044.0px + 1045.44px + 1046.88px + 1048.32px + 1049.76px + 1051.2px + 1052.64px + 1054.08px + 1055.52px + 1056.96px + 1058.4px + 1059.84px + 1061.28px + 1062.72px + 1064.16px + 1065.6px + 1067.04px + 1068.48px + 1069.92px + 1071.36px + 1072.8px + 1074.24px + 1075.68px + 1077.12px + 1078.56px + 1080px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-2160x1080/lay_y.xml b/FaceUnity/src/main/res/values-2160x1080/lay_y.xml new file mode 100644 index 000000000..0b9e5ba99 --- /dev/null +++ b/FaceUnity/src/main/res/values-2160x1080/lay_y.xml @@ -0,0 +1,1337 @@ + + + 1.61px + 3.23px + 4.85px + 6.47px + 8.09px + 9.71px + 11.33px + 12.95px + 14.57px + 16.19px + 17.81px + 19.43px + 21.04px + 22.66px + 24.28px + 25.9px + 27.52px + 29.14px + 30.76px + 32.38px + 34.0px + 35.62px + 37.24px + 38.86px + 40.47px + 42.09px + 43.71px + 45.33px + 46.95px + 48.57px + 50.19px + 51.81px + 53.43px + 55.05px + 56.67px + 58.29px + 59.91px + 61.52px + 63.14px + 64.76px + 66.38px + 68.0px + 69.62px + 71.24px + 72.86px + 74.48px + 76.1px + 77.72px + 79.34px + 80.95px + 82.57px + 84.19px + 85.81px + 87.43px + 89.05px + 90.67px + 92.29px + 93.91px + 95.53px + 97.15px + 98.77px + 100.38px + 102.0px + 103.62px + 105.24px + 106.86px + 108.48px + 110.1px + 111.72px + 113.34px + 114.96px + 116.58px + 118.2px + 119.82px + 121.43px + 123.05px + 124.67px + 126.29px + 127.91px + 129.53px + 131.15px + 132.77px + 134.39px + 136.01px + 137.63px + 139.25px + 140.86px + 142.48px + 144.1px + 145.72px + 147.34px + 148.96px + 150.58px + 152.2px + 153.82px + 155.44px + 157.06px + 158.68px + 160.29px + 161.91px + 163.53px + 165.15px + 166.77px + 168.39px + 170.01px + 171.63px + 173.25px + 174.87px + 176.49px + 178.11px + 179.73px + 181.34px + 182.96px + 184.58px + 186.2px + 187.82px + 189.44px + 191.06px + 192.68px + 194.3px + 195.92px + 197.54px + 199.16px + 200.77px + 202.39px + 204.01px + 205.63px + 207.25px + 208.87px + 210.49px + 212.11px + 213.73px + 215.35px + 216.97px + 218.59px + 220.2px + 221.82px + 223.44px + 225.06px + 226.68px + 228.3px + 229.92px + 231.54px + 233.16px + 234.78px + 236.4px + 238.02px + 239.64px + 241.25px + 242.87px + 244.49px + 246.11px + 247.73px + 249.35px + 250.97px + 252.59px + 254.21px + 255.83px + 257.45px + 259.07px + 260.68px + 262.3px + 263.92px + 265.54px + 267.16px + 268.78px + 270.4px + 272.02px + 273.64px + 275.26px + 276.88px + 278.5px + 280.11px + 281.73px + 283.35px + 284.97px + 286.59px + 288.21px + 289.83px + 291.45px + 293.07px + 294.69px + 296.31px + 297.93px + 299.55px + 301.16px + 302.78px + 304.4px + 306.02px + 307.64px + 309.26px + 310.88px + 312.5px + 314.12px + 315.74px + 317.36px + 318.98px + 320.59px + 322.21px + 323.83px + 325.45px + 327.07px + 328.69px + 330.31px + 331.93px + 333.55px + 335.17px + 336.79px + 338.41px + 340.03px + 341.64px + 343.26px + 344.88px + 346.5px + 348.12px + 349.74px + 351.36px + 352.98px + 354.6px + 356.22px + 357.84px + 359.46px + 361.07px + 362.69px + 364.31px + 365.93px + 367.55px + 369.17px + 370.79px + 372.41px + 374.03px + 375.65px + 377.27px + 378.89px + 380.5px + 382.12px + 383.74px + 385.36px + 386.98px + 388.6px + 390.22px + 391.84px + 393.46px + 395.08px + 396.7px + 398.32px + 399.94px + 401.55px + 403.17px + 404.79px + 406.41px + 408.03px + 409.65px + 411.27px + 412.89px + 414.51px + 416.13px + 417.75px + 419.37px + 420.98px + 422.6px + 424.22px + 425.84px + 427.46px + 429.08px + 430.7px + 432.32px + 433.94px + 435.56px + 437.18px + 438.8px + 440.41px + 442.03px + 443.65px + 445.27px + 446.89px + 448.51px + 450.13px + 451.75px + 453.37px + 454.99px + 456.61px + 458.23px + 459.85px + 461.46px + 463.08px + 464.7px + 466.32px + 467.94px + 469.56px + 471.18px + 472.8px + 474.42px + 476.04px + 477.66px + 479.28px + 480.89px + 482.51px + 484.13px + 485.75px + 487.37px + 488.99px + 490.61px + 492.23px + 493.85px + 495.47px + 497.09px + 498.71px + 500.32px + 501.94px + 503.56px + 505.18px + 506.8px + 508.42px + 510.04px + 511.66px + 513.28px + 514.9px + 516.52px + 518.14px + 519.76px + 521.37px + 522.99px + 524.61px + 526.23px + 527.85px + 529.47px + 531.09px + 532.71px + 534.33px + 535.95px + 537.57px + 539.19px + 540.8px + 542.42px + 544.04px + 545.66px + 547.28px + 548.9px + 550.52px + 552.14px + 553.76px + 555.38px + 557.0px + 558.62px + 560.23px + 561.85px + 563.47px + 565.09px + 566.71px + 568.33px + 569.95px + 571.57px + 573.19px + 574.81px + 576.43px + 578.05px + 579.67px + 581.28px + 582.9px + 584.52px + 586.14px + 587.76px + 589.38px + 591.0px + 592.62px + 594.24px + 595.86px + 597.48px + 599.1px + 600.71px + 602.33px + 603.95px + 605.57px + 607.19px + 608.81px + 610.43px + 612.05px + 613.67px + 615.29px + 616.91px + 618.53px + 620.14px + 621.76px + 623.38px + 625.0px + 626.62px + 628.24px + 629.86px + 631.48px + 633.1px + 634.72px + 636.34px + 637.96px + 639.58px + 641.19px + 642.81px + 644.43px + 646.05px + 647.67px + 649.29px + 650.91px + 652.53px + 654.15px + 655.77px + 657.39px + 659.01px + 660.62px + 662.24px + 663.86px + 665.48px + 667.1px + 668.72px + 670.34px + 671.96px + 673.58px + 675.2px + 676.82px + 678.44px + 680.06px + 681.67px + 683.29px + 684.91px + 686.53px + 688.15px + 689.77px + 691.39px + 693.01px + 694.63px + 696.25px + 697.87px + 699.49px + 701.1px + 702.72px + 704.34px + 705.96px + 707.58px + 709.2px + 710.82px + 712.44px + 714.06px + 715.68px + 717.3px + 718.92px + 720.53px + 722.15px + 723.77px + 725.39px + 727.01px + 728.63px + 730.25px + 731.87px + 733.49px + 735.11px + 736.73px + 738.35px + 739.97px + 741.58px + 743.2px + 744.82px + 746.44px + 748.06px + 749.68px + 751.3px + 752.92px + 754.54px + 756.16px + 757.78px + 759.4px + 761.01px + 762.63px + 764.25px + 765.87px + 767.49px + 769.11px + 770.73px + 772.35px + 773.97px + 775.59px + 777.21px + 778.83px + 780.44px + 782.06px + 783.68px + 785.3px + 786.92px + 788.54px + 790.16px + 791.78px + 793.4px + 795.02px + 796.64px + 798.26px + 799.88px + 801.49px + 803.11px + 804.73px + 806.35px + 807.97px + 809.59px + 811.21px + 812.83px + 814.45px + 816.07px + 817.69px + 819.31px + 820.92px + 822.54px + 824.16px + 825.78px + 827.4px + 829.02px + 830.64px + 832.26px + 833.88px + 835.5px + 837.12px + 838.74px + 840.35px + 841.97px + 843.59px + 845.21px + 846.83px + 848.45px + 850.07px + 851.69px + 853.31px + 854.93px + 856.55px + 858.17px + 859.79px + 861.4px + 863.02px + 864.64px + 866.26px + 867.88px + 869.5px + 871.12px + 872.74px + 874.36px + 875.98px + 877.6px + 879.22px + 880.83px + 882.45px + 884.07px + 885.69px + 887.31px + 888.93px + 890.55px + 892.17px + 893.79px + 895.41px + 897.03px + 898.65px + 900.26px + 901.88px + 903.5px + 905.12px + 906.74px + 908.36px + 909.98px + 911.6px + 913.22px + 914.84px + 916.46px + 918.08px + 919.7px + 921.31px + 922.93px + 924.55px + 926.17px + 927.79px + 929.41px + 931.03px + 932.65px + 934.27px + 935.89px + 937.51px + 939.13px + 940.74px + 942.36px + 943.98px + 945.6px + 947.22px + 948.84px + 950.46px + 952.08px + 953.7px + 955.32px + 956.94px + 958.56px + 960.17px + 961.79px + 963.41px + 965.03px + 966.65px + 968.27px + 969.89px + 971.51px + 973.13px + 974.75px + 976.37px + 977.99px + 979.61px + 981.22px + 982.84px + 984.46px + 986.08px + 987.7px + 989.32px + 990.94px + 992.56px + 994.18px + 995.8px + 997.42px + 999.04px + 1000.65px + 1002.27px + 1003.89px + 1005.51px + 1007.13px + 1008.75px + 1010.37px + 1011.99px + 1013.61px + 1015.23px + 1016.85px + 1018.47px + 1020.09px + 1021.7px + 1023.32px + 1024.94px + 1026.56px + 1028.18px + 1029.8px + 1031.42px + 1033.04px + 1034.66px + 1036.28px + 1037.9px + 1039.52px + 1041.13px + 1042.75px + 1044.37px + 1045.99px + 1047.61px + 1049.23px + 1050.85px + 1052.47px + 1054.09px + 1055.71px + 1057.33px + 1058.95px + 1060.56px + 1062.18px + 1063.8px + 1065.42px + 1067.04px + 1068.66px + 1070.28px + 1071.9px + 1073.52px + 1075.14px + 1076.76px + 1078.38px + 1080.0px + 1081.61px + 1083.23px + 1084.85px + 1086.47px + 1088.09px + 1089.71px + 1091.33px + 1092.95px + 1094.57px + 1096.19px + 1097.81px + 1099.43px + 1101.04px + 1102.66px + 1104.28px + 1105.9px + 1107.52px + 1109.14px + 1110.76px + 1112.38px + 1114.0px + 1115.62px + 1117.24px + 1118.86px + 1120.47px + 1122.09px + 1123.71px + 1125.33px + 1126.95px + 1128.57px + 1130.19px + 1131.81px + 1133.43px + 1135.05px + 1136.67px + 1138.29px + 1139.91px + 1141.52px + 1143.14px + 1144.76px + 1146.38px + 1148.0px + 1149.62px + 1151.24px + 1152.86px + 1154.48px + 1156.1px + 1157.72px + 1159.34px + 1160.95px + 1162.57px + 1164.19px + 1165.81px + 1167.43px + 1169.05px + 1170.67px + 1172.29px + 1173.91px + 1175.53px + 1177.15px + 1178.77px + 1180.38px + 1182.0px + 1183.62px + 1185.24px + 1186.86px + 1188.48px + 1190.1px + 1191.72px + 1193.34px + 1194.96px + 1196.58px + 1198.2px + 1199.82px + 1201.43px + 1203.05px + 1204.67px + 1206.29px + 1207.91px + 1209.53px + 1211.15px + 1212.77px + 1214.39px + 1216.01px + 1217.63px + 1219.25px + 1220.86px + 1222.48px + 1224.1px + 1225.72px + 1227.34px + 1228.96px + 1230.58px + 1232.2px + 1233.82px + 1235.44px + 1237.06px + 1238.68px + 1240.29px + 1241.91px + 1243.53px + 1245.15px + 1246.77px + 1248.39px + 1250.01px + 1251.63px + 1253.25px + 1254.87px + 1256.49px + 1258.11px + 1259.73px + 1261.34px + 1262.96px + 1264.58px + 1266.2px + 1267.82px + 1269.44px + 1271.06px + 1272.68px + 1274.3px + 1275.92px + 1277.54px + 1279.16px + 1280.77px + 1282.39px + 1284.01px + 1285.63px + 1287.25px + 1288.87px + 1290.49px + 1292.11px + 1293.73px + 1295.35px + 1296.97px + 1298.59px + 1300.21px + 1301.82px + 1303.44px + 1305.06px + 1306.68px + 1308.3px + 1309.92px + 1311.54px + 1313.16px + 1314.78px + 1316.4px + 1318.02px + 1319.64px + 1321.25px + 1322.87px + 1324.49px + 1326.11px + 1327.73px + 1329.35px + 1330.97px + 1332.59px + 1334.21px + 1335.83px + 1337.45px + 1339.07px + 1340.68px + 1342.3px + 1343.92px + 1345.54px + 1347.16px + 1348.78px + 1350.4px + 1352.02px + 1353.64px + 1355.26px + 1356.88px + 1358.5px + 1360.12px + 1361.73px + 1363.35px + 1364.97px + 1366.59px + 1368.21px + 1369.83px + 1371.45px + 1373.07px + 1374.69px + 1376.31px + 1377.93px + 1379.55px + 1381.16px + 1382.78px + 1384.4px + 1386.02px + 1387.64px + 1389.26px + 1390.88px + 1392.5px + 1394.12px + 1395.74px + 1397.36px + 1398.98px + 1400.59px + 1402.21px + 1403.83px + 1405.45px + 1407.07px + 1408.69px + 1410.31px + 1411.93px + 1413.55px + 1415.17px + 1416.79px + 1418.41px + 1420.03px + 1421.64px + 1423.26px + 1424.88px + 1426.5px + 1428.12px + 1429.74px + 1431.36px + 1432.98px + 1434.6px + 1436.22px + 1437.84px + 1439.46px + 1441.07px + 1442.69px + 1444.31px + 1445.93px + 1447.55px + 1449.17px + 1450.79px + 1452.41px + 1454.03px + 1455.65px + 1457.27px + 1458.89px + 1460.5px + 1462.12px + 1463.74px + 1465.36px + 1466.98px + 1468.6px + 1470.22px + 1471.84px + 1473.46px + 1475.08px + 1476.7px + 1478.32px + 1479.94px + 1481.55px + 1483.17px + 1484.79px + 1486.41px + 1488.03px + 1489.65px + 1491.27px + 1492.89px + 1494.51px + 1496.13px + 1497.75px + 1499.37px + 1500.98px + 1502.6px + 1504.22px + 1505.84px + 1507.46px + 1509.08px + 1510.7px + 1512.32px + 1513.94px + 1515.56px + 1517.18px + 1518.8px + 1520.41px + 1522.03px + 1523.65px + 1525.27px + 1526.89px + 1528.51px + 1530.13px + 1531.75px + 1533.37px + 1534.99px + 1536.61px + 1538.23px + 1539.85px + 1541.46px + 1543.08px + 1544.7px + 1546.32px + 1547.94px + 1549.56px + 1551.18px + 1552.8px + 1554.42px + 1556.04px + 1557.66px + 1559.28px + 1560.89px + 1562.51px + 1564.13px + 1565.75px + 1567.37px + 1568.99px + 1570.61px + 1572.23px + 1573.85px + 1575.47px + 1577.09px + 1578.71px + 1580.32px + 1581.94px + 1583.56px + 1585.18px + 1586.8px + 1588.42px + 1590.04px + 1591.66px + 1593.28px + 1594.9px + 1596.52px + 1598.14px + 1599.76px + 1601.37px + 1602.99px + 1604.61px + 1606.23px + 1607.85px + 1609.47px + 1611.09px + 1612.71px + 1614.33px + 1615.95px + 1617.57px + 1619.19px + 1620.8px + 1622.42px + 1624.04px + 1625.66px + 1627.28px + 1628.9px + 1630.52px + 1632.14px + 1633.76px + 1635.38px + 1637.0px + 1638.62px + 1640.24px + 1641.85px + 1643.47px + 1645.09px + 1646.71px + 1648.33px + 1649.95px + 1651.57px + 1653.19px + 1654.81px + 1656.43px + 1658.05px + 1659.67px + 1661.28px + 1662.9px + 1664.52px + 1666.14px + 1667.76px + 1669.38px + 1671.0px + 1672.62px + 1674.24px + 1675.86px + 1677.48px + 1679.1px + 1680.71px + 1682.33px + 1683.95px + 1685.57px + 1687.19px + 1688.81px + 1690.43px + 1692.05px + 1693.67px + 1695.29px + 1696.91px + 1698.53px + 1700.15px + 1701.76px + 1703.38px + 1705.0px + 1706.62px + 1708.24px + 1709.86px + 1711.48px + 1713.1px + 1714.72px + 1716.34px + 1717.96px + 1719.58px + 1721.19px + 1722.81px + 1724.43px + 1726.05px + 1727.67px + 1729.29px + 1730.91px + 1732.53px + 1734.15px + 1735.77px + 1737.39px + 1739.01px + 1740.62px + 1742.24px + 1743.86px + 1745.48px + 1747.1px + 1748.72px + 1750.34px + 1751.96px + 1753.58px + 1755.2px + 1756.82px + 1758.44px + 1760.06px + 1761.67px + 1763.29px + 1764.91px + 1766.53px + 1768.15px + 1769.77px + 1771.39px + 1773.01px + 1774.63px + 1776.25px + 1777.87px + 1779.49px + 1781.1px + 1782.72px + 1784.34px + 1785.96px + 1787.58px + 1789.2px + 1790.82px + 1792.44px + 1794.06px + 1795.68px + 1797.3px + 1798.92px + 1800.53px + 1802.15px + 1803.77px + 1805.39px + 1807.01px + 1808.63px + 1810.25px + 1811.87px + 1813.49px + 1815.11px + 1816.73px + 1818.35px + 1819.97px + 1821.58px + 1823.2px + 1824.82px + 1826.44px + 1828.06px + 1829.68px + 1831.3px + 1832.92px + 1834.54px + 1836.16px + 1837.78px + 1839.4px + 1841.01px + 1842.63px + 1844.25px + 1845.87px + 1847.49px + 1849.11px + 1850.73px + 1852.35px + 1853.97px + 1855.59px + 1857.21px + 1858.83px + 1860.44px + 1862.06px + 1863.68px + 1865.3px + 1866.92px + 1868.54px + 1870.16px + 1871.78px + 1873.4px + 1875.02px + 1876.64px + 1878.26px + 1879.88px + 1881.49px + 1883.11px + 1884.73px + 1886.35px + 1887.97px + 1889.59px + 1891.21px + 1892.83px + 1894.45px + 1896.07px + 1897.69px + 1899.31px + 1900.92px + 1902.54px + 1904.16px + 1905.78px + 1907.4px + 1909.02px + 1910.64px + 1912.26px + 1913.88px + 1915.5px + 1917.12px + 1918.74px + 1920.35px + 1921.97px + 1923.59px + 1925.21px + 1926.83px + 1928.45px + 1930.07px + 1931.69px + 1933.31px + 1934.93px + 1936.55px + 1938.17px + 1939.79px + 1941.4px + 1943.02px + 1944.64px + 1946.26px + 1947.88px + 1949.5px + 1951.12px + 1952.74px + 1954.36px + 1955.98px + 1957.6px + 1959.22px + 1960.83px + 1962.45px + 1964.07px + 1965.69px + 1967.31px + 1968.93px + 1970.55px + 1972.17px + 1973.79px + 1975.41px + 1977.03px + 1978.65px + 1980.26px + 1981.88px + 1983.5px + 1985.12px + 1986.74px + 1988.36px + 1989.98px + 1991.6px + 1993.22px + 1994.84px + 1996.46px + 1998.08px + 1999.7px + 2001.31px + 2002.93px + 2004.55px + 2006.17px + 2007.79px + 2009.41px + 2011.03px + 2012.65px + 2014.27px + 2015.89px + 2017.51px + 2019.13px + 2020.74px + 2022.36px + 2023.98px + 2025.6px + 2027.22px + 2028.84px + 2030.46px + 2032.08px + 2033.7px + 2035.32px + 2036.94px + 2038.56px + 2040.18px + 2041.79px + 2043.41px + 2045.03px + 2046.65px + 2048.27px + 2049.89px + 2051.51px + 2053.13px + 2054.75px + 2056.37px + 2057.99px + 2059.61px + 2061.22px + 2062.84px + 2064.46px + 2066.08px + 2067.7px + 2069.32px + 2070.94px + 2072.56px + 2074.18px + 2075.8px + 2077.42px + 2079.04px + 2080.65px + 2082.27px + 2083.89px + 2085.51px + 2087.13px + 2088.75px + 2090.37px + 2091.99px + 2093.61px + 2095.23px + 2096.85px + 2098.47px + 2100.09px + 2101.7px + 2103.32px + 2104.94px + 2106.56px + 2108.18px + 2109.8px + 2111.42px + 2113.04px + 2114.66px + 2116.28px + 2117.9px + 2119.52px + 2121.13px + 2122.75px + 2124.37px + 2125.99px + 2127.61px + 2129.23px + 2130.85px + 2132.47px + 2134.09px + 2135.71px + 2137.33px + 2138.95px + 2140.56px + 2142.18px + 2143.8px + 2145.42px + 2147.04px + 2148.66px + 2150.28px + 2151.9px + 2153.52px + 2155.14px + 2156.76px + 2158.38px + 2160px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-2280x1080/lay_x.xml b/FaceUnity/src/main/res/values-2280x1080/lay_x.xml new file mode 100644 index 000000000..611c0b1f4 --- /dev/null +++ b/FaceUnity/src/main/res/values-2280x1080/lay_x.xml @@ -0,0 +1,753 @@ + + + 1.44px + 2.88px + 4.32px + 5.76px + 7.2px + 8.64px + 10.08px + 11.52px + 12.96px + 14.4px + 15.84px + 17.28px + 18.72px + 20.16px + 21.6px + 23.04px + 24.48px + 25.92px + 27.36px + 28.8px + 30.24px + 31.68px + 33.12px + 34.56px + 36.0px + 37.44px + 38.88px + 40.32px + 41.76px + 43.2px + 44.64px + 46.08px + 47.52px + 48.96px + 50.4px + 51.84px + 53.28px + 54.72px + 56.16px + 57.6px + 59.04px + 60.48px + 61.92px + 63.36px + 64.8px + 66.24px + 67.68px + 69.12px + 70.56px + 72.0px + 73.44px + 74.88px + 76.32px + 77.76px + 79.2px + 80.64px + 82.08px + 83.52px + 84.96px + 86.4px + 87.84px + 89.28px + 90.72px + 92.16px + 93.6px + 95.04px + 96.48px + 97.92px + 99.36px + 100.8px + 102.24px + 103.68px + 105.12px + 106.56px + 108.0px + 109.44px + 110.88px + 112.32px + 113.76px + 115.2px + 116.64px + 118.08px + 119.52px + 120.96px + 122.4px + 123.84px + 125.28px + 126.72px + 128.16px + 129.6px + 131.04px + 132.48px + 133.92px + 135.36px + 136.8px + 138.24px + 139.68px + 141.12px + 142.56px + 144.0px + 145.44px + 146.88px + 148.32px + 149.76px + 151.2px + 152.64px + 154.08px + 155.52px + 156.96px + 158.4px + 159.84px + 161.28px + 162.72px + 164.16px + 165.6px + 167.04px + 168.48px + 169.92px + 171.36px + 172.8px + 174.24px + 175.68px + 177.12px + 178.56px + 180.0px + 181.44px + 182.88px + 184.32px + 185.76px + 187.2px + 188.64px + 190.08px + 191.52px + 192.96px + 194.4px + 195.84px + 197.28px + 198.72px + 200.16px + 201.6px + 203.04px + 204.48px + 205.92px + 207.36px + 208.8px + 210.24px + 211.68px + 213.12px + 214.56px + 216.0px + 217.44px + 218.88px + 220.32px + 221.76px + 223.2px + 224.64px + 226.08px + 227.52px + 228.96px + 230.4px + 231.84px + 233.28px + 234.72px + 236.16px + 237.6px + 239.04px + 240.48px + 241.92px + 243.36px + 244.8px + 246.24px + 247.68px + 249.12px + 250.56px + 252.0px + 253.44px + 254.88px + 256.32px + 257.76px + 259.2px + 260.64px + 262.08px + 263.52px + 264.96px + 266.4px + 267.84px + 269.28px + 270.72px + 272.16px + 273.6px + 275.04px + 276.48px + 277.92px + 279.36px + 280.8px + 282.24px + 283.68px + 285.12px + 286.56px + 288.0px + 289.44px + 290.88px + 292.32px + 293.76px + 295.2px + 296.64px + 298.08px + 299.52px + 300.96px + 302.4px + 303.84px + 305.28px + 306.72px + 308.16px + 309.6px + 311.04px + 312.48px + 313.92px + 315.36px + 316.8px + 318.24px + 319.68px + 321.12px + 322.56px + 324.0px + 325.44px + 326.88px + 328.32px + 329.76px + 331.2px + 332.64px + 334.08px + 335.52px + 336.96px + 338.4px + 339.84px + 341.28px + 342.72px + 344.16px + 345.6px + 347.04px + 348.48px + 349.92px + 351.36px + 352.8px + 354.24px + 355.68px + 357.12px + 358.56px + 360.0px + 361.44px + 362.88px + 364.32px + 365.76px + 367.2px + 368.64px + 370.08px + 371.52px + 372.96px + 374.4px + 375.84px + 377.28px + 378.72px + 380.16px + 381.6px + 383.04px + 384.48px + 385.92px + 387.36px + 388.8px + 390.24px + 391.68px + 393.12px + 394.56px + 396.0px + 397.44px + 398.88px + 400.32px + 401.76px + 403.2px + 404.64px + 406.08px + 407.52px + 408.96px + 410.4px + 411.84px + 413.28px + 414.72px + 416.16px + 417.6px + 419.04px + 420.48px + 421.92px + 423.36px + 424.8px + 426.24px + 427.68px + 429.12px + 430.56px + 432.0px + 433.44px + 434.88px + 436.32px + 437.76px + 439.2px + 440.64px + 442.08px + 443.52px + 444.96px + 446.4px + 447.84px + 449.28px + 450.72px + 452.16px + 453.6px + 455.04px + 456.48px + 457.92px + 459.36px + 460.8px + 462.24px + 463.68px + 465.12px + 466.56px + 468.0px + 469.44px + 470.88px + 472.32px + 473.76px + 475.2px + 476.64px + 478.08px + 479.52px + 480.96px + 482.4px + 483.84px + 485.28px + 486.72px + 488.16px + 489.6px + 491.04px + 492.48px + 493.92px + 495.36px + 496.8px + 498.24px + 499.68px + 501.12px + 502.56px + 504.0px + 505.44px + 506.88px + 508.32px + 509.76px + 511.2px + 512.64px + 514.08px + 515.52px + 516.96px + 518.4px + 519.84px + 521.28px + 522.72px + 524.16px + 525.6px + 527.04px + 528.48px + 529.92px + 531.36px + 532.8px + 534.24px + 535.68px + 537.12px + 538.56px + 540.0px + 541.44px + 542.88px + 544.32px + 545.76px + 547.2px + 548.64px + 550.08px + 551.52px + 552.96px + 554.4px + 555.84px + 557.28px + 558.72px + 560.16px + 561.6px + 563.04px + 564.48px + 565.92px + 567.36px + 568.8px + 570.24px + 571.68px + 573.12px + 574.56px + 576.0px + 577.44px + 578.88px + 580.32px + 581.76px + 583.2px + 584.64px + 586.08px + 587.52px + 588.96px + 590.4px + 591.84px + 593.28px + 594.72px + 596.16px + 597.6px + 599.04px + 600.48px + 601.92px + 603.36px + 604.8px + 606.24px + 607.68px + 609.12px + 610.56px + 612.0px + 613.44px + 614.88px + 616.32px + 617.76px + 619.2px + 620.64px + 622.08px + 623.52px + 624.96px + 626.4px + 627.84px + 629.28px + 630.72px + 632.16px + 633.6px + 635.04px + 636.48px + 637.92px + 639.36px + 640.8px + 642.24px + 643.68px + 645.12px + 646.56px + 648.0px + 649.44px + 650.88px + 652.32px + 653.76px + 655.2px + 656.64px + 658.08px + 659.52px + 660.96px + 662.4px + 663.84px + 665.28px + 666.72px + 668.16px + 669.6px + 671.04px + 672.48px + 673.92px + 675.36px + 676.8px + 678.24px + 679.68px + 681.12px + 682.56px + 684.0px + 685.44px + 686.88px + 688.32px + 689.76px + 691.2px + 692.64px + 694.08px + 695.52px + 696.96px + 698.4px + 699.84px + 701.28px + 702.72px + 704.16px + 705.6px + 707.04px + 708.48px + 709.92px + 711.36px + 712.8px + 714.24px + 715.68px + 717.12px + 718.56px + 720.0px + 721.44px + 722.88px + 724.32px + 725.76px + 727.2px + 728.64px + 730.08px + 731.52px + 732.96px + 734.4px + 735.84px + 737.28px + 738.72px + 740.16px + 741.6px + 743.04px + 744.48px + 745.92px + 747.36px + 748.8px + 750.24px + 751.68px + 753.12px + 754.56px + 756.0px + 757.44px + 758.88px + 760.32px + 761.76px + 763.2px + 764.64px + 766.08px + 767.52px + 768.96px + 770.4px + 771.84px + 773.28px + 774.72px + 776.16px + 777.6px + 779.04px + 780.48px + 781.92px + 783.36px + 784.8px + 786.24px + 787.68px + 789.12px + 790.56px + 792.0px + 793.44px + 794.88px + 796.32px + 797.76px + 799.2px + 800.64px + 802.08px + 803.52px + 804.96px + 806.4px + 807.84px + 809.28px + 810.72px + 812.16px + 813.6px + 815.04px + 816.48px + 817.92px + 819.36px + 820.8px + 822.24px + 823.68px + 825.12px + 826.56px + 828.0px + 829.44px + 830.88px + 832.32px + 833.76px + 835.2px + 836.64px + 838.08px + 839.52px + 840.96px + 842.4px + 843.84px + 845.28px + 846.72px + 848.16px + 849.6px + 851.04px + 852.48px + 853.92px + 855.36px + 856.8px + 858.24px + 859.68px + 861.12px + 862.56px + 864.0px + 865.44px + 866.88px + 868.32px + 869.76px + 871.2px + 872.64px + 874.08px + 875.52px + 876.96px + 878.4px + 879.84px + 881.28px + 882.72px + 884.16px + 885.6px + 887.04px + 888.48px + 889.92px + 891.36px + 892.8px + 894.24px + 895.68px + 897.12px + 898.56px + 900.0px + 901.44px + 902.88px + 904.32px + 905.76px + 907.2px + 908.64px + 910.08px + 911.52px + 912.96px + 914.4px + 915.84px + 917.28px + 918.72px + 920.16px + 921.6px + 923.04px + 924.48px + 925.92px + 927.36px + 928.8px + 930.24px + 931.68px + 933.12px + 934.56px + 936.0px + 937.44px + 938.88px + 940.32px + 941.76px + 943.2px + 944.64px + 946.08px + 947.52px + 948.96px + 950.4px + 951.84px + 953.28px + 954.72px + 956.16px + 957.6px + 959.04px + 960.48px + 961.92px + 963.36px + 964.8px + 966.24px + 967.68px + 969.12px + 970.56px + 972.0px + 973.44px + 974.88px + 976.32px + 977.76px + 979.2px + 980.64px + 982.08px + 983.52px + 984.96px + 986.4px + 987.84px + 989.28px + 990.72px + 992.16px + 993.6px + 995.04px + 996.48px + 997.92px + 999.36px + 1000.8px + 1002.24px + 1003.68px + 1005.12px + 1006.56px + 1008.0px + 1009.44px + 1010.88px + 1012.32px + 1013.76px + 1015.2px + 1016.64px + 1018.08px + 1019.52px + 1020.96px + 1022.4px + 1023.84px + 1025.28px + 1026.72px + 1028.16px + 1029.6px + 1031.04px + 1032.48px + 1033.92px + 1035.36px + 1036.8px + 1038.24px + 1039.68px + 1041.12px + 1042.56px + 1044.0px + 1045.44px + 1046.88px + 1048.32px + 1049.76px + 1051.2px + 1052.64px + 1054.08px + 1055.52px + 1056.96px + 1058.4px + 1059.84px + 1061.28px + 1062.72px + 1064.16px + 1065.6px + 1067.04px + 1068.48px + 1069.92px + 1071.36px + 1072.8px + 1074.24px + 1075.68px + 1077.12px + 1078.56px + 1080px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-2280x1080/lay_y.xml b/FaceUnity/src/main/res/values-2280x1080/lay_y.xml new file mode 100644 index 000000000..493373d25 --- /dev/null +++ b/FaceUnity/src/main/res/values-2280x1080/lay_y.xml @@ -0,0 +1,1337 @@ + + + 1.7px + 3.41px + 5.12px + 6.83px + 8.54px + 10.25px + 11.96px + 13.67px + 15.38px + 17.09px + 18.8px + 20.5px + 22.21px + 23.92px + 25.63px + 27.34px + 29.05px + 30.76px + 32.47px + 34.18px + 35.89px + 37.6px + 39.31px + 41.01px + 42.72px + 44.43px + 46.14px + 47.85px + 49.56px + 51.27px + 52.98px + 54.69px + 56.4px + 58.11px + 59.82px + 61.52px + 63.23px + 64.94px + 66.65px + 68.36px + 70.07px + 71.78px + 73.49px + 75.2px + 76.91px + 78.62px + 80.32px + 82.03px + 83.74px + 85.45px + 87.16px + 88.87px + 90.58px + 92.29px + 94.0px + 95.71px + 97.42px + 99.13px + 100.83px + 102.54px + 104.25px + 105.96px + 107.67px + 109.38px + 111.09px + 112.8px + 114.51px + 116.22px + 117.93px + 119.64px + 121.34px + 123.05px + 124.76px + 126.47px + 128.18px + 129.89px + 131.6px + 133.31px + 135.02px + 136.73px + 138.44px + 140.14px + 141.85px + 143.56px + 145.27px + 146.98px + 148.69px + 150.4px + 152.11px + 153.82px + 155.53px + 157.24px + 158.95px + 160.65px + 162.36px + 164.07px + 165.78px + 167.49px + 169.2px + 170.91px + 172.62px + 174.33px + 176.04px + 177.75px + 179.46px + 181.16px + 182.87px + 184.58px + 186.29px + 188.0px + 189.71px + 191.42px + 193.13px + 194.84px + 196.55px + 198.26px + 199.97px + 201.67px + 203.38px + 205.09px + 206.8px + 208.51px + 210.22px + 211.93px + 213.64px + 215.35px + 217.06px + 218.77px + 220.47px + 222.18px + 223.89px + 225.6px + 227.31px + 229.02px + 230.73px + 232.44px + 234.15px + 235.86px + 237.57px + 239.28px + 240.98px + 242.69px + 244.4px + 246.11px + 247.82px + 249.53px + 251.24px + 252.95px + 254.66px + 256.37px + 258.08px + 259.79px + 261.49px + 263.2px + 264.91px + 266.62px + 268.33px + 270.04px + 271.75px + 273.46px + 275.17px + 276.88px + 278.59px + 280.29px + 282.0px + 283.71px + 285.42px + 287.13px + 288.84px + 290.55px + 292.26px + 293.97px + 295.68px + 297.39px + 299.1px + 300.8px + 302.51px + 304.22px + 305.93px + 307.64px + 309.35px + 311.06px + 312.77px + 314.48px + 316.19px + 317.9px + 319.61px + 321.31px + 323.02px + 324.73px + 326.44px + 328.15px + 329.86px + 331.57px + 333.28px + 334.99px + 336.7px + 338.41px + 340.11px + 341.82px + 343.53px + 345.24px + 346.95px + 348.66px + 350.37px + 352.08px + 353.79px + 355.5px + 357.21px + 358.92px + 360.62px + 362.33px + 364.04px + 365.75px + 367.46px + 369.17px + 370.88px + 372.59px + 374.3px + 376.01px + 377.72px + 379.43px + 381.13px + 382.84px + 384.55px + 386.26px + 387.97px + 389.68px + 391.39px + 393.1px + 394.81px + 396.52px + 398.23px + 399.94px + 401.64px + 403.35px + 405.06px + 406.77px + 408.48px + 410.19px + 411.9px + 413.61px + 415.32px + 417.03px + 418.74px + 420.44px + 422.15px + 423.86px + 425.57px + 427.28px + 428.99px + 430.7px + 432.41px + 434.12px + 435.83px + 437.54px + 439.25px + 440.95px + 442.66px + 444.37px + 446.08px + 447.79px + 449.5px + 451.21px + 452.92px + 454.63px + 456.34px + 458.05px + 459.76px + 461.46px + 463.17px + 464.88px + 466.59px + 468.3px + 470.01px + 471.72px + 473.43px + 475.14px + 476.85px + 478.56px + 480.26px + 481.97px + 483.68px + 485.39px + 487.1px + 488.81px + 490.52px + 492.23px + 493.94px + 495.65px + 497.36px + 499.07px + 500.77px + 502.48px + 504.19px + 505.9px + 507.61px + 509.32px + 511.03px + 512.74px + 514.45px + 516.16px + 517.87px + 519.58px + 521.28px + 522.99px + 524.7px + 526.41px + 528.12px + 529.83px + 531.54px + 533.25px + 534.96px + 536.67px + 538.38px + 540.08px + 541.79px + 543.5px + 545.21px + 546.92px + 548.63px + 550.34px + 552.05px + 553.76px + 555.47px + 557.18px + 558.89px + 560.59px + 562.3px + 564.01px + 565.72px + 567.43px + 569.14px + 570.85px + 572.56px + 574.27px + 575.98px + 577.69px + 579.4px + 581.1px + 582.81px + 584.52px + 586.23px + 587.94px + 589.65px + 591.36px + 593.07px + 594.78px + 596.49px + 598.2px + 599.91px + 601.61px + 603.32px + 605.03px + 606.74px + 608.45px + 610.16px + 611.87px + 613.58px + 615.29px + 617.0px + 618.71px + 620.41px + 622.12px + 623.83px + 625.54px + 627.25px + 628.96px + 630.67px + 632.38px + 634.09px + 635.8px + 637.51px + 639.22px + 640.92px + 642.63px + 644.34px + 646.05px + 647.76px + 649.47px + 651.18px + 652.89px + 654.6px + 656.31px + 658.02px + 659.73px + 661.43px + 663.14px + 664.85px + 666.56px + 668.27px + 669.98px + 671.69px + 673.4px + 675.11px + 676.82px + 678.53px + 680.23px + 681.94px + 683.65px + 685.36px + 687.07px + 688.78px + 690.49px + 692.2px + 693.91px + 695.62px + 697.33px + 699.04px + 700.74px + 702.45px + 704.16px + 705.87px + 707.58px + 709.29px + 711.0px + 712.71px + 714.42px + 716.13px + 717.84px + 719.55px + 721.25px + 722.96px + 724.67px + 726.38px + 728.09px + 729.8px + 731.51px + 733.22px + 734.93px + 736.64px + 738.35px + 740.06px + 741.76px + 743.47px + 745.18px + 746.89px + 748.6px + 750.31px + 752.02px + 753.73px + 755.44px + 757.15px + 758.86px + 760.56px + 762.27px + 763.98px + 765.69px + 767.4px + 769.11px + 770.82px + 772.53px + 774.24px + 775.95px + 777.66px + 779.37px + 781.07px + 782.78px + 784.49px + 786.2px + 787.91px + 789.62px + 791.33px + 793.04px + 794.75px + 796.46px + 798.17px + 799.88px + 801.58px + 803.29px + 805.0px + 806.71px + 808.42px + 810.13px + 811.84px + 813.55px + 815.26px + 816.97px + 818.68px + 820.38px + 822.09px + 823.8px + 825.51px + 827.22px + 828.93px + 830.64px + 832.35px + 834.06px + 835.77px + 837.48px + 839.19px + 840.89px + 842.6px + 844.31px + 846.02px + 847.73px + 849.44px + 851.15px + 852.86px + 854.57px + 856.28px + 857.99px + 859.7px + 861.4px + 863.11px + 864.82px + 866.53px + 868.24px + 869.95px + 871.66px + 873.37px + 875.08px + 876.79px + 878.5px + 880.2px + 881.91px + 883.62px + 885.33px + 887.04px + 888.75px + 890.46px + 892.17px + 893.88px + 895.59px + 897.3px + 899.01px + 900.71px + 902.42px + 904.13px + 905.84px + 907.55px + 909.26px + 910.97px + 912.68px + 914.39px + 916.1px + 917.81px + 919.52px + 921.22px + 922.93px + 924.64px + 926.35px + 928.06px + 929.77px + 931.48px + 933.19px + 934.9px + 936.61px + 938.32px + 940.03px + 941.73px + 943.44px + 945.15px + 946.86px + 948.57px + 950.28px + 951.99px + 953.7px + 955.41px + 957.12px + 958.83px + 960.53px + 962.24px + 963.95px + 965.66px + 967.37px + 969.08px + 970.79px + 972.5px + 974.21px + 975.92px + 977.63px + 979.34px + 981.04px + 982.75px + 984.46px + 986.17px + 987.88px + 989.59px + 991.3px + 993.01px + 994.72px + 996.43px + 998.14px + 999.85px + 1001.55px + 1003.26px + 1004.97px + 1006.68px + 1008.39px + 1010.1px + 1011.81px + 1013.52px + 1015.23px + 1016.94px + 1018.65px + 1020.35px + 1022.06px + 1023.77px + 1025.48px + 1027.19px + 1028.9px + 1030.61px + 1032.32px + 1034.03px + 1035.74px + 1037.45px + 1039.16px + 1040.86px + 1042.57px + 1044.28px + 1045.99px + 1047.7px + 1049.41px + 1051.12px + 1052.83px + 1054.54px + 1056.25px + 1057.96px + 1059.67px + 1061.37px + 1063.08px + 1064.79px + 1066.5px + 1068.21px + 1069.92px + 1071.63px + 1073.34px + 1075.05px + 1076.76px + 1078.47px + 1080.17px + 1081.88px + 1083.59px + 1085.3px + 1087.01px + 1088.72px + 1090.43px + 1092.14px + 1093.85px + 1095.56px + 1097.27px + 1098.98px + 1100.68px + 1102.39px + 1104.1px + 1105.81px + 1107.52px + 1109.23px + 1110.94px + 1112.65px + 1114.36px + 1116.07px + 1117.78px + 1119.49px + 1121.19px + 1122.9px + 1124.61px + 1126.32px + 1128.03px + 1129.74px + 1131.45px + 1133.16px + 1134.87px + 1136.58px + 1138.29px + 1140.0px + 1141.7px + 1143.41px + 1145.12px + 1146.83px + 1148.54px + 1150.25px + 1151.96px + 1153.67px + 1155.38px + 1157.09px + 1158.8px + 1160.5px + 1162.21px + 1163.92px + 1165.63px + 1167.34px + 1169.05px + 1170.76px + 1172.47px + 1174.18px + 1175.89px + 1177.6px + 1179.31px + 1181.01px + 1182.72px + 1184.43px + 1186.14px + 1187.85px + 1189.56px + 1191.27px + 1192.98px + 1194.69px + 1196.4px + 1198.11px + 1199.82px + 1201.52px + 1203.23px + 1204.94px + 1206.65px + 1208.36px + 1210.07px + 1211.78px + 1213.49px + 1215.2px + 1216.91px + 1218.62px + 1220.32px + 1222.03px + 1223.74px + 1225.45px + 1227.16px + 1228.87px + 1230.58px + 1232.29px + 1234.0px + 1235.71px + 1237.42px + 1239.13px + 1240.83px + 1242.54px + 1244.25px + 1245.96px + 1247.67px + 1249.38px + 1251.09px + 1252.8px + 1254.51px + 1256.22px + 1257.93px + 1259.64px + 1261.34px + 1263.05px + 1264.76px + 1266.47px + 1268.18px + 1269.89px + 1271.6px + 1273.31px + 1275.02px + 1276.73px + 1278.44px + 1280.14px + 1281.85px + 1283.56px + 1285.27px + 1286.98px + 1288.69px + 1290.4px + 1292.11px + 1293.82px + 1295.53px + 1297.24px + 1298.95px + 1300.65px + 1302.36px + 1304.07px + 1305.78px + 1307.49px + 1309.2px + 1310.91px + 1312.62px + 1314.33px + 1316.04px + 1317.75px + 1319.46px + 1321.16px + 1322.87px + 1324.58px + 1326.29px + 1328.0px + 1329.71px + 1331.42px + 1333.13px + 1334.84px + 1336.55px + 1338.26px + 1339.97px + 1341.67px + 1343.38px + 1345.09px + 1346.8px + 1348.51px + 1350.22px + 1351.93px + 1353.64px + 1355.35px + 1357.06px + 1358.77px + 1360.47px + 1362.18px + 1363.89px + 1365.6px + 1367.31px + 1369.02px + 1370.73px + 1372.44px + 1374.15px + 1375.86px + 1377.57px + 1379.28px + 1380.98px + 1382.69px + 1384.4px + 1386.11px + 1387.82px + 1389.53px + 1391.24px + 1392.95px + 1394.66px + 1396.37px + 1398.08px + 1399.79px + 1401.49px + 1403.2px + 1404.91px + 1406.62px + 1408.33px + 1410.04px + 1411.75px + 1413.46px + 1415.17px + 1416.88px + 1418.59px + 1420.29px + 1422.0px + 1423.71px + 1425.42px + 1427.13px + 1428.84px + 1430.55px + 1432.26px + 1433.97px + 1435.68px + 1437.39px + 1439.1px + 1440.8px + 1442.51px + 1444.22px + 1445.93px + 1447.64px + 1449.35px + 1451.06px + 1452.77px + 1454.48px + 1456.19px + 1457.9px + 1459.61px + 1461.31px + 1463.02px + 1464.73px + 1466.44px + 1468.15px + 1469.86px + 1471.57px + 1473.28px + 1474.99px + 1476.7px + 1478.41px + 1480.12px + 1481.82px + 1483.53px + 1485.24px + 1486.95px + 1488.66px + 1490.37px + 1492.08px + 1493.79px + 1495.5px + 1497.21px + 1498.92px + 1500.62px + 1502.33px + 1504.04px + 1505.75px + 1507.46px + 1509.17px + 1510.88px + 1512.59px + 1514.3px + 1516.01px + 1517.72px + 1519.43px + 1521.13px + 1522.84px + 1524.55px + 1526.26px + 1527.97px + 1529.68px + 1531.39px + 1533.1px + 1534.81px + 1536.52px + 1538.23px + 1539.94px + 1541.64px + 1543.35px + 1545.06px + 1546.77px + 1548.48px + 1550.19px + 1551.9px + 1553.61px + 1555.32px + 1557.03px + 1558.74px + 1560.44px + 1562.15px + 1563.86px + 1565.57px + 1567.28px + 1568.99px + 1570.7px + 1572.41px + 1574.12px + 1575.83px + 1577.54px + 1579.25px + 1580.95px + 1582.66px + 1584.37px + 1586.08px + 1587.79px + 1589.5px + 1591.21px + 1592.92px + 1594.63px + 1596.34px + 1598.05px + 1599.76px + 1601.46px + 1603.17px + 1604.88px + 1606.59px + 1608.3px + 1610.01px + 1611.72px + 1613.43px + 1615.14px + 1616.85px + 1618.56px + 1620.26px + 1621.97px + 1623.68px + 1625.39px + 1627.1px + 1628.81px + 1630.52px + 1632.23px + 1633.94px + 1635.65px + 1637.36px + 1639.07px + 1640.77px + 1642.48px + 1644.19px + 1645.9px + 1647.61px + 1649.32px + 1651.03px + 1652.74px + 1654.45px + 1656.16px + 1657.87px + 1659.58px + 1661.28px + 1662.99px + 1664.7px + 1666.41px + 1668.12px + 1669.83px + 1671.54px + 1673.25px + 1674.96px + 1676.67px + 1678.38px + 1680.09px + 1681.79px + 1683.5px + 1685.21px + 1686.92px + 1688.63px + 1690.34px + 1692.05px + 1693.76px + 1695.47px + 1697.18px + 1698.89px + 1700.59px + 1702.3px + 1704.01px + 1705.72px + 1707.43px + 1709.14px + 1710.85px + 1712.56px + 1714.27px + 1715.98px + 1717.69px + 1719.4px + 1721.1px + 1722.81px + 1724.52px + 1726.23px + 1727.94px + 1729.65px + 1731.36px + 1733.07px + 1734.78px + 1736.49px + 1738.2px + 1739.91px + 1741.61px + 1743.32px + 1745.03px + 1746.74px + 1748.45px + 1750.16px + 1751.87px + 1753.58px + 1755.29px + 1757.0px + 1758.71px + 1760.41px + 1762.12px + 1763.83px + 1765.54px + 1767.25px + 1768.96px + 1770.67px + 1772.38px + 1774.09px + 1775.8px + 1777.51px + 1779.22px + 1780.92px + 1782.63px + 1784.34px + 1786.05px + 1787.76px + 1789.47px + 1791.18px + 1792.89px + 1794.6px + 1796.31px + 1798.02px + 1799.73px + 1801.43px + 1803.14px + 1804.85px + 1806.56px + 1808.27px + 1809.98px + 1811.69px + 1813.4px + 1815.11px + 1816.82px + 1818.53px + 1820.23px + 1821.94px + 1823.65px + 1825.36px + 1827.07px + 1828.78px + 1830.49px + 1832.2px + 1833.91px + 1835.62px + 1837.33px + 1839.04px + 1840.74px + 1842.45px + 1844.16px + 1845.87px + 1847.58px + 1849.29px + 1851.0px + 1852.71px + 1854.42px + 1856.13px + 1857.84px + 1859.55px + 1861.25px + 1862.96px + 1864.67px + 1866.38px + 1868.09px + 1869.8px + 1871.51px + 1873.22px + 1874.93px + 1876.64px + 1878.35px + 1880.06px + 1881.76px + 1883.47px + 1885.18px + 1886.89px + 1888.6px + 1890.31px + 1892.02px + 1893.73px + 1895.44px + 1897.15px + 1898.86px + 1900.56px + 1902.27px + 1903.98px + 1905.69px + 1907.4px + 1909.11px + 1910.82px + 1912.53px + 1914.24px + 1915.95px + 1917.66px + 1919.37px + 1921.07px + 1922.78px + 1924.49px + 1926.2px + 1927.91px + 1929.62px + 1931.33px + 1933.04px + 1934.75px + 1936.46px + 1938.17px + 1939.88px + 1941.58px + 1943.29px + 1945.0px + 1946.71px + 1948.42px + 1950.13px + 1951.84px + 1953.55px + 1955.26px + 1956.97px + 1958.68px + 1960.38px + 1962.09px + 1963.8px + 1965.51px + 1967.22px + 1968.93px + 1970.64px + 1972.35px + 1974.06px + 1975.77px + 1977.48px + 1979.19px + 1980.89px + 1982.6px + 1984.31px + 1986.02px + 1987.73px + 1989.44px + 1991.15px + 1992.86px + 1994.57px + 1996.28px + 1997.99px + 1999.7px + 2001.4px + 2003.11px + 2004.82px + 2006.53px + 2008.24px + 2009.95px + 2011.66px + 2013.37px + 2015.08px + 2016.79px + 2018.5px + 2020.2px + 2021.91px + 2023.62px + 2025.33px + 2027.04px + 2028.75px + 2030.46px + 2032.17px + 2033.88px + 2035.59px + 2037.3px + 2039.01px + 2040.71px + 2042.42px + 2044.13px + 2045.84px + 2047.55px + 2049.26px + 2050.97px + 2052.68px + 2054.39px + 2056.1px + 2057.81px + 2059.52px + 2061.22px + 2062.93px + 2064.64px + 2066.35px + 2068.06px + 2069.77px + 2071.48px + 2073.19px + 2074.9px + 2076.61px + 2078.32px + 2080.03px + 2081.73px + 2083.44px + 2085.15px + 2086.86px + 2088.57px + 2090.28px + 2091.99px + 2093.7px + 2095.41px + 2097.12px + 2098.83px + 2100.53px + 2102.24px + 2103.95px + 2105.66px + 2107.37px + 2109.08px + 2110.79px + 2112.5px + 2114.21px + 2115.92px + 2117.63px + 2119.34px + 2121.04px + 2122.75px + 2124.46px + 2126.17px + 2127.88px + 2129.59px + 2131.3px + 2133.01px + 2134.72px + 2136.43px + 2138.14px + 2139.85px + 2141.55px + 2143.26px + 2144.97px + 2146.68px + 2148.39px + 2150.1px + 2151.81px + 2153.52px + 2155.23px + 2156.94px + 2158.65px + 2160.35px + 2162.06px + 2163.77px + 2165.48px + 2167.19px + 2168.9px + 2170.61px + 2172.32px + 2174.03px + 2175.74px + 2177.45px + 2179.16px + 2180.86px + 2182.57px + 2184.28px + 2185.99px + 2187.7px + 2189.41px + 2191.12px + 2192.83px + 2194.54px + 2196.25px + 2197.96px + 2199.67px + 2201.37px + 2203.08px + 2204.79px + 2206.5px + 2208.21px + 2209.92px + 2211.63px + 2213.34px + 2215.05px + 2216.76px + 2218.47px + 2220.18px + 2221.88px + 2223.59px + 2225.3px + 2227.01px + 2228.72px + 2230.43px + 2232.14px + 2233.85px + 2235.56px + 2237.27px + 2238.98px + 2240.68px + 2242.39px + 2244.1px + 2245.81px + 2247.52px + 2249.23px + 2250.94px + 2252.65px + 2254.36px + 2256.07px + 2257.78px + 2259.49px + 2261.19px + 2262.9px + 2264.61px + 2266.32px + 2268.03px + 2269.74px + 2271.45px + 2273.16px + 2274.87px + 2276.58px + 2278.29px + 2280px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-2300x1440/lay_x.xml b/FaceUnity/src/main/res/values-2300x1440/lay_x.xml new file mode 100644 index 000000000..d1a0dd299 --- /dev/null +++ b/FaceUnity/src/main/res/values-2300x1440/lay_x.xml @@ -0,0 +1,753 @@ + + + 1.92px + 3.84px + 5.76px + 7.68px + 9.59px + 11.52px + 13.44px + 15.36px + 17.27px + 19.19px + 21.12px + 23.04px + 24.96px + 26.88px + 28.8px + 30.72px + 32.64px + 34.55px + 36.48px + 38.39px + 40.32px + 42.24px + 44.16px + 46.08px + 48.0px + 49.92px + 51.84px + 53.76px + 55.68px + 57.6px + 59.52px + 61.44px + 63.35px + 65.28px + 67.19px + 69.11px + 71.04px + 72.96px + 74.87px + 76.79px + 78.72px + 80.64px + 82.56px + 84.48px + 86.4px + 88.32px + 90.24px + 92.16px + 94.07px + 96.0px + 97.92px + 99.84px + 101.75px + 103.68px + 105.6px + 107.52px + 109.43px + 111.36px + 113.28px + 115.2px + 117.12px + 119.04px + 120.96px + 122.88px + 124.8px + 126.71px + 128.64px + 130.56px + 132.48px + 134.39px + 136.31px + 138.23px + 140.16px + 142.08px + 144.0px + 145.92px + 147.84px + 149.75px + 151.67px + 153.59px + 155.51px + 157.44px + 159.36px + 161.28px + 163.2px + 165.12px + 167.04px + 168.96px + 170.87px + 172.8px + 174.72px + 176.64px + 178.56px + 180.48px + 182.4px + 184.32px + 186.24px + 188.15px + 190.08px + 192.0px + 193.92px + 195.84px + 197.76px + 199.68px + 201.6px + 203.51px + 205.44px + 207.36px + 209.28px + 211.2px + 213.12px + 215.04px + 216.96px + 218.87px + 220.79px + 222.72px + 224.64px + 226.56px + 228.48px + 230.4px + 232.32px + 234.24px + 236.15px + 238.08px + 240.0px + 241.92px + 243.84px + 245.76px + 247.68px + 249.6px + 251.51px + 253.43px + 255.36px + 257.28px + 259.19px + 261.12px + 263.04px + 264.96px + 266.88px + 268.79px + 270.72px + 272.63px + 274.56px + 276.47px + 278.4px + 280.32px + 282.24px + 284.16px + 286.07px + 288.0px + 289.91px + 291.84px + 293.75px + 295.68px + 297.6px + 299.51px + 301.44px + 303.35px + 305.28px + 307.19px + 309.12px + 311.03px + 312.96px + 314.88px + 316.79px + 318.72px + 320.63px + 322.56px + 324.47px + 326.4px + 328.32px + 330.24px + 332.16px + 334.08px + 336.0px + 337.92px + 339.84px + 341.75px + 343.68px + 345.6px + 347.52px + 349.44px + 351.36px + 353.28px + 355.2px + 357.12px + 359.03px + 360.96px + 362.88px + 364.8px + 366.72px + 368.64px + 370.56px + 372.48px + 374.4px + 376.31px + 378.24px + 380.16px + 382.08px + 384.0px + 385.92px + 387.84px + 389.75px + 391.68px + 393.6px + 395.52px + 397.44px + 399.36px + 401.28px + 403.2px + 405.12px + 407.03px + 408.96px + 410.88px + 412.8px + 414.72px + 416.64px + 418.56px + 420.48px + 422.4px + 424.31px + 426.24px + 428.16px + 430.08px + 432.0px + 433.92px + 435.84px + 437.75px + 439.68px + 441.59px + 443.52px + 445.44px + 447.36px + 449.28px + 451.2px + 453.12px + 455.03px + 456.96px + 458.88px + 460.8px + 462.72px + 464.64px + 466.56px + 468.48px + 470.4px + 472.31px + 474.24px + 476.16px + 478.08px + 480.0px + 481.92px + 483.84px + 485.75px + 487.68px + 489.59px + 491.52px + 493.44px + 495.36px + 497.28px + 499.2px + 501.12px + 503.03px + 504.96px + 506.87px + 508.8px + 510.72px + 512.64px + 514.56px + 516.48px + 518.39px + 520.32px + 522.24px + 524.15px + 526.08px + 528.0px + 529.92px + 531.83px + 533.76px + 535.68px + 537.59px + 539.51px + 541.44px + 543.36px + 545.27px + 547.2px + 549.12px + 551.03px + 552.95px + 554.88px + 556.8px + 558.71px + 560.64px + 562.56px + 564.48px + 566.39px + 568.32px + 570.24px + 572.15px + 574.08px + 576.0px + 577.92px + 579.83px + 581.76px + 583.68px + 585.59px + 587.51px + 589.44px + 591.36px + 593.27px + 595.2px + 597.12px + 599.03px + 600.95px + 602.88px + 604.8px + 606.71px + 608.64px + 610.56px + 612.48px + 614.39px + 616.32px + 618.24px + 620.15px + 622.07px + 624.0px + 625.92px + 627.83px + 629.76px + 631.68px + 633.59px + 635.51px + 637.44px + 639.36px + 641.27px + 643.2px + 645.12px + 647.03px + 648.95px + 650.88px + 652.8px + 654.71px + 656.64px + 658.56px + 660.48px + 662.4px + 664.32px + 666.24px + 668.16px + 670.07px + 672.0px + 673.92px + 675.84px + 677.76px + 679.68px + 681.6px + 683.51px + 685.44px + 687.36px + 689.28px + 691.2px + 693.12px + 695.04px + 696.96px + 698.88px + 700.8px + 702.72px + 704.64px + 706.56px + 708.48px + 710.4px + 712.32px + 714.24px + 716.16px + 718.07px + 720.0px + 721.92px + 723.84px + 725.76px + 727.68px + 729.6px + 731.51px + 733.44px + 735.36px + 737.28px + 739.2px + 741.12px + 743.04px + 744.96px + 746.88px + 748.8px + 750.72px + 752.63px + 754.56px + 756.48px + 758.4px + 760.32px + 762.24px + 764.16px + 766.07px + 768.0px + 769.92px + 771.84px + 773.76px + 775.68px + 777.6px + 779.51px + 781.44px + 783.36px + 785.28px + 787.2px + 789.12px + 791.04px + 792.96px + 794.88px + 796.8px + 798.72px + 800.63px + 802.56px + 804.48px + 806.4px + 808.32px + 810.24px + 812.16px + 814.07px + 816.0px + 817.92px + 819.84px + 821.76px + 823.68px + 825.6px + 827.51px + 829.44px + 831.36px + 833.28px + 835.19px + 837.12px + 839.04px + 840.96px + 842.88px + 844.8px + 846.72px + 848.63px + 850.56px + 852.48px + 854.4px + 856.32px + 858.24px + 860.16px + 862.07px + 864.0px + 865.92px + 867.84px + 869.76px + 871.68px + 873.6px + 875.51px + 877.44px + 879.36px + 881.28px + 883.19px + 885.12px + 887.04px + 888.96px + 890.88px + 892.8px + 894.72px + 896.63px + 898.56px + 900.48px + 902.4px + 904.32px + 906.24px + 908.16px + 910.07px + 912.0px + 913.92px + 915.84px + 917.76px + 919.68px + 921.6px + 923.51px + 925.44px + 927.36px + 929.28px + 931.19px + 933.12px + 935.04px + 936.96px + 938.88px + 940.8px + 942.72px + 944.63px + 946.56px + 948.48px + 950.4px + 952.32px + 954.24px + 956.16px + 958.07px + 960.0px + 961.92px + 963.84px + 965.75px + 967.68px + 969.6px + 971.51px + 973.44px + 975.36px + 977.28px + 979.19px + 981.12px + 983.04px + 984.96px + 986.88px + 988.8px + 990.72px + 992.63px + 994.56px + 996.48px + 998.4px + 1000.32px + 1002.24px + 1004.16px + 1006.07px + 1008.0px + 1009.92px + 1011.84px + 1013.75px + 1015.68px + 1017.6px + 1019.51px + 1021.44px + 1023.36px + 1025.28px + 1027.19px + 1029.12px + 1031.03px + 1032.96px + 1034.88px + 1036.79px + 1038.72px + 1040.64px + 1042.55px + 1044.48px + 1046.4px + 1048.31px + 1050.24px + 1052.16px + 1054.07px + 1056.0px + 1057.91px + 1059.84px + 1061.76px + 1063.67px + 1065.6px + 1067.52px + 1069.43px + 1071.36px + 1073.28px + 1075.19px + 1077.12px + 1079.03px + 1080.96px + 1082.88px + 1084.79px + 1086.72px + 1088.64px + 1090.55px + 1092.48px + 1094.4px + 1096.31px + 1098.24px + 1100.16px + 1102.07px + 1104.0px + 1105.91px + 1107.84px + 1109.76px + 1111.67px + 1113.6px + 1115.52px + 1117.43px + 1119.36px + 1121.28px + 1123.19px + 1125.12px + 1127.03px + 1128.96px + 1130.88px + 1132.79px + 1134.72px + 1136.64px + 1138.55px + 1140.48px + 1142.4px + 1144.31px + 1146.24px + 1148.16px + 1150.07px + 1152.0px + 1153.91px + 1155.84px + 1157.76px + 1159.67px + 1161.6px + 1163.52px + 1165.43px + 1167.36px + 1169.28px + 1171.19px + 1173.12px + 1175.03px + 1176.96px + 1178.88px + 1180.79px + 1182.72px + 1184.64px + 1186.55px + 1188.48px + 1190.4px + 1192.31px + 1194.24px + 1196.16px + 1198.07px + 1200.0px + 1201.91px + 1203.84px + 1205.76px + 1207.67px + 1209.6px + 1211.52px + 1213.43px + 1215.36px + 1217.28px + 1219.19px + 1221.12px + 1223.03px + 1224.96px + 1226.88px + 1228.79px + 1230.72px + 1232.64px + 1234.55px + 1236.48px + 1238.4px + 1240.31px + 1242.24px + 1244.15px + 1246.07px + 1248.0px + 1249.91px + 1251.84px + 1253.76px + 1255.67px + 1257.6px + 1259.52px + 1261.43px + 1263.36px + 1265.28px + 1267.19px + 1269.12px + 1271.03px + 1272.96px + 1274.88px + 1276.79px + 1278.72px + 1280.64px + 1282.55px + 1284.48px + 1286.4px + 1288.31px + 1290.24px + 1292.15px + 1294.07px + 1296.0px + 1297.91px + 1299.84px + 1301.76px + 1303.67px + 1305.6px + 1307.52px + 1309.43px + 1311.36px + 1313.28px + 1315.2px + 1317.12px + 1319.03px + 1320.96px + 1322.88px + 1324.8px + 1326.72px + 1328.64px + 1330.56px + 1332.48px + 1334.4px + 1336.32px + 1338.24px + 1340.15px + 1342.08px + 1344.0px + 1345.92px + 1347.84px + 1349.76px + 1351.68px + 1353.6px + 1355.52px + 1357.44px + 1359.36px + 1361.28px + 1363.2px + 1365.12px + 1367.03px + 1368.96px + 1370.88px + 1372.8px + 1374.72px + 1376.64px + 1378.56px + 1380.48px + 1382.4px + 1384.32px + 1386.24px + 1388.15px + 1390.08px + 1392.0px + 1393.92px + 1395.84px + 1397.76px + 1399.68px + 1401.6px + 1403.52px + 1405.44px + 1407.36px + 1409.28px + 1411.2px + 1413.12px + 1415.03px + 1416.96px + 1418.88px + 1420.8px + 1422.72px + 1424.64px + 1426.56px + 1428.48px + 1430.4px + 1432.32px + 1434.24px + 1436.15px + 1438.08px + 1440px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-2300x1440/lay_y.xml b/FaceUnity/src/main/res/values-2300x1440/lay_y.xml new file mode 100644 index 000000000..575fe5707 --- /dev/null +++ b/FaceUnity/src/main/res/values-2300x1440/lay_y.xml @@ -0,0 +1,1337 @@ + + + 1.91px + 3.83px + 5.75px + 7.67px + 9.59px + 11.51px + 13.43px + 15.35px + 17.27px + 19.19px + 21.1px + 23.02px + 24.94px + 26.86px + 28.78px + 30.7px + 32.62px + 34.54px + 36.46px + 38.38px + 40.29px + 42.21px + 44.13px + 46.05px + 47.97px + 49.89px + 51.81px + 53.73px + 55.65px + 57.57px + 59.49px + 61.4px + 63.32px + 65.24px + 67.16px + 69.08px + 71.0px + 72.92px + 74.84px + 76.76px + 78.68px + 80.59px + 82.51px + 84.43px + 86.35px + 88.27px + 90.19px + 92.11px + 94.03px + 95.95px + 97.87px + 99.79px + 101.7px + 103.62px + 105.54px + 107.46px + 109.38px + 111.3px + 113.22px + 115.14px + 117.06px + 118.98px + 120.89px + 122.81px + 124.73px + 126.65px + 128.57px + 130.49px + 132.41px + 134.33px + 136.25px + 138.17px + 140.08px + 142.0px + 143.92px + 145.84px + 147.76px + 149.68px + 151.6px + 153.52px + 155.44px + 157.36px + 159.28px + 161.19px + 163.11px + 165.03px + 166.95px + 168.87px + 170.79px + 172.71px + 174.63px + 176.55px + 178.47px + 180.38px + 182.3px + 184.22px + 186.14px + 188.06px + 189.98px + 191.9px + 193.82px + 195.74px + 197.66px + 199.58px + 201.49px + 203.41px + 205.33px + 207.25px + 209.17px + 211.09px + 213.01px + 214.93px + 216.85px + 218.77px + 220.68px + 222.6px + 224.52px + 226.44px + 228.36px + 230.28px + 232.2px + 234.12px + 236.04px + 237.96px + 239.88px + 241.79px + 243.71px + 245.63px + 247.55px + 249.47px + 251.39px + 253.31px + 255.23px + 257.15px + 259.07px + 260.98px + 262.9px + 264.82px + 266.74px + 268.66px + 270.58px + 272.5px + 274.42px + 276.34px + 278.26px + 280.17px + 282.09px + 284.01px + 285.93px + 287.85px + 289.77px + 291.69px + 293.61px + 295.53px + 297.45px + 299.37px + 301.28px + 303.2px + 305.12px + 307.04px + 308.96px + 310.88px + 312.8px + 314.72px + 316.64px + 318.56px + 320.47px + 322.39px + 324.31px + 326.23px + 328.15px + 330.07px + 331.99px + 333.91px + 335.83px + 337.75px + 339.67px + 341.58px + 343.5px + 345.42px + 347.34px + 349.26px + 351.18px + 353.1px + 355.02px + 356.94px + 358.86px + 360.77px + 362.69px + 364.61px + 366.53px + 368.45px + 370.37px + 372.29px + 374.21px + 376.13px + 378.05px + 379.97px + 381.88px + 383.8px + 385.72px + 387.64px + 389.56px + 391.48px + 393.4px + 395.32px + 397.24px + 399.16px + 401.07px + 402.99px + 404.91px + 406.83px + 408.75px + 410.67px + 412.59px + 414.51px + 416.43px + 418.35px + 420.26px + 422.18px + 424.1px + 426.02px + 427.94px + 429.86px + 431.78px + 433.7px + 435.62px + 437.54px + 439.46px + 441.37px + 443.29px + 445.21px + 447.13px + 449.05px + 450.97px + 452.89px + 454.81px + 456.73px + 458.65px + 460.56px + 462.48px + 464.4px + 466.32px + 468.24px + 470.16px + 472.08px + 474.0px + 475.92px + 477.84px + 479.76px + 481.67px + 483.59px + 485.51px + 487.43px + 489.35px + 491.27px + 493.19px + 495.11px + 497.03px + 498.95px + 500.86px + 502.78px + 504.7px + 506.62px + 508.54px + 510.46px + 512.38px + 514.3px + 516.22px + 518.14px + 520.05px + 521.97px + 523.89px + 525.81px + 527.73px + 529.65px + 531.57px + 533.49px + 535.41px + 537.33px + 539.25px + 541.16px + 543.08px + 545.0px + 546.92px + 548.84px + 550.76px + 552.68px + 554.6px + 556.52px + 558.44px + 560.35px + 562.27px + 564.19px + 566.11px + 568.03px + 569.95px + 571.87px + 573.79px + 575.71px + 577.63px + 579.55px + 581.46px + 583.38px + 585.3px + 587.22px + 589.14px + 591.06px + 592.98px + 594.9px + 596.82px + 598.74px + 600.65px + 602.57px + 604.49px + 606.41px + 608.33px + 610.25px + 612.17px + 614.09px + 616.01px + 617.93px + 619.85px + 621.76px + 623.68px + 625.6px + 627.52px + 629.44px + 631.36px + 633.28px + 635.2px + 637.12px + 639.04px + 640.95px + 642.87px + 644.79px + 646.71px + 648.63px + 650.55px + 652.47px + 654.39px + 656.31px + 658.23px + 660.14px + 662.06px + 663.98px + 665.9px + 667.82px + 669.74px + 671.66px + 673.58px + 675.5px + 677.42px + 679.34px + 681.25px + 683.17px + 685.09px + 687.01px + 688.93px + 690.85px + 692.77px + 694.69px + 696.61px + 698.53px + 700.44px + 702.36px + 704.28px + 706.2px + 708.12px + 710.04px + 711.96px + 713.88px + 715.8px + 717.72px + 719.64px + 721.55px + 723.47px + 725.39px + 727.31px + 729.23px + 731.15px + 733.07px + 734.99px + 736.91px + 738.83px + 740.74px + 742.66px + 744.58px + 746.5px + 748.42px + 750.34px + 752.26px + 754.18px + 756.1px + 758.02px + 759.94px + 761.85px + 763.77px + 765.69px + 767.61px + 769.53px + 771.45px + 773.37px + 775.29px + 777.21px + 779.13px + 781.04px + 782.96px + 784.88px + 786.8px + 788.72px + 790.64px + 792.56px + 794.48px + 796.4px + 798.32px + 800.23px + 802.15px + 804.07px + 805.99px + 807.91px + 809.83px + 811.75px + 813.67px + 815.59px + 817.51px + 819.43px + 821.34px + 823.26px + 825.18px + 827.1px + 829.02px + 830.94px + 832.86px + 834.78px + 836.7px + 838.62px + 840.53px + 842.45px + 844.37px + 846.29px + 848.21px + 850.13px + 852.05px + 853.97px + 855.89px + 857.81px + 859.73px + 861.64px + 863.56px + 865.48px + 867.4px + 869.32px + 871.24px + 873.16px + 875.08px + 877.0px + 878.92px + 880.83px + 882.75px + 884.67px + 886.59px + 888.51px + 890.43px + 892.35px + 894.27px + 896.19px + 898.11px + 900.03px + 901.94px + 903.86px + 905.78px + 907.7px + 909.62px + 911.54px + 913.46px + 915.38px + 917.3px + 919.22px + 921.13px + 923.05px + 924.97px + 926.89px + 928.81px + 930.73px + 932.65px + 934.57px + 936.49px + 938.41px + 940.32px + 942.24px + 944.16px + 946.08px + 948.0px + 949.92px + 951.84px + 953.76px + 955.68px + 957.6px + 959.52px + 961.43px + 963.35px + 965.27px + 967.19px + 969.11px + 971.03px + 972.95px + 974.87px + 976.79px + 978.71px + 980.62px + 982.54px + 984.46px + 986.38px + 988.3px + 990.22px + 992.14px + 994.06px + 995.98px + 997.9px + 999.82px + 1001.73px + 1003.65px + 1005.57px + 1007.49px + 1009.41px + 1011.33px + 1013.25px + 1015.17px + 1017.09px + 1019.01px + 1020.92px + 1022.84px + 1024.76px + 1026.68px + 1028.6px + 1030.52px + 1032.44px + 1034.36px + 1036.28px + 1038.2px + 1040.11px + 1042.03px + 1043.95px + 1045.87px + 1047.79px + 1049.71px + 1051.63px + 1053.55px + 1055.47px + 1057.39px + 1059.31px + 1061.22px + 1063.14px + 1065.06px + 1066.98px + 1068.9px + 1070.82px + 1072.74px + 1074.66px + 1076.58px + 1078.5px + 1080.41px + 1082.33px + 1084.25px + 1086.17px + 1088.09px + 1090.01px + 1091.93px + 1093.85px + 1095.77px + 1097.69px + 1099.61px + 1101.52px + 1103.44px + 1105.36px + 1107.28px + 1109.2px + 1111.12px + 1113.04px + 1114.96px + 1116.88px + 1118.8px + 1120.71px + 1122.63px + 1124.55px + 1126.47px + 1128.39px + 1130.31px + 1132.23px + 1134.15px + 1136.07px + 1137.99px + 1139.91px + 1141.82px + 1143.74px + 1145.66px + 1147.58px + 1149.5px + 1151.42px + 1153.34px + 1155.26px + 1157.18px + 1159.1px + 1161.01px + 1162.93px + 1164.85px + 1166.77px + 1168.69px + 1170.61px + 1172.53px + 1174.45px + 1176.37px + 1178.29px + 1180.2px + 1182.12px + 1184.04px + 1185.96px + 1187.88px + 1189.8px + 1191.72px + 1193.64px + 1195.56px + 1197.48px + 1199.4px + 1201.31px + 1203.23px + 1205.15px + 1207.07px + 1208.99px + 1210.91px + 1212.83px + 1214.75px + 1216.67px + 1218.59px + 1220.5px + 1222.42px + 1224.34px + 1226.26px + 1228.18px + 1230.1px + 1232.02px + 1233.94px + 1235.86px + 1237.78px + 1239.7px + 1241.61px + 1243.53px + 1245.45px + 1247.37px + 1249.29px + 1251.21px + 1253.13px + 1255.05px + 1256.97px + 1258.89px + 1260.8px + 1262.72px + 1264.64px + 1266.56px + 1268.48px + 1270.4px + 1272.32px + 1274.24px + 1276.16px + 1278.08px + 1280.0px + 1281.91px + 1283.83px + 1285.75px + 1287.67px + 1289.59px + 1291.51px + 1293.43px + 1295.35px + 1297.27px + 1299.19px + 1301.1px + 1303.02px + 1304.94px + 1306.86px + 1308.78px + 1310.7px + 1312.62px + 1314.54px + 1316.46px + 1318.38px + 1320.29px + 1322.21px + 1324.13px + 1326.05px + 1327.97px + 1329.89px + 1331.81px + 1333.73px + 1335.65px + 1337.57px + 1339.49px + 1341.4px + 1343.32px + 1345.24px + 1347.16px + 1349.08px + 1351.0px + 1352.92px + 1354.84px + 1356.76px + 1358.68px + 1360.59px + 1362.51px + 1364.43px + 1366.35px + 1368.27px + 1370.19px + 1372.11px + 1374.03px + 1375.95px + 1377.87px + 1379.79px + 1381.7px + 1383.62px + 1385.54px + 1387.46px + 1389.38px + 1391.3px + 1393.22px + 1395.14px + 1397.06px + 1398.98px + 1400.89px + 1402.81px + 1404.73px + 1406.65px + 1408.57px + 1410.49px + 1412.41px + 1414.33px + 1416.25px + 1418.17px + 1420.09px + 1422.0px + 1423.92px + 1425.84px + 1427.76px + 1429.68px + 1431.6px + 1433.52px + 1435.44px + 1437.36px + 1439.28px + 1441.19px + 1443.11px + 1445.03px + 1446.95px + 1448.87px + 1450.79px + 1452.71px + 1454.63px + 1456.55px + 1458.47px + 1460.38px + 1462.3px + 1464.22px + 1466.14px + 1468.06px + 1469.98px + 1471.9px + 1473.82px + 1475.74px + 1477.66px + 1479.58px + 1481.49px + 1483.41px + 1485.33px + 1487.25px + 1489.17px + 1491.09px + 1493.01px + 1494.93px + 1496.85px + 1498.77px + 1500.68px + 1502.6px + 1504.52px + 1506.44px + 1508.36px + 1510.28px + 1512.2px + 1514.12px + 1516.04px + 1517.96px + 1519.88px + 1521.79px + 1523.71px + 1525.63px + 1527.55px + 1529.47px + 1531.39px + 1533.31px + 1535.23px + 1537.15px + 1539.07px + 1540.98px + 1542.9px + 1544.82px + 1546.74px + 1548.66px + 1550.58px + 1552.5px + 1554.42px + 1556.34px + 1558.26px + 1560.18px + 1562.09px + 1564.01px + 1565.93px + 1567.85px + 1569.77px + 1571.69px + 1573.61px + 1575.53px + 1577.45px + 1579.37px + 1581.28px + 1583.2px + 1585.12px + 1587.04px + 1588.96px + 1590.88px + 1592.8px + 1594.72px + 1596.64px + 1598.56px + 1600.47px + 1602.39px + 1604.31px + 1606.23px + 1608.15px + 1610.07px + 1611.99px + 1613.91px + 1615.83px + 1617.75px + 1619.67px + 1621.58px + 1623.5px + 1625.42px + 1627.34px + 1629.26px + 1631.18px + 1633.1px + 1635.02px + 1636.94px + 1638.86px + 1640.77px + 1642.69px + 1644.61px + 1646.53px + 1648.45px + 1650.37px + 1652.29px + 1654.21px + 1656.13px + 1658.05px + 1659.97px + 1661.88px + 1663.8px + 1665.72px + 1667.64px + 1669.56px + 1671.48px + 1673.4px + 1675.32px + 1677.24px + 1679.16px + 1681.07px + 1682.99px + 1684.91px + 1686.83px + 1688.75px + 1690.67px + 1692.59px + 1694.51px + 1696.43px + 1698.35px + 1700.26px + 1702.18px + 1704.1px + 1706.02px + 1707.94px + 1709.86px + 1711.78px + 1713.7px + 1715.62px + 1717.54px + 1719.46px + 1721.37px + 1723.29px + 1725.21px + 1727.13px + 1729.05px + 1730.97px + 1732.89px + 1734.81px + 1736.73px + 1738.65px + 1740.56px + 1742.48px + 1744.4px + 1746.32px + 1748.24px + 1750.16px + 1752.08px + 1754.0px + 1755.92px + 1757.84px + 1759.76px + 1761.67px + 1763.59px + 1765.51px + 1767.43px + 1769.35px + 1771.27px + 1773.19px + 1775.11px + 1777.03px + 1778.95px + 1780.86px + 1782.78px + 1784.7px + 1786.62px + 1788.54px + 1790.46px + 1792.38px + 1794.3px + 1796.22px + 1798.14px + 1800.06px + 1801.97px + 1803.89px + 1805.81px + 1807.73px + 1809.65px + 1811.57px + 1813.49px + 1815.41px + 1817.33px + 1819.25px + 1821.16px + 1823.08px + 1825.0px + 1826.92px + 1828.84px + 1830.76px + 1832.68px + 1834.6px + 1836.52px + 1838.44px + 1840.35px + 1842.27px + 1844.19px + 1846.11px + 1848.03px + 1849.95px + 1851.87px + 1853.79px + 1855.71px + 1857.63px + 1859.55px + 1861.46px + 1863.38px + 1865.3px + 1867.22px + 1869.14px + 1871.06px + 1872.98px + 1874.9px + 1876.82px + 1878.74px + 1880.65px + 1882.57px + 1884.49px + 1886.41px + 1888.33px + 1890.25px + 1892.17px + 1894.09px + 1896.01px + 1897.93px + 1899.85px + 1901.76px + 1903.68px + 1905.6px + 1907.52px + 1909.44px + 1911.36px + 1913.28px + 1915.2px + 1917.12px + 1919.04px + 1920.95px + 1922.87px + 1924.79px + 1926.71px + 1928.63px + 1930.55px + 1932.47px + 1934.39px + 1936.31px + 1938.23px + 1940.14px + 1942.06px + 1943.98px + 1945.9px + 1947.82px + 1949.74px + 1951.66px + 1953.58px + 1955.5px + 1957.42px + 1959.34px + 1961.25px + 1963.17px + 1965.09px + 1967.01px + 1968.93px + 1970.85px + 1972.77px + 1974.69px + 1976.61px + 1978.53px + 1980.44px + 1982.36px + 1984.28px + 1986.2px + 1988.12px + 1990.04px + 1991.96px + 1993.88px + 1995.8px + 1997.72px + 1999.64px + 2001.55px + 2003.47px + 2005.39px + 2007.31px + 2009.23px + 2011.15px + 2013.07px + 2014.99px + 2016.91px + 2018.83px + 2020.74px + 2022.66px + 2024.58px + 2026.5px + 2028.42px + 2030.34px + 2032.26px + 2034.18px + 2036.1px + 2038.02px + 2039.94px + 2041.85px + 2043.77px + 2045.69px + 2047.61px + 2049.53px + 2051.45px + 2053.37px + 2055.29px + 2057.21px + 2059.13px + 2061.04px + 2062.96px + 2064.88px + 2066.8px + 2068.72px + 2070.64px + 2072.56px + 2074.48px + 2076.4px + 2078.32px + 2080.23px + 2082.15px + 2084.07px + 2085.99px + 2087.91px + 2089.83px + 2091.75px + 2093.67px + 2095.59px + 2097.51px + 2099.43px + 2101.34px + 2103.26px + 2105.18px + 2107.1px + 2109.02px + 2110.94px + 2112.86px + 2114.78px + 2116.7px + 2118.62px + 2120.53px + 2122.45px + 2124.37px + 2126.29px + 2128.21px + 2130.13px + 2132.05px + 2133.97px + 2135.89px + 2137.81px + 2139.73px + 2141.64px + 2143.56px + 2145.48px + 2147.4px + 2149.32px + 2151.24px + 2153.16px + 2155.08px + 2157.0px + 2158.92px + 2160.83px + 2162.75px + 2164.67px + 2166.59px + 2168.51px + 2170.43px + 2172.35px + 2174.27px + 2176.19px + 2178.11px + 2180.03px + 2181.94px + 2183.86px + 2185.78px + 2187.7px + 2189.62px + 2191.54px + 2193.46px + 2195.38px + 2197.3px + 2199.22px + 2201.13px + 2203.05px + 2204.97px + 2206.89px + 2208.81px + 2210.73px + 2212.65px + 2214.57px + 2216.49px + 2218.41px + 2220.32px + 2222.24px + 2224.16px + 2226.08px + 2228.0px + 2229.92px + 2231.84px + 2233.76px + 2235.68px + 2237.6px + 2239.52px + 2241.43px + 2243.35px + 2245.27px + 2247.19px + 2249.11px + 2251.03px + 2252.95px + 2254.87px + 2256.79px + 2258.71px + 2260.62px + 2262.54px + 2264.46px + 2266.38px + 2268.3px + 2270.22px + 2272.14px + 2274.06px + 2275.98px + 2277.9px + 2279.82px + 2281.73px + 2283.65px + 2285.57px + 2287.49px + 2289.41px + 2291.33px + 2293.25px + 2295.17px + 2297.09px + 2299.01px + 2300.92px + 2302.84px + 2304.76px + 2306.68px + 2308.6px + 2310.52px + 2312.44px + 2314.36px + 2316.28px + 2318.2px + 2320.11px + 2322.03px + 2323.95px + 2325.87px + 2327.79px + 2329.71px + 2331.63px + 2333.55px + 2335.47px + 2337.39px + 2339.31px + 2341.22px + 2343.14px + 2345.06px + 2346.98px + 2348.9px + 2350.82px + 2352.74px + 2354.66px + 2356.58px + 2358.5px + 2360.41px + 2362.33px + 2364.25px + 2366.17px + 2368.09px + 2370.01px + 2371.93px + 2373.85px + 2375.77px + 2377.69px + 2379.61px + 2381.52px + 2383.44px + 2385.36px + 2387.28px + 2389.2px + 2391.12px + 2393.04px + 2394.96px + 2396.88px + 2398.8px + 2400.71px + 2402.63px + 2404.55px + 2406.47px + 2408.39px + 2410.31px + 2412.23px + 2414.15px + 2416.07px + 2417.99px + 2419.9px + 2421.82px + 2423.74px + 2425.66px + 2427.58px + 2429.5px + 2431.42px + 2433.34px + 2435.26px + 2437.18px + 2439.1px + 2441.01px + 2442.93px + 2444.85px + 2446.77px + 2448.69px + 2450.61px + 2452.53px + 2454.45px + 2456.37px + 2458.29px + 2460.21px + 2462.12px + 2464.04px + 2465.96px + 2467.88px + 2469.8px + 2471.72px + 2473.64px + 2475.56px + 2477.48px + 2479.4px + 2481.31px + 2483.23px + 2485.15px + 2487.07px + 2488.99px + 2490.91px + 2492.83px + 2494.75px + 2496.67px + 2498.59px + 2500.5px + 2502.42px + 2504.34px + 2506.26px + 2508.18px + 2510.1px + 2512.02px + 2513.94px + 2515.86px + 2517.78px + 2519.7px + 2521.61px + 2523.53px + 2525.45px + 2527.37px + 2529.29px + 2531.21px + 2533.13px + 2535.05px + 2536.97px + 2538.89px + 2540.8px + 2542.72px + 2544.64px + 2546.56px + 2548.48px + 2550.4px + 2552.32px + 2554.24px + 2556.16px + 2558.08px + 2560px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-2560x1440/lay_x.xml b/FaceUnity/src/main/res/values-2560x1440/lay_x.xml new file mode 100644 index 000000000..d1a0dd299 --- /dev/null +++ b/FaceUnity/src/main/res/values-2560x1440/lay_x.xml @@ -0,0 +1,753 @@ + + + 1.92px + 3.84px + 5.76px + 7.68px + 9.59px + 11.52px + 13.44px + 15.36px + 17.27px + 19.19px + 21.12px + 23.04px + 24.96px + 26.88px + 28.8px + 30.72px + 32.64px + 34.55px + 36.48px + 38.39px + 40.32px + 42.24px + 44.16px + 46.08px + 48.0px + 49.92px + 51.84px + 53.76px + 55.68px + 57.6px + 59.52px + 61.44px + 63.35px + 65.28px + 67.19px + 69.11px + 71.04px + 72.96px + 74.87px + 76.79px + 78.72px + 80.64px + 82.56px + 84.48px + 86.4px + 88.32px + 90.24px + 92.16px + 94.07px + 96.0px + 97.92px + 99.84px + 101.75px + 103.68px + 105.6px + 107.52px + 109.43px + 111.36px + 113.28px + 115.2px + 117.12px + 119.04px + 120.96px + 122.88px + 124.8px + 126.71px + 128.64px + 130.56px + 132.48px + 134.39px + 136.31px + 138.23px + 140.16px + 142.08px + 144.0px + 145.92px + 147.84px + 149.75px + 151.67px + 153.59px + 155.51px + 157.44px + 159.36px + 161.28px + 163.2px + 165.12px + 167.04px + 168.96px + 170.87px + 172.8px + 174.72px + 176.64px + 178.56px + 180.48px + 182.4px + 184.32px + 186.24px + 188.15px + 190.08px + 192.0px + 193.92px + 195.84px + 197.76px + 199.68px + 201.6px + 203.51px + 205.44px + 207.36px + 209.28px + 211.2px + 213.12px + 215.04px + 216.96px + 218.87px + 220.79px + 222.72px + 224.64px + 226.56px + 228.48px + 230.4px + 232.32px + 234.24px + 236.15px + 238.08px + 240.0px + 241.92px + 243.84px + 245.76px + 247.68px + 249.6px + 251.51px + 253.43px + 255.36px + 257.28px + 259.19px + 261.12px + 263.04px + 264.96px + 266.88px + 268.79px + 270.72px + 272.63px + 274.56px + 276.47px + 278.4px + 280.32px + 282.24px + 284.16px + 286.07px + 288.0px + 289.91px + 291.84px + 293.75px + 295.68px + 297.6px + 299.51px + 301.44px + 303.35px + 305.28px + 307.19px + 309.12px + 311.03px + 312.96px + 314.88px + 316.79px + 318.72px + 320.63px + 322.56px + 324.47px + 326.4px + 328.32px + 330.24px + 332.16px + 334.08px + 336.0px + 337.92px + 339.84px + 341.75px + 343.68px + 345.6px + 347.52px + 349.44px + 351.36px + 353.28px + 355.2px + 357.12px + 359.03px + 360.96px + 362.88px + 364.8px + 366.72px + 368.64px + 370.56px + 372.48px + 374.4px + 376.31px + 378.24px + 380.16px + 382.08px + 384.0px + 385.92px + 387.84px + 389.75px + 391.68px + 393.6px + 395.52px + 397.44px + 399.36px + 401.28px + 403.2px + 405.12px + 407.03px + 408.96px + 410.88px + 412.8px + 414.72px + 416.64px + 418.56px + 420.48px + 422.4px + 424.31px + 426.24px + 428.16px + 430.08px + 432.0px + 433.92px + 435.84px + 437.75px + 439.68px + 441.59px + 443.52px + 445.44px + 447.36px + 449.28px + 451.2px + 453.12px + 455.03px + 456.96px + 458.88px + 460.8px + 462.72px + 464.64px + 466.56px + 468.48px + 470.4px + 472.31px + 474.24px + 476.16px + 478.08px + 480.0px + 481.92px + 483.84px + 485.75px + 487.68px + 489.59px + 491.52px + 493.44px + 495.36px + 497.28px + 499.2px + 501.12px + 503.03px + 504.96px + 506.87px + 508.8px + 510.72px + 512.64px + 514.56px + 516.48px + 518.39px + 520.32px + 522.24px + 524.15px + 526.08px + 528.0px + 529.92px + 531.83px + 533.76px + 535.68px + 537.59px + 539.51px + 541.44px + 543.36px + 545.27px + 547.2px + 549.12px + 551.03px + 552.95px + 554.88px + 556.8px + 558.71px + 560.64px + 562.56px + 564.48px + 566.39px + 568.32px + 570.24px + 572.15px + 574.08px + 576.0px + 577.92px + 579.83px + 581.76px + 583.68px + 585.59px + 587.51px + 589.44px + 591.36px + 593.27px + 595.2px + 597.12px + 599.03px + 600.95px + 602.88px + 604.8px + 606.71px + 608.64px + 610.56px + 612.48px + 614.39px + 616.32px + 618.24px + 620.15px + 622.07px + 624.0px + 625.92px + 627.83px + 629.76px + 631.68px + 633.59px + 635.51px + 637.44px + 639.36px + 641.27px + 643.2px + 645.12px + 647.03px + 648.95px + 650.88px + 652.8px + 654.71px + 656.64px + 658.56px + 660.48px + 662.4px + 664.32px + 666.24px + 668.16px + 670.07px + 672.0px + 673.92px + 675.84px + 677.76px + 679.68px + 681.6px + 683.51px + 685.44px + 687.36px + 689.28px + 691.2px + 693.12px + 695.04px + 696.96px + 698.88px + 700.8px + 702.72px + 704.64px + 706.56px + 708.48px + 710.4px + 712.32px + 714.24px + 716.16px + 718.07px + 720.0px + 721.92px + 723.84px + 725.76px + 727.68px + 729.6px + 731.51px + 733.44px + 735.36px + 737.28px + 739.2px + 741.12px + 743.04px + 744.96px + 746.88px + 748.8px + 750.72px + 752.63px + 754.56px + 756.48px + 758.4px + 760.32px + 762.24px + 764.16px + 766.07px + 768.0px + 769.92px + 771.84px + 773.76px + 775.68px + 777.6px + 779.51px + 781.44px + 783.36px + 785.28px + 787.2px + 789.12px + 791.04px + 792.96px + 794.88px + 796.8px + 798.72px + 800.63px + 802.56px + 804.48px + 806.4px + 808.32px + 810.24px + 812.16px + 814.07px + 816.0px + 817.92px + 819.84px + 821.76px + 823.68px + 825.6px + 827.51px + 829.44px + 831.36px + 833.28px + 835.19px + 837.12px + 839.04px + 840.96px + 842.88px + 844.8px + 846.72px + 848.63px + 850.56px + 852.48px + 854.4px + 856.32px + 858.24px + 860.16px + 862.07px + 864.0px + 865.92px + 867.84px + 869.76px + 871.68px + 873.6px + 875.51px + 877.44px + 879.36px + 881.28px + 883.19px + 885.12px + 887.04px + 888.96px + 890.88px + 892.8px + 894.72px + 896.63px + 898.56px + 900.48px + 902.4px + 904.32px + 906.24px + 908.16px + 910.07px + 912.0px + 913.92px + 915.84px + 917.76px + 919.68px + 921.6px + 923.51px + 925.44px + 927.36px + 929.28px + 931.19px + 933.12px + 935.04px + 936.96px + 938.88px + 940.8px + 942.72px + 944.63px + 946.56px + 948.48px + 950.4px + 952.32px + 954.24px + 956.16px + 958.07px + 960.0px + 961.92px + 963.84px + 965.75px + 967.68px + 969.6px + 971.51px + 973.44px + 975.36px + 977.28px + 979.19px + 981.12px + 983.04px + 984.96px + 986.88px + 988.8px + 990.72px + 992.63px + 994.56px + 996.48px + 998.4px + 1000.32px + 1002.24px + 1004.16px + 1006.07px + 1008.0px + 1009.92px + 1011.84px + 1013.75px + 1015.68px + 1017.6px + 1019.51px + 1021.44px + 1023.36px + 1025.28px + 1027.19px + 1029.12px + 1031.03px + 1032.96px + 1034.88px + 1036.79px + 1038.72px + 1040.64px + 1042.55px + 1044.48px + 1046.4px + 1048.31px + 1050.24px + 1052.16px + 1054.07px + 1056.0px + 1057.91px + 1059.84px + 1061.76px + 1063.67px + 1065.6px + 1067.52px + 1069.43px + 1071.36px + 1073.28px + 1075.19px + 1077.12px + 1079.03px + 1080.96px + 1082.88px + 1084.79px + 1086.72px + 1088.64px + 1090.55px + 1092.48px + 1094.4px + 1096.31px + 1098.24px + 1100.16px + 1102.07px + 1104.0px + 1105.91px + 1107.84px + 1109.76px + 1111.67px + 1113.6px + 1115.52px + 1117.43px + 1119.36px + 1121.28px + 1123.19px + 1125.12px + 1127.03px + 1128.96px + 1130.88px + 1132.79px + 1134.72px + 1136.64px + 1138.55px + 1140.48px + 1142.4px + 1144.31px + 1146.24px + 1148.16px + 1150.07px + 1152.0px + 1153.91px + 1155.84px + 1157.76px + 1159.67px + 1161.6px + 1163.52px + 1165.43px + 1167.36px + 1169.28px + 1171.19px + 1173.12px + 1175.03px + 1176.96px + 1178.88px + 1180.79px + 1182.72px + 1184.64px + 1186.55px + 1188.48px + 1190.4px + 1192.31px + 1194.24px + 1196.16px + 1198.07px + 1200.0px + 1201.91px + 1203.84px + 1205.76px + 1207.67px + 1209.6px + 1211.52px + 1213.43px + 1215.36px + 1217.28px + 1219.19px + 1221.12px + 1223.03px + 1224.96px + 1226.88px + 1228.79px + 1230.72px + 1232.64px + 1234.55px + 1236.48px + 1238.4px + 1240.31px + 1242.24px + 1244.15px + 1246.07px + 1248.0px + 1249.91px + 1251.84px + 1253.76px + 1255.67px + 1257.6px + 1259.52px + 1261.43px + 1263.36px + 1265.28px + 1267.19px + 1269.12px + 1271.03px + 1272.96px + 1274.88px + 1276.79px + 1278.72px + 1280.64px + 1282.55px + 1284.48px + 1286.4px + 1288.31px + 1290.24px + 1292.15px + 1294.07px + 1296.0px + 1297.91px + 1299.84px + 1301.76px + 1303.67px + 1305.6px + 1307.52px + 1309.43px + 1311.36px + 1313.28px + 1315.2px + 1317.12px + 1319.03px + 1320.96px + 1322.88px + 1324.8px + 1326.72px + 1328.64px + 1330.56px + 1332.48px + 1334.4px + 1336.32px + 1338.24px + 1340.15px + 1342.08px + 1344.0px + 1345.92px + 1347.84px + 1349.76px + 1351.68px + 1353.6px + 1355.52px + 1357.44px + 1359.36px + 1361.28px + 1363.2px + 1365.12px + 1367.03px + 1368.96px + 1370.88px + 1372.8px + 1374.72px + 1376.64px + 1378.56px + 1380.48px + 1382.4px + 1384.32px + 1386.24px + 1388.15px + 1390.08px + 1392.0px + 1393.92px + 1395.84px + 1397.76px + 1399.68px + 1401.6px + 1403.52px + 1405.44px + 1407.36px + 1409.28px + 1411.2px + 1413.12px + 1415.03px + 1416.96px + 1418.88px + 1420.8px + 1422.72px + 1424.64px + 1426.56px + 1428.48px + 1430.4px + 1432.32px + 1434.24px + 1436.15px + 1438.08px + 1440px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-2560x1440/lay_y.xml b/FaceUnity/src/main/res/values-2560x1440/lay_y.xml new file mode 100644 index 000000000..575fe5707 --- /dev/null +++ b/FaceUnity/src/main/res/values-2560x1440/lay_y.xml @@ -0,0 +1,1337 @@ + + + 1.91px + 3.83px + 5.75px + 7.67px + 9.59px + 11.51px + 13.43px + 15.35px + 17.27px + 19.19px + 21.1px + 23.02px + 24.94px + 26.86px + 28.78px + 30.7px + 32.62px + 34.54px + 36.46px + 38.38px + 40.29px + 42.21px + 44.13px + 46.05px + 47.97px + 49.89px + 51.81px + 53.73px + 55.65px + 57.57px + 59.49px + 61.4px + 63.32px + 65.24px + 67.16px + 69.08px + 71.0px + 72.92px + 74.84px + 76.76px + 78.68px + 80.59px + 82.51px + 84.43px + 86.35px + 88.27px + 90.19px + 92.11px + 94.03px + 95.95px + 97.87px + 99.79px + 101.7px + 103.62px + 105.54px + 107.46px + 109.38px + 111.3px + 113.22px + 115.14px + 117.06px + 118.98px + 120.89px + 122.81px + 124.73px + 126.65px + 128.57px + 130.49px + 132.41px + 134.33px + 136.25px + 138.17px + 140.08px + 142.0px + 143.92px + 145.84px + 147.76px + 149.68px + 151.6px + 153.52px + 155.44px + 157.36px + 159.28px + 161.19px + 163.11px + 165.03px + 166.95px + 168.87px + 170.79px + 172.71px + 174.63px + 176.55px + 178.47px + 180.38px + 182.3px + 184.22px + 186.14px + 188.06px + 189.98px + 191.9px + 193.82px + 195.74px + 197.66px + 199.58px + 201.49px + 203.41px + 205.33px + 207.25px + 209.17px + 211.09px + 213.01px + 214.93px + 216.85px + 218.77px + 220.68px + 222.6px + 224.52px + 226.44px + 228.36px + 230.28px + 232.2px + 234.12px + 236.04px + 237.96px + 239.88px + 241.79px + 243.71px + 245.63px + 247.55px + 249.47px + 251.39px + 253.31px + 255.23px + 257.15px + 259.07px + 260.98px + 262.9px + 264.82px + 266.74px + 268.66px + 270.58px + 272.5px + 274.42px + 276.34px + 278.26px + 280.17px + 282.09px + 284.01px + 285.93px + 287.85px + 289.77px + 291.69px + 293.61px + 295.53px + 297.45px + 299.37px + 301.28px + 303.2px + 305.12px + 307.04px + 308.96px + 310.88px + 312.8px + 314.72px + 316.64px + 318.56px + 320.47px + 322.39px + 324.31px + 326.23px + 328.15px + 330.07px + 331.99px + 333.91px + 335.83px + 337.75px + 339.67px + 341.58px + 343.5px + 345.42px + 347.34px + 349.26px + 351.18px + 353.1px + 355.02px + 356.94px + 358.86px + 360.77px + 362.69px + 364.61px + 366.53px + 368.45px + 370.37px + 372.29px + 374.21px + 376.13px + 378.05px + 379.97px + 381.88px + 383.8px + 385.72px + 387.64px + 389.56px + 391.48px + 393.4px + 395.32px + 397.24px + 399.16px + 401.07px + 402.99px + 404.91px + 406.83px + 408.75px + 410.67px + 412.59px + 414.51px + 416.43px + 418.35px + 420.26px + 422.18px + 424.1px + 426.02px + 427.94px + 429.86px + 431.78px + 433.7px + 435.62px + 437.54px + 439.46px + 441.37px + 443.29px + 445.21px + 447.13px + 449.05px + 450.97px + 452.89px + 454.81px + 456.73px + 458.65px + 460.56px + 462.48px + 464.4px + 466.32px + 468.24px + 470.16px + 472.08px + 474.0px + 475.92px + 477.84px + 479.76px + 481.67px + 483.59px + 485.51px + 487.43px + 489.35px + 491.27px + 493.19px + 495.11px + 497.03px + 498.95px + 500.86px + 502.78px + 504.7px + 506.62px + 508.54px + 510.46px + 512.38px + 514.3px + 516.22px + 518.14px + 520.05px + 521.97px + 523.89px + 525.81px + 527.73px + 529.65px + 531.57px + 533.49px + 535.41px + 537.33px + 539.25px + 541.16px + 543.08px + 545.0px + 546.92px + 548.84px + 550.76px + 552.68px + 554.6px + 556.52px + 558.44px + 560.35px + 562.27px + 564.19px + 566.11px + 568.03px + 569.95px + 571.87px + 573.79px + 575.71px + 577.63px + 579.55px + 581.46px + 583.38px + 585.3px + 587.22px + 589.14px + 591.06px + 592.98px + 594.9px + 596.82px + 598.74px + 600.65px + 602.57px + 604.49px + 606.41px + 608.33px + 610.25px + 612.17px + 614.09px + 616.01px + 617.93px + 619.85px + 621.76px + 623.68px + 625.6px + 627.52px + 629.44px + 631.36px + 633.28px + 635.2px + 637.12px + 639.04px + 640.95px + 642.87px + 644.79px + 646.71px + 648.63px + 650.55px + 652.47px + 654.39px + 656.31px + 658.23px + 660.14px + 662.06px + 663.98px + 665.9px + 667.82px + 669.74px + 671.66px + 673.58px + 675.5px + 677.42px + 679.34px + 681.25px + 683.17px + 685.09px + 687.01px + 688.93px + 690.85px + 692.77px + 694.69px + 696.61px + 698.53px + 700.44px + 702.36px + 704.28px + 706.2px + 708.12px + 710.04px + 711.96px + 713.88px + 715.8px + 717.72px + 719.64px + 721.55px + 723.47px + 725.39px + 727.31px + 729.23px + 731.15px + 733.07px + 734.99px + 736.91px + 738.83px + 740.74px + 742.66px + 744.58px + 746.5px + 748.42px + 750.34px + 752.26px + 754.18px + 756.1px + 758.02px + 759.94px + 761.85px + 763.77px + 765.69px + 767.61px + 769.53px + 771.45px + 773.37px + 775.29px + 777.21px + 779.13px + 781.04px + 782.96px + 784.88px + 786.8px + 788.72px + 790.64px + 792.56px + 794.48px + 796.4px + 798.32px + 800.23px + 802.15px + 804.07px + 805.99px + 807.91px + 809.83px + 811.75px + 813.67px + 815.59px + 817.51px + 819.43px + 821.34px + 823.26px + 825.18px + 827.1px + 829.02px + 830.94px + 832.86px + 834.78px + 836.7px + 838.62px + 840.53px + 842.45px + 844.37px + 846.29px + 848.21px + 850.13px + 852.05px + 853.97px + 855.89px + 857.81px + 859.73px + 861.64px + 863.56px + 865.48px + 867.4px + 869.32px + 871.24px + 873.16px + 875.08px + 877.0px + 878.92px + 880.83px + 882.75px + 884.67px + 886.59px + 888.51px + 890.43px + 892.35px + 894.27px + 896.19px + 898.11px + 900.03px + 901.94px + 903.86px + 905.78px + 907.7px + 909.62px + 911.54px + 913.46px + 915.38px + 917.3px + 919.22px + 921.13px + 923.05px + 924.97px + 926.89px + 928.81px + 930.73px + 932.65px + 934.57px + 936.49px + 938.41px + 940.32px + 942.24px + 944.16px + 946.08px + 948.0px + 949.92px + 951.84px + 953.76px + 955.68px + 957.6px + 959.52px + 961.43px + 963.35px + 965.27px + 967.19px + 969.11px + 971.03px + 972.95px + 974.87px + 976.79px + 978.71px + 980.62px + 982.54px + 984.46px + 986.38px + 988.3px + 990.22px + 992.14px + 994.06px + 995.98px + 997.9px + 999.82px + 1001.73px + 1003.65px + 1005.57px + 1007.49px + 1009.41px + 1011.33px + 1013.25px + 1015.17px + 1017.09px + 1019.01px + 1020.92px + 1022.84px + 1024.76px + 1026.68px + 1028.6px + 1030.52px + 1032.44px + 1034.36px + 1036.28px + 1038.2px + 1040.11px + 1042.03px + 1043.95px + 1045.87px + 1047.79px + 1049.71px + 1051.63px + 1053.55px + 1055.47px + 1057.39px + 1059.31px + 1061.22px + 1063.14px + 1065.06px + 1066.98px + 1068.9px + 1070.82px + 1072.74px + 1074.66px + 1076.58px + 1078.5px + 1080.41px + 1082.33px + 1084.25px + 1086.17px + 1088.09px + 1090.01px + 1091.93px + 1093.85px + 1095.77px + 1097.69px + 1099.61px + 1101.52px + 1103.44px + 1105.36px + 1107.28px + 1109.2px + 1111.12px + 1113.04px + 1114.96px + 1116.88px + 1118.8px + 1120.71px + 1122.63px + 1124.55px + 1126.47px + 1128.39px + 1130.31px + 1132.23px + 1134.15px + 1136.07px + 1137.99px + 1139.91px + 1141.82px + 1143.74px + 1145.66px + 1147.58px + 1149.5px + 1151.42px + 1153.34px + 1155.26px + 1157.18px + 1159.1px + 1161.01px + 1162.93px + 1164.85px + 1166.77px + 1168.69px + 1170.61px + 1172.53px + 1174.45px + 1176.37px + 1178.29px + 1180.2px + 1182.12px + 1184.04px + 1185.96px + 1187.88px + 1189.8px + 1191.72px + 1193.64px + 1195.56px + 1197.48px + 1199.4px + 1201.31px + 1203.23px + 1205.15px + 1207.07px + 1208.99px + 1210.91px + 1212.83px + 1214.75px + 1216.67px + 1218.59px + 1220.5px + 1222.42px + 1224.34px + 1226.26px + 1228.18px + 1230.1px + 1232.02px + 1233.94px + 1235.86px + 1237.78px + 1239.7px + 1241.61px + 1243.53px + 1245.45px + 1247.37px + 1249.29px + 1251.21px + 1253.13px + 1255.05px + 1256.97px + 1258.89px + 1260.8px + 1262.72px + 1264.64px + 1266.56px + 1268.48px + 1270.4px + 1272.32px + 1274.24px + 1276.16px + 1278.08px + 1280.0px + 1281.91px + 1283.83px + 1285.75px + 1287.67px + 1289.59px + 1291.51px + 1293.43px + 1295.35px + 1297.27px + 1299.19px + 1301.1px + 1303.02px + 1304.94px + 1306.86px + 1308.78px + 1310.7px + 1312.62px + 1314.54px + 1316.46px + 1318.38px + 1320.29px + 1322.21px + 1324.13px + 1326.05px + 1327.97px + 1329.89px + 1331.81px + 1333.73px + 1335.65px + 1337.57px + 1339.49px + 1341.4px + 1343.32px + 1345.24px + 1347.16px + 1349.08px + 1351.0px + 1352.92px + 1354.84px + 1356.76px + 1358.68px + 1360.59px + 1362.51px + 1364.43px + 1366.35px + 1368.27px + 1370.19px + 1372.11px + 1374.03px + 1375.95px + 1377.87px + 1379.79px + 1381.7px + 1383.62px + 1385.54px + 1387.46px + 1389.38px + 1391.3px + 1393.22px + 1395.14px + 1397.06px + 1398.98px + 1400.89px + 1402.81px + 1404.73px + 1406.65px + 1408.57px + 1410.49px + 1412.41px + 1414.33px + 1416.25px + 1418.17px + 1420.09px + 1422.0px + 1423.92px + 1425.84px + 1427.76px + 1429.68px + 1431.6px + 1433.52px + 1435.44px + 1437.36px + 1439.28px + 1441.19px + 1443.11px + 1445.03px + 1446.95px + 1448.87px + 1450.79px + 1452.71px + 1454.63px + 1456.55px + 1458.47px + 1460.38px + 1462.3px + 1464.22px + 1466.14px + 1468.06px + 1469.98px + 1471.9px + 1473.82px + 1475.74px + 1477.66px + 1479.58px + 1481.49px + 1483.41px + 1485.33px + 1487.25px + 1489.17px + 1491.09px + 1493.01px + 1494.93px + 1496.85px + 1498.77px + 1500.68px + 1502.6px + 1504.52px + 1506.44px + 1508.36px + 1510.28px + 1512.2px + 1514.12px + 1516.04px + 1517.96px + 1519.88px + 1521.79px + 1523.71px + 1525.63px + 1527.55px + 1529.47px + 1531.39px + 1533.31px + 1535.23px + 1537.15px + 1539.07px + 1540.98px + 1542.9px + 1544.82px + 1546.74px + 1548.66px + 1550.58px + 1552.5px + 1554.42px + 1556.34px + 1558.26px + 1560.18px + 1562.09px + 1564.01px + 1565.93px + 1567.85px + 1569.77px + 1571.69px + 1573.61px + 1575.53px + 1577.45px + 1579.37px + 1581.28px + 1583.2px + 1585.12px + 1587.04px + 1588.96px + 1590.88px + 1592.8px + 1594.72px + 1596.64px + 1598.56px + 1600.47px + 1602.39px + 1604.31px + 1606.23px + 1608.15px + 1610.07px + 1611.99px + 1613.91px + 1615.83px + 1617.75px + 1619.67px + 1621.58px + 1623.5px + 1625.42px + 1627.34px + 1629.26px + 1631.18px + 1633.1px + 1635.02px + 1636.94px + 1638.86px + 1640.77px + 1642.69px + 1644.61px + 1646.53px + 1648.45px + 1650.37px + 1652.29px + 1654.21px + 1656.13px + 1658.05px + 1659.97px + 1661.88px + 1663.8px + 1665.72px + 1667.64px + 1669.56px + 1671.48px + 1673.4px + 1675.32px + 1677.24px + 1679.16px + 1681.07px + 1682.99px + 1684.91px + 1686.83px + 1688.75px + 1690.67px + 1692.59px + 1694.51px + 1696.43px + 1698.35px + 1700.26px + 1702.18px + 1704.1px + 1706.02px + 1707.94px + 1709.86px + 1711.78px + 1713.7px + 1715.62px + 1717.54px + 1719.46px + 1721.37px + 1723.29px + 1725.21px + 1727.13px + 1729.05px + 1730.97px + 1732.89px + 1734.81px + 1736.73px + 1738.65px + 1740.56px + 1742.48px + 1744.4px + 1746.32px + 1748.24px + 1750.16px + 1752.08px + 1754.0px + 1755.92px + 1757.84px + 1759.76px + 1761.67px + 1763.59px + 1765.51px + 1767.43px + 1769.35px + 1771.27px + 1773.19px + 1775.11px + 1777.03px + 1778.95px + 1780.86px + 1782.78px + 1784.7px + 1786.62px + 1788.54px + 1790.46px + 1792.38px + 1794.3px + 1796.22px + 1798.14px + 1800.06px + 1801.97px + 1803.89px + 1805.81px + 1807.73px + 1809.65px + 1811.57px + 1813.49px + 1815.41px + 1817.33px + 1819.25px + 1821.16px + 1823.08px + 1825.0px + 1826.92px + 1828.84px + 1830.76px + 1832.68px + 1834.6px + 1836.52px + 1838.44px + 1840.35px + 1842.27px + 1844.19px + 1846.11px + 1848.03px + 1849.95px + 1851.87px + 1853.79px + 1855.71px + 1857.63px + 1859.55px + 1861.46px + 1863.38px + 1865.3px + 1867.22px + 1869.14px + 1871.06px + 1872.98px + 1874.9px + 1876.82px + 1878.74px + 1880.65px + 1882.57px + 1884.49px + 1886.41px + 1888.33px + 1890.25px + 1892.17px + 1894.09px + 1896.01px + 1897.93px + 1899.85px + 1901.76px + 1903.68px + 1905.6px + 1907.52px + 1909.44px + 1911.36px + 1913.28px + 1915.2px + 1917.12px + 1919.04px + 1920.95px + 1922.87px + 1924.79px + 1926.71px + 1928.63px + 1930.55px + 1932.47px + 1934.39px + 1936.31px + 1938.23px + 1940.14px + 1942.06px + 1943.98px + 1945.9px + 1947.82px + 1949.74px + 1951.66px + 1953.58px + 1955.5px + 1957.42px + 1959.34px + 1961.25px + 1963.17px + 1965.09px + 1967.01px + 1968.93px + 1970.85px + 1972.77px + 1974.69px + 1976.61px + 1978.53px + 1980.44px + 1982.36px + 1984.28px + 1986.2px + 1988.12px + 1990.04px + 1991.96px + 1993.88px + 1995.8px + 1997.72px + 1999.64px + 2001.55px + 2003.47px + 2005.39px + 2007.31px + 2009.23px + 2011.15px + 2013.07px + 2014.99px + 2016.91px + 2018.83px + 2020.74px + 2022.66px + 2024.58px + 2026.5px + 2028.42px + 2030.34px + 2032.26px + 2034.18px + 2036.1px + 2038.02px + 2039.94px + 2041.85px + 2043.77px + 2045.69px + 2047.61px + 2049.53px + 2051.45px + 2053.37px + 2055.29px + 2057.21px + 2059.13px + 2061.04px + 2062.96px + 2064.88px + 2066.8px + 2068.72px + 2070.64px + 2072.56px + 2074.48px + 2076.4px + 2078.32px + 2080.23px + 2082.15px + 2084.07px + 2085.99px + 2087.91px + 2089.83px + 2091.75px + 2093.67px + 2095.59px + 2097.51px + 2099.43px + 2101.34px + 2103.26px + 2105.18px + 2107.1px + 2109.02px + 2110.94px + 2112.86px + 2114.78px + 2116.7px + 2118.62px + 2120.53px + 2122.45px + 2124.37px + 2126.29px + 2128.21px + 2130.13px + 2132.05px + 2133.97px + 2135.89px + 2137.81px + 2139.73px + 2141.64px + 2143.56px + 2145.48px + 2147.4px + 2149.32px + 2151.24px + 2153.16px + 2155.08px + 2157.0px + 2158.92px + 2160.83px + 2162.75px + 2164.67px + 2166.59px + 2168.51px + 2170.43px + 2172.35px + 2174.27px + 2176.19px + 2178.11px + 2180.03px + 2181.94px + 2183.86px + 2185.78px + 2187.7px + 2189.62px + 2191.54px + 2193.46px + 2195.38px + 2197.3px + 2199.22px + 2201.13px + 2203.05px + 2204.97px + 2206.89px + 2208.81px + 2210.73px + 2212.65px + 2214.57px + 2216.49px + 2218.41px + 2220.32px + 2222.24px + 2224.16px + 2226.08px + 2228.0px + 2229.92px + 2231.84px + 2233.76px + 2235.68px + 2237.6px + 2239.52px + 2241.43px + 2243.35px + 2245.27px + 2247.19px + 2249.11px + 2251.03px + 2252.95px + 2254.87px + 2256.79px + 2258.71px + 2260.62px + 2262.54px + 2264.46px + 2266.38px + 2268.3px + 2270.22px + 2272.14px + 2274.06px + 2275.98px + 2277.9px + 2279.82px + 2281.73px + 2283.65px + 2285.57px + 2287.49px + 2289.41px + 2291.33px + 2293.25px + 2295.17px + 2297.09px + 2299.01px + 2300.92px + 2302.84px + 2304.76px + 2306.68px + 2308.6px + 2310.52px + 2312.44px + 2314.36px + 2316.28px + 2318.2px + 2320.11px + 2322.03px + 2323.95px + 2325.87px + 2327.79px + 2329.71px + 2331.63px + 2333.55px + 2335.47px + 2337.39px + 2339.31px + 2341.22px + 2343.14px + 2345.06px + 2346.98px + 2348.9px + 2350.82px + 2352.74px + 2354.66px + 2356.58px + 2358.5px + 2360.41px + 2362.33px + 2364.25px + 2366.17px + 2368.09px + 2370.01px + 2371.93px + 2373.85px + 2375.77px + 2377.69px + 2379.61px + 2381.52px + 2383.44px + 2385.36px + 2387.28px + 2389.2px + 2391.12px + 2393.04px + 2394.96px + 2396.88px + 2398.8px + 2400.71px + 2402.63px + 2404.55px + 2406.47px + 2408.39px + 2410.31px + 2412.23px + 2414.15px + 2416.07px + 2417.99px + 2419.9px + 2421.82px + 2423.74px + 2425.66px + 2427.58px + 2429.5px + 2431.42px + 2433.34px + 2435.26px + 2437.18px + 2439.1px + 2441.01px + 2442.93px + 2444.85px + 2446.77px + 2448.69px + 2450.61px + 2452.53px + 2454.45px + 2456.37px + 2458.29px + 2460.21px + 2462.12px + 2464.04px + 2465.96px + 2467.88px + 2469.8px + 2471.72px + 2473.64px + 2475.56px + 2477.48px + 2479.4px + 2481.31px + 2483.23px + 2485.15px + 2487.07px + 2488.99px + 2490.91px + 2492.83px + 2494.75px + 2496.67px + 2498.59px + 2500.5px + 2502.42px + 2504.34px + 2506.26px + 2508.18px + 2510.1px + 2512.02px + 2513.94px + 2515.86px + 2517.78px + 2519.7px + 2521.61px + 2523.53px + 2525.45px + 2527.37px + 2529.29px + 2531.21px + 2533.13px + 2535.05px + 2536.97px + 2538.89px + 2540.8px + 2542.72px + 2544.64px + 2546.56px + 2548.48px + 2550.4px + 2552.32px + 2554.24px + 2556.16px + 2558.08px + 2560px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-2560x1600/lay_x.xml b/FaceUnity/src/main/res/values-2560x1600/lay_x.xml new file mode 100644 index 000000000..7022e4e97 --- /dev/null +++ b/FaceUnity/src/main/res/values-2560x1600/lay_x.xml @@ -0,0 +1,753 @@ + + + 2.13px + 4.26px + 6.4px + 8.53px + 10.66px + 12.8px + 14.93px + 17.06px + 19.2px + 21.33px + 23.46px + 25.6px + 27.73px + 29.86px + 32.0px + 34.13px + 36.26px + 38.4px + 40.53px + 42.66px + 44.8px + 46.93px + 49.06px + 51.2px + 53.33px + 55.46px + 57.6px + 59.73px + 61.86px + 64.0px + 66.13px + 68.26px + 70.4px + 72.53px + 74.66px + 76.8px + 78.93px + 81.06px + 83.2px + 85.33px + 87.46px + 89.6px + 91.73px + 93.86px + 96.0px + 98.13px + 100.26px + 102.4px + 104.53px + 106.66px + 108.8px + 110.93px + 113.06px + 115.2px + 117.33px + 119.46px + 121.6px + 123.73px + 125.86px + 128.0px + 130.13px + 132.26px + 134.4px + 136.53px + 138.66px + 140.8px + 142.93px + 145.06px + 147.2px + 149.33px + 151.46px + 153.6px + 155.73px + 157.86px + 160.0px + 162.13px + 164.26px + 166.4px + 168.53px + 170.66px + 172.8px + 174.93px + 177.06px + 179.2px + 181.33px + 183.46px + 185.6px + 187.73px + 189.86px + 192.0px + 194.13px + 196.26px + 198.4px + 200.53px + 202.66px + 204.8px + 206.93px + 209.06px + 211.2px + 213.33px + 215.46px + 217.6px + 219.73px + 221.86px + 224.0px + 226.13px + 228.26px + 230.4px + 232.53px + 234.66px + 236.8px + 238.93px + 241.06px + 243.2px + 245.33px + 247.46px + 249.6px + 251.73px + 253.86px + 256.0px + 258.13px + 260.26px + 262.4px + 264.53px + 266.66px + 268.8px + 270.93px + 273.06px + 275.2px + 277.33px + 279.46px + 281.6px + 283.73px + 285.86px + 288.0px + 290.13px + 292.26px + 294.4px + 296.53px + 298.66px + 300.8px + 302.93px + 305.06px + 307.2px + 309.33px + 311.46px + 313.6px + 315.73px + 317.86px + 320.0px + 322.13px + 324.26px + 326.4px + 328.53px + 330.66px + 332.8px + 334.93px + 337.06px + 339.2px + 341.33px + 343.46px + 345.6px + 347.73px + 349.86px + 352.0px + 354.13px + 356.26px + 358.4px + 360.53px + 362.66px + 364.8px + 366.93px + 369.06px + 371.2px + 373.33px + 375.46px + 377.6px + 379.73px + 381.86px + 384.0px + 386.13px + 388.26px + 390.4px + 392.53px + 394.66px + 396.8px + 398.93px + 401.06px + 403.2px + 405.33px + 407.46px + 409.6px + 411.73px + 413.86px + 416.0px + 418.13px + 420.26px + 422.4px + 424.53px + 426.66px + 428.8px + 430.93px + 433.06px + 435.2px + 437.33px + 439.46px + 441.6px + 443.73px + 445.86px + 448.0px + 450.13px + 452.26px + 454.4px + 456.53px + 458.66px + 460.8px + 462.93px + 465.06px + 467.2px + 469.33px + 471.46px + 473.6px + 475.73px + 477.86px + 480.0px + 482.13px + 484.26px + 486.4px + 488.53px + 490.66px + 492.8px + 494.93px + 497.06px + 499.2px + 501.33px + 503.46px + 505.6px + 507.73px + 509.86px + 512.0px + 514.13px + 516.26px + 518.4px + 520.53px + 522.66px + 524.8px + 526.93px + 529.06px + 531.2px + 533.33px + 535.46px + 537.6px + 539.73px + 541.86px + 544.0px + 546.13px + 548.26px + 550.4px + 552.53px + 554.66px + 556.8px + 558.93px + 561.06px + 563.2px + 565.33px + 567.46px + 569.6px + 571.73px + 573.86px + 576.0px + 578.13px + 580.26px + 582.4px + 584.53px + 586.66px + 588.8px + 590.93px + 593.06px + 595.2px + 597.33px + 599.46px + 601.6px + 603.73px + 605.86px + 608.0px + 610.13px + 612.26px + 614.4px + 616.53px + 618.66px + 620.8px + 622.93px + 625.06px + 627.2px + 629.33px + 631.46px + 633.6px + 635.73px + 637.86px + 640.0px + 642.13px + 644.26px + 646.4px + 648.53px + 650.66px + 652.8px + 654.93px + 657.06px + 659.2px + 661.33px + 663.46px + 665.6px + 667.73px + 669.86px + 672.0px + 674.13px + 676.26px + 678.4px + 680.53px + 682.66px + 684.8px + 686.93px + 689.06px + 691.2px + 693.33px + 695.46px + 697.6px + 699.73px + 701.86px + 704.0px + 706.13px + 708.26px + 710.4px + 712.53px + 714.66px + 716.8px + 718.93px + 721.06px + 723.2px + 725.33px + 727.46px + 729.6px + 731.73px + 733.86px + 736.0px + 738.13px + 740.26px + 742.4px + 744.53px + 746.66px + 748.8px + 750.93px + 753.06px + 755.2px + 757.33px + 759.46px + 761.6px + 763.73px + 765.86px + 768.0px + 770.13px + 772.26px + 774.4px + 776.53px + 778.66px + 780.8px + 782.93px + 785.06px + 787.2px + 789.33px + 791.46px + 793.6px + 795.73px + 797.86px + 800.0px + 802.13px + 804.26px + 806.4px + 808.53px + 810.66px + 812.8px + 814.93px + 817.06px + 819.2px + 821.33px + 823.46px + 825.6px + 827.73px + 829.86px + 832.0px + 834.13px + 836.26px + 838.4px + 840.53px + 842.66px + 844.8px + 846.93px + 849.06px + 851.2px + 853.33px + 855.46px + 857.6px + 859.73px + 861.86px + 864.0px + 866.13px + 868.26px + 870.4px + 872.53px + 874.66px + 876.8px + 878.93px + 881.06px + 883.2px + 885.33px + 887.46px + 889.6px + 891.73px + 893.86px + 896.0px + 898.13px + 900.26px + 902.4px + 904.53px + 906.66px + 908.8px + 910.93px + 913.06px + 915.2px + 917.33px + 919.46px + 921.6px + 923.73px + 925.86px + 928.0px + 930.13px + 932.26px + 934.4px + 936.53px + 938.66px + 940.8px + 942.93px + 945.06px + 947.2px + 949.33px + 951.46px + 953.6px + 955.73px + 957.86px + 960.0px + 962.13px + 964.26px + 966.4px + 968.53px + 970.66px + 972.8px + 974.93px + 977.06px + 979.2px + 981.33px + 983.46px + 985.6px + 987.73px + 989.86px + 992.0px + 994.13px + 996.26px + 998.4px + 1000.53px + 1002.66px + 1004.8px + 1006.93px + 1009.06px + 1011.2px + 1013.33px + 1015.46px + 1017.6px + 1019.73px + 1021.86px + 1024.0px + 1026.13px + 1028.26px + 1030.4px + 1032.53px + 1034.66px + 1036.8px + 1038.93px + 1041.06px + 1043.2px + 1045.33px + 1047.46px + 1049.6px + 1051.73px + 1053.86px + 1056.0px + 1058.13px + 1060.26px + 1062.4px + 1064.53px + 1066.66px + 1068.8px + 1070.93px + 1073.06px + 1075.2px + 1077.33px + 1079.46px + 1081.6px + 1083.73px + 1085.86px + 1088.0px + 1090.13px + 1092.26px + 1094.4px + 1096.53px + 1098.66px + 1100.8px + 1102.93px + 1105.06px + 1107.2px + 1109.33px + 1111.46px + 1113.6px + 1115.73px + 1117.86px + 1120.0px + 1122.13px + 1124.26px + 1126.4px + 1128.53px + 1130.66px + 1132.8px + 1134.93px + 1137.06px + 1139.2px + 1141.33px + 1143.46px + 1145.6px + 1147.73px + 1149.86px + 1152.0px + 1154.13px + 1156.26px + 1158.4px + 1160.53px + 1162.66px + 1164.8px + 1166.93px + 1169.06px + 1171.2px + 1173.33px + 1175.46px + 1177.6px + 1179.73px + 1181.86px + 1184.0px + 1186.13px + 1188.26px + 1190.4px + 1192.53px + 1194.66px + 1196.8px + 1198.93px + 1201.06px + 1203.2px + 1205.33px + 1207.46px + 1209.6px + 1211.73px + 1213.86px + 1216.0px + 1218.13px + 1220.26px + 1222.4px + 1224.53px + 1226.66px + 1228.8px + 1230.93px + 1233.06px + 1235.2px + 1237.33px + 1239.46px + 1241.6px + 1243.73px + 1245.86px + 1248.0px + 1250.13px + 1252.26px + 1254.4px + 1256.53px + 1258.66px + 1260.8px + 1262.93px + 1265.06px + 1267.2px + 1269.33px + 1271.46px + 1273.6px + 1275.73px + 1277.86px + 1280.0px + 1282.13px + 1284.26px + 1286.4px + 1288.53px + 1290.66px + 1292.8px + 1294.93px + 1297.06px + 1299.2px + 1301.33px + 1303.46px + 1305.6px + 1307.73px + 1309.86px + 1312.0px + 1314.13px + 1316.26px + 1318.4px + 1320.53px + 1322.66px + 1324.8px + 1326.93px + 1329.06px + 1331.2px + 1333.33px + 1335.46px + 1337.6px + 1339.73px + 1341.86px + 1344.0px + 1346.13px + 1348.26px + 1350.4px + 1352.53px + 1354.66px + 1356.8px + 1358.93px + 1361.06px + 1363.2px + 1365.33px + 1367.46px + 1369.6px + 1371.73px + 1373.86px + 1376.0px + 1378.13px + 1380.26px + 1382.4px + 1384.53px + 1386.66px + 1388.8px + 1390.93px + 1393.06px + 1395.2px + 1397.33px + 1399.46px + 1401.6px + 1403.73px + 1405.86px + 1408.0px + 1410.13px + 1412.26px + 1414.4px + 1416.53px + 1418.66px + 1420.8px + 1422.93px + 1425.06px + 1427.2px + 1429.33px + 1431.46px + 1433.6px + 1435.73px + 1437.86px + 1440.0px + 1442.13px + 1444.26px + 1446.4px + 1448.53px + 1450.66px + 1452.8px + 1454.93px + 1457.06px + 1459.2px + 1461.33px + 1463.46px + 1465.6px + 1467.73px + 1469.86px + 1472.0px + 1474.13px + 1476.26px + 1478.4px + 1480.53px + 1482.66px + 1484.8px + 1486.93px + 1489.06px + 1491.2px + 1493.33px + 1495.46px + 1497.6px + 1499.73px + 1501.86px + 1504.0px + 1506.13px + 1508.26px + 1510.4px + 1512.53px + 1514.66px + 1516.8px + 1518.93px + 1521.06px + 1523.2px + 1525.33px + 1527.46px + 1529.6px + 1531.73px + 1533.86px + 1536.0px + 1538.13px + 1540.26px + 1542.4px + 1544.53px + 1546.66px + 1548.8px + 1550.93px + 1553.06px + 1555.2px + 1557.33px + 1559.46px + 1561.6px + 1563.73px + 1565.86px + 1568.0px + 1570.13px + 1572.26px + 1574.4px + 1576.53px + 1578.66px + 1580.8px + 1582.93px + 1585.06px + 1587.2px + 1589.33px + 1591.46px + 1593.6px + 1595.73px + 1597.86px + 1600px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-2560x1600/lay_y.xml b/FaceUnity/src/main/res/values-2560x1600/lay_y.xml new file mode 100644 index 000000000..575fe5707 --- /dev/null +++ b/FaceUnity/src/main/res/values-2560x1600/lay_y.xml @@ -0,0 +1,1337 @@ + + + 1.91px + 3.83px + 5.75px + 7.67px + 9.59px + 11.51px + 13.43px + 15.35px + 17.27px + 19.19px + 21.1px + 23.02px + 24.94px + 26.86px + 28.78px + 30.7px + 32.62px + 34.54px + 36.46px + 38.38px + 40.29px + 42.21px + 44.13px + 46.05px + 47.97px + 49.89px + 51.81px + 53.73px + 55.65px + 57.57px + 59.49px + 61.4px + 63.32px + 65.24px + 67.16px + 69.08px + 71.0px + 72.92px + 74.84px + 76.76px + 78.68px + 80.59px + 82.51px + 84.43px + 86.35px + 88.27px + 90.19px + 92.11px + 94.03px + 95.95px + 97.87px + 99.79px + 101.7px + 103.62px + 105.54px + 107.46px + 109.38px + 111.3px + 113.22px + 115.14px + 117.06px + 118.98px + 120.89px + 122.81px + 124.73px + 126.65px + 128.57px + 130.49px + 132.41px + 134.33px + 136.25px + 138.17px + 140.08px + 142.0px + 143.92px + 145.84px + 147.76px + 149.68px + 151.6px + 153.52px + 155.44px + 157.36px + 159.28px + 161.19px + 163.11px + 165.03px + 166.95px + 168.87px + 170.79px + 172.71px + 174.63px + 176.55px + 178.47px + 180.38px + 182.3px + 184.22px + 186.14px + 188.06px + 189.98px + 191.9px + 193.82px + 195.74px + 197.66px + 199.58px + 201.49px + 203.41px + 205.33px + 207.25px + 209.17px + 211.09px + 213.01px + 214.93px + 216.85px + 218.77px + 220.68px + 222.6px + 224.52px + 226.44px + 228.36px + 230.28px + 232.2px + 234.12px + 236.04px + 237.96px + 239.88px + 241.79px + 243.71px + 245.63px + 247.55px + 249.47px + 251.39px + 253.31px + 255.23px + 257.15px + 259.07px + 260.98px + 262.9px + 264.82px + 266.74px + 268.66px + 270.58px + 272.5px + 274.42px + 276.34px + 278.26px + 280.17px + 282.09px + 284.01px + 285.93px + 287.85px + 289.77px + 291.69px + 293.61px + 295.53px + 297.45px + 299.37px + 301.28px + 303.2px + 305.12px + 307.04px + 308.96px + 310.88px + 312.8px + 314.72px + 316.64px + 318.56px + 320.47px + 322.39px + 324.31px + 326.23px + 328.15px + 330.07px + 331.99px + 333.91px + 335.83px + 337.75px + 339.67px + 341.58px + 343.5px + 345.42px + 347.34px + 349.26px + 351.18px + 353.1px + 355.02px + 356.94px + 358.86px + 360.77px + 362.69px + 364.61px + 366.53px + 368.45px + 370.37px + 372.29px + 374.21px + 376.13px + 378.05px + 379.97px + 381.88px + 383.8px + 385.72px + 387.64px + 389.56px + 391.48px + 393.4px + 395.32px + 397.24px + 399.16px + 401.07px + 402.99px + 404.91px + 406.83px + 408.75px + 410.67px + 412.59px + 414.51px + 416.43px + 418.35px + 420.26px + 422.18px + 424.1px + 426.02px + 427.94px + 429.86px + 431.78px + 433.7px + 435.62px + 437.54px + 439.46px + 441.37px + 443.29px + 445.21px + 447.13px + 449.05px + 450.97px + 452.89px + 454.81px + 456.73px + 458.65px + 460.56px + 462.48px + 464.4px + 466.32px + 468.24px + 470.16px + 472.08px + 474.0px + 475.92px + 477.84px + 479.76px + 481.67px + 483.59px + 485.51px + 487.43px + 489.35px + 491.27px + 493.19px + 495.11px + 497.03px + 498.95px + 500.86px + 502.78px + 504.7px + 506.62px + 508.54px + 510.46px + 512.38px + 514.3px + 516.22px + 518.14px + 520.05px + 521.97px + 523.89px + 525.81px + 527.73px + 529.65px + 531.57px + 533.49px + 535.41px + 537.33px + 539.25px + 541.16px + 543.08px + 545.0px + 546.92px + 548.84px + 550.76px + 552.68px + 554.6px + 556.52px + 558.44px + 560.35px + 562.27px + 564.19px + 566.11px + 568.03px + 569.95px + 571.87px + 573.79px + 575.71px + 577.63px + 579.55px + 581.46px + 583.38px + 585.3px + 587.22px + 589.14px + 591.06px + 592.98px + 594.9px + 596.82px + 598.74px + 600.65px + 602.57px + 604.49px + 606.41px + 608.33px + 610.25px + 612.17px + 614.09px + 616.01px + 617.93px + 619.85px + 621.76px + 623.68px + 625.6px + 627.52px + 629.44px + 631.36px + 633.28px + 635.2px + 637.12px + 639.04px + 640.95px + 642.87px + 644.79px + 646.71px + 648.63px + 650.55px + 652.47px + 654.39px + 656.31px + 658.23px + 660.14px + 662.06px + 663.98px + 665.9px + 667.82px + 669.74px + 671.66px + 673.58px + 675.5px + 677.42px + 679.34px + 681.25px + 683.17px + 685.09px + 687.01px + 688.93px + 690.85px + 692.77px + 694.69px + 696.61px + 698.53px + 700.44px + 702.36px + 704.28px + 706.2px + 708.12px + 710.04px + 711.96px + 713.88px + 715.8px + 717.72px + 719.64px + 721.55px + 723.47px + 725.39px + 727.31px + 729.23px + 731.15px + 733.07px + 734.99px + 736.91px + 738.83px + 740.74px + 742.66px + 744.58px + 746.5px + 748.42px + 750.34px + 752.26px + 754.18px + 756.1px + 758.02px + 759.94px + 761.85px + 763.77px + 765.69px + 767.61px + 769.53px + 771.45px + 773.37px + 775.29px + 777.21px + 779.13px + 781.04px + 782.96px + 784.88px + 786.8px + 788.72px + 790.64px + 792.56px + 794.48px + 796.4px + 798.32px + 800.23px + 802.15px + 804.07px + 805.99px + 807.91px + 809.83px + 811.75px + 813.67px + 815.59px + 817.51px + 819.43px + 821.34px + 823.26px + 825.18px + 827.1px + 829.02px + 830.94px + 832.86px + 834.78px + 836.7px + 838.62px + 840.53px + 842.45px + 844.37px + 846.29px + 848.21px + 850.13px + 852.05px + 853.97px + 855.89px + 857.81px + 859.73px + 861.64px + 863.56px + 865.48px + 867.4px + 869.32px + 871.24px + 873.16px + 875.08px + 877.0px + 878.92px + 880.83px + 882.75px + 884.67px + 886.59px + 888.51px + 890.43px + 892.35px + 894.27px + 896.19px + 898.11px + 900.03px + 901.94px + 903.86px + 905.78px + 907.7px + 909.62px + 911.54px + 913.46px + 915.38px + 917.3px + 919.22px + 921.13px + 923.05px + 924.97px + 926.89px + 928.81px + 930.73px + 932.65px + 934.57px + 936.49px + 938.41px + 940.32px + 942.24px + 944.16px + 946.08px + 948.0px + 949.92px + 951.84px + 953.76px + 955.68px + 957.6px + 959.52px + 961.43px + 963.35px + 965.27px + 967.19px + 969.11px + 971.03px + 972.95px + 974.87px + 976.79px + 978.71px + 980.62px + 982.54px + 984.46px + 986.38px + 988.3px + 990.22px + 992.14px + 994.06px + 995.98px + 997.9px + 999.82px + 1001.73px + 1003.65px + 1005.57px + 1007.49px + 1009.41px + 1011.33px + 1013.25px + 1015.17px + 1017.09px + 1019.01px + 1020.92px + 1022.84px + 1024.76px + 1026.68px + 1028.6px + 1030.52px + 1032.44px + 1034.36px + 1036.28px + 1038.2px + 1040.11px + 1042.03px + 1043.95px + 1045.87px + 1047.79px + 1049.71px + 1051.63px + 1053.55px + 1055.47px + 1057.39px + 1059.31px + 1061.22px + 1063.14px + 1065.06px + 1066.98px + 1068.9px + 1070.82px + 1072.74px + 1074.66px + 1076.58px + 1078.5px + 1080.41px + 1082.33px + 1084.25px + 1086.17px + 1088.09px + 1090.01px + 1091.93px + 1093.85px + 1095.77px + 1097.69px + 1099.61px + 1101.52px + 1103.44px + 1105.36px + 1107.28px + 1109.2px + 1111.12px + 1113.04px + 1114.96px + 1116.88px + 1118.8px + 1120.71px + 1122.63px + 1124.55px + 1126.47px + 1128.39px + 1130.31px + 1132.23px + 1134.15px + 1136.07px + 1137.99px + 1139.91px + 1141.82px + 1143.74px + 1145.66px + 1147.58px + 1149.5px + 1151.42px + 1153.34px + 1155.26px + 1157.18px + 1159.1px + 1161.01px + 1162.93px + 1164.85px + 1166.77px + 1168.69px + 1170.61px + 1172.53px + 1174.45px + 1176.37px + 1178.29px + 1180.2px + 1182.12px + 1184.04px + 1185.96px + 1187.88px + 1189.8px + 1191.72px + 1193.64px + 1195.56px + 1197.48px + 1199.4px + 1201.31px + 1203.23px + 1205.15px + 1207.07px + 1208.99px + 1210.91px + 1212.83px + 1214.75px + 1216.67px + 1218.59px + 1220.5px + 1222.42px + 1224.34px + 1226.26px + 1228.18px + 1230.1px + 1232.02px + 1233.94px + 1235.86px + 1237.78px + 1239.7px + 1241.61px + 1243.53px + 1245.45px + 1247.37px + 1249.29px + 1251.21px + 1253.13px + 1255.05px + 1256.97px + 1258.89px + 1260.8px + 1262.72px + 1264.64px + 1266.56px + 1268.48px + 1270.4px + 1272.32px + 1274.24px + 1276.16px + 1278.08px + 1280.0px + 1281.91px + 1283.83px + 1285.75px + 1287.67px + 1289.59px + 1291.51px + 1293.43px + 1295.35px + 1297.27px + 1299.19px + 1301.1px + 1303.02px + 1304.94px + 1306.86px + 1308.78px + 1310.7px + 1312.62px + 1314.54px + 1316.46px + 1318.38px + 1320.29px + 1322.21px + 1324.13px + 1326.05px + 1327.97px + 1329.89px + 1331.81px + 1333.73px + 1335.65px + 1337.57px + 1339.49px + 1341.4px + 1343.32px + 1345.24px + 1347.16px + 1349.08px + 1351.0px + 1352.92px + 1354.84px + 1356.76px + 1358.68px + 1360.59px + 1362.51px + 1364.43px + 1366.35px + 1368.27px + 1370.19px + 1372.11px + 1374.03px + 1375.95px + 1377.87px + 1379.79px + 1381.7px + 1383.62px + 1385.54px + 1387.46px + 1389.38px + 1391.3px + 1393.22px + 1395.14px + 1397.06px + 1398.98px + 1400.89px + 1402.81px + 1404.73px + 1406.65px + 1408.57px + 1410.49px + 1412.41px + 1414.33px + 1416.25px + 1418.17px + 1420.09px + 1422.0px + 1423.92px + 1425.84px + 1427.76px + 1429.68px + 1431.6px + 1433.52px + 1435.44px + 1437.36px + 1439.28px + 1441.19px + 1443.11px + 1445.03px + 1446.95px + 1448.87px + 1450.79px + 1452.71px + 1454.63px + 1456.55px + 1458.47px + 1460.38px + 1462.3px + 1464.22px + 1466.14px + 1468.06px + 1469.98px + 1471.9px + 1473.82px + 1475.74px + 1477.66px + 1479.58px + 1481.49px + 1483.41px + 1485.33px + 1487.25px + 1489.17px + 1491.09px + 1493.01px + 1494.93px + 1496.85px + 1498.77px + 1500.68px + 1502.6px + 1504.52px + 1506.44px + 1508.36px + 1510.28px + 1512.2px + 1514.12px + 1516.04px + 1517.96px + 1519.88px + 1521.79px + 1523.71px + 1525.63px + 1527.55px + 1529.47px + 1531.39px + 1533.31px + 1535.23px + 1537.15px + 1539.07px + 1540.98px + 1542.9px + 1544.82px + 1546.74px + 1548.66px + 1550.58px + 1552.5px + 1554.42px + 1556.34px + 1558.26px + 1560.18px + 1562.09px + 1564.01px + 1565.93px + 1567.85px + 1569.77px + 1571.69px + 1573.61px + 1575.53px + 1577.45px + 1579.37px + 1581.28px + 1583.2px + 1585.12px + 1587.04px + 1588.96px + 1590.88px + 1592.8px + 1594.72px + 1596.64px + 1598.56px + 1600.47px + 1602.39px + 1604.31px + 1606.23px + 1608.15px + 1610.07px + 1611.99px + 1613.91px + 1615.83px + 1617.75px + 1619.67px + 1621.58px + 1623.5px + 1625.42px + 1627.34px + 1629.26px + 1631.18px + 1633.1px + 1635.02px + 1636.94px + 1638.86px + 1640.77px + 1642.69px + 1644.61px + 1646.53px + 1648.45px + 1650.37px + 1652.29px + 1654.21px + 1656.13px + 1658.05px + 1659.97px + 1661.88px + 1663.8px + 1665.72px + 1667.64px + 1669.56px + 1671.48px + 1673.4px + 1675.32px + 1677.24px + 1679.16px + 1681.07px + 1682.99px + 1684.91px + 1686.83px + 1688.75px + 1690.67px + 1692.59px + 1694.51px + 1696.43px + 1698.35px + 1700.26px + 1702.18px + 1704.1px + 1706.02px + 1707.94px + 1709.86px + 1711.78px + 1713.7px + 1715.62px + 1717.54px + 1719.46px + 1721.37px + 1723.29px + 1725.21px + 1727.13px + 1729.05px + 1730.97px + 1732.89px + 1734.81px + 1736.73px + 1738.65px + 1740.56px + 1742.48px + 1744.4px + 1746.32px + 1748.24px + 1750.16px + 1752.08px + 1754.0px + 1755.92px + 1757.84px + 1759.76px + 1761.67px + 1763.59px + 1765.51px + 1767.43px + 1769.35px + 1771.27px + 1773.19px + 1775.11px + 1777.03px + 1778.95px + 1780.86px + 1782.78px + 1784.7px + 1786.62px + 1788.54px + 1790.46px + 1792.38px + 1794.3px + 1796.22px + 1798.14px + 1800.06px + 1801.97px + 1803.89px + 1805.81px + 1807.73px + 1809.65px + 1811.57px + 1813.49px + 1815.41px + 1817.33px + 1819.25px + 1821.16px + 1823.08px + 1825.0px + 1826.92px + 1828.84px + 1830.76px + 1832.68px + 1834.6px + 1836.52px + 1838.44px + 1840.35px + 1842.27px + 1844.19px + 1846.11px + 1848.03px + 1849.95px + 1851.87px + 1853.79px + 1855.71px + 1857.63px + 1859.55px + 1861.46px + 1863.38px + 1865.3px + 1867.22px + 1869.14px + 1871.06px + 1872.98px + 1874.9px + 1876.82px + 1878.74px + 1880.65px + 1882.57px + 1884.49px + 1886.41px + 1888.33px + 1890.25px + 1892.17px + 1894.09px + 1896.01px + 1897.93px + 1899.85px + 1901.76px + 1903.68px + 1905.6px + 1907.52px + 1909.44px + 1911.36px + 1913.28px + 1915.2px + 1917.12px + 1919.04px + 1920.95px + 1922.87px + 1924.79px + 1926.71px + 1928.63px + 1930.55px + 1932.47px + 1934.39px + 1936.31px + 1938.23px + 1940.14px + 1942.06px + 1943.98px + 1945.9px + 1947.82px + 1949.74px + 1951.66px + 1953.58px + 1955.5px + 1957.42px + 1959.34px + 1961.25px + 1963.17px + 1965.09px + 1967.01px + 1968.93px + 1970.85px + 1972.77px + 1974.69px + 1976.61px + 1978.53px + 1980.44px + 1982.36px + 1984.28px + 1986.2px + 1988.12px + 1990.04px + 1991.96px + 1993.88px + 1995.8px + 1997.72px + 1999.64px + 2001.55px + 2003.47px + 2005.39px + 2007.31px + 2009.23px + 2011.15px + 2013.07px + 2014.99px + 2016.91px + 2018.83px + 2020.74px + 2022.66px + 2024.58px + 2026.5px + 2028.42px + 2030.34px + 2032.26px + 2034.18px + 2036.1px + 2038.02px + 2039.94px + 2041.85px + 2043.77px + 2045.69px + 2047.61px + 2049.53px + 2051.45px + 2053.37px + 2055.29px + 2057.21px + 2059.13px + 2061.04px + 2062.96px + 2064.88px + 2066.8px + 2068.72px + 2070.64px + 2072.56px + 2074.48px + 2076.4px + 2078.32px + 2080.23px + 2082.15px + 2084.07px + 2085.99px + 2087.91px + 2089.83px + 2091.75px + 2093.67px + 2095.59px + 2097.51px + 2099.43px + 2101.34px + 2103.26px + 2105.18px + 2107.1px + 2109.02px + 2110.94px + 2112.86px + 2114.78px + 2116.7px + 2118.62px + 2120.53px + 2122.45px + 2124.37px + 2126.29px + 2128.21px + 2130.13px + 2132.05px + 2133.97px + 2135.89px + 2137.81px + 2139.73px + 2141.64px + 2143.56px + 2145.48px + 2147.4px + 2149.32px + 2151.24px + 2153.16px + 2155.08px + 2157.0px + 2158.92px + 2160.83px + 2162.75px + 2164.67px + 2166.59px + 2168.51px + 2170.43px + 2172.35px + 2174.27px + 2176.19px + 2178.11px + 2180.03px + 2181.94px + 2183.86px + 2185.78px + 2187.7px + 2189.62px + 2191.54px + 2193.46px + 2195.38px + 2197.3px + 2199.22px + 2201.13px + 2203.05px + 2204.97px + 2206.89px + 2208.81px + 2210.73px + 2212.65px + 2214.57px + 2216.49px + 2218.41px + 2220.32px + 2222.24px + 2224.16px + 2226.08px + 2228.0px + 2229.92px + 2231.84px + 2233.76px + 2235.68px + 2237.6px + 2239.52px + 2241.43px + 2243.35px + 2245.27px + 2247.19px + 2249.11px + 2251.03px + 2252.95px + 2254.87px + 2256.79px + 2258.71px + 2260.62px + 2262.54px + 2264.46px + 2266.38px + 2268.3px + 2270.22px + 2272.14px + 2274.06px + 2275.98px + 2277.9px + 2279.82px + 2281.73px + 2283.65px + 2285.57px + 2287.49px + 2289.41px + 2291.33px + 2293.25px + 2295.17px + 2297.09px + 2299.01px + 2300.92px + 2302.84px + 2304.76px + 2306.68px + 2308.6px + 2310.52px + 2312.44px + 2314.36px + 2316.28px + 2318.2px + 2320.11px + 2322.03px + 2323.95px + 2325.87px + 2327.79px + 2329.71px + 2331.63px + 2333.55px + 2335.47px + 2337.39px + 2339.31px + 2341.22px + 2343.14px + 2345.06px + 2346.98px + 2348.9px + 2350.82px + 2352.74px + 2354.66px + 2356.58px + 2358.5px + 2360.41px + 2362.33px + 2364.25px + 2366.17px + 2368.09px + 2370.01px + 2371.93px + 2373.85px + 2375.77px + 2377.69px + 2379.61px + 2381.52px + 2383.44px + 2385.36px + 2387.28px + 2389.2px + 2391.12px + 2393.04px + 2394.96px + 2396.88px + 2398.8px + 2400.71px + 2402.63px + 2404.55px + 2406.47px + 2408.39px + 2410.31px + 2412.23px + 2414.15px + 2416.07px + 2417.99px + 2419.9px + 2421.82px + 2423.74px + 2425.66px + 2427.58px + 2429.5px + 2431.42px + 2433.34px + 2435.26px + 2437.18px + 2439.1px + 2441.01px + 2442.93px + 2444.85px + 2446.77px + 2448.69px + 2450.61px + 2452.53px + 2454.45px + 2456.37px + 2458.29px + 2460.21px + 2462.12px + 2464.04px + 2465.96px + 2467.88px + 2469.8px + 2471.72px + 2473.64px + 2475.56px + 2477.48px + 2479.4px + 2481.31px + 2483.23px + 2485.15px + 2487.07px + 2488.99px + 2490.91px + 2492.83px + 2494.75px + 2496.67px + 2498.59px + 2500.5px + 2502.42px + 2504.34px + 2506.26px + 2508.18px + 2510.1px + 2512.02px + 2513.94px + 2515.86px + 2517.78px + 2519.7px + 2521.61px + 2523.53px + 2525.45px + 2527.37px + 2529.29px + 2531.21px + 2533.13px + 2535.05px + 2536.97px + 2538.89px + 2540.8px + 2542.72px + 2544.64px + 2546.56px + 2548.48px + 2550.4px + 2552.32px + 2554.24px + 2556.16px + 2558.08px + 2560px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-800x480/lay_x.xml b/FaceUnity/src/main/res/values-800x480/lay_x.xml new file mode 100644 index 000000000..f0124c07c --- /dev/null +++ b/FaceUnity/src/main/res/values-800x480/lay_x.xml @@ -0,0 +1,754 @@ + + + 0.0px + 0.64px + 1.28px + 1.92px + 2.56px + 3.19px + 3.84px + 4.48px + 5.12px + 5.76px + 6.39px + 7.04px + 7.68px + 8.32px + 8.96px + 9.59px + 10.24px + 10.88px + 11.52px + 12.16px + 12.79px + 13.44px + 14.08px + 14.71px + 15.36px + 16.0px + 16.64px + 17.27px + 17.92px + 18.56px + 19.19px + 19.84px + 20.48px + 21.12px + 21.76px + 22.4px + 23.04px + 23.68px + 24.32px + 24.96px + 25.59px + 26.24px + 26.88px + 27.51px + 28.16px + 28.8px + 29.43px + 30.08px + 30.72px + 31.35px + 32.0px + 32.64px + 33.28px + 33.91px + 34.55px + 35.2px + 35.84px + 36.48px + 37.12px + 37.75px + 38.39px + 39.04px + 39.68px + 40.32px + 40.96px + 41.6px + 42.24px + 42.87px + 43.52px + 44.16px + 44.8px + 45.44px + 46.08px + 46.71px + 47.36px + 48.0px + 48.64px + 49.28px + 49.92px + 50.56px + 51.19px + 51.84px + 52.48px + 53.12px + 53.76px + 54.4px + 55.03px + 55.68px + 56.32px + 56.96px + 57.6px + 58.24px + 58.87px + 59.52px + 60.16px + 60.8px + 61.44px + 62.08px + 62.71px + 63.35px + 64.0px + 64.64px + 65.28px + 65.92px + 66.56px + 67.19px + 67.83px + 68.47px + 69.11px + 69.76px + 70.4px + 71.04px + 71.68px + 72.32px + 72.96px + 73.6px + 74.24px + 74.87px + 75.51px + 76.15px + 76.79px + 77.43px + 78.08px + 78.72px + 79.36px + 80.0px + 80.64px + 81.28px + 81.92px + 82.56px + 83.2px + 83.84px + 84.48px + 85.12px + 85.75px + 86.4px + 87.04px + 87.68px + 88.32px + 88.96px + 89.6px + 90.24px + 90.88px + 91.52px + 92.16px + 92.8px + 93.43px + 94.07px + 94.72px + 95.36px + 96.0px + 96.64px + 97.28px + 97.92px + 98.56px + 99.2px + 99.84px + 100.48px + 101.12px + 101.75px + 102.39px + 103.04px + 103.68px + 104.32px + 104.96px + 105.6px + 106.24px + 106.88px + 107.52px + 108.16px + 108.8px + 109.43px + 110.07px + 110.72px + 111.36px + 112.0px + 112.64px + 113.28px + 113.92px + 114.56px + 115.2px + 115.84px + 116.48px + 117.12px + 117.75px + 118.39px + 119.04px + 119.68px + 120.32px + 120.96px + 121.6px + 122.24px + 122.88px + 123.52px + 124.16px + 124.8px + 125.43px + 126.07px + 126.71px + 127.36px + 128.0px + 128.64px + 129.28px + 129.92px + 130.56px + 131.2px + 131.84px + 132.48px + 133.12px + 133.75px + 134.39px + 135.03px + 135.67px + 136.31px + 136.95px + 137.59px + 138.23px + 138.87px + 139.52px + 140.16px + 140.8px + 141.44px + 142.08px + 142.72px + 143.36px + 144.0px + 144.64px + 145.28px + 145.92px + 146.56px + 147.2px + 147.84px + 148.48px + 149.12px + 149.75px + 150.39px + 151.03px + 151.67px + 152.31px + 152.95px + 153.59px + 154.23px + 154.87px + 155.51px + 156.16px + 156.8px + 157.44px + 158.08px + 158.72px + 159.36px + 160.0px + 160.64px + 161.28px + 161.92px + 162.56px + 163.2px + 163.84px + 164.48px + 165.12px + 165.76px + 166.4px + 167.04px + 167.68px + 168.32px + 168.96px + 169.6px + 170.24px + 170.87px + 171.51px + 172.16px + 172.8px + 173.44px + 174.08px + 174.72px + 175.36px + 176.0px + 176.64px + 177.28px + 177.92px + 178.56px + 179.2px + 179.84px + 180.48px + 181.12px + 181.76px + 182.4px + 183.04px + 183.68px + 184.32px + 184.96px + 185.6px + 186.24px + 186.87px + 187.51px + 188.15px + 188.8px + 189.44px + 190.08px + 190.72px + 191.36px + 192.0px + 192.64px + 193.28px + 193.92px + 194.56px + 195.2px + 195.84px + 196.48px + 197.12px + 197.76px + 198.4px + 199.04px + 199.68px + 200.32px + 200.96px + 201.6px + 202.24px + 202.87px + 203.51px + 204.15px + 204.79px + 205.44px + 206.08px + 206.72px + 207.36px + 208.0px + 208.64px + 209.28px + 209.92px + 210.56px + 211.2px + 211.84px + 212.48px + 213.12px + 213.76px + 214.4px + 215.04px + 215.68px + 216.32px + 216.96px + 217.6px + 218.24px + 218.87px + 219.51px + 220.15px + 220.79px + 221.44px + 222.08px + 222.72px + 223.36px + 224.0px + 224.64px + 225.28px + 225.92px + 226.56px + 227.2px + 227.84px + 228.48px + 229.12px + 229.76px + 230.4px + 231.04px + 231.68px + 232.32px + 232.96px + 233.6px + 234.24px + 234.87px + 235.51px + 236.15px + 236.79px + 237.43px + 238.08px + 238.72px + 239.36px + 240.0px + 240.64px + 241.28px + 241.92px + 242.56px + 243.2px + 243.84px + 244.48px + 245.12px + 245.76px + 246.4px + 247.04px + 247.68px + 248.32px + 248.96px + 249.6px + 250.24px + 250.87px + 251.51px + 252.15px + 252.79px + 253.43px + 254.08px + 254.72px + 255.36px + 256.0px + 256.63px + 257.28px + 257.91px + 258.56px + 259.19px + 259.84px + 260.47px + 261.12px + 261.75px + 262.4px + 263.04px + 263.68px + 264.32px + 264.96px + 265.6px + 266.24px + 266.88px + 267.51px + 268.16px + 268.79px + 269.44px + 270.07px + 270.72px + 271.35px + 272.0px + 272.63px + 273.28px + 273.91px + 274.56px + 275.19px + 275.84px + 276.47px + 277.12px + 277.75px + 278.4px + 279.04px + 279.68px + 280.32px + 280.96px + 281.6px + 282.24px + 282.88px + 283.51px + 284.16px + 284.79px + 285.44px + 286.07px + 286.72px + 287.35px + 288.0px + 288.63px + 289.28px + 289.91px + 290.56px + 291.19px + 291.84px + 292.47px + 293.12px + 293.75px + 294.4px + 295.04px + 295.68px + 296.32px + 296.96px + 297.6px + 298.24px + 298.88px + 299.51px + 300.16px + 300.79px + 301.44px + 302.07px + 302.72px + 303.35px + 304.0px + 304.63px + 305.28px + 305.91px + 306.56px + 307.19px + 307.84px + 308.47px + 309.12px + 309.75px + 310.4px + 311.03px + 311.68px + 312.32px + 312.96px + 313.6px + 314.24px + 314.88px + 315.51px + 316.16px + 316.79px + 317.44px + 318.07px + 318.72px + 319.35px + 320.0px + 320.63px + 321.28px + 321.91px + 322.56px + 323.19px + 323.84px + 324.47px + 325.12px + 325.75px + 326.4px + 327.03px + 327.68px + 328.32px + 328.96px + 329.6px + 330.24px + 330.88px + 331.52px + 332.16px + 332.8px + 333.44px + 334.08px + 334.72px + 335.36px + 336.0px + 336.64px + 337.28px + 337.92px + 338.56px + 339.2px + 339.84px + 340.48px + 341.12px + 341.75px + 342.4px + 343.03px + 343.68px + 344.32px + 344.96px + 345.6px + 346.24px + 346.88px + 347.52px + 348.16px + 348.8px + 349.44px + 350.08px + 350.72px + 351.36px + 352.0px + 352.64px + 353.28px + 353.92px + 354.56px + 355.2px + 355.84px + 356.48px + 357.12px + 357.75px + 358.4px + 359.03px + 359.68px + 360.31px + 360.96px + 361.6px + 362.24px + 362.88px + 363.52px + 364.16px + 364.8px + 365.44px + 366.08px + 366.72px + 367.36px + 368.0px + 368.64px + 369.28px + 369.92px + 370.56px + 371.2px + 371.84px + 372.48px + 373.12px + 373.75px + 374.4px + 375.03px + 375.68px + 376.31px + 376.96px + 377.6px + 378.24px + 378.88px + 379.52px + 380.16px + 380.8px + 381.44px + 382.08px + 382.72px + 383.36px + 384.0px + 384.64px + 385.28px + 385.92px + 386.56px + 387.2px + 387.84px + 388.48px + 389.12px + 389.75px + 390.4px + 391.03px + 391.68px + 392.31px + 392.96px + 393.6px + 394.24px + 394.88px + 395.52px + 396.16px + 396.8px + 397.44px + 398.08px + 398.72px + 399.36px + 400.0px + 400.64px + 401.28px + 401.92px + 402.56px + 403.2px + 403.84px + 404.48px + 405.12px + 405.75px + 406.4px + 407.03px + 407.68px + 408.31px + 408.96px + 409.59px + 410.24px + 410.88px + 411.52px + 412.16px + 412.8px + 413.44px + 414.08px + 414.72px + 415.36px + 416.0px + 416.64px + 417.28px + 417.92px + 418.56px + 419.2px + 419.84px + 420.48px + 421.12px + 421.75px + 422.4px + 423.03px + 423.68px + 424.31px + 424.96px + 425.59px + 426.24px + 426.88px + 427.52px + 428.16px + 428.8px + 429.44px + 430.08px + 430.72px + 431.36px + 432.0px + 432.64px + 433.28px + 433.92px + 434.56px + 435.2px + 435.84px + 436.48px + 437.12px + 437.75px + 438.4px + 439.03px + 439.68px + 440.31px + 440.96px + 441.59px + 442.24px + 442.88px + 443.52px + 444.16px + 444.8px + 445.44px + 446.08px + 446.72px + 447.36px + 448.0px + 448.64px + 449.28px + 449.92px + 450.56px + 451.2px + 451.84px + 452.48px + 453.12px + 453.75px + 454.4px + 455.03px + 455.68px + 456.31px + 456.96px + 457.59px + 458.24px + 458.88px + 459.52px + 460.16px + 460.8px + 461.44px + 462.08px + 462.72px + 463.36px + 464.0px + 464.64px + 465.28px + 465.92px + 466.56px + 467.2px + 467.84px + 468.48px + 469.12px + 469.75px + 470.4px + 471.03px + 471.68px + 472.31px + 472.96px + 473.59px + 474.24px + 474.87px + 475.52px + 476.16px + 476.8px + 477.44px + 478.08px + 478.72px + 479.36px + 480px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-800x480/lay_y.xml b/FaceUnity/src/main/res/values-800x480/lay_y.xml new file mode 100644 index 000000000..1a9b35e25 --- /dev/null +++ b/FaceUnity/src/main/res/values-800x480/lay_y.xml @@ -0,0 +1,1337 @@ + + + 0.59px + 1.19px + 1.79px + 2.39px + 2.99px + 3.59px + 4.19px + 4.79px + 5.39px + 5.99px + 6.59px + 7.19px + 7.79px + 8.39px + 8.99px + 9.59px + 10.19px + 10.79px + 11.39px + 11.99px + 12.59px + 13.19px + 13.79px + 14.39px + 14.99px + 15.59px + 16.19px + 16.79px + 17.39px + 17.99px + 18.59px + 19.19px + 19.79px + 20.38px + 20.98px + 21.58px + 22.18px + 22.78px + 23.38px + 23.98px + 24.58px + 25.18px + 25.78px + 26.38px + 26.98px + 27.58px + 28.18px + 28.78px + 29.38px + 29.98px + 30.58px + 31.18px + 31.78px + 32.38px + 32.98px + 33.58px + 34.18px + 34.78px + 35.38px + 35.98px + 36.58px + 37.18px + 37.78px + 38.38px + 38.98px + 39.58px + 40.17px + 40.77px + 41.37px + 41.97px + 42.57px + 43.17px + 43.77px + 44.37px + 44.97px + 45.57px + 46.17px + 46.77px + 47.37px + 47.97px + 48.57px + 49.17px + 49.77px + 50.37px + 50.97px + 51.57px + 52.17px + 52.77px + 53.37px + 53.97px + 54.57px + 55.17px + 55.77px + 56.37px + 56.97px + 57.57px + 58.17px + 58.77px + 59.37px + 59.97px + 60.56px + 61.16px + 61.76px + 62.36px + 62.96px + 63.56px + 64.16px + 64.76px + 65.36px + 65.96px + 66.56px + 67.16px + 67.76px + 68.36px + 68.96px + 69.56px + 70.16px + 70.76px + 71.36px + 71.96px + 72.56px + 73.16px + 73.76px + 74.36px + 74.96px + 75.56px + 76.16px + 76.76px + 77.36px + 77.96px + 78.56px + 79.16px + 79.76px + 80.35px + 80.95px + 81.55px + 82.15px + 82.75px + 83.35px + 83.95px + 84.55px + 85.15px + 85.75px + 86.35px + 86.95px + 87.55px + 88.15px + 88.75px + 89.35px + 89.95px + 90.55px + 91.15px + 91.75px + 92.35px + 92.95px + 93.55px + 94.15px + 94.75px + 95.35px + 95.95px + 96.55px + 97.15px + 97.75px + 98.35px + 98.95px + 99.55px + 100.14px + 100.74px + 101.34px + 101.94px + 102.54px + 103.14px + 103.74px + 104.34px + 104.94px + 105.54px + 106.14px + 106.74px + 107.34px + 107.94px + 108.54px + 109.14px + 109.74px + 110.34px + 110.94px + 111.54px + 112.14px + 112.74px + 113.34px + 113.94px + 114.54px + 115.14px + 115.74px + 116.34px + 116.94px + 117.54px + 118.14px + 118.74px + 119.34px + 119.94px + 120.53px + 121.13px + 121.73px + 122.33px + 122.93px + 123.53px + 124.13px + 124.73px + 125.33px + 125.93px + 126.53px + 127.13px + 127.73px + 128.33px + 128.93px + 129.53px + 130.13px + 130.73px + 131.33px + 131.93px + 132.53px + 133.13px + 133.73px + 134.33px + 134.93px + 135.53px + 136.13px + 136.73px + 137.33px + 137.93px + 138.53px + 139.13px + 139.73px + 140.32px + 140.92px + 141.52px + 142.12px + 142.72px + 143.32px + 143.92px + 144.52px + 145.12px + 145.72px + 146.32px + 146.92px + 147.52px + 148.12px + 148.72px + 149.32px + 149.92px + 150.52px + 151.12px + 151.72px + 152.32px + 152.92px + 153.52px + 154.12px + 154.72px + 155.32px + 155.92px + 156.52px + 157.12px + 157.72px + 158.32px + 158.92px + 159.52px + 160.11px + 160.71px + 161.31px + 161.91px + 162.51px + 163.11px + 163.71px + 164.31px + 164.91px + 165.51px + 166.11px + 166.71px + 167.31px + 167.91px + 168.51px + 169.11px + 169.71px + 170.31px + 170.91px + 171.51px + 172.11px + 172.71px + 173.31px + 173.91px + 174.51px + 175.11px + 175.71px + 176.31px + 176.91px + 177.51px + 178.11px + 178.71px + 179.31px + 179.91px + 180.5px + 181.1px + 181.7px + 182.3px + 182.9px + 183.5px + 184.1px + 184.7px + 185.3px + 185.9px + 186.5px + 187.1px + 187.7px + 188.3px + 188.9px + 189.5px + 190.1px + 190.7px + 191.3px + 191.9px + 192.5px + 193.1px + 193.7px + 194.3px + 194.9px + 195.5px + 196.1px + 196.7px + 197.3px + 197.9px + 198.5px + 199.1px + 199.7px + 200.29px + 200.89px + 201.49px + 202.09px + 202.69px + 203.29px + 203.89px + 204.49px + 205.09px + 205.69px + 206.29px + 206.89px + 207.49px + 208.09px + 208.69px + 209.29px + 209.89px + 210.49px + 211.09px + 211.69px + 212.29px + 212.89px + 213.49px + 214.09px + 214.69px + 215.29px + 215.89px + 216.49px + 217.09px + 217.69px + 218.29px + 218.89px + 219.49px + 220.08px + 220.68px + 221.28px + 221.88px + 222.48px + 223.08px + 223.68px + 224.28px + 224.88px + 225.48px + 226.08px + 226.68px + 227.28px + 227.88px + 228.48px + 229.08px + 229.68px + 230.28px + 230.88px + 231.48px + 232.08px + 232.68px + 233.28px + 233.88px + 234.48px + 235.08px + 235.68px + 236.28px + 236.88px + 237.48px + 238.08px + 238.68px + 239.28px + 239.88px + 240.47px + 241.07px + 241.67px + 242.27px + 242.87px + 243.47px + 244.07px + 244.67px + 245.27px + 245.87px + 246.47px + 247.07px + 247.67px + 248.27px + 248.87px + 249.47px + 250.07px + 250.67px + 251.27px + 251.87px + 252.47px + 253.07px + 253.67px + 254.27px + 254.87px + 255.47px + 256.07px + 256.67px + 257.27px + 257.87px + 258.47px + 259.07px + 259.67px + 260.26px + 260.86px + 261.46px + 262.06px + 262.66px + 263.26px + 263.86px + 264.46px + 265.06px + 265.66px + 266.26px + 266.86px + 267.46px + 268.06px + 268.66px + 269.26px + 269.86px + 270.46px + 271.06px + 271.66px + 272.26px + 272.86px + 273.46px + 274.06px + 274.66px + 275.26px + 275.86px + 276.46px + 277.06px + 277.66px + 278.26px + 278.86px + 279.46px + 280.05px + 280.65px + 281.25px + 281.85px + 282.45px + 283.05px + 283.65px + 284.25px + 284.85px + 285.45px + 286.05px + 286.65px + 287.25px + 287.85px + 288.45px + 289.05px + 289.65px + 290.25px + 290.85px + 291.45px + 292.05px + 292.65px + 293.25px + 293.85px + 294.45px + 295.05px + 295.65px + 296.25px + 296.85px + 297.45px + 298.05px + 298.65px + 299.25px + 299.85px + 300.44px + 301.04px + 301.64px + 302.24px + 302.84px + 303.44px + 304.04px + 304.64px + 305.24px + 305.84px + 306.44px + 307.04px + 307.64px + 308.24px + 308.84px + 309.44px + 310.04px + 310.64px + 311.24px + 311.84px + 312.44px + 313.04px + 313.64px + 314.24px + 314.84px + 315.44px + 316.04px + 316.64px + 317.24px + 317.84px + 318.44px + 319.04px + 319.64px + 320.23px + 320.83px + 321.43px + 322.03px + 322.63px + 323.23px + 323.83px + 324.43px + 325.03px + 325.63px + 326.23px + 326.83px + 327.43px + 328.03px + 328.63px + 329.23px + 329.83px + 330.43px + 331.03px + 331.63px + 332.23px + 332.83px + 333.43px + 334.03px + 334.63px + 335.23px + 335.83px + 336.43px + 337.03px + 337.63px + 338.23px + 338.83px + 339.43px + 340.03px + 340.62px + 341.22px + 341.82px + 342.42px + 343.02px + 343.62px + 344.22px + 344.82px + 345.42px + 346.02px + 346.62px + 347.22px + 347.82px + 348.42px + 349.02px + 349.62px + 350.22px + 350.82px + 351.42px + 352.02px + 352.62px + 353.22px + 353.82px + 354.42px + 355.02px + 355.62px + 356.22px + 356.82px + 357.42px + 358.02px + 358.62px + 359.22px + 359.82px + 360.41px + 361.01px + 361.61px + 362.21px + 362.81px + 363.41px + 364.01px + 364.61px + 365.21px + 365.81px + 366.41px + 367.01px + 367.61px + 368.21px + 368.81px + 369.41px + 370.01px + 370.61px + 371.21px + 371.81px + 372.41px + 373.01px + 373.61px + 374.21px + 374.81px + 375.41px + 376.01px + 376.61px + 377.21px + 377.81px + 378.41px + 379.01px + 379.61px + 380.2px + 380.8px + 381.4px + 382.0px + 382.6px + 383.2px + 383.8px + 384.4px + 385.0px + 385.6px + 386.2px + 386.8px + 387.4px + 388.0px + 388.6px + 389.2px + 389.8px + 390.4px + 391.0px + 391.6px + 392.2px + 392.8px + 393.4px + 394.0px + 394.6px + 395.2px + 395.8px + 396.4px + 397.0px + 397.6px + 398.2px + 398.8px + 399.4px + 400.0px + 400.59px + 401.19px + 401.79px + 402.39px + 402.99px + 403.59px + 404.19px + 404.79px + 405.39px + 405.99px + 406.59px + 407.19px + 407.79px + 408.39px + 408.99px + 409.59px + 410.19px + 410.79px + 411.39px + 411.99px + 412.59px + 413.19px + 413.79px + 414.39px + 414.99px + 415.59px + 416.19px + 416.79px + 417.39px + 417.99px + 418.59px + 419.19px + 419.79px + 420.38px + 420.98px + 421.58px + 422.18px + 422.78px + 423.38px + 423.98px + 424.58px + 425.18px + 425.78px + 426.38px + 426.98px + 427.58px + 428.18px + 428.78px + 429.38px + 429.98px + 430.58px + 431.18px + 431.78px + 432.38px + 432.98px + 433.58px + 434.18px + 434.78px + 435.38px + 435.98px + 436.58px + 437.18px + 437.78px + 438.38px + 438.98px + 439.58px + 440.17px + 440.77px + 441.37px + 441.97px + 442.57px + 443.17px + 443.77px + 444.37px + 444.97px + 445.57px + 446.17px + 446.77px + 447.37px + 447.97px + 448.57px + 449.17px + 449.77px + 450.37px + 450.97px + 451.57px + 452.17px + 452.77px + 453.37px + 453.97px + 454.57px + 455.17px + 455.77px + 456.37px + 456.97px + 457.57px + 458.17px + 458.77px + 459.37px + 459.97px + 460.56px + 461.16px + 461.76px + 462.36px + 462.96px + 463.56px + 464.16px + 464.76px + 465.36px + 465.96px + 466.56px + 467.16px + 467.76px + 468.36px + 468.96px + 469.56px + 470.16px + 470.76px + 471.36px + 471.96px + 472.56px + 473.16px + 473.76px + 474.36px + 474.96px + 475.56px + 476.16px + 476.76px + 477.36px + 477.96px + 478.56px + 479.16px + 479.76px + 480.35px + 480.95px + 481.55px + 482.15px + 482.75px + 483.35px + 483.95px + 484.55px + 485.15px + 485.75px + 486.35px + 486.95px + 487.55px + 488.15px + 488.75px + 489.35px + 489.95px + 490.55px + 491.15px + 491.75px + 492.35px + 492.95px + 493.55px + 494.15px + 494.75px + 495.35px + 495.95px + 496.55px + 497.15px + 497.75px + 498.35px + 498.95px + 499.55px + 500.14px + 500.74px + 501.34px + 501.94px + 502.54px + 503.14px + 503.74px + 504.34px + 504.94px + 505.54px + 506.14px + 506.74px + 507.34px + 507.94px + 508.54px + 509.14px + 509.74px + 510.34px + 510.94px + 511.54px + 512.14px + 512.74px + 513.34px + 513.94px + 514.54px + 515.14px + 515.74px + 516.34px + 516.94px + 517.54px + 518.14px + 518.74px + 519.34px + 519.94px + 520.53px + 521.13px + 521.73px + 522.33px + 522.93px + 523.53px + 524.13px + 524.73px + 525.33px + 525.93px + 526.53px + 527.13px + 527.73px + 528.33px + 528.93px + 529.53px + 530.13px + 530.73px + 531.33px + 531.93px + 532.53px + 533.13px + 533.73px + 534.33px + 534.93px + 535.53px + 536.13px + 536.73px + 537.33px + 537.93px + 538.53px + 539.13px + 539.73px + 540.32px + 540.92px + 541.52px + 542.12px + 542.72px + 543.32px + 543.92px + 544.52px + 545.12px + 545.72px + 546.32px + 546.92px + 547.52px + 548.12px + 548.72px + 549.32px + 549.92px + 550.52px + 551.12px + 551.72px + 552.32px + 552.92px + 553.52px + 554.12px + 554.72px + 555.32px + 555.92px + 556.52px + 557.12px + 557.72px + 558.32px + 558.92px + 559.52px + 560.11px + 560.71px + 561.31px + 561.91px + 562.51px + 563.11px + 563.71px + 564.31px + 564.91px + 565.51px + 566.11px + 566.71px + 567.31px + 567.91px + 568.51px + 569.11px + 569.71px + 570.31px + 570.91px + 571.51px + 572.11px + 572.71px + 573.31px + 573.91px + 574.51px + 575.11px + 575.71px + 576.31px + 576.91px + 577.51px + 578.11px + 578.71px + 579.31px + 579.91px + 580.5px + 581.1px + 581.7px + 582.3px + 582.9px + 583.5px + 584.1px + 584.7px + 585.3px + 585.9px + 586.5px + 587.1px + 587.7px + 588.3px + 588.9px + 589.5px + 590.1px + 590.7px + 591.3px + 591.9px + 592.5px + 593.1px + 593.7px + 594.3px + 594.9px + 595.5px + 596.1px + 596.7px + 597.3px + 597.9px + 598.5px + 599.1px + 599.7px + 600.29px + 600.89px + 601.49px + 602.09px + 602.69px + 603.29px + 603.89px + 604.49px + 605.09px + 605.69px + 606.29px + 606.89px + 607.49px + 608.09px + 608.69px + 609.29px + 609.89px + 610.49px + 611.09px + 611.69px + 612.29px + 612.89px + 613.49px + 614.09px + 614.69px + 615.29px + 615.89px + 616.49px + 617.09px + 617.69px + 618.29px + 618.89px + 619.49px + 620.08px + 620.68px + 621.28px + 621.88px + 622.48px + 623.08px + 623.68px + 624.28px + 624.88px + 625.48px + 626.08px + 626.68px + 627.28px + 627.88px + 628.48px + 629.08px + 629.68px + 630.28px + 630.88px + 631.48px + 632.08px + 632.68px + 633.28px + 633.88px + 634.48px + 635.08px + 635.68px + 636.28px + 636.88px + 637.48px + 638.08px + 638.68px + 639.28px + 639.88px + 640.47px + 641.07px + 641.67px + 642.27px + 642.87px + 643.47px + 644.07px + 644.67px + 645.27px + 645.87px + 646.47px + 647.07px + 647.67px + 648.27px + 648.87px + 649.47px + 650.07px + 650.67px + 651.27px + 651.87px + 652.47px + 653.07px + 653.67px + 654.27px + 654.87px + 655.47px + 656.07px + 656.67px + 657.27px + 657.87px + 658.47px + 659.07px + 659.67px + 660.26px + 660.86px + 661.46px + 662.06px + 662.66px + 663.26px + 663.86px + 664.46px + 665.06px + 665.66px + 666.26px + 666.86px + 667.46px + 668.06px + 668.66px + 669.26px + 669.86px + 670.46px + 671.06px + 671.66px + 672.26px + 672.86px + 673.46px + 674.06px + 674.66px + 675.26px + 675.86px + 676.46px + 677.06px + 677.66px + 678.26px + 678.86px + 679.46px + 680.06px + 680.65px + 681.25px + 681.85px + 682.45px + 683.05px + 683.65px + 684.25px + 684.85px + 685.45px + 686.05px + 686.65px + 687.25px + 687.85px + 688.45px + 689.05px + 689.65px + 690.25px + 690.85px + 691.45px + 692.05px + 692.65px + 693.25px + 693.85px + 694.45px + 695.05px + 695.65px + 696.25px + 696.85px + 697.45px + 698.05px + 698.65px + 699.25px + 699.85px + 700.44px + 701.04px + 701.64px + 702.24px + 702.84px + 703.44px + 704.04px + 704.64px + 705.24px + 705.84px + 706.44px + 707.04px + 707.64px + 708.24px + 708.84px + 709.44px + 710.04px + 710.64px + 711.24px + 711.84px + 712.44px + 713.04px + 713.64px + 714.24px + 714.84px + 715.44px + 716.04px + 716.64px + 717.24px + 717.84px + 718.44px + 719.04px + 719.64px + 720.23px + 720.83px + 721.43px + 722.03px + 722.63px + 723.23px + 723.83px + 724.43px + 725.03px + 725.63px + 726.23px + 726.83px + 727.43px + 728.03px + 728.63px + 729.23px + 729.83px + 730.43px + 731.03px + 731.63px + 732.23px + 732.83px + 733.43px + 734.03px + 734.63px + 735.23px + 735.83px + 736.43px + 737.03px + 737.63px + 738.23px + 738.83px + 739.43px + 740.03px + 740.62px + 741.22px + 741.82px + 742.42px + 743.02px + 743.62px + 744.22px + 744.82px + 745.42px + 746.02px + 746.62px + 747.22px + 747.82px + 748.42px + 749.02px + 749.62px + 750.22px + 750.82px + 751.42px + 752.02px + 752.62px + 753.22px + 753.82px + 754.42px + 755.02px + 755.62px + 756.22px + 756.82px + 757.42px + 758.02px + 758.62px + 759.22px + 759.82px + 760.41px + 761.01px + 761.61px + 762.21px + 762.81px + 763.41px + 764.01px + 764.61px + 765.21px + 765.81px + 766.41px + 767.01px + 767.61px + 768.21px + 768.81px + 769.41px + 770.01px + 770.61px + 771.21px + 771.81px + 772.41px + 773.01px + 773.61px + 774.21px + 774.81px + 775.41px + 776.01px + 776.61px + 777.21px + 777.81px + 778.41px + 779.01px + 779.61px + 780.2px + 780.8px + 781.4px + 782.0px + 782.6px + 783.2px + 783.8px + 784.4px + 785.0px + 785.6px + 786.2px + 786.8px + 787.4px + 788.0px + 788.6px + 789.2px + 789.8px + 790.4px + 791.0px + 791.6px + 792.2px + 792.8px + 793.4px + 794.0px + 794.6px + 795.2px + 795.8px + 796.4px + 797.0px + 797.6px + 798.2px + 798.8px + 799.4px + 800px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-854x480/lay_x.xml b/FaceUnity/src/main/res/values-854x480/lay_x.xml new file mode 100644 index 000000000..492244167 --- /dev/null +++ b/FaceUnity/src/main/res/values-854x480/lay_x.xml @@ -0,0 +1,753 @@ + + + 0.64px + 1.28px + 1.92px + 2.56px + 3.19px + 3.84px + 4.48px + 5.12px + 5.76px + 6.39px + 7.04px + 7.68px + 8.32px + 8.96px + 9.59px + 10.24px + 10.88px + 11.52px + 12.16px + 12.79px + 13.44px + 14.08px + 14.71px + 15.36px + 16.0px + 16.64px + 17.27px + 17.92px + 18.56px + 19.19px + 19.84px + 20.48px + 21.12px + 21.76px + 22.4px + 23.04px + 23.68px + 24.32px + 24.96px + 25.59px + 26.24px + 26.88px + 27.51px + 28.16px + 28.8px + 29.43px + 30.08px + 30.72px + 31.35px + 32.0px + 32.64px + 33.28px + 33.91px + 34.55px + 35.2px + 35.84px + 36.48px + 37.12px + 37.75px + 38.39px + 39.04px + 39.68px + 40.32px + 40.96px + 41.6px + 42.24px + 42.87px + 43.52px + 44.16px + 44.8px + 45.44px + 46.08px + 46.71px + 47.36px + 48.0px + 48.64px + 49.28px + 49.92px + 50.56px + 51.19px + 51.84px + 52.48px + 53.12px + 53.76px + 54.4px + 55.03px + 55.68px + 56.32px + 56.96px + 57.6px + 58.24px + 58.87px + 59.52px + 60.16px + 60.8px + 61.44px + 62.08px + 62.71px + 63.35px + 64.0px + 64.64px + 65.28px + 65.92px + 66.56px + 67.19px + 67.83px + 68.47px + 69.11px + 69.76px + 70.4px + 71.04px + 71.68px + 72.32px + 72.96px + 73.6px + 74.24px + 74.87px + 75.51px + 76.15px + 76.79px + 77.43px + 78.08px + 78.72px + 79.36px + 80.0px + 80.64px + 81.28px + 81.92px + 82.56px + 83.2px + 83.84px + 84.48px + 85.12px + 85.75px + 86.4px + 87.04px + 87.68px + 88.32px + 88.96px + 89.6px + 90.24px + 90.88px + 91.52px + 92.16px + 92.8px + 93.43px + 94.07px + 94.72px + 95.36px + 96.0px + 96.64px + 97.28px + 97.92px + 98.56px + 99.2px + 99.84px + 100.48px + 101.12px + 101.75px + 102.39px + 103.04px + 103.68px + 104.32px + 104.96px + 105.6px + 106.24px + 106.88px + 107.52px + 108.16px + 108.8px + 109.43px + 110.07px + 110.72px + 111.36px + 112.0px + 112.64px + 113.28px + 113.92px + 114.56px + 115.2px + 115.84px + 116.48px + 117.12px + 117.75px + 118.39px + 119.04px + 119.68px + 120.32px + 120.96px + 121.6px + 122.24px + 122.88px + 123.52px + 124.16px + 124.8px + 125.43px + 126.07px + 126.71px + 127.36px + 128.0px + 128.64px + 129.28px + 129.92px + 130.56px + 131.2px + 131.84px + 132.48px + 133.12px + 133.75px + 134.39px + 135.03px + 135.67px + 136.31px + 136.95px + 137.59px + 138.23px + 138.87px + 139.52px + 140.16px + 140.8px + 141.44px + 142.08px + 142.72px + 143.36px + 144.0px + 144.64px + 145.28px + 145.92px + 146.56px + 147.2px + 147.84px + 148.48px + 149.12px + 149.75px + 150.39px + 151.03px + 151.67px + 152.31px + 152.95px + 153.59px + 154.23px + 154.87px + 155.51px + 156.16px + 156.8px + 157.44px + 158.08px + 158.72px + 159.36px + 160.0px + 160.64px + 161.28px + 161.92px + 162.56px + 163.2px + 163.84px + 164.48px + 165.12px + 165.76px + 166.4px + 167.04px + 167.68px + 168.32px + 168.96px + 169.6px + 170.24px + 170.87px + 171.51px + 172.16px + 172.8px + 173.44px + 174.08px + 174.72px + 175.36px + 176.0px + 176.64px + 177.28px + 177.92px + 178.56px + 179.2px + 179.84px + 180.48px + 181.12px + 181.76px + 182.4px + 183.04px + 183.68px + 184.32px + 184.96px + 185.6px + 186.24px + 186.87px + 187.51px + 188.15px + 188.8px + 189.44px + 190.08px + 190.72px + 191.36px + 192.0px + 192.64px + 193.28px + 193.92px + 194.56px + 195.2px + 195.84px + 196.48px + 197.12px + 197.76px + 198.4px + 199.04px + 199.68px + 200.32px + 200.96px + 201.6px + 202.24px + 202.87px + 203.51px + 204.15px + 204.79px + 205.44px + 206.08px + 206.72px + 207.36px + 208.0px + 208.64px + 209.28px + 209.92px + 210.56px + 211.2px + 211.84px + 212.48px + 213.12px + 213.76px + 214.4px + 215.04px + 215.68px + 216.32px + 216.96px + 217.6px + 218.24px + 218.87px + 219.51px + 220.15px + 220.79px + 221.44px + 222.08px + 222.72px + 223.36px + 224.0px + 224.64px + 225.28px + 225.92px + 226.56px + 227.2px + 227.84px + 228.48px + 229.12px + 229.76px + 230.4px + 231.04px + 231.68px + 232.32px + 232.96px + 233.6px + 234.24px + 234.87px + 235.51px + 236.15px + 236.79px + 237.43px + 238.08px + 238.72px + 239.36px + 240.0px + 240.64px + 241.28px + 241.92px + 242.56px + 243.2px + 243.84px + 244.48px + 245.12px + 245.76px + 246.4px + 247.04px + 247.68px + 248.32px + 248.96px + 249.6px + 250.24px + 250.87px + 251.51px + 252.15px + 252.79px + 253.43px + 254.08px + 254.72px + 255.36px + 256.0px + 256.63px + 257.28px + 257.91px + 258.56px + 259.19px + 259.84px + 260.47px + 261.12px + 261.75px + 262.4px + 263.04px + 263.68px + 264.32px + 264.96px + 265.6px + 266.24px + 266.88px + 267.51px + 268.16px + 268.79px + 269.44px + 270.07px + 270.72px + 271.35px + 272.0px + 272.63px + 273.28px + 273.91px + 274.56px + 275.19px + 275.84px + 276.47px + 277.12px + 277.75px + 278.4px + 279.04px + 279.68px + 280.32px + 280.96px + 281.6px + 282.24px + 282.88px + 283.51px + 284.16px + 284.79px + 285.44px + 286.07px + 286.72px + 287.35px + 288.0px + 288.63px + 289.28px + 289.91px + 290.56px + 291.19px + 291.84px + 292.47px + 293.12px + 293.75px + 294.4px + 295.04px + 295.68px + 296.32px + 296.96px + 297.6px + 298.24px + 298.88px + 299.51px + 300.16px + 300.79px + 301.44px + 302.07px + 302.72px + 303.35px + 304.0px + 304.63px + 305.28px + 305.91px + 306.56px + 307.19px + 307.84px + 308.47px + 309.12px + 309.75px + 310.4px + 311.03px + 311.68px + 312.32px + 312.96px + 313.6px + 314.24px + 314.88px + 315.51px + 316.16px + 316.79px + 317.44px + 318.07px + 318.72px + 319.35px + 320.0px + 320.63px + 321.28px + 321.91px + 322.56px + 323.19px + 323.84px + 324.47px + 325.12px + 325.75px + 326.4px + 327.03px + 327.68px + 328.32px + 328.96px + 329.6px + 330.24px + 330.88px + 331.52px + 332.16px + 332.8px + 333.44px + 334.08px + 334.72px + 335.36px + 336.0px + 336.64px + 337.28px + 337.92px + 338.56px + 339.2px + 339.84px + 340.48px + 341.12px + 341.75px + 342.4px + 343.03px + 343.68px + 344.32px + 344.96px + 345.6px + 346.24px + 346.88px + 347.52px + 348.16px + 348.8px + 349.44px + 350.08px + 350.72px + 351.36px + 352.0px + 352.64px + 353.28px + 353.92px + 354.56px + 355.2px + 355.84px + 356.48px + 357.12px + 357.75px + 358.4px + 359.03px + 359.68px + 360.31px + 360.96px + 361.6px + 362.24px + 362.88px + 363.52px + 364.16px + 364.8px + 365.44px + 366.08px + 366.72px + 367.36px + 368.0px + 368.64px + 369.28px + 369.92px + 370.56px + 371.2px + 371.84px + 372.48px + 373.12px + 373.75px + 374.4px + 375.03px + 375.68px + 376.31px + 376.96px + 377.6px + 378.24px + 378.88px + 379.52px + 380.16px + 380.8px + 381.44px + 382.08px + 382.72px + 383.36px + 384.0px + 384.64px + 385.28px + 385.92px + 386.56px + 387.2px + 387.84px + 388.48px + 389.12px + 389.75px + 390.4px + 391.03px + 391.68px + 392.31px + 392.96px + 393.6px + 394.24px + 394.88px + 395.52px + 396.16px + 396.8px + 397.44px + 398.08px + 398.72px + 399.36px + 400.0px + 400.64px + 401.28px + 401.92px + 402.56px + 403.2px + 403.84px + 404.48px + 405.12px + 405.75px + 406.4px + 407.03px + 407.68px + 408.31px + 408.96px + 409.59px + 410.24px + 410.88px + 411.52px + 412.16px + 412.8px + 413.44px + 414.08px + 414.72px + 415.36px + 416.0px + 416.64px + 417.28px + 417.92px + 418.56px + 419.2px + 419.84px + 420.48px + 421.12px + 421.75px + 422.4px + 423.03px + 423.68px + 424.31px + 424.96px + 425.59px + 426.24px + 426.88px + 427.52px + 428.16px + 428.8px + 429.44px + 430.08px + 430.72px + 431.36px + 432.0px + 432.64px + 433.28px + 433.92px + 434.56px + 435.2px + 435.84px + 436.48px + 437.12px + 437.75px + 438.4px + 439.03px + 439.68px + 440.31px + 440.96px + 441.59px + 442.24px + 442.88px + 443.52px + 444.16px + 444.8px + 445.44px + 446.08px + 446.72px + 447.36px + 448.0px + 448.64px + 449.28px + 449.92px + 450.56px + 451.2px + 451.84px + 452.48px + 453.12px + 453.75px + 454.4px + 455.03px + 455.68px + 456.31px + 456.96px + 457.59px + 458.24px + 458.88px + 459.52px + 460.16px + 460.8px + 461.44px + 462.08px + 462.72px + 463.36px + 464.0px + 464.64px + 465.28px + 465.92px + 466.56px + 467.2px + 467.84px + 468.48px + 469.12px + 469.75px + 470.4px + 471.03px + 471.68px + 472.31px + 472.96px + 473.59px + 474.24px + 474.87px + 475.52px + 476.16px + 476.8px + 477.44px + 478.08px + 478.72px + 479.36px + 480px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-854x480/lay_y.xml b/FaceUnity/src/main/res/values-854x480/lay_y.xml new file mode 100644 index 000000000..014c52cfb --- /dev/null +++ b/FaceUnity/src/main/res/values-854x480/lay_y.xml @@ -0,0 +1,1337 @@ + + + 0.64px + 1.28px + 1.92px + 2.56px + 3.2px + 3.84px + 4.48px + 5.12px + 5.76px + 6.4px + 7.04px + 7.68px + 8.32px + 8.96px + 9.6px + 10.24px + 10.88px + 11.52px + 12.16px + 12.8px + 13.44px + 14.08px + 14.72px + 15.36px + 16.0px + 16.64px + 17.28px + 17.92px + 18.56px + 19.2px + 19.84px + 20.48px + 21.12px + 21.76px + 22.4px + 23.04px + 23.68px + 24.32px + 24.96px + 25.6px + 26.24px + 26.88px + 27.52px + 28.16px + 28.8px + 29.44px + 30.08px + 30.72px + 31.36px + 32.0px + 32.64px + 33.28px + 33.92px + 34.56px + 35.2px + 35.85px + 36.49px + 37.13px + 37.77px + 38.41px + 39.05px + 39.69px + 40.33px + 40.97px + 41.61px + 42.25px + 42.89px + 43.53px + 44.17px + 44.81px + 45.45px + 46.09px + 46.73px + 47.37px + 48.01px + 48.65px + 49.29px + 49.93px + 50.57px + 51.21px + 51.85px + 52.49px + 53.13px + 53.77px + 54.41px + 55.05px + 55.69px + 56.33px + 56.97px + 57.61px + 58.25px + 58.89px + 59.53px + 60.17px + 60.81px + 61.45px + 62.09px + 62.73px + 63.37px + 64.01px + 64.65px + 65.29px + 65.93px + 66.57px + 67.21px + 67.85px + 68.49px + 69.13px + 69.77px + 70.41px + 71.05px + 71.7px + 72.34px + 72.98px + 73.62px + 74.26px + 74.9px + 75.54px + 76.18px + 76.82px + 77.46px + 78.1px + 78.74px + 79.38px + 80.02px + 80.66px + 81.3px + 81.94px + 82.58px + 83.22px + 83.86px + 84.5px + 85.14px + 85.78px + 86.42px + 87.06px + 87.7px + 88.34px + 88.98px + 89.62px + 90.26px + 90.9px + 91.54px + 92.18px + 92.82px + 93.46px + 94.1px + 94.74px + 95.38px + 96.02px + 96.66px + 97.3px + 97.94px + 98.58px + 99.22px + 99.86px + 100.5px + 101.14px + 101.78px + 102.42px + 103.06px + 103.7px + 104.34px + 104.98px + 105.62px + 106.26px + 106.91px + 107.55px + 108.19px + 108.83px + 109.47px + 110.11px + 110.75px + 111.39px + 112.03px + 112.67px + 113.31px + 113.95px + 114.59px + 115.23px + 115.87px + 116.51px + 117.15px + 117.79px + 118.43px + 119.07px + 119.71px + 120.35px + 120.99px + 121.63px + 122.27px + 122.91px + 123.55px + 124.19px + 124.83px + 125.47px + 126.11px + 126.75px + 127.39px + 128.03px + 128.67px + 129.31px + 129.95px + 130.59px + 131.23px + 131.87px + 132.51px + 133.15px + 133.79px + 134.43px + 135.07px + 135.71px + 136.35px + 136.99px + 137.63px + 138.27px + 138.91px + 139.55px + 140.19px + 140.83px + 141.47px + 142.11px + 142.76px + 143.4px + 144.04px + 144.68px + 145.32px + 145.96px + 146.6px + 147.24px + 147.88px + 148.52px + 149.16px + 149.8px + 150.44px + 151.08px + 151.72px + 152.36px + 153.0px + 153.64px + 154.28px + 154.92px + 155.56px + 156.2px + 156.84px + 157.48px + 158.12px + 158.76px + 159.4px + 160.04px + 160.68px + 161.32px + 161.96px + 162.6px + 163.24px + 163.88px + 164.52px + 165.16px + 165.8px + 166.44px + 167.08px + 167.72px + 168.36px + 169.0px + 169.64px + 170.28px + 170.92px + 171.56px + 172.2px + 172.84px + 173.48px + 174.12px + 174.76px + 175.4px + 176.04px + 176.68px + 177.32px + 177.97px + 178.61px + 179.25px + 179.89px + 180.53px + 181.17px + 181.81px + 182.45px + 183.09px + 183.73px + 184.37px + 185.01px + 185.65px + 186.29px + 186.93px + 187.57px + 188.21px + 188.85px + 189.49px + 190.13px + 190.77px + 191.41px + 192.05px + 192.69px + 193.33px + 193.97px + 194.61px + 195.25px + 195.89px + 196.53px + 197.17px + 197.81px + 198.45px + 199.09px + 199.73px + 200.37px + 201.01px + 201.65px + 202.29px + 202.93px + 203.57px + 204.21px + 204.85px + 205.49px + 206.13px + 206.77px + 207.41px + 208.05px + 208.69px + 209.33px + 209.97px + 210.61px + 211.25px + 211.89px + 212.53px + 213.17px + 213.82px + 214.46px + 215.1px + 215.74px + 216.38px + 217.02px + 217.66px + 218.3px + 218.94px + 219.58px + 220.22px + 220.86px + 221.5px + 222.14px + 222.78px + 223.42px + 224.06px + 224.7px + 225.34px + 225.98px + 226.62px + 227.26px + 227.9px + 228.54px + 229.18px + 229.82px + 230.46px + 231.1px + 231.74px + 232.38px + 233.02px + 233.66px + 234.3px + 234.94px + 235.58px + 236.22px + 236.86px + 237.5px + 238.14px + 238.78px + 239.42px + 240.06px + 240.7px + 241.34px + 241.98px + 242.62px + 243.26px + 243.9px + 244.54px + 245.18px + 245.82px + 246.46px + 247.1px + 247.74px + 248.38px + 249.03px + 249.67px + 250.31px + 250.95px + 251.59px + 252.23px + 252.87px + 253.51px + 254.15px + 254.79px + 255.43px + 256.07px + 256.71px + 257.35px + 257.99px + 258.63px + 259.27px + 259.91px + 260.55px + 261.19px + 261.83px + 262.47px + 263.11px + 263.75px + 264.39px + 265.03px + 265.67px + 266.31px + 266.95px + 267.59px + 268.23px + 268.87px + 269.51px + 270.15px + 270.79px + 271.43px + 272.07px + 272.71px + 273.35px + 273.99px + 274.63px + 275.27px + 275.91px + 276.55px + 277.19px + 277.83px + 278.47px + 279.11px + 279.75px + 280.39px + 281.03px + 281.67px + 282.31px + 282.95px + 283.59px + 284.23px + 284.88px + 285.52px + 286.16px + 286.8px + 287.44px + 288.08px + 288.72px + 289.36px + 290.0px + 290.64px + 291.28px + 291.92px + 292.56px + 293.2px + 293.84px + 294.48px + 295.12px + 295.76px + 296.4px + 297.04px + 297.68px + 298.32px + 298.96px + 299.6px + 300.24px + 300.88px + 301.52px + 302.16px + 302.8px + 303.44px + 304.08px + 304.72px + 305.36px + 306.0px + 306.64px + 307.28px + 307.92px + 308.56px + 309.2px + 309.84px + 310.48px + 311.12px + 311.76px + 312.4px + 313.04px + 313.68px + 314.32px + 314.96px + 315.6px + 316.24px + 316.88px + 317.52px + 318.16px + 318.8px + 319.44px + 320.08px + 320.73px + 321.37px + 322.01px + 322.65px + 323.29px + 323.93px + 324.57px + 325.21px + 325.85px + 326.49px + 327.13px + 327.77px + 328.41px + 329.05px + 329.69px + 330.33px + 330.97px + 331.61px + 332.25px + 332.89px + 333.53px + 334.17px + 334.81px + 335.45px + 336.09px + 336.73px + 337.37px + 338.01px + 338.65px + 339.29px + 339.93px + 340.57px + 341.21px + 341.85px + 342.49px + 343.13px + 343.77px + 344.41px + 345.05px + 345.69px + 346.33px + 346.97px + 347.61px + 348.25px + 348.89px + 349.53px + 350.17px + 350.81px + 351.45px + 352.09px + 352.73px + 353.37px + 354.01px + 354.65px + 355.29px + 355.94px + 356.58px + 357.22px + 357.86px + 358.5px + 359.14px + 359.78px + 360.42px + 361.06px + 361.7px + 362.34px + 362.98px + 363.62px + 364.26px + 364.9px + 365.54px + 366.18px + 366.82px + 367.46px + 368.1px + 368.74px + 369.38px + 370.02px + 370.66px + 371.3px + 371.94px + 372.58px + 373.22px + 373.86px + 374.5px + 375.14px + 375.78px + 376.42px + 377.06px + 377.7px + 378.34px + 378.98px + 379.62px + 380.26px + 380.9px + 381.54px + 382.18px + 382.82px + 383.46px + 384.1px + 384.74px + 385.38px + 386.02px + 386.66px + 387.3px + 387.94px + 388.58px + 389.22px + 389.86px + 390.5px + 391.14px + 391.79px + 392.43px + 393.07px + 393.71px + 394.35px + 394.99px + 395.63px + 396.27px + 396.91px + 397.55px + 398.19px + 398.83px + 399.47px + 400.11px + 400.75px + 401.39px + 402.03px + 402.67px + 403.31px + 403.95px + 404.59px + 405.23px + 405.87px + 406.51px + 407.15px + 407.79px + 408.43px + 409.07px + 409.71px + 410.35px + 410.99px + 411.63px + 412.27px + 412.91px + 413.55px + 414.19px + 414.83px + 415.47px + 416.11px + 416.75px + 417.39px + 418.03px + 418.67px + 419.31px + 419.95px + 420.59px + 421.23px + 421.87px + 422.51px + 423.15px + 423.79px + 424.43px + 425.07px + 425.71px + 426.35px + 427.0px + 427.64px + 428.28px + 428.92px + 429.56px + 430.2px + 430.84px + 431.48px + 432.12px + 432.76px + 433.4px + 434.04px + 434.68px + 435.32px + 435.96px + 436.6px + 437.24px + 437.88px + 438.52px + 439.16px + 439.8px + 440.44px + 441.08px + 441.72px + 442.36px + 443.0px + 443.64px + 444.28px + 444.92px + 445.56px + 446.2px + 446.84px + 447.48px + 448.12px + 448.76px + 449.4px + 450.04px + 450.68px + 451.32px + 451.96px + 452.6px + 453.24px + 453.88px + 454.52px + 455.16px + 455.8px + 456.44px + 457.08px + 457.72px + 458.36px + 459.0px + 459.64px + 460.28px + 460.92px + 461.56px + 462.2px + 462.85px + 463.49px + 464.13px + 464.77px + 465.41px + 466.05px + 466.69px + 467.33px + 467.97px + 468.61px + 469.25px + 469.89px + 470.53px + 471.17px + 471.81px + 472.45px + 473.09px + 473.73px + 474.37px + 475.01px + 475.65px + 476.29px + 476.93px + 477.57px + 478.21px + 478.85px + 479.49px + 480.13px + 480.77px + 481.41px + 482.05px + 482.69px + 483.33px + 483.97px + 484.61px + 485.25px + 485.89px + 486.53px + 487.17px + 487.81px + 488.45px + 489.09px + 489.73px + 490.37px + 491.01px + 491.65px + 492.29px + 492.93px + 493.57px + 494.21px + 494.85px + 495.49px + 496.13px + 496.77px + 497.41px + 498.06px + 498.7px + 499.34px + 499.98px + 500.62px + 501.26px + 501.9px + 502.54px + 503.18px + 503.82px + 504.46px + 505.1px + 505.74px + 506.38px + 507.02px + 507.66px + 508.3px + 508.94px + 509.58px + 510.22px + 510.86px + 511.5px + 512.14px + 512.78px + 513.42px + 514.06px + 514.7px + 515.34px + 515.98px + 516.62px + 517.26px + 517.9px + 518.54px + 519.18px + 519.82px + 520.46px + 521.1px + 521.74px + 522.38px + 523.02px + 523.66px + 524.3px + 524.94px + 525.58px + 526.22px + 526.86px + 527.5px + 528.14px + 528.78px + 529.42px + 530.06px + 530.7px + 531.34px + 531.98px + 532.62px + 533.26px + 533.91px + 534.55px + 535.19px + 535.83px + 536.47px + 537.11px + 537.75px + 538.39px + 539.03px + 539.67px + 540.31px + 540.95px + 541.59px + 542.23px + 542.87px + 543.51px + 544.15px + 544.79px + 545.43px + 546.07px + 546.71px + 547.35px + 547.99px + 548.63px + 549.27px + 549.91px + 550.55px + 551.19px + 551.83px + 552.47px + 553.11px + 553.75px + 554.39px + 555.03px + 555.67px + 556.31px + 556.95px + 557.59px + 558.23px + 558.87px + 559.51px + 560.15px + 560.79px + 561.43px + 562.07px + 562.71px + 563.35px + 563.99px + 564.63px + 565.27px + 565.91px + 566.55px + 567.19px + 567.83px + 568.47px + 569.11px + 569.76px + 570.4px + 571.04px + 571.68px + 572.32px + 572.96px + 573.6px + 574.24px + 574.88px + 575.52px + 576.16px + 576.8px + 577.44px + 578.08px + 578.72px + 579.36px + 580.0px + 580.64px + 581.28px + 581.92px + 582.56px + 583.2px + 583.84px + 584.48px + 585.12px + 585.76px + 586.4px + 587.04px + 587.68px + 588.32px + 588.96px + 589.6px + 590.24px + 590.88px + 591.52px + 592.16px + 592.8px + 593.44px + 594.08px + 594.72px + 595.36px + 596.0px + 596.64px + 597.28px + 597.92px + 598.56px + 599.2px + 599.84px + 600.48px + 601.12px + 601.76px + 602.4px + 603.04px + 603.68px + 604.32px + 604.97px + 605.61px + 606.25px + 606.89px + 607.53px + 608.17px + 608.81px + 609.45px + 610.09px + 610.73px + 611.37px + 612.01px + 612.65px + 613.29px + 613.93px + 614.57px + 615.21px + 615.85px + 616.49px + 617.13px + 617.77px + 618.41px + 619.05px + 619.69px + 620.33px + 620.97px + 621.61px + 622.25px + 622.89px + 623.53px + 624.17px + 624.81px + 625.45px + 626.09px + 626.73px + 627.37px + 628.01px + 628.65px + 629.29px + 629.93px + 630.57px + 631.21px + 631.85px + 632.49px + 633.13px + 633.77px + 634.41px + 635.05px + 635.69px + 636.33px + 636.97px + 637.61px + 638.25px + 638.89px + 639.53px + 640.17px + 640.82px + 641.46px + 642.1px + 642.74px + 643.38px + 644.02px + 644.66px + 645.3px + 645.94px + 646.58px + 647.22px + 647.86px + 648.5px + 649.14px + 649.78px + 650.42px + 651.06px + 651.7px + 652.34px + 652.98px + 653.62px + 654.26px + 654.9px + 655.54px + 656.18px + 656.82px + 657.46px + 658.1px + 658.74px + 659.38px + 660.02px + 660.66px + 661.3px + 661.94px + 662.58px + 663.22px + 663.86px + 664.5px + 665.14px + 665.78px + 666.42px + 667.06px + 667.7px + 668.34px + 668.98px + 669.62px + 670.26px + 670.9px + 671.54px + 672.18px + 672.82px + 673.46px + 674.1px + 674.74px + 675.38px + 676.03px + 676.67px + 677.31px + 677.95px + 678.59px + 679.23px + 679.87px + 680.51px + 681.15px + 681.79px + 682.43px + 683.07px + 683.71px + 684.35px + 684.99px + 685.63px + 686.27px + 686.91px + 687.55px + 688.19px + 688.83px + 689.47px + 690.11px + 690.75px + 691.39px + 692.03px + 692.67px + 693.31px + 693.95px + 694.59px + 695.23px + 695.87px + 696.51px + 697.15px + 697.79px + 698.43px + 699.07px + 699.71px + 700.35px + 700.99px + 701.63px + 702.27px + 702.91px + 703.55px + 704.19px + 704.83px + 705.47px + 706.11px + 706.75px + 707.39px + 708.03px + 708.67px + 709.31px + 709.95px + 710.59px + 711.23px + 711.88px + 712.52px + 713.16px + 713.8px + 714.44px + 715.08px + 715.72px + 716.36px + 717.0px + 717.64px + 718.28px + 718.92px + 719.56px + 720.2px + 720.84px + 721.48px + 722.12px + 722.76px + 723.4px + 724.04px + 724.68px + 725.32px + 725.96px + 726.6px + 727.24px + 727.88px + 728.52px + 729.16px + 729.8px + 730.44px + 731.08px + 731.72px + 732.36px + 733.0px + 733.64px + 734.28px + 734.92px + 735.56px + 736.2px + 736.84px + 737.48px + 738.12px + 738.76px + 739.4px + 740.04px + 740.68px + 741.32px + 741.96px + 742.6px + 743.24px + 743.88px + 744.52px + 745.16px + 745.8px + 746.44px + 747.09px + 747.73px + 748.37px + 749.01px + 749.65px + 750.29px + 750.93px + 751.57px + 752.21px + 752.85px + 753.49px + 754.13px + 754.77px + 755.41px + 756.05px + 756.69px + 757.33px + 757.97px + 758.61px + 759.25px + 759.89px + 760.53px + 761.17px + 761.81px + 762.45px + 763.09px + 763.73px + 764.37px + 765.01px + 765.65px + 766.29px + 766.93px + 767.57px + 768.21px + 768.85px + 769.49px + 770.13px + 770.77px + 771.41px + 772.05px + 772.69px + 773.33px + 773.97px + 774.61px + 775.25px + 775.89px + 776.53px + 777.17px + 777.81px + 778.45px + 779.09px + 779.73px + 780.37px + 781.01px + 781.65px + 782.29px + 782.94px + 783.58px + 784.22px + 784.86px + 785.5px + 786.14px + 786.78px + 787.42px + 788.06px + 788.7px + 789.34px + 789.98px + 790.62px + 791.26px + 791.9px + 792.54px + 793.18px + 793.82px + 794.46px + 795.1px + 795.74px + 796.38px + 797.02px + 797.66px + 798.3px + 798.94px + 799.58px + 800.22px + 800.86px + 801.5px + 802.14px + 802.78px + 803.42px + 804.06px + 804.7px + 805.34px + 805.98px + 806.62px + 807.26px + 807.9px + 808.54px + 809.18px + 809.82px + 810.46px + 811.1px + 811.74px + 812.38px + 813.02px + 813.66px + 814.3px + 814.94px + 815.58px + 816.22px + 816.86px + 817.5px + 818.15px + 818.79px + 819.43px + 820.07px + 820.71px + 821.35px + 821.99px + 822.63px + 823.27px + 823.91px + 824.55px + 825.19px + 825.83px + 826.47px + 827.11px + 827.75px + 828.39px + 829.03px + 829.67px + 830.31px + 830.95px + 831.59px + 832.23px + 832.87px + 833.51px + 834.15px + 834.79px + 835.43px + 836.07px + 836.71px + 837.35px + 837.99px + 838.63px + 839.27px + 839.91px + 840.55px + 841.19px + 841.83px + 842.47px + 843.11px + 843.75px + 844.39px + 845.03px + 845.67px + 846.31px + 846.95px + 847.59px + 848.23px + 848.87px + 849.51px + 850.15px + 850.79px + 851.43px + 852.07px + 852.71px + 853.35px + 854px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-960x540/lay_x.xml b/FaceUnity/src/main/res/values-960x540/lay_x.xml new file mode 100644 index 000000000..4a6ad2e2b --- /dev/null +++ b/FaceUnity/src/main/res/values-960x540/lay_x.xml @@ -0,0 +1,753 @@ + + + 0.72px + 1.44px + 2.16px + 2.88px + 3.6px + 4.32px + 5.04px + 5.76px + 6.48px + 7.2px + 7.92px + 8.64px + 9.36px + 10.08px + 10.8px + 11.52px + 12.24px + 12.96px + 13.68px + 14.4px + 15.12px + 15.84px + 16.56px + 17.28px + 18.0px + 18.72px + 19.44px + 20.16px + 20.88px + 21.6px + 22.32px + 23.04px + 23.76px + 24.48px + 25.2px + 25.92px + 26.64px + 27.36px + 28.08px + 28.8px + 29.52px + 30.24px + 30.96px + 31.68px + 32.4px + 33.12px + 33.84px + 34.56px + 35.28px + 36.0px + 36.72px + 37.44px + 38.16px + 38.88px + 39.6px + 40.32px + 41.04px + 41.76px + 42.48px + 43.2px + 43.92px + 44.64px + 45.36px + 46.08px + 46.8px + 47.52px + 48.24px + 48.96px + 49.68px + 50.4px + 51.12px + 51.84px + 52.56px + 53.28px + 54.0px + 54.72px + 55.44px + 56.16px + 56.88px + 57.6px + 58.32px + 59.04px + 59.76px + 60.48px + 61.2px + 61.92px + 62.64px + 63.36px + 64.08px + 64.8px + 65.52px + 66.24px + 66.96px + 67.68px + 68.4px + 69.12px + 69.84px + 70.56px + 71.28px + 72.0px + 72.72px + 73.44px + 74.16px + 74.88px + 75.6px + 76.32px + 77.04px + 77.76px + 78.48px + 79.2px + 79.92px + 80.64px + 81.36px + 82.08px + 82.8px + 83.52px + 84.24px + 84.96px + 85.68px + 86.4px + 87.12px + 87.84px + 88.56px + 89.28px + 90.0px + 90.72px + 91.44px + 92.16px + 92.88px + 93.6px + 94.32px + 95.04px + 95.76px + 96.48px + 97.2px + 97.92px + 98.64px + 99.36px + 100.08px + 100.8px + 101.52px + 102.24px + 102.96px + 103.68px + 104.4px + 105.12px + 105.84px + 106.56px + 107.28px + 108.0px + 108.72px + 109.44px + 110.16px + 110.88px + 111.6px + 112.32px + 113.04px + 113.76px + 114.48px + 115.2px + 115.92px + 116.64px + 117.36px + 118.08px + 118.8px + 119.52px + 120.24px + 120.96px + 121.68px + 122.4px + 123.12px + 123.84px + 124.56px + 125.28px + 126.0px + 126.72px + 127.44px + 128.16px + 128.88px + 129.6px + 130.32px + 131.04px + 131.76px + 132.48px + 133.2px + 133.92px + 134.64px + 135.36px + 136.08px + 136.8px + 137.52px + 138.24px + 138.96px + 139.68px + 140.4px + 141.12px + 141.84px + 142.56px + 143.28px + 144.0px + 144.72px + 145.44px + 146.16px + 146.88px + 147.6px + 148.32px + 149.04px + 149.76px + 150.48px + 151.2px + 151.92px + 152.64px + 153.36px + 154.08px + 154.8px + 155.52px + 156.24px + 156.96px + 157.68px + 158.4px + 159.12px + 159.84px + 160.56px + 161.28px + 162.0px + 162.72px + 163.44px + 164.16px + 164.88px + 165.6px + 166.32px + 167.04px + 167.76px + 168.48px + 169.2px + 169.92px + 170.64px + 171.36px + 172.08px + 172.8px + 173.52px + 174.24px + 174.96px + 175.68px + 176.4px + 177.12px + 177.84px + 178.56px + 179.28px + 180.0px + 180.72px + 181.44px + 182.16px + 182.88px + 183.6px + 184.32px + 185.04px + 185.76px + 186.48px + 187.2px + 187.92px + 188.64px + 189.36px + 190.08px + 190.8px + 191.52px + 192.24px + 192.96px + 193.68px + 194.4px + 195.12px + 195.84px + 196.56px + 197.28px + 198.0px + 198.72px + 199.44px + 200.16px + 200.88px + 201.6px + 202.32px + 203.04px + 203.76px + 204.48px + 205.2px + 205.92px + 206.64px + 207.36px + 208.08px + 208.8px + 209.52px + 210.24px + 210.96px + 211.68px + 212.4px + 213.12px + 213.84px + 214.56px + 215.28px + 216.0px + 216.72px + 217.44px + 218.16px + 218.88px + 219.6px + 220.32px + 221.04px + 221.76px + 222.48px + 223.2px + 223.92px + 224.64px + 225.36px + 226.08px + 226.8px + 227.52px + 228.24px + 228.96px + 229.68px + 230.4px + 231.12px + 231.84px + 232.56px + 233.28px + 234.0px + 234.72px + 235.44px + 236.16px + 236.88px + 237.6px + 238.32px + 239.04px + 239.76px + 240.48px + 241.2px + 241.92px + 242.64px + 243.36px + 244.08px + 244.8px + 245.52px + 246.24px + 246.96px + 247.68px + 248.4px + 249.12px + 249.84px + 250.56px + 251.28px + 252.0px + 252.72px + 253.44px + 254.16px + 254.88px + 255.6px + 256.32px + 257.04px + 257.76px + 258.48px + 259.2px + 259.92px + 260.64px + 261.36px + 262.08px + 262.8px + 263.52px + 264.24px + 264.96px + 265.68px + 266.4px + 267.12px + 267.84px + 268.56px + 269.28px + 270.0px + 270.72px + 271.44px + 272.16px + 272.88px + 273.6px + 274.32px + 275.04px + 275.76px + 276.48px + 277.2px + 277.92px + 278.64px + 279.36px + 280.08px + 280.8px + 281.52px + 282.24px + 282.96px + 283.68px + 284.4px + 285.12px + 285.84px + 286.56px + 287.28px + 288.0px + 288.72px + 289.44px + 290.16px + 290.88px + 291.6px + 292.32px + 293.04px + 293.76px + 294.48px + 295.2px + 295.92px + 296.64px + 297.36px + 298.08px + 298.8px + 299.52px + 300.24px + 300.96px + 301.68px + 302.4px + 303.12px + 303.84px + 304.56px + 305.28px + 306.0px + 306.72px + 307.44px + 308.16px + 308.88px + 309.6px + 310.32px + 311.04px + 311.76px + 312.48px + 313.2px + 313.92px + 314.64px + 315.36px + 316.08px + 316.8px + 317.52px + 318.24px + 318.96px + 319.68px + 320.4px + 321.12px + 321.84px + 322.56px + 323.28px + 324.0px + 324.72px + 325.44px + 326.16px + 326.88px + 327.6px + 328.32px + 329.04px + 329.76px + 330.48px + 331.2px + 331.92px + 332.64px + 333.36px + 334.08px + 334.8px + 335.52px + 336.24px + 336.96px + 337.68px + 338.4px + 339.12px + 339.84px + 340.56px + 341.28px + 342.0px + 342.72px + 343.44px + 344.16px + 344.88px + 345.6px + 346.32px + 347.04px + 347.76px + 348.48px + 349.2px + 349.92px + 350.64px + 351.36px + 352.08px + 352.8px + 353.52px + 354.24px + 354.96px + 355.68px + 356.4px + 357.12px + 357.84px + 358.56px + 359.28px + 360.0px + 360.72px + 361.44px + 362.16px + 362.88px + 363.6px + 364.32px + 365.04px + 365.76px + 366.48px + 367.2px + 367.92px + 368.64px + 369.36px + 370.08px + 370.8px + 371.52px + 372.24px + 372.96px + 373.68px + 374.4px + 375.12px + 375.84px + 376.56px + 377.28px + 378.0px + 378.72px + 379.44px + 380.16px + 380.88px + 381.6px + 382.32px + 383.04px + 383.76px + 384.48px + 385.2px + 385.92px + 386.64px + 387.36px + 388.08px + 388.8px + 389.52px + 390.24px + 390.96px + 391.68px + 392.4px + 393.12px + 393.84px + 394.56px + 395.28px + 396.0px + 396.72px + 397.44px + 398.16px + 398.88px + 399.6px + 400.32px + 401.04px + 401.76px + 402.48px + 403.2px + 403.92px + 404.64px + 405.36px + 406.08px + 406.8px + 407.52px + 408.24px + 408.96px + 409.68px + 410.4px + 411.12px + 411.84px + 412.56px + 413.28px + 414.0px + 414.72px + 415.44px + 416.16px + 416.88px + 417.6px + 418.32px + 419.04px + 419.76px + 420.48px + 421.2px + 421.92px + 422.64px + 423.36px + 424.08px + 424.8px + 425.52px + 426.24px + 426.96px + 427.68px + 428.4px + 429.12px + 429.84px + 430.56px + 431.28px + 432.0px + 432.72px + 433.44px + 434.16px + 434.88px + 435.6px + 436.32px + 437.04px + 437.76px + 438.48px + 439.2px + 439.92px + 440.64px + 441.36px + 442.08px + 442.8px + 443.52px + 444.24px + 444.96px + 445.68px + 446.4px + 447.12px + 447.84px + 448.56px + 449.28px + 450.0px + 450.72px + 451.44px + 452.16px + 452.88px + 453.6px + 454.32px + 455.04px + 455.76px + 456.48px + 457.2px + 457.92px + 458.64px + 459.36px + 460.08px + 460.8px + 461.52px + 462.24px + 462.96px + 463.68px + 464.4px + 465.12px + 465.84px + 466.56px + 467.28px + 468.0px + 468.72px + 469.44px + 470.16px + 470.88px + 471.6px + 472.32px + 473.04px + 473.76px + 474.48px + 475.2px + 475.92px + 476.64px + 477.36px + 478.08px + 478.8px + 479.52px + 480.24px + 480.96px + 481.68px + 482.4px + 483.12px + 483.84px + 484.56px + 485.28px + 486.0px + 486.72px + 487.44px + 488.16px + 488.88px + 489.6px + 490.32px + 491.04px + 491.76px + 492.48px + 493.2px + 493.92px + 494.64px + 495.36px + 496.08px + 496.8px + 497.52px + 498.24px + 498.96px + 499.68px + 500.4px + 501.12px + 501.84px + 502.56px + 503.28px + 504.0px + 504.72px + 505.44px + 506.16px + 506.88px + 507.6px + 508.32px + 509.04px + 509.76px + 510.48px + 511.2px + 511.92px + 512.64px + 513.36px + 514.08px + 514.8px + 515.52px + 516.24px + 516.96px + 517.68px + 518.4px + 519.12px + 519.84px + 520.56px + 521.28px + 522.0px + 522.72px + 523.44px + 524.16px + 524.88px + 525.6px + 526.32px + 527.04px + 527.76px + 528.48px + 529.2px + 529.92px + 530.64px + 531.36px + 532.08px + 532.8px + 533.52px + 534.24px + 534.96px + 535.68px + 536.4px + 537.12px + 537.84px + 538.56px + 539.28px + 540px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-960x540/lay_y.xml b/FaceUnity/src/main/res/values-960x540/lay_y.xml new file mode 100644 index 000000000..eb8245501 --- /dev/null +++ b/FaceUnity/src/main/res/values-960x540/lay_y.xml @@ -0,0 +1,1337 @@ + + + 0.71px + 1.43px + 2.15px + 2.87px + 3.59px + 4.31px + 5.03px + 5.75px + 6.47px + 7.19px + 7.91px + 8.63px + 9.35px + 10.07px + 10.79px + 11.51px + 12.23px + 12.95px + 13.67px + 14.39px + 15.11px + 15.83px + 16.55px + 17.27px + 17.99px + 18.71px + 19.43px + 20.14px + 20.86px + 21.58px + 22.3px + 23.02px + 23.74px + 24.46px + 25.18px + 25.9px + 26.62px + 27.34px + 28.06px + 28.78px + 29.5px + 30.22px + 30.94px + 31.66px + 32.38px + 33.1px + 33.82px + 34.54px + 35.26px + 35.98px + 36.7px + 37.42px + 38.14px + 38.86px + 39.58px + 40.29px + 41.01px + 41.73px + 42.45px + 43.17px + 43.89px + 44.61px + 45.33px + 46.05px + 46.77px + 47.49px + 48.21px + 48.93px + 49.65px + 50.37px + 51.09px + 51.81px + 52.53px + 53.25px + 53.97px + 54.69px + 55.41px + 56.13px + 56.85px + 57.57px + 58.29px + 59.01px + 59.73px + 60.44px + 61.16px + 61.88px + 62.6px + 63.32px + 64.04px + 64.76px + 65.48px + 66.2px + 66.92px + 67.64px + 68.36px + 69.08px + 69.8px + 70.52px + 71.24px + 71.96px + 72.68px + 73.4px + 74.12px + 74.84px + 75.56px + 76.28px + 77.0px + 77.72px + 78.44px + 79.16px + 79.88px + 80.59px + 81.31px + 82.03px + 82.75px + 83.47px + 84.19px + 84.91px + 85.63px + 86.35px + 87.07px + 87.79px + 88.51px + 89.23px + 89.95px + 90.67px + 91.39px + 92.11px + 92.83px + 93.55px + 94.27px + 94.99px + 95.71px + 96.43px + 97.15px + 97.87px + 98.59px + 99.31px + 100.02px + 100.74px + 101.46px + 102.18px + 102.9px + 103.62px + 104.34px + 105.06px + 105.78px + 106.5px + 107.22px + 107.94px + 108.66px + 109.38px + 110.1px + 110.82px + 111.54px + 112.26px + 112.98px + 113.7px + 114.42px + 115.14px + 115.86px + 116.58px + 117.3px + 118.02px + 118.74px + 119.46px + 120.17px + 120.89px + 121.61px + 122.33px + 123.05px + 123.77px + 124.49px + 125.21px + 125.93px + 126.65px + 127.37px + 128.09px + 128.81px + 129.53px + 130.25px + 130.97px + 131.69px + 132.41px + 133.13px + 133.85px + 134.57px + 135.29px + 136.01px + 136.73px + 137.45px + 138.17px + 138.89px + 139.61px + 140.32px + 141.04px + 141.76px + 142.48px + 143.2px + 143.92px + 144.64px + 145.36px + 146.08px + 146.8px + 147.52px + 148.24px + 148.96px + 149.68px + 150.4px + 151.12px + 151.84px + 152.56px + 153.28px + 154.0px + 154.72px + 155.44px + 156.16px + 156.88px + 157.6px + 158.32px + 159.04px + 159.76px + 160.47px + 161.19px + 161.91px + 162.63px + 163.35px + 164.07px + 164.79px + 165.51px + 166.23px + 166.95px + 167.67px + 168.39px + 169.11px + 169.83px + 170.55px + 171.27px + 171.99px + 172.71px + 173.43px + 174.15px + 174.87px + 175.59px + 176.31px + 177.03px + 177.75px + 178.47px + 179.19px + 179.91px + 180.62px + 181.34px + 182.06px + 182.78px + 183.5px + 184.22px + 184.94px + 185.66px + 186.38px + 187.1px + 187.82px + 188.54px + 189.26px + 189.98px + 190.7px + 191.42px + 192.14px + 192.86px + 193.58px + 194.3px + 195.02px + 195.74px + 196.46px + 197.18px + 197.9px + 198.62px + 199.34px + 200.05px + 200.77px + 201.49px + 202.21px + 202.93px + 203.65px + 204.37px + 205.09px + 205.81px + 206.53px + 207.25px + 207.97px + 208.69px + 209.41px + 210.13px + 210.85px + 211.57px + 212.29px + 213.01px + 213.73px + 214.45px + 215.17px + 215.89px + 216.61px + 217.33px + 218.05px + 218.77px + 219.49px + 220.2px + 220.92px + 221.64px + 222.36px + 223.08px + 223.8px + 224.52px + 225.24px + 225.96px + 226.68px + 227.4px + 228.12px + 228.84px + 229.56px + 230.28px + 231.0px + 231.72px + 232.44px + 233.16px + 233.88px + 234.6px + 235.32px + 236.04px + 236.76px + 237.48px + 238.2px + 238.92px + 239.64px + 240.35px + 241.07px + 241.79px + 242.51px + 243.23px + 243.95px + 244.67px + 245.39px + 246.11px + 246.83px + 247.55px + 248.27px + 248.99px + 249.71px + 250.43px + 251.15px + 251.87px + 252.59px + 253.31px + 254.03px + 254.75px + 255.47px + 256.19px + 256.91px + 257.63px + 258.35px + 259.07px + 259.79px + 260.5px + 261.22px + 261.94px + 262.66px + 263.38px + 264.1px + 264.82px + 265.54px + 266.26px + 266.98px + 267.7px + 268.42px + 269.14px + 269.86px + 270.58px + 271.3px + 272.02px + 272.74px + 273.46px + 274.18px + 274.9px + 275.62px + 276.34px + 277.06px + 277.78px + 278.5px + 279.22px + 279.94px + 280.65px + 281.37px + 282.09px + 282.81px + 283.53px + 284.25px + 284.97px + 285.69px + 286.41px + 287.13px + 287.85px + 288.57px + 289.29px + 290.01px + 290.73px + 291.45px + 292.17px + 292.89px + 293.61px + 294.33px + 295.05px + 295.77px + 296.49px + 297.21px + 297.93px + 298.65px + 299.37px + 300.08px + 300.8px + 301.52px + 302.24px + 302.96px + 303.68px + 304.4px + 305.12px + 305.84px + 306.56px + 307.28px + 308.0px + 308.72px + 309.44px + 310.16px + 310.88px + 311.6px + 312.32px + 313.04px + 313.76px + 314.48px + 315.2px + 315.92px + 316.64px + 317.36px + 318.08px + 318.8px + 319.52px + 320.23px + 320.95px + 321.67px + 322.39px + 323.11px + 323.83px + 324.55px + 325.27px + 325.99px + 326.71px + 327.43px + 328.15px + 328.87px + 329.59px + 330.31px + 331.03px + 331.75px + 332.47px + 333.19px + 333.91px + 334.63px + 335.35px + 336.07px + 336.79px + 337.51px + 338.23px + 338.95px + 339.67px + 340.38px + 341.1px + 341.82px + 342.54px + 343.26px + 343.98px + 344.7px + 345.42px + 346.14px + 346.86px + 347.58px + 348.3px + 349.02px + 349.74px + 350.46px + 351.18px + 351.9px + 352.62px + 353.34px + 354.06px + 354.78px + 355.5px + 356.22px + 356.94px + 357.66px + 358.38px + 359.1px + 359.82px + 360.53px + 361.25px + 361.97px + 362.69px + 363.41px + 364.13px + 364.85px + 365.57px + 366.29px + 367.01px + 367.73px + 368.45px + 369.17px + 369.89px + 370.61px + 371.33px + 372.05px + 372.77px + 373.49px + 374.21px + 374.93px + 375.65px + 376.37px + 377.09px + 377.81px + 378.53px + 379.25px + 379.97px + 380.68px + 381.4px + 382.12px + 382.84px + 383.56px + 384.28px + 385.0px + 385.72px + 386.44px + 387.16px + 387.88px + 388.6px + 389.32px + 390.04px + 390.76px + 391.48px + 392.2px + 392.92px + 393.64px + 394.36px + 395.08px + 395.8px + 396.52px + 397.24px + 397.96px + 398.68px + 399.4px + 400.11px + 400.83px + 401.55px + 402.27px + 402.99px + 403.71px + 404.43px + 405.15px + 405.87px + 406.59px + 407.31px + 408.03px + 408.75px + 409.47px + 410.19px + 410.91px + 411.63px + 412.35px + 413.07px + 413.79px + 414.51px + 415.23px + 415.95px + 416.67px + 417.39px + 418.11px + 418.83px + 419.55px + 420.26px + 420.98px + 421.7px + 422.42px + 423.14px + 423.86px + 424.58px + 425.3px + 426.02px + 426.74px + 427.46px + 428.18px + 428.9px + 429.62px + 430.34px + 431.06px + 431.78px + 432.5px + 433.22px + 433.94px + 434.66px + 435.38px + 436.1px + 436.82px + 437.54px + 438.26px + 438.98px + 439.7px + 440.41px + 441.13px + 441.85px + 442.57px + 443.29px + 444.01px + 444.73px + 445.45px + 446.17px + 446.89px + 447.61px + 448.33px + 449.05px + 449.77px + 450.49px + 451.21px + 451.93px + 452.65px + 453.37px + 454.09px + 454.81px + 455.53px + 456.25px + 456.97px + 457.69px + 458.41px + 459.13px + 459.85px + 460.56px + 461.28px + 462.0px + 462.72px + 463.44px + 464.16px + 464.88px + 465.6px + 466.32px + 467.04px + 467.76px + 468.48px + 469.2px + 469.92px + 470.64px + 471.36px + 472.08px + 472.8px + 473.52px + 474.24px + 474.96px + 475.68px + 476.4px + 477.12px + 477.84px + 478.56px + 479.28px + 480.0px + 480.71px + 481.43px + 482.15px + 482.87px + 483.59px + 484.31px + 485.03px + 485.75px + 486.47px + 487.19px + 487.91px + 488.63px + 489.35px + 490.07px + 490.79px + 491.51px + 492.23px + 492.95px + 493.67px + 494.39px + 495.11px + 495.83px + 496.55px + 497.27px + 497.99px + 498.71px + 499.43px + 500.14px + 500.86px + 501.58px + 502.3px + 503.02px + 503.74px + 504.46px + 505.18px + 505.9px + 506.62px + 507.34px + 508.06px + 508.78px + 509.5px + 510.22px + 510.94px + 511.66px + 512.38px + 513.1px + 513.82px + 514.54px + 515.26px + 515.98px + 516.7px + 517.42px + 518.14px + 518.86px + 519.58px + 520.29px + 521.01px + 521.73px + 522.45px + 523.17px + 523.89px + 524.61px + 525.33px + 526.05px + 526.77px + 527.49px + 528.21px + 528.93px + 529.65px + 530.37px + 531.09px + 531.81px + 532.53px + 533.25px + 533.97px + 534.69px + 535.41px + 536.13px + 536.85px + 537.57px + 538.29px + 539.01px + 539.73px + 540.44px + 541.16px + 541.88px + 542.6px + 543.32px + 544.04px + 544.76px + 545.48px + 546.2px + 546.92px + 547.64px + 548.36px + 549.08px + 549.8px + 550.52px + 551.24px + 551.96px + 552.68px + 553.4px + 554.12px + 554.84px + 555.56px + 556.28px + 557.0px + 557.72px + 558.44px + 559.16px + 559.88px + 560.59px + 561.31px + 562.03px + 562.75px + 563.47px + 564.19px + 564.91px + 565.63px + 566.35px + 567.07px + 567.79px + 568.51px + 569.23px + 569.95px + 570.67px + 571.39px + 572.11px + 572.83px + 573.55px + 574.27px + 574.99px + 575.71px + 576.43px + 577.15px + 577.87px + 578.59px + 579.31px + 580.02px + 580.74px + 581.46px + 582.18px + 582.9px + 583.62px + 584.34px + 585.06px + 585.78px + 586.5px + 587.22px + 587.94px + 588.66px + 589.38px + 590.1px + 590.82px + 591.54px + 592.26px + 592.98px + 593.7px + 594.42px + 595.14px + 595.86px + 596.58px + 597.3px + 598.02px + 598.74px + 599.46px + 600.17px + 600.89px + 601.61px + 602.33px + 603.05px + 603.77px + 604.49px + 605.21px + 605.93px + 606.65px + 607.37px + 608.09px + 608.81px + 609.53px + 610.25px + 610.97px + 611.69px + 612.41px + 613.13px + 613.85px + 614.57px + 615.29px + 616.01px + 616.73px + 617.45px + 618.17px + 618.89px + 619.61px + 620.32px + 621.04px + 621.76px + 622.48px + 623.2px + 623.92px + 624.64px + 625.36px + 626.08px + 626.8px + 627.52px + 628.24px + 628.96px + 629.68px + 630.4px + 631.12px + 631.84px + 632.56px + 633.28px + 634.0px + 634.72px + 635.44px + 636.16px + 636.88px + 637.6px + 638.32px + 639.04px + 639.76px + 640.47px + 641.19px + 641.91px + 642.63px + 643.35px + 644.07px + 644.79px + 645.51px + 646.23px + 646.95px + 647.67px + 648.39px + 649.11px + 649.83px + 650.55px + 651.27px + 651.99px + 652.71px + 653.43px + 654.15px + 654.87px + 655.59px + 656.31px + 657.03px + 657.75px + 658.47px + 659.19px + 659.91px + 660.62px + 661.34px + 662.06px + 662.78px + 663.5px + 664.22px + 664.94px + 665.66px + 666.38px + 667.1px + 667.82px + 668.54px + 669.26px + 669.98px + 670.7px + 671.42px + 672.14px + 672.86px + 673.58px + 674.3px + 675.02px + 675.74px + 676.46px + 677.18px + 677.9px + 678.62px + 679.34px + 680.06px + 680.77px + 681.49px + 682.21px + 682.93px + 683.65px + 684.37px + 685.09px + 685.81px + 686.53px + 687.25px + 687.97px + 688.69px + 689.41px + 690.13px + 690.85px + 691.57px + 692.29px + 693.01px + 693.73px + 694.45px + 695.17px + 695.89px + 696.61px + 697.33px + 698.05px + 698.77px + 699.49px + 700.2px + 700.92px + 701.64px + 702.36px + 703.08px + 703.8px + 704.52px + 705.24px + 705.96px + 706.68px + 707.4px + 708.12px + 708.84px + 709.56px + 710.28px + 711.0px + 711.72px + 712.44px + 713.16px + 713.88px + 714.6px + 715.32px + 716.04px + 716.76px + 717.48px + 718.2px + 718.92px + 719.64px + 720.35px + 721.07px + 721.79px + 722.51px + 723.23px + 723.95px + 724.67px + 725.39px + 726.11px + 726.83px + 727.55px + 728.27px + 728.99px + 729.71px + 730.43px + 731.15px + 731.87px + 732.59px + 733.31px + 734.03px + 734.75px + 735.47px + 736.19px + 736.91px + 737.63px + 738.35px + 739.07px + 739.79px + 740.5px + 741.22px + 741.94px + 742.66px + 743.38px + 744.1px + 744.82px + 745.54px + 746.26px + 746.98px + 747.7px + 748.42px + 749.14px + 749.86px + 750.58px + 751.3px + 752.02px + 752.74px + 753.46px + 754.18px + 754.9px + 755.62px + 756.34px + 757.06px + 757.78px + 758.5px + 759.22px + 759.94px + 760.65px + 761.37px + 762.09px + 762.81px + 763.53px + 764.25px + 764.97px + 765.69px + 766.41px + 767.13px + 767.85px + 768.57px + 769.29px + 770.01px + 770.73px + 771.45px + 772.17px + 772.89px + 773.61px + 774.33px + 775.05px + 775.77px + 776.49px + 777.21px + 777.93px + 778.65px + 779.37px + 780.09px + 780.8px + 781.52px + 782.24px + 782.96px + 783.68px + 784.4px + 785.12px + 785.84px + 786.56px + 787.28px + 788.0px + 788.72px + 789.44px + 790.16px + 790.88px + 791.6px + 792.32px + 793.04px + 793.76px + 794.48px + 795.2px + 795.92px + 796.64px + 797.36px + 798.08px + 798.8px + 799.52px + 800.23px + 800.95px + 801.67px + 802.39px + 803.11px + 803.83px + 804.55px + 805.27px + 805.99px + 806.71px + 807.43px + 808.15px + 808.87px + 809.59px + 810.31px + 811.03px + 811.75px + 812.47px + 813.19px + 813.91px + 814.63px + 815.35px + 816.07px + 816.79px + 817.51px + 818.23px + 818.95px + 819.67px + 820.38px + 821.1px + 821.82px + 822.54px + 823.26px + 823.98px + 824.7px + 825.42px + 826.14px + 826.86px + 827.58px + 828.3px + 829.02px + 829.74px + 830.46px + 831.18px + 831.9px + 832.62px + 833.34px + 834.06px + 834.78px + 835.5px + 836.22px + 836.94px + 837.66px + 838.38px + 839.1px + 839.82px + 840.53px + 841.25px + 841.97px + 842.69px + 843.41px + 844.13px + 844.85px + 845.57px + 846.29px + 847.01px + 847.73px + 848.45px + 849.17px + 849.89px + 850.61px + 851.33px + 852.05px + 852.77px + 853.49px + 854.21px + 854.93px + 855.65px + 856.37px + 857.09px + 857.81px + 858.53px + 859.25px + 859.97px + 860.68px + 861.4px + 862.12px + 862.84px + 863.56px + 864.28px + 865.0px + 865.72px + 866.44px + 867.16px + 867.88px + 868.6px + 869.32px + 870.04px + 870.76px + 871.48px + 872.2px + 872.92px + 873.64px + 874.36px + 875.08px + 875.8px + 876.52px + 877.24px + 877.96px + 878.68px + 879.4px + 880.11px + 880.83px + 881.55px + 882.27px + 882.99px + 883.71px + 884.43px + 885.15px + 885.87px + 886.59px + 887.31px + 888.03px + 888.75px + 889.47px + 890.19px + 890.91px + 891.63px + 892.35px + 893.07px + 893.79px + 894.51px + 895.23px + 895.95px + 896.67px + 897.39px + 898.11px + 898.83px + 899.55px + 900.26px + 900.98px + 901.7px + 902.42px + 903.14px + 903.86px + 904.58px + 905.3px + 906.02px + 906.74px + 907.46px + 908.18px + 908.9px + 909.62px + 910.34px + 911.06px + 911.78px + 912.5px + 913.22px + 913.94px + 914.66px + 915.38px + 916.1px + 916.82px + 917.54px + 918.26px + 918.98px + 919.7px + 920.41px + 921.13px + 921.85px + 922.57px + 923.29px + 924.01px + 924.73px + 925.45px + 926.17px + 926.89px + 927.61px + 928.33px + 929.05px + 929.77px + 930.49px + 931.21px + 931.93px + 932.65px + 933.37px + 934.09px + 934.81px + 935.53px + 936.25px + 936.97px + 937.69px + 938.41px + 939.13px + 939.85px + 940.56px + 941.28px + 942.0px + 942.72px + 943.44px + 944.16px + 944.88px + 945.6px + 946.32px + 947.04px + 947.76px + 948.48px + 949.2px + 949.92px + 950.64px + 951.36px + 952.08px + 952.8px + 953.52px + 954.24px + 954.96px + 955.68px + 956.4px + 957.12px + 957.84px + 958.56px + 959.28px + 960px + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values-zh-rCN/strings.xml b/FaceUnity/src/main/res/values-zh-rCN/strings.xml new file mode 100644 index 000000000..3958866f0 --- /dev/null +++ b/FaceUnity/src/main/res/values-zh-rCN/strings.xml @@ -0,0 +1,85 @@ + + + 警告 + 抱歉,你所使用的证书权限或SDK不包括该功能。 + 相机权限被禁用或者相机被别的应用占用! + 重试 + 退出 + + 美颜 + 美妆 + 贴纸 + 美体 + + 未检测到人脸 + 未检测到人脸 + 未检测到人体 + 未检测到手势 + 未检测到人脸或人体 + + 确定 + 取消 + 确定删除所选中的道具? + 是否将所有参数恢复到默认值? + 删除成功 + 删除失败 + 道具保存成功 + + 恢复 + 精细磨皮 + 美白 + 红润 + 锐化 + 亮眼 + 美牙 + 大眼 + 圆眼 + 瘦脸 + V脸 + 窄脸 + 短脸 + 小脸 + 下巴 + 额头 + 瘦鼻 + 嘴型 + 瘦颧骨 + 瘦下颌骨 + 美肤 + 美型 + 滤镜 + 风格推荐 + 去黑眼圈 + 去法令纹 + 微笑嘴角 + 开眼角 + 缩人中 + 长鼻 + 眼距 + 眼睛角度 + + 原图 + 白亮 1 + 粉嫩 1 + 冷色调 1 + 自然 1 + 质感灰 1 + + 卸妆 + 奶茶 + 豆沙 + 超A + + 瘦身 + 长腿 + 细腰 + 美肩 + 美臀 + 小头 + 瘦腿 + + + + + + diff --git a/FaceUnity/src/main/res/values/attrs.xml b/FaceUnity/src/main/res/values/attrs.xml new file mode 100644 index 000000000..d73631c3d --- /dev/null +++ b/FaceUnity/src/main/res/values/attrs.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values/colors.xml b/FaceUnity/src/main/res/values/colors.xml new file mode 100644 index 000000000..5515d5610 --- /dev/null +++ b/FaceUnity/src/main/res/values/colors.xml @@ -0,0 +1,44 @@ + + + #3F51B5 + #303F9F + #FF4081 + + + #050F14 + #2C2E30 + #BD050F14 + #C6C6C6 + #8A797A7B + #5C040B0E + #1FB2FF + #5EC7FE + + #00000000 + #80000000 + #99000000 + #FFFFFFFF + #1FB2FF + #FF79CDF9 + #FFA8A8A8 + #FFC5C5C5 + #FF090017 + #33FFFFFF + #FFE5E5E5 + #FF302D33 + #31373E + #2C2E30 + + + #ff009688 + #ff939393 + #66939393 + #77939393 + #99999999 + #BBBBBB + #FFF661FF + #FF7755FC + + #FF00FF00 + #FF0000FF + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values/dimens.xml b/FaceUnity/src/main/res/values/dimens.xml new file mode 100644 index 000000000..bc10f7fff --- /dev/null +++ b/FaceUnity/src/main/res/values/dimens.xml @@ -0,0 +1,14 @@ + + + + 18sp + 17sp + 16sp + 15sp + 14sp + 13sp + 12sp + 11sp + 10sp + + \ No newline at end of file diff --git a/FaceUnity/src/main/res/values/strings.xml b/FaceUnity/src/main/res/values/strings.xml new file mode 100644 index 000000000..8692ac78a --- /dev/null +++ b/FaceUnity/src/main/res/values/strings.xml @@ -0,0 +1,83 @@ + + Warning + Camera permissions are disabled or the camera is occupied by another app! + Sorry ,your license is not supported for these functions. + Retry + quit + + Beautification + Makeup + Sticker + Body + + No face tracking + No face tracking + No body tracking + No gesture tracking + No face or body tracking + + Yes + Cancel + Are you sure to delete? + Reset all parameters to default? + Delete succeed + Delete failed + Save succeed + + Recover + Fine smooth + Whiten + Ruddy + Sharpen + Eye brighten + Tooth whiten + Eye enlarge + Eye round + Cheek thin + V face + Cheekbone + Jawbone + CheekNarrow + Cheek short + Cheek small + Chin + Forehead + Nose + Mouth + Skin + Reshape + Filter + Presets + Circle + Wrinkles + Smile + Canthus + Philtrum + Length + Eye distance + Slant + + Origin + Bright 1 + Pink 1 + Cold tone 1 + Nature 1 + Grey 1 + + + Remover + Milk tea + Bean paste + Super a + + + Body + Leg + Waist + Shoulder + Hip + Head shrink + Thin leg + + + diff --git a/FaceUnity/src/main/res/values/styles.xml b/FaceUnity/src/main/res/values/styles.xml new file mode 100644 index 000000000..1fedcbc90 --- /dev/null +++ b/FaceUnity/src/main/res/values/styles.xml @@ -0,0 +1,26 @@ + + + + + + + + + + \ No newline at end of file diff --git a/FaceUnity/src/test/java/com/yunbao/faceunity/ExampleUnitTest.java b/FaceUnity/src/test/java/com/yunbao/faceunity/ExampleUnitTest.java new file mode 100644 index 000000000..abfb46d38 --- /dev/null +++ b/FaceUnity/src/test/java/com/yunbao/faceunity/ExampleUnitTest.java @@ -0,0 +1,17 @@ +package com.yunbao.faceunity; + +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * Example local unit test, which will execute on the development machine (host). + * + * @see Testing documentation + */ +public class ExampleUnitTest { + @Test + public void addition_isCorrect() { + assertEquals(4, 2 + 2); + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f11913b70..c0ffe398c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -108,7 +108,8 @@ + tools:ignore="LockedOrientationActivity" + android:exported="true"> diff --git a/app/src/main/java/com/shayu/phonelive/AppContext.java b/app/src/main/java/com/shayu/phonelive/AppContext.java index fdb5dfb3f..6a41b07c1 100644 --- a/app/src/main/java/com/shayu/phonelive/AppContext.java +++ b/app/src/main/java/com/shayu/phonelive/AppContext.java @@ -38,6 +38,7 @@ import com.yunbao.common.manager.imrongcloud.MessageIMManager; import com.yunbao.common.manager.imrongcloud.RecommendLiveRoom; import com.yunbao.common.utils.FileUtil; import com.yunbao.common.utils.ToastUtil; +import com.yunbao.faceunity.FaceManager; import com.yunbao.live.views.RecommendLiveRoomProvider; import com.yunbao.common.manager.imrongcloud.RongcloudIMManager; import com.yunbao.common.utils.L; @@ -210,12 +211,12 @@ public class AppContext extends CommonAppContext { if (TextUtils.isEmpty(PortraitLiveManager.liveID) && SocketRyClient.mSocketHandler != null) { SocketRyClient.mSocketHandler.sendMessage(msg); } - }else if(message.getConversationType()== Conversation.ConversationType.PRIVATE){//私聊信息 + } else if (message.getConversationType() == Conversation.ConversationType.PRIVATE) {//私聊信息 EventBus.getDefault().post(message); } } } catch (Exception e) { - e.printStackTrace(); + e.printStackTrace(); } return false; } @@ -249,14 +250,16 @@ public class AppContext extends CommonAppContext { } }); configSPApp(); + //初始化美颜SDK + FaceManager.initFaceUnity(this); } /** * 配置SharedPreferences默认值 */ - private void configSPApp(){ - if(!SpUtil.getInstance().isExists(MsgSettActivity.SWITCH_PRIVATE_CHAT_MSG)){ - SpUtil.getInstance().setBooleanValue(MsgSettActivity.SWITCH_PRIVATE_CHAT_MSG,true); + private void configSPApp() { + if (!SpUtil.getInstance().isExists(MsgSettActivity.SWITCH_PRIVATE_CHAT_MSG)) { + SpUtil.getInstance().setBooleanValue(MsgSettActivity.SWITCH_PRIVATE_CHAT_MSG, true); } } diff --git a/build.gradle b/build.gradle index 8597944f4..38804a2aa 100644 --- a/build.gradle +++ b/build.gradle @@ -10,6 +10,7 @@ buildscript { maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.fabric.io/public' } + maven { url 'http://maven.faceunity.com/repository/maven-public/' }//美颜库 google() mavenCentral() } @@ -35,6 +36,7 @@ allprojects { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'http://developer.huawei.com/repo'}//华为库 maven { url 'https://maven.fabric.io/public' } + maven { url 'http://maven.faceunity.com/repository/maven-public/' }//美颜库 maven { url "https://jitpack.io" } google() // Google's Maven repository } diff --git a/common/build.gradle b/common/build.gradle index eb03a2177..2ae3ec3af 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -151,12 +151,14 @@ dependencies { //腾讯im api 'com.tencent.imsdk:imsdk-plus:5.4.666' api 'com.google.code.gson:gson:2.8.8' - api 'cn.rongcloud.sdk:rtc_lib:5.2.0' // 音视频通话基础能力库 + //api 'cn.rongcloud.sdk:rtc_lib:5.2.0' // 音视频通话基础能力库 + api 'cn.rongcloud.sdk:call_lib:5.2.5' // 音视频呼叫能力库(内含 rtc_lib) + api 'cn.rongcloud.sdk:call_kit:5.2.5' // 音视频通话能力 UI 组件 //此处以集成 5.1.2 版本为例 - api 'cn.rongcloud.sdk:im_lib:5.1.3.10' // 即时通讯基础能力库 - api 'cn.rongcloud.sdk:im_kit:5.1.3.10' // 即时通讯 UI 基础组件 + api 'cn.rongcloud.sdk:im_lib:5.2.5' // 即时通讯基础能力库 + api 'cn.rongcloud.sdk:im_kit:5.2.5' // 即时通讯 UI 基础组件 //融云小视频模块 - api 'cn.rongcloud.sdk:sight:5.1.2' + api 'cn.rongcloud.sdk:sight:5.2.5' api 'com.facebook.android:facebook-login:8.2.0' implementation 'com.facebook.android:facebook-android-sdk:[8,9)' diff --git a/common/src/main/java/com/yunbao/common/manager/imrongcloud/PDMessageInterceptor.java b/common/src/main/java/com/yunbao/common/manager/imrongcloud/PDMessageInterceptor.java index 75d560bc6..c07379eee 100644 --- a/common/src/main/java/com/yunbao/common/manager/imrongcloud/PDMessageInterceptor.java +++ b/common/src/main/java/com/yunbao/common/manager/imrongcloud/PDMessageInterceptor.java @@ -22,6 +22,7 @@ import io.rong.imkit.userinfo.RongUserInfoManager; import io.rong.imlib.RongIMClient; import io.rong.imlib.model.Conversation; import io.rong.imlib.model.Message; +import io.rong.imlib.model.MessageContent; import io.rong.imlib.model.UserInfo; import io.rong.message.TextMessage; @@ -97,4 +98,14 @@ public class PDMessageInterceptor implements MessageInterceptor { public boolean interceptOnSentMessage(Message message) { return false; } + + @Override + public boolean interceptOnInsertOutgoingMessage(Conversation.ConversationType type, String targetId, Message.SentStatus sentStatus, MessageContent content, long sentTime) { + return false; + } + + @Override + public boolean interceptOnInsertIncomingMessage(Conversation.ConversationType type, String targetId, String senderId, Message.ReceivedStatus receivedStatus, MessageContent content, long sentTime) { + return false; + } } diff --git a/common/src/main/java/com/yunbao/common/manager/imrongcloud/RongcloudIMManager.java b/common/src/main/java/com/yunbao/common/manager/imrongcloud/RongcloudIMManager.java index 0bc787c92..d57e68412 100644 --- a/common/src/main/java/com/yunbao/common/manager/imrongcloud/RongcloudIMManager.java +++ b/common/src/main/java/com/yunbao/common/manager/imrongcloud/RongcloudIMManager.java @@ -10,6 +10,7 @@ import androidx.annotation.NonNull; import com.bumptech.glide.Glide; import com.bumptech.glide.load.resource.bitmap.CircleCrop; import com.bumptech.glide.request.RequestOptions; +import com.yunbao.common.CommonAppConfig; import com.yunbao.common.bean.IMLoginModel; import com.yunbao.common.event.RongIMConnectionStatusEvent; import com.yunbao.common.manager.IMLoginManager; @@ -37,9 +38,16 @@ public class RongcloudIMManager { //融云开发者平台注册app唯一识别符 // public static final String RONG_IM_KEY = "uwd1c0sxu1p71"; //测试环境 - public static final String RONG_IM_KEY = "pvxdm17jpd3hr"; + public static String RONG_IM_KEY = "pvxdm17jpd3hr"; private static final String CLASSNAME = "RongcloudIMManager"; + static {//自动切换key + if(CommonAppConfig.HOST.contains("ceshi")){ + RONG_IM_KEY = "pvxdm17jpd3hr"; //测试服key + }else{ + RONG_IM_KEY = "uwd1c0sxu1p71"; //正式服key + } + } /** * 融云初始化 diff --git a/config.gradle b/config.gradle index 629b46c1d..d133ebae4 100644 --- a/config.gradle +++ b/config.gradle @@ -1,18 +1,18 @@ ext { android = [ - compileSdkVersion: 30, + compileSdkVersion: 31, buildToolsVersion: "28.0.3", minSdkVersion : 21, - targetSdkVersion : 30, + targetSdkVersion : 31, versionCode : 212, versionName : "6.4.1" ] manifestPlaceholders = [ //正式 - serverHost : "https://napi.yaoulive.com", +// serverHost : "https://napi.yaoulive.com", //測試 -// serverHost : "https://ceshi.yaoulive.com", + serverHost : "https://ceshi.yaoulive.com", //腾讯地图 txMapAppKey : "EOZBZ-ASLCU-4XPV3-BDCHZ-4E3Q7-H4BWB", diff --git a/dependencies.gradle b/dependencies.gradle index 48d15d066..097766920 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -29,7 +29,7 @@ ext { "Luban" : 'top.zibin:Luban:1.1.8',//鲁班压缩图片 "arouter" : 'com.alibaba:arouter-api:1.5.2',//ARouter "arouter-compiler" : 'com.alibaba:arouter-compiler:1.2.2', - "blank-utilcode" : 'com.blankj:utilcode:1.25.9', + "blank-utilcode" : 'com.blankj:utilcode:1.30.0', ] diff --git a/live/build.gradle b/live/build.gradle index ad671fbb0..e0206eae9 100644 --- a/live/build.gradle +++ b/live/build.gradle @@ -1 +1 @@ -apply plugin: 'com.android.library' apply plugin: 'img-optimizer' apply plugin: 'kotlin-android' android { compileSdkVersion rootProject.ext.android.compileSdkVersion buildToolsVersion rootProject.ext.android.buildToolsVersion aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false packagingOptions { pickFirst "lib/armeabi/libyuvutils.so" pickFirst "lib/arm64-v8a/libyuvutils.so" pickFirst "lib/armeabi-v7a/libyuvutils.so" pickFirst "lib/armeabi/libyuvtools.so" pickFirst "lib/arm64-v8a/libyuvtools.so" pickFirst "lib/armeabi-v7a/libyuvtools.so" exclude "lib/arm64-v8a/libmmcv_api_handgesture.so" exclude "lib/arm64-v8a/libmmcv_api_express.so" exclude "lib/arm64-v8a/libMediaEncoder.so" exclude "lib/arm64-v8a/libarcore_sdk_c.so" exclude "lib/arm64-v8a/libmediadecoder.so" exclude "lib/arm64-v8a/libMediaMuxer.so" exclude "lib/arm64-v8a/libarcore_sdk_jni.so" exclude "lib/arm64-v8a/libMediaUtils.so" exclude "lib/arm64-v8a/libcosmosffmpeg.so" } defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion versionCode rootProject.ext.android.versionCode versionName rootProject.ext.android.versionName manifestPlaceholders = rootProject.ext.manifestPlaceholders ndk { abiFilters "armeabi-v7a", "arm64-v8a" } javaCompileOptions { annotationProcessorOptions { arguments = [AROUTER_MODULE_NAME: project.getName()] } } } aaptOptions { cruncherEnabled = false useNewCruncher = false } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } kotlinOptions { allWarningsAsErrors = true } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } repositories { flatDir { dirs 'libs', '../libs' } mavenCentral() } dependencies { implementation 'androidx.constraintlayout:constraintlayout:2.0.0' implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) //socket.io implementation('io.socket:socket.io-client:1.0.0') { exclude group: 'org.json', module: 'json' } //common implementation project(path: ':common') annotationProcessor rootProject.ext.dependencies["arouter-compiler"] //工具 api rootProject.ext.dependencies["blank-utilcode"] implementation 'com.eightbitlab:blurview:1.6.6' implementation 'com.google.code.gson:gson:2.8.6' implementation "com.getkeepsafe.relinker:relinker:1.4.4" } \ No newline at end of file +apply plugin: 'com.android.library' apply plugin: 'img-optimizer' apply plugin: 'kotlin-android' android { compileSdkVersion rootProject.ext.android.compileSdkVersion buildToolsVersion rootProject.ext.android.buildToolsVersion aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false packagingOptions { pickFirst "lib/armeabi/libyuvutils.so" pickFirst "lib/arm64-v8a/libyuvutils.so" pickFirst "lib/armeabi-v7a/libyuvutils.so" pickFirst "lib/armeabi/libyuvtools.so" pickFirst "lib/arm64-v8a/libyuvtools.so" pickFirst "lib/armeabi-v7a/libyuvtools.so" exclude "lib/arm64-v8a/libmmcv_api_handgesture.so" exclude "lib/arm64-v8a/libmmcv_api_express.so" exclude "lib/arm64-v8a/libMediaEncoder.so" exclude "lib/arm64-v8a/libarcore_sdk_c.so" exclude "lib/arm64-v8a/libmediadecoder.so" exclude "lib/arm64-v8a/libMediaMuxer.so" exclude "lib/arm64-v8a/libarcore_sdk_jni.so" exclude "lib/arm64-v8a/libMediaUtils.so" exclude "lib/arm64-v8a/libcosmosffmpeg.so" } defaultConfig { minSdkVersion rootProject.ext.android.minSdkVersion targetSdkVersion rootProject.ext.android.targetSdkVersion versionCode rootProject.ext.android.versionCode versionName rootProject.ext.android.versionName manifestPlaceholders = rootProject.ext.manifestPlaceholders ndk { abiFilters "armeabi-v7a", "arm64-v8a" } javaCompileOptions { annotationProcessorOptions { arguments = [AROUTER_MODULE_NAME: project.getName()] } } } aaptOptions { cruncherEnabled = false useNewCruncher = false } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } kotlinOptions { allWarningsAsErrors = true } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } repositories { flatDir { dirs 'libs', '../libs' } mavenCentral() } dependencies { implementation 'androidx.constraintlayout:constraintlayout:2.0.0' implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) //socket.io implementation('io.socket:socket.io-client:1.0.0') { exclude group: 'org.json', module: 'json' } //common api project(path: ':common') api project(path:':FaceUnity') annotationProcessor rootProject.ext.dependencies["arouter-compiler"] //工具 api rootProject.ext.dependencies["blank-utilcode"] implementation 'com.eightbitlab:blurview:1.6.6' implementation 'com.google.code.gson:gson:2.8.6' implementation "com.getkeepsafe.relinker:relinker:1.4.4" } \ No newline at end of file diff --git a/live/src/main/java/com/yunbao/live/activity/LiveRyAnchorActivity.java b/live/src/main/java/com/yunbao/live/activity/LiveRyAnchorActivity.java index 72a2c6271..3d43f2428 100644 --- a/live/src/main/java/com/yunbao/live/activity/LiveRyAnchorActivity.java +++ b/live/src/main/java/com/yunbao/live/activity/LiveRyAnchorActivity.java @@ -121,7 +121,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl private ViewGroup mRoot; private ViewGroup mContainerWrap; - public static AbsRyLivePushViewHolder mLivePushViewHolder; + public static LivePushRyViewHolder mLivePushViewHolder; public static LiveNewReadyRyViewHolder mLiveReadyViewHolder; public static LiveRyAnchorViewHolder mLiveAnchorViewHolder; private LiveMusicViewHolder mLiveMusicViewHolder; @@ -473,9 +473,12 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl if (mLiveReadyViewHolder != null) { mLiveReadyViewHolder.hide(); } - LiveBeautyDialogFragment fragment = new LiveBeautyDialogFragment(); + if(mLiveRoomViewHolder!=null){ + mLiveRoomViewHolder.changeFaceUnityView(); + } + /* LiveBeautyDialogFragment fragment = new LiveBeautyDialogFragment(); fragment.setiBeautyModule(BeautyManager.iBeautyModule, BeautyManager.iLookupModule, BeautyManager.iBeautyBodyModule); - fragment.show(getSupportFragmentManager(), "LiveBeautyDialogFragment"); + fragment.show(getSupportFragmentManager(), "LiveBeautyDialogFragment");*/ } /** @@ -610,6 +613,7 @@ public class LiveRyAnchorActivity extends LiveActivity implements LiveFunctionCl mLiveRoomViewHolder.setLiveInfo(mLiveUid, mStream, obj.getIntValue("userlist_time") * 1000); mLiveRoomViewHolder.setVotes(obj.getString("votestotal")); mLiveRoomViewHolder.setMedaRankNum(obj.getString("medalRankNum")); + mLiveRoomViewHolder.startFace(); UserBean u = CommonAppConfig.getInstance().getUserBean(); if (u != null) { mLiveRoomViewHolder.setRoomNum(u.getLiangNameTip()); diff --git a/live/src/main/java/com/yunbao/live/views/LiveNewReadyRyViewHolder.java b/live/src/main/java/com/yunbao/live/views/LiveNewReadyRyViewHolder.java index aa5e83595..1ca92309f 100644 --- a/live/src/main/java/com/yunbao/live/views/LiveNewReadyRyViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LiveNewReadyRyViewHolder.java @@ -6,22 +6,15 @@ import android.content.Intent; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.text.TextUtils; -import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; -import android.widget.ImageView; -import android.widget.RelativeLayout; import android.widget.TextView; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import com.tencent.imsdk.v2.V2TIMManager; -import com.tencent.imsdk.v2.V2TIMSendCallback; import com.yunbao.common.CommonAppConfig; import com.yunbao.common.Constants; import com.yunbao.common.bean.LiveClassBean; @@ -38,19 +31,16 @@ import com.yunbao.common.utils.StringUtil; import com.yunbao.common.utils.ToastUtil; import com.yunbao.common.utils.WordUtil; import com.yunbao.common.views.AbsViewHolder; +import com.yunbao.faceunity.FaceManager; +import com.yunbao.faceunity.ui.FaceUnityView; import com.yunbao.live.R; import com.yunbao.live.activity.LiveActivity; -import com.yunbao.live.activity.LiveAnchorActivity; -import com.yunbao.live.activity.LiveChooseClassActivity; import com.yunbao.live.activity.LiveRyAnchorActivity; -import com.yunbao.live.adapter.LiveReadyShareAdapter; import com.yunbao.live.bean.LiveRoomTypeBean; import com.yunbao.live.dialog.LiveNewRoomClassDialogFragment; import com.yunbao.live.dialog.LiveNewRoomTypeDialogFragment; import com.yunbao.live.dialog.LiveNewWishListDialogFragment; -import com.yunbao.live.dialog.LiveRoomTypeDialogFragment; import com.yunbao.live.dialog.LiveTimeDialogFragment; -import com.yunbao.live.dialog.LiveWishListDialogFragment; import com.yunbao.live.http.LiveHttpConsts; import com.yunbao.live.http.LiveHttpUtil; @@ -78,6 +68,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl private boolean mOpenLocation = true; private int mLiveSdk; private LiveClassBean classBean; + private FaceUnityView faceUnityView; public LiveNewReadyRyViewHolder(Context context, ViewGroup parentView, int liveSdk) { super(context, parentView, liveSdk); @@ -97,7 +88,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl @Override public void init() { - ConstraintLayout traceroute_rootview = (ConstraintLayout)findViewById(R.id.traceroute_rootview); + ConstraintLayout traceroute_rootview = (ConstraintLayout) findViewById(R.id.traceroute_rootview); traceroute_rootview.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { @@ -126,8 +117,9 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl mOpenLocation = true; mLiveClass = (TextView) findViewById(R.id.live_class); mLiveTypeTextView = (TextView) findViewById(R.id.text_room_type); - mLiveWishListTextView= (TextView) findViewById(R.id.text_wishlist); + mLiveWishListTextView = (TextView) findViewById(R.id.text_wishlist); mImageUtil = ((LiveActivity) mContext).getProcessImageUtil(); + faceUnityView = (FaceUnityView) findViewById(R.id.faceunity_control); mImageUtil.setImageResultCallback(new ImageResultCallback() { @Override @@ -194,9 +186,13 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl } } }; - + manager = new FaceManager(); + manager.initFURender(mContext, faceUnityView); + manager.drawRongFrame(mContext); } + FaceManager manager; + @Override public void onClick(View v) { if (!canClick()) { @@ -213,8 +209,8 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl } else if (i == R.id.btn_live_class) { chooseLiveClass(); } else if (i == R.id.btn_beauty) { - beauty(); - }else if (i == R.id.btn_wishlist) { + setFaceUnity(); + } else if (i == R.id.btn_wishlist) { //点击心愿单 openWishListWindow(); } else if (i == R.id.btn_room_type) { @@ -224,12 +220,15 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl } else if (i == R.id.btn_locaiton) { switchLocation(); - }else if(i == R.id.btn_horizontally){ - RCRTCCameraOutputStream cameraStream = RCRTCEngine.getInstance().getDefaultVideoStream(); + } else if (i == R.id.btn_horizontally) { + RCRTCCameraOutputStream cameraStream = RCRTCEngine.getInstance().getDefaultVideoStream(); cameraStream.setPreviewMirror(!cameraStream.isPreviewMirror()); } } + public void setFaceUnity() { + faceUnityView.setVisibility(faceUnityView.getVisibility() == View.GONE ? View.VISIBLE : View.GONE); + } /** * 打开心愿单窗口 @@ -237,7 +236,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl public void openWishListWindow() { LiveNewWishListDialogFragment fragment = new LiveNewWishListDialogFragment(); - if (mContext instanceof LiveRyAnchorActivity){ + if (mContext instanceof LiveRyAnchorActivity) { fragment.show(((LiveRyAnchorActivity) mContext).getSupportFragmentManager(), "RY"); } } @@ -319,12 +318,12 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl Bundle bundle = new Bundle(); bundle.putInt(Constants.CLASS_ID, mLiveClassID); LiveNewRoomClassDialogFragment fragment = new LiveNewRoomClassDialogFragment(); - fragment.setArguments(bundle);; + fragment.setArguments(bundle); fragment.setCallback(new CommonCallback() { @Override public void callback(LiveClassBean bean) { - classBean=bean; - mLiveClassID=classBean.getId(); + classBean = bean; + mLiveClassID = classBean.getId(); mLiveClass.setText(bean.getName()); } }); @@ -461,8 +460,9 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl * 请求创建直播间接口,开始直播 */ boolean isHttpBack = false; + private void createRoom() { - if(!isHttpBack) { + if (!isHttpBack) { isHttpBack = true; if (mLiveClassID == 0) { ToastUtil.show(R.string.live_choose_live_class); @@ -489,7 +489,7 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl isHttpBack = false; } }); - }else { + } else { ToastUtil.show("請求中,請勿重複點擊"); } } @@ -503,5 +503,6 @@ public class LiveNewReadyRyViewHolder extends AbsViewHolder implements View.OnCl @Override public void onDestroy() { LiveHttpUtil.cancel(LiveHttpConsts.CREATE_ROOM); + manager.onClose(); } } diff --git a/live/src/main/java/com/yunbao/live/views/LivePushRyViewHolder.java b/live/src/main/java/com/yunbao/live/views/LivePushRyViewHolder.java index d6c58072e..cf871366e 100644 --- a/live/src/main/java/com/yunbao/live/views/LivePushRyViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LivePushRyViewHolder.java @@ -532,6 +532,7 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX //美颜 new Handler(Looper.getMainLooper()).post(new Runnable() { public void run() { +/* //旧美颜不需要了 RCRTCEngine.getInstance().getDefaultVideoStream().setVideoFrameListener(new IRCRTCVideoOutputFrameListener() { @Override public RCRTCVideoFrame processVideoFrame(RCRTCVideoFrame rtcVideoFrame) { @@ -540,6 +541,7 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX return rtcVideoFrame; } }); +*/ } }); } diff --git a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java index 27b66ff9a..d40f741f1 100644 --- a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java +++ b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java @@ -81,6 +81,8 @@ import com.yunbao.common.utils.formatBigNum; import com.yunbao.common.views.AbsViewHolder; import com.yunbao.common.views.weight.FullServiceNotificationView; import com.yunbao.common.views.weight.ViewClicksAntiShake; +import com.yunbao.faceunity.FaceManager; +import com.yunbao.faceunity.ui.FaceUnityView; import com.yunbao.live.R; import com.yunbao.live.activity.LiveActivity; import com.yunbao.live.activity.LiveAnchorActivity; @@ -288,6 +290,8 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis private TextView msgNumber;//悬浮窗左上角数标 private RoundedImageView msgUserIcon; //悬浮窗icon private FullServiceNotificationView fullScreen;//全副喇叭 + private FaceUnityView faceUnityView; + private FaceManager manager; public LiveRoomViewHolder(boolean isRys, int forActivity, Context context, ViewGroup parentView, GifImageView gifImageView, SVGAImageView svgaImageView, ViewGroup liveGiftPrizePoolContainer, WindowManager windowManager) { super(context, parentView); @@ -679,6 +683,8 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis lt_trickery.setOnClickListener(this); dialog = new Dialog(mContext, R.style.dialog); + faceUnityView = (FaceUnityView) findViewById(R.id.faceunity_control); + if (!SpUtil.getInstance().getBooleanValue("private_chat_message_switch")) { msgLayout.setVisibility(View.GONE); } @@ -2530,6 +2536,22 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis mChatRecyclerView.setLayoutParams(params1); } + /** + * 启动美颜SDK + */ + public void startFace() { + manager=new FaceManager(); + manager.initFURender(mContext,faceUnityView); + manager.drawRongFrame(mContext); + } + + /** + * 切换美颜UI + */ + public void changeFaceUnityView(){ + faceUnityView.setVisibility(faceUnityView.getVisibility() == View.GONE ? View.VISIBLE : View.GONE); + } + private static class LiveRoomHandler extends Handler { private LiveRoomViewHolder mLiveRoomViewHolder; @@ -2844,6 +2866,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis LiveHttpUtil.cancel(LiveHttpConsts.GET_USER_LIST); LiveHttpUtil.cancel(LiveHttpConsts.TIME_CHARGE); CommonHttpUtil.cancel(CommonHttpConsts.SET_ATTENTION); + manager.onClose(); } @Subscribe(threadMode = ThreadMode.MAIN) diff --git a/live/src/main/res/layout/view_live_room.xml b/live/src/main/res/layout/view_live_room.xml index 2a5e4f895..95c5bbf83 100644 --- a/live/src/main/res/layout/view_live_room.xml +++ b/live/src/main/res/layout/view_live_room.xml @@ -2085,4 +2085,13 @@ android:layout_height="wrap_content" android:layout_below="@id/live_video" /> + + \ No newline at end of file diff --git a/live/src/main/res/layout/view_new_live_ready.xml b/live/src/main/res/layout/view_new_live_ready.xml index af5f1cfcb..e3f76e3a4 100644 --- a/live/src/main/res/layout/view_new_live_ready.xml +++ b/live/src/main/res/layout/view_new_live_ready.xml @@ -250,5 +250,15 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> - + \ No newline at end of file diff --git a/live/src/main/res/layout/view_ry_live_anchor.xml b/live/src/main/res/layout/view_ry_live_anchor.xml index 20997d1d8..07f869d36 100644 --- a/live/src/main/res/layout/view_ry_live_anchor.xml +++ b/live/src/main/res/layout/view_ry_live_anchor.xml @@ -149,7 +149,7 @@ PK" android:layout_height="40dp" android:layout_marginRight="5dp" android:layout_toLeftOf="@id/btn_close" - android:padding="5dp"/> + android:padding="5dp" />