调整library包和个人页面头像选择逻辑

This commit is contained in:
wushaocheng
2022-11-18 11:22:42 +08:00
parent c5a4c80412
commit 9e43343504
158 changed files with 476 additions and 455 deletions

View File

@@ -264,6 +264,8 @@ dependencies {
//mmkv //mmkv
implementation 'com.tencent:mmkv:1.2.13' implementation 'com.tencent:mmkv:1.2.13'
implementation 'com.github.yalantis:ucrop:2.2.7'
} }
channel { channel {

View File

@@ -466,5 +466,19 @@
} }
-keep public class com.android.installreferrer.**{ *; } -keep public class com.android.installreferrer.**{ *; }
## Appsflyer
-keep class com.appsflyer.** { *; }
-dontwarn com.android.installreferrer
## easypermissions
-keepclassmembers class * {
@pub.devrel.easypermissions.AfterPermissionGranted <methods>;
}
## EasyPhotos ## EasyPhotos
-keep class com.yizhuan.xchat_android_library.models.** { *; } -keep class com.yizhuan.xchat_android_library.easyphoto.models.** { *; }
## 图片裁剪UCrop
-dontwarn com.yalantis.ucrop.**
-keep class com.yalantis.ucrop.** { *; }
-keep interface com.yalantis.ucrop.** { *; }

View File

@@ -995,6 +995,12 @@
<activity <activity
android:name=".AgentActivity" android:name=".AgentActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar" /> android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="com.yalantis.ucrop.UCropActivity"
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
android:exported="false"
android:screenOrientation="portrait"
android:theme="@style/AppThemeUCrop" />
</application> </application>
</manifest> </manifest>

View File

@@ -19,12 +19,10 @@ import android.graphics.Color;
import android.graphics.Typeface; import android.graphics.Typeface;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler;
import android.text.Spannable; import android.text.Spannable;
import android.text.SpannableString; import android.text.SpannableString;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.style.StyleSpan; import android.text.style.StyleSpan;
import android.util.Log;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
@@ -117,8 +115,8 @@ import java.lang.reflect.Method;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import fragmentation.ISupportActivity; import com.yizhuan.xchat_android_library.common.fragmentation.ISupportActivity;
import fragmentation.SupportActivityDelegate; import com.yizhuan.xchat_android_library.common.fragmentation.SupportActivityDelegate;
import io.reactivex.Observable; import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable; import io.reactivex.disposables.CompositeDisposable;

View File

@@ -11,10 +11,10 @@ import android.view.Window
import android.view.WindowManager import android.view.WindowManager
import com.hjq.toast.ToastUtils import com.hjq.toast.ToastUtils
import kotlinx.coroutines.Job import kotlinx.coroutines.Job
import com.yizhuan.xchat_android_library.EasyPermissions import com.yizhuan.xchat_android_library.easypermisssion.EasyPermissions
import com.yizhuan.erban.R import com.yizhuan.erban.R
import com.yizhuan.erban.application.XChatApplication import com.yizhuan.erban.application.XChatApplication
import base.BaseDialogFragment import com.yizhuan.xchat_android_library.common.base.BaseDialogFragment
import com.yizhuan.erban.common.photo.PhotoProvider import com.yizhuan.erban.common.photo.PhotoProvider
import com.yizhuan.erban.common.util.PhotoCompressCallback import com.yizhuan.erban.common.util.PhotoCompressCallback
import com.yizhuan.erban.common.util.PhotoCompressUtil import com.yizhuan.erban.common.util.PhotoCompressUtil

View File

@@ -5,7 +5,7 @@ import android.graphics.Bitmap;
import android.net.Uri; import android.net.Uri;
import android.widget.ImageView; import android.widget.ImageView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import com.yizhuan.xchat_android_library.engine.ImageEngine; import com.yizhuan.xchat_android_library.easyphoto.engine.ImageEngine;
/** /**
* Created by wushaocheng on 2021/3/29 15:18. * Created by wushaocheng on 2021/3/29 15:18.

View File

@@ -29,7 +29,7 @@ import com.bumptech.glide.request.target.DrawableImageViewTarget
import com.bumptech.glide.request.target.Target import com.bumptech.glide.request.target.Target
import com.yizhuan.erban.common.transform.AssignScaleTransformation import com.yizhuan.erban.common.transform.AssignScaleTransformation
import com.yizhuan.erban.common.transform.ComplexTransformation import com.yizhuan.erban.common.transform.ComplexTransformation
import util.ActivityHelper import com.yizhuan.xchat_android_library.common.util.ActivityHelper
import com.yizhuan.erban.common.util.Utils import com.yizhuan.erban.common.util.Utils
import com.yizhuan.xchat_android_core.utils.Logger import com.yizhuan.xchat_android_core.utils.Logger
import jp.wasabeef.glide.transformations.RoundedCornersTransformation import jp.wasabeef.glide.transformations.RoundedCornersTransformation

View File

@@ -7,9 +7,9 @@ import android.os.Build
import android.os.Environment import android.os.Environment
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentActivity
import com.yizhuan.xchat_android_library.EasyPhotos import com.yizhuan.xchat_android_library.easyphoto.EasyPhotos
import com.yizhuan.xchat_android_library.constant.Type.* import com.yizhuan.xchat_android_library.easyphoto.constant.Type.*
import com.yizhuan.xchat_android_library.models.album.entity.Photo import com.yizhuan.xchat_android_library.easyphoto.models.album.entity.Photo
import com.yizhuan.erban.application.XChatApplication import com.yizhuan.erban.application.XChatApplication
import com.yizhuan.erban.common.delegate.SpDelegate import com.yizhuan.erban.common.delegate.SpDelegate
import com.yizhuan.erban.common.file.FileHelper import com.yizhuan.erban.common.file.FileHelper

View File

@@ -11,7 +11,7 @@ import com.yizhuan.erban.application.XChatApplication;
import com.yizhuan.erban.location.LocationManager; import com.yizhuan.erban.location.LocationManager;
import com.yizhuan.xchat_android_core.auth.AuthModel; import com.yizhuan.xchat_android_core.auth.AuthModel;
import util.CoreUtils; import com.yizhuan.xchat_android_library.common.util.CoreUtils;
/** /**
* Activity生命周期工具类 * Activity生命周期工具类

View File

@@ -14,7 +14,7 @@ import java.io.FileNotFoundException;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import util.Logger; import com.yizhuan.xchat_android_library.common.util.Logger;
/** /**
* Created by wushaocheng * Created by wushaocheng

View File

@@ -13,9 +13,9 @@ import com.yizhuan.xchat_android_core.utils.Logger;
import java.util.List; import java.util.List;
import base.BaseDialogFragment; import com.yizhuan.xchat_android_library.common.base.BaseDialogFragment;
import util.ActivityHelper; import com.yizhuan.xchat_android_library.common.util.ActivityHelper;
import util.ReflectionUtils; import com.yizhuan.xchat_android_library.common.util.ReflectionUtils;
/** /**

View File

@@ -11,7 +11,7 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Vector; import java.util.Vector;
import util.CoreUtils; import com.yizhuan.xchat_android_library.common.util.CoreUtils;
/** /**
* Created by logwee on 2019/4/9. * Created by logwee on 2019/4/9.

View File

@@ -4,7 +4,7 @@ import android.content.Context
import android.os.Environment import android.os.Environment
import android.text.TextUtils import android.text.TextUtils
import android.util.Log import android.util.Log
import com.yizhuan.xchat_android_library.Luban import com.yizhuan.xchat_android_library.luban.Luban
import com.yizhuan.erban.application.XChatApplication import com.yizhuan.erban.application.XChatApplication
import com.yizhuan.erban.common.file.FileHelper import com.yizhuan.erban.common.file.FileHelper
import com.yizhuan.xchat_android_core.Constants import com.yizhuan.xchat_android_core.Constants

View File

@@ -44,7 +44,7 @@ import com.yizhuan.xchat_android_core.user.UserModel
import com.yizhuan.xchat_android_core.user.bean.UserInfo import com.yizhuan.xchat_android_core.user.bean.UserInfo
import com.yizhuan.xchat_android_core.user.bean.UserPhoto import com.yizhuan.xchat_android_core.user.bean.UserPhoto
import com.yizhuan.xchat_android_core.utils.Logger import com.yizhuan.xchat_android_core.utils.Logger
import com.yizhuan.xchat_android_library.EasyPermissions import com.yizhuan.xchat_android_library.easypermisssion.EasyPermissions
import com.yizhuan.xchat_android_library.utils.ResUtil import com.yizhuan.xchat_android_library.utils.ResUtil
import com.yizhuan.xchat_android_library.utils.TimeUtils import com.yizhuan.xchat_android_library.utils.TimeUtils
import com.yizhuan.xchat_android_library.utils.log.MLog import com.yizhuan.xchat_android_library.utils.log.MLog

View File

@@ -566,4 +566,8 @@
<item name="android:windowExitAnimation">@anim/anim_right_out</item> <item name="android:windowExitAnimation">@anim/anim_right_out</item>
</style> </style>
<style name="AppThemeUCrop" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowNoTitle">true</item>
</style>
</resources> </resources>

View File

@@ -124,8 +124,6 @@ dependencies {
api 'com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0' api 'com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0'
api 'com.github.chrisbanes:PhotoView:2.3.0' api 'com.github.chrisbanes:PhotoView:2.3.0'
api 'com.github.yalantis:ucrop:2.2.7'
} }
repositories { repositories {
mavenCentral() mavenCentral()

View File

@@ -18,4 +18,4 @@
# If you keep the line number information, uncomment this to # If you keep the line number information, uncomment this to
# hide the original source file name. # hide the original source file name.
#-renamesourcefileattribute SourceFile #-renamesourcefileattribute SourceFile

View File

@@ -9,24 +9,24 @@
<application> <application>
<activity <activity
android:name=".AppSettingsDialogHolderActivity" android:name=".easypermisssion.AppSettingsDialogHolderActivity"
android:exported="false" android:exported="false"
android:label="" android:label=""
android:theme="@style/EasyPermissions.Transparent" /> android:theme="@style/EasyPermissions.Transparent" />
<activity <activity
android:name=".ui.EasyPhotosActivity" android:name=".easyphoto.ui.EasyPhotosActivity"
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection" android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/EasyPhotosTheme" /> android:theme="@style/EasyPhotosTheme" />
<activity <activity
android:name=".ui.PreviewActivity" android:name=".easyphoto.ui.PreviewActivity"
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection" android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/EasyPhotosFullscreenTheme" /> android:theme="@style/EasyPhotosFullscreenTheme" />
<activity <activity
android:name=".ui.PuzzleActivity" android:name=".easyphoto.ui.PuzzleActivity"
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection" android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
@@ -34,7 +34,7 @@
android:windowSoftInputMode="adjustPan" /> android:windowSoftInputMode="adjustPan" />
<activity <activity
android:name=".ui.PuzzleSelectorActivity" android:name=".easyphoto.ui.PuzzleSelectorActivity"
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection" android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"

View File

@@ -1,4 +1,4 @@
package base; package com.yizhuan.xchat_android_library.common.base;
import android.app.Activity; import android.app.Activity;
import android.content.Intent; import android.content.Intent;
@@ -15,10 +15,11 @@ import androidx.fragment.app.FragmentManager;
import androidx.viewbinding.ViewBinding; import androidx.viewbinding.ViewBinding;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.List; import java.util.List;
import fragmentation.ISupportActivity;
import fragmentation.SupportActivityDelegate; import com.yizhuan.xchat_android_library.common.fragmentation.ISupportActivity;
import util.Logger; import com.yizhuan.xchat_android_library.common.fragmentation.SupportActivityDelegate;
import util.ViewBindingUtil; import com.yizhuan.xchat_android_library.common.util.Logger;
import com.yizhuan.xchat_android_library.common.util.ViewBindingUtil;
public abstract class BaseActivity<VB extends ViewBinding> extends AppCompatActivity implements ISupportActivity { public abstract class BaseActivity<VB extends ViewBinding> extends AppCompatActivity implements ISupportActivity {
private final String TAG = getClass().getSimpleName(); private final String TAG = getClass().getSimpleName();

View File

@@ -1,4 +1,4 @@
package base; package com.yizhuan.xchat_android_library.common.base;
import android.content.Context; import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
@@ -14,13 +14,13 @@ import androidx.annotation.Nullable;
import androidx.fragment.app.DialogFragment; import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
import androidx.viewbinding.ViewBinding; import androidx.viewbinding.ViewBinding;
import fragmentation.ISupportActivity; import com.yizhuan.xchat_android_library.common.fragmentation.ISupportActivity;
import fragmentation.ISupportFragment; import com.yizhuan.xchat_android_library.common.fragmentation.ISupportFragment;
import fragmentation.SupportFragmentDelegate; import com.yizhuan.xchat_android_library.common.fragmentation.SupportFragmentDelegate;
import fragmentation.windowcallback.WindowCallbackProxyUtil; import com.yizhuan.xchat_android_library.common.fragmentation.windowcallback.WindowCallbackProxyUtil;
import util.ActivityHelper; import com.yizhuan.xchat_android_library.common.util.ActivityHelper;
import util.Logger; import com.yizhuan.xchat_android_library.common.util.Logger;
import util.ViewBindingUtil; import com.yizhuan.xchat_android_library.common.util.ViewBindingUtil;
public abstract class BaseDialogFragment<VB extends ViewBinding> extends DialogFragment implements ISupportFragment { public abstract class BaseDialogFragment<VB extends ViewBinding> extends DialogFragment implements ISupportFragment {
private final String TAG = getClass().getSimpleName(); private final String TAG = getClass().getSimpleName();

View File

@@ -1,4 +1,4 @@
package base; package com.yizhuan.xchat_android_library.common.base;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
@@ -7,7 +7,7 @@ import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LifecycleOwner;
import com.yizhuan.xchat_android_library.R; import com.yizhuan.xchat_android_library.R;
import util.Logger; import com.yizhuan.xchat_android_library.common.util.Logger;
/** /**
* author: wushaocheng * author: wushaocheng

View File

@@ -1,4 +1,4 @@
package fragmentation; package com.yizhuan.xchat_android_library.common.fragmentation;
/** /**
* Created by YoKey on 17/6/13. * Created by YoKey on 17/6/13.

View File

@@ -1,4 +1,4 @@
package fragmentation; package com.yizhuan.xchat_android_library.common.fragmentation;
import android.os.Bundle; import android.os.Bundle;

View File

@@ -1,10 +1,10 @@
package fragmentation; package com.yizhuan.xchat_android_library.common.fragmentation;
import androidx.core.app.ActivityCompat; import androidx.core.app.ActivityCompat;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
import fragmentation.queue.Action; import com.yizhuan.xchat_android_library.common.fragmentation.queue.Action;
public class SupportActivityDelegate { public class SupportActivityDelegate {
private final ISupportActivity mSupport; private final ISupportActivity mSupport;

View File

@@ -1,4 +1,4 @@
package fragmentation; package com.yizhuan.xchat_android_library.common.fragmentation;
import android.app.Activity; import android.app.Activity;
import android.content.Intent; import android.content.Intent;
@@ -11,8 +11,8 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
import fragmentation.internal.ResultRecord; import com.yizhuan.xchat_android_library.common.fragmentation.internal.ResultRecord;
import fragmentation.internal.TransactionRecord; import com.yizhuan.xchat_android_library.common.fragmentation.internal.TransactionRecord;
public class SupportFragmentDelegate { public class SupportFragmentDelegate {
int mContainerId; int mContainerId;

View File

@@ -1,4 +1,4 @@
package fragmentation; package com.yizhuan.xchat_android_library.common.fragmentation;
import android.content.Context; import android.content.Context;
import android.view.View; import android.view.View;

View File

@@ -1,4 +1,4 @@
package fragmentation; package com.yizhuan.xchat_android_library.common.fragmentation;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
@@ -9,10 +9,10 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction; import androidx.fragment.app.FragmentTransaction;
import fragmentation.internal.ResultRecord; import com.yizhuan.xchat_android_library.common.fragmentation.internal.ResultRecord;
import fragmentation.internal.TransactionRecord; import com.yizhuan.xchat_android_library.common.fragmentation.internal.TransactionRecord;
import fragmentation.queue.Action; import com.yizhuan.xchat_android_library.common.fragmentation.queue.Action;
import fragmentation.queue.ActionQueue; import com.yizhuan.xchat_android_library.common.fragmentation.queue.ActionQueue;
import java.util.List; import java.util.List;

View File

@@ -1,4 +1,4 @@
package fragmentation.internal; package com.yizhuan.xchat_android_library.common.fragmentation.internal;
import android.os.Bundle; import android.os.Bundle;
import android.os.Parcel; import android.os.Parcel;

View File

@@ -1,4 +1,4 @@
package fragmentation.internal; package com.yizhuan.xchat_android_library.common.fragmentation.internal;
/** /**
* @hide Created by YoKey on 16/11/25. * @hide Created by YoKey on 16/11/25.

View File

@@ -1,4 +1,4 @@
package fragmentation.queue; package com.yizhuan.xchat_android_library.common.fragmentation.queue;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;

View File

@@ -1,4 +1,4 @@
package fragmentation.queue; package com.yizhuan.xchat_android_library.common.fragmentation.queue;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;

View File

@@ -1,4 +1,4 @@
package fragmentation.windowcallback package com.yizhuan.xchat_android_library.common.fragmentation.windowcallback
import android.view.Window import android.view.Window

View File

@@ -1,4 +1,4 @@
package fragmentation.windowcallback package com.yizhuan.xchat_android_library.common.fragmentation.windowcallback
import android.view.Window import android.view.Window

View File

@@ -1,4 +1,4 @@
package util; package com.yizhuan.xchat_android_library.common.util;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;

View File

@@ -1,4 +1,4 @@
package util; package com.yizhuan.xchat_android_library.common.util;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.EventBusException; import org.greenrobot.eventbus.EventBusException;

View File

@@ -4,7 +4,7 @@
* 使用前需要先调用init初始化 * 使用前需要先调用init初始化
* 内部使用android的Log类实现并支持写入文件 * 内部使用android的Log类实现并支持写入文件
*/ */
package util; package com.yizhuan.xchat_android_library.common.util;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.os.Bundle; import android.os.Bundle;

View File

@@ -1,4 +1,4 @@
package util; package com.yizhuan.xchat_android_library.common.util;
import java.lang.reflect.Field; import java.lang.reflect.Field;

View File

@@ -1,4 +1,4 @@
package util; package com.yizhuan.xchat_android_library.common.util;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.content.Context; import android.content.Context;

View File

@@ -1,4 +1,4 @@
package util package com.yizhuan.xchat_android_library.common.util
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package com.yizhuan.xchat_android_library; package com.yizhuan.xchat_android_library.easypermisssion;
import java.lang.annotation.ElementType; import java.lang.annotation.ElementType;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library; package com.yizhuan.xchat_android_library.easypermisssion;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
@@ -17,6 +17,8 @@ import androidx.annotation.StyleRes;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import com.yizhuan.xchat_android_library.R;
/** /**
* Dialog to prompt the user to go to the app's settings screen and enable permissions. If the user * Dialog to prompt the user to go to the app's settings screen and enable permissions. If the user
* clicks 'OK' on the dialog, they are sent to the settings screen. The result is returned to the * clicks 'OK' on the dialog, they are sent to the settings screen. The result is returned to the

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library; package com.yizhuan.xchat_android_library.easypermisssion;
import android.app.Activity; import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package com.yizhuan.xchat_android_library; package com.yizhuan.xchat_android_library.easypermisssion;
import android.Manifest; import android.Manifest;
import android.app.Activity; import android.app.Activity;
@@ -31,7 +31,7 @@ import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.yizhuan.xchat_android_library.helper.PermissionHelper; import com.yizhuan.xchat_android_library.easypermisssion.helper.PermissionHelper;
/** /**
* Utility to request and check System permissions for apps targeting Android M (API &gt;= 23). * Utility to request and check System permissions for apps targeting Android M (API &gt;= 23).

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library; package com.yizhuan.xchat_android_library.easypermisssion;
import android.app.Activity; import android.app.Activity;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@@ -11,7 +11,8 @@ import androidx.fragment.app.Fragment;
import java.util.Arrays; import java.util.Arrays;
import com.yizhuan.xchat_android_library.helper.PermissionHelper; import com.yizhuan.xchat_android_library.R;
import com.yizhuan.xchat_android_library.easypermisssion.helper.PermissionHelper;
/** /**
* An immutable model object that holds all of the parameters associated with a permission request, * An immutable model object that holds all of the parameters associated with a permission request,

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library; package com.yizhuan.xchat_android_library.easypermisssion;
import android.app.Activity; import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
@@ -7,7 +7,7 @@ import androidx.fragment.app.Fragment;
import java.util.Arrays; import java.util.Arrays;
import com.yizhuan.xchat_android_library.helper.PermissionHelper; import com.yizhuan.xchat_android_library.easypermisssion.helper.PermissionHelper;
/** /**
* Click listener for either {@link RationaleDialogFragment} or {@link RationaleDialogFragmentCompat}. * Click listener for either {@link RationaleDialogFragment} or {@link RationaleDialogFragmentCompat}.

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library; package com.yizhuan.xchat_android_library.easypermisssion;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context; import android.content.Context;
@@ -13,6 +13,8 @@ import androidx.annotation.NonNull;
import androidx.annotation.StyleRes; import androidx.annotation.StyleRes;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import com.yizhuan.xchat_android_library.R;
/** /**
* Configuration for either {@link RationaleDialogFragment} or {@link RationaleDialogFragmentCompat}. * Configuration for either {@link RationaleDialogFragment} or {@link RationaleDialogFragmentCompat}.
*/ */

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library; package com.yizhuan.xchat_android_library.easypermisssion;
import android.app.Dialog; import android.app.Dialog;
import android.app.DialogFragment; import android.app.DialogFragment;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library; package com.yizhuan.xchat_android_library.easypermisssion;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context; import android.content.Context;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.helper; package com.yizhuan.xchat_android_library.easypermisssion.helper;
import android.app.Activity; import android.app.Activity;
import android.app.Fragment; import android.app.Fragment;
@@ -9,7 +9,7 @@ import androidx.annotation.StyleRes;
import androidx.core.app.ActivityCompat; import androidx.core.app.ActivityCompat;
import android.util.Log; import android.util.Log;
import com.yizhuan.xchat_android_library.RationaleDialogFragment; import com.yizhuan.xchat_android_library.easypermisssion.RationaleDialogFragment;
/** /**
* Permissions helper for {@link Activity}. * Permissions helper for {@link Activity}.

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.helper; package com.yizhuan.xchat_android_library.easypermisssion.helper;
import android.content.Context; import android.content.Context;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.helper; package com.yizhuan.xchat_android_library.easypermisssion.helper;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.StyleRes; import androidx.annotation.StyleRes;
@@ -6,7 +6,7 @@ import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
import android.util.Log; import android.util.Log;
import com.yizhuan.xchat_android_library.RationaleDialogFragmentCompat; import com.yizhuan.xchat_android_library.easypermisssion.RationaleDialogFragmentCompat;
/** /**
* Implementation of {@link PermissionHelper} for Support Library host classes. * Implementation of {@link PermissionHelper} for Support Library host classes.

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.helper; package com.yizhuan.xchat_android_library.easypermisssion.helper;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.helper; package com.yizhuan.xchat_android_library.easypermisssion.helper;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.helper; package com.yizhuan.xchat_android_library.easypermisssion.helper;
import android.content.Context; import android.content.Context;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;

View File

@@ -1,4 +1,4 @@
@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP) @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
package com.yizhuan.xchat_android_library.helper; package com.yizhuan.xchat_android_library.easypermisssion.helper;
import androidx.annotation.RestrictTo; import androidx.annotation.RestrictTo;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library; package com.yizhuan.xchat_android_library.easyphoto;
import android.app.Activity; import android.app.Activity;
import android.app.Fragment; import android.app.Fragment;
@@ -9,19 +9,19 @@ import android.view.View;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
import com.yizhuan.xchat_android_library.builder.AlbumBuilder; import com.yizhuan.xchat_android_library.easyphoto.builder.AlbumBuilder;
import com.yizhuan.xchat_android_library.callback.PuzzleCallback; import com.yizhuan.xchat_android_library.easyphoto.callback.PuzzleCallback;
import com.yizhuan.xchat_android_library.engine.ImageEngine; import com.yizhuan.xchat_android_library.easyphoto.engine.ImageEngine;
import com.yizhuan.xchat_android_library.models.ad.AdListener; import com.yizhuan.xchat_android_library.easyphoto.models.ad.AdListener;
import com.yizhuan.xchat_android_library.models.album.AlbumModel; import com.yizhuan.xchat_android_library.easyphoto.models.album.AlbumModel;
import com.yizhuan.xchat_android_library.models.album.entity.Photo; import com.yizhuan.xchat_android_library.easyphoto.models.album.entity.Photo;
import com.yizhuan.xchat_android_library.models.sticker.StickerModel; import com.yizhuan.xchat_android_library.easyphoto.models.sticker.StickerModel;
import com.yizhuan.xchat_android_library.models.sticker.entity.TextStickerData; import com.yizhuan.xchat_android_library.easyphoto.models.sticker.entity.TextStickerData;
import com.yizhuan.xchat_android_library.ui.PuzzleActivity; import com.yizhuan.xchat_android_library.easyphoto.ui.PuzzleActivity;
import com.yizhuan.xchat_android_library.utils.bitmap.BitmapUtils; import com.yizhuan.xchat_android_library.easyphoto.utils.bitmap.BitmapUtils;
import com.yizhuan.xchat_android_library.utils.bitmap.SaveBitmapCallBack; import com.yizhuan.xchat_android_library.easyphoto.utils.bitmap.SaveBitmapCallBack;
import com.yizhuan.xchat_android_library.utils.media.MediaScannerConnectionUtils; import com.yizhuan.xchat_android_library.easyphoto.utils.media.MediaScannerConnectionUtils;
import com.yizhuan.xchat_android_library.utils.result.EasyResult; import com.yizhuan.xchat_android_library.easyphoto.utils.result.EasyResult;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.builder; package com.yizhuan.xchat_android_library.easyphoto.builder;
import android.app.Activity; import android.app.Activity;
import android.net.Uri; import android.net.Uri;
@@ -8,16 +8,16 @@ import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
import com.yizhuan.xchat_android_library.callback.SelectCallback; import com.yizhuan.xchat_android_library.easyphoto.callback.SelectCallback;
import com.yizhuan.xchat_android_library.constant.Type; import com.yizhuan.xchat_android_library.easyphoto.constant.Type;
import com.yizhuan.xchat_android_library.engine.ImageEngine; import com.yizhuan.xchat_android_library.easyphoto.engine.ImageEngine;
import com.yizhuan.xchat_android_library.models.ad.AdListener; import com.yizhuan.xchat_android_library.easyphoto.models.ad.AdListener;
import com.yizhuan.xchat_android_library.models.album.entity.Photo; import com.yizhuan.xchat_android_library.easyphoto.models.album.entity.Photo;
import com.yizhuan.xchat_android_library.result.Result; import com.yizhuan.xchat_android_library.easyphoto.result.Result;
import com.yizhuan.xchat_android_library.setting.Setting; import com.yizhuan.xchat_android_library.easyphoto.setting.Setting;
import com.yizhuan.xchat_android_library.ui.EasyPhotosActivity; import com.yizhuan.xchat_android_library.easyphoto.ui.EasyPhotosActivity;
import com.yizhuan.xchat_android_library.utils.result.EasyResult; import com.yizhuan.xchat_android_library.easyphoto.utils.result.EasyResult;
import com.yizhuan.xchat_android_library.utils.uri.UriUtils; import com.yizhuan.xchat_android_library.easyphoto.utils.uri.UriUtils;
import java.io.File; import java.io.File;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;

View File

@@ -1,6 +1,6 @@
package com.yizhuan.xchat_android_library.callback; package com.yizhuan.xchat_android_library.easyphoto.callback;
import com.yizhuan.xchat_android_library.models.album.entity.Photo; import com.yizhuan.xchat_android_library.easyphoto.models.album.entity.Photo;
/** /**
* PuzzleCallback * PuzzleCallback

View File

@@ -1,6 +1,6 @@
package com.yizhuan.xchat_android_library.callback; package com.yizhuan.xchat_android_library.easyphoto.callback;
import com.yizhuan.xchat_android_library.models.album.entity.Photo; import com.yizhuan.xchat_android_library.easyphoto.models.album.entity.Photo;
import java.util.ArrayList; import java.util.ArrayList;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.constant; package com.yizhuan.xchat_android_library.easyphoto.constant;
/** /**
* Code常量 * Code常量

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.constant; package com.yizhuan.xchat_android_library.easyphoto.constant;
/** /**
* key的常量 * key的常量

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.constant; package com.yizhuan.xchat_android_library.easyphoto.constant;
/** /**
* Created by huan on 2018/1/9. * Created by huan on 2018/1/9.

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.engine; package com.yizhuan.xchat_android_library.easyphoto.engine;
import android.content.Context; import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.models.ad; package com.yizhuan.xchat_android_library.easyphoto.models.ad;
import android.view.View; import android.view.View;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.models.ad; package com.yizhuan.xchat_android_library.easyphoto.models.ad;
/** /**
* 广告监听 * 广告监听

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.models.ad; package com.yizhuan.xchat_android_library.easyphoto.models.ad;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import android.view.View; import android.view.View;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.models.album; package com.yizhuan.xchat_android_library.easyphoto.models.album;
import android.Manifest; import android.Manifest;
import android.content.ContentResolver; import android.content.ContentResolver;
@@ -13,13 +13,13 @@ import android.text.TextUtils;
import androidx.core.content.PermissionChecker; import androidx.core.content.PermissionChecker;
import com.yizhuan.xchat_android_library.R; import com.yizhuan.xchat_android_library.R;
import com.yizhuan.xchat_android_library.constant.Type; import com.yizhuan.xchat_android_library.easyphoto.constant.Type;
import com.yizhuan.xchat_android_library.models.album.entity.Album; import com.yizhuan.xchat_android_library.easyphoto.models.album.entity.Album;
import com.yizhuan.xchat_android_library.models.album.entity.AlbumItem; import com.yizhuan.xchat_android_library.easyphoto.result.Result;
import com.yizhuan.xchat_android_library.models.album.entity.Photo; import com.yizhuan.xchat_android_library.easyphoto.setting.Setting;
import com.yizhuan.xchat_android_library.result.Result; import com.yizhuan.xchat_android_library.easyphoto.utils.string.StringUtils;
import com.yizhuan.xchat_android_library.setting.Setting; import com.yizhuan.xchat_android_library.easyphoto.models.album.entity.AlbumItem;
import com.yizhuan.xchat_android_library.utils.string.StringUtils; import com.yizhuan.xchat_android_library.easyphoto.models.album.entity.Photo;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.models.album.entity; package com.yizhuan.xchat_android_library.easyphoto.models.album.entity;
import android.net.Uri; import android.net.Uri;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.models.album.entity; package com.yizhuan.xchat_android_library.easyphoto.models.album.entity;
import android.net.Uri; import android.net.Uri;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.models.album.entity; package com.yizhuan.xchat_android_library.easyphoto.models.album.entity;
import android.net.Uri; import android.net.Uri;
import android.os.Parcel; import android.os.Parcel;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.models.puzzle; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle;
import android.graphics.Path; import android.graphics.Path;
import android.graphics.PointF; import android.graphics.PointF;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.models.puzzle; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.content.Context; import android.content.Context;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.models.puzzle; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle;
import android.graphics.PointF; import android.graphics.PointF;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.models.puzzle; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle;
import android.graphics.Matrix; import android.graphics.Matrix;
import android.graphics.RectF; import android.graphics.RectF;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.models.puzzle; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle;
import android.graphics.RectF; import android.graphics.RectF;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.models.puzzle; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle;
import android.animation.ValueAnimator; import android.animation.ValueAnimator;
import android.graphics.Bitmap; import android.graphics.Bitmap;
@@ -18,9 +18,9 @@ import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.animation.DecelerateInterpolator; import android.view.animation.DecelerateInterpolator;
import static com.yizhuan.xchat_android_library.models.puzzle.MatrixUtils.calculateImageIndents; import static com.yizhuan.xchat_android_library.easyphoto.models.puzzle.MatrixUtils.calculateImageIndents;
import static com.yizhuan.xchat_android_library.models.puzzle.MatrixUtils.getMinMatrixScale; import static com.yizhuan.xchat_android_library.easyphoto.models.puzzle.MatrixUtils.getMinMatrixScale;
import static com.yizhuan.xchat_android_library.models.puzzle.MatrixUtils.judgeIsImageContainsBorder; import static com.yizhuan.xchat_android_library.easyphoto.models.puzzle.MatrixUtils.judgeIsImageContainsBorder;
/** /**

View File

@@ -1,20 +1,20 @@
package com.yizhuan.xchat_android_library.models.puzzle; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle;
import com.yizhuan.xchat_android_library.models.puzzle.template.slant.OneSlantLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.slant.OneSlantLayout;
import com.yizhuan.xchat_android_library.models.puzzle.template.slant.SlantLayoutHelper; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.slant.SlantLayoutHelper;
import com.yizhuan.xchat_android_library.models.puzzle.template.slant.ThreeSlantLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.slant.ThreeSlantLayout;
import com.yizhuan.xchat_android_library.models.puzzle.template.slant.TwoSlantLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.slant.TwoSlantLayout;
import com.yizhuan.xchat_android_library.models.puzzle.template.straight.EightStraightLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight.EightStraightLayout;
import com.yizhuan.xchat_android_library.models.puzzle.template.straight.FiveStraightLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight.FiveStraightLayout;
import com.yizhuan.xchat_android_library.models.puzzle.template.straight.FourStraightLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight.FourStraightLayout;
import com.yizhuan.xchat_android_library.models.puzzle.template.straight.NineStraightLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight.NineStraightLayout;
import com.yizhuan.xchat_android_library.models.puzzle.template.straight.OneStraightLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight.OneStraightLayout;
import com.yizhuan.xchat_android_library.models.puzzle.template.straight.SevenStraightLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight.SevenStraightLayout;
import com.yizhuan.xchat_android_library.models.puzzle.template.straight.SixStraightLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight.SixStraightLayout;
import com.yizhuan.xchat_android_library.models.puzzle.template.straight.StraightLayoutHelper; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight.StraightLayoutHelper;
import com.yizhuan.xchat_android_library.models.puzzle.template.straight.ThreeStraightLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight.ThreeStraightLayout;
import com.yizhuan.xchat_android_library.models.puzzle.template.straight.TwoStraightLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight.TwoStraightLayout;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.models.puzzle; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.content.Context; import android.content.Context;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.models.puzzle; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle;
import android.content.Context; import android.content.Context;
import android.util.AttributeSet; import android.util.AttributeSet;

View File

@@ -1,4 +1,4 @@
package com.yizhuan.xchat_android_library.models.puzzle.slant; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.slant;
import android.graphics.PointF; import android.graphics.PointF;

View File

@@ -1,21 +1,17 @@
package com.yizhuan.xchat_android_library.models.puzzle.slant; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.slant;
import android.graphics.Path; import android.graphics.Path;
import android.graphics.PointF; import android.graphics.PointF;
import android.graphics.RectF; import android.graphics.RectF;
import com.yizhuan.xchat_android_library.models.puzzle.Area; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Area;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
import java.util.Arrays; import java.util.Arrays;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import static com.yizhuan.xchat_android_library.models.puzzle.slant.SlantUtils.distance;
import static com.yizhuan.xchat_android_library.models.puzzle.slant.SlantUtils.getPoint;
import static com.yizhuan.xchat_android_library.models.puzzle.slant.SlantUtils.intersectionOfLines;
/** /**
* @author wupanjie * @author wupanjie
@@ -119,48 +115,48 @@ class SlantArea implements Area {
areaPath.reset(); areaPath.reset();
if (radian > 0) { if (radian > 0) {
float tempRatio = radian / distance(leftTop, leftBottom); float tempRatio = radian / SlantUtils.distance(leftTop, leftBottom);
getPoint(tempPoint, leftTop, leftBottom, Line.Direction.VERTICAL, tempRatio); SlantUtils.getPoint(tempPoint, leftTop, leftBottom, Line.Direction.VERTICAL, tempRatio);
tempPoint.offset(paddingLeft, paddingTop); tempPoint.offset(paddingLeft, paddingTop);
areaPath.moveTo(tempPoint.x, tempPoint.y); areaPath.moveTo(tempPoint.x, tempPoint.y);
tempRatio = radian / distance(leftTop, rightTop); tempRatio = radian / SlantUtils.distance(leftTop, rightTop);
getPoint(tempPoint, leftTop, rightTop, Line.Direction.HORIZONTAL, tempRatio); SlantUtils.getPoint(tempPoint, leftTop, rightTop, Line.Direction.HORIZONTAL, tempRatio);
tempPoint.offset(paddingLeft, paddingTop); tempPoint.offset(paddingLeft, paddingTop);
areaPath.quadTo(leftTop.x + paddingLeft, leftTop.y + paddingTop, tempPoint.x, tempPoint.y); areaPath.quadTo(leftTop.x + paddingLeft, leftTop.y + paddingTop, tempPoint.x, tempPoint.y);
tempRatio = 1 - tempRatio; tempRatio = 1 - tempRatio;
getPoint(tempPoint, leftTop, rightTop, Line.Direction.HORIZONTAL, tempRatio); SlantUtils.getPoint(tempPoint, leftTop, rightTop, Line.Direction.HORIZONTAL, tempRatio);
tempPoint.offset(-paddingRight, paddingTop); tempPoint.offset(-paddingRight, paddingTop);
areaPath.lineTo(tempPoint.x, tempPoint.y); areaPath.lineTo(tempPoint.x, tempPoint.y);
tempRatio = radian / distance(rightTop, rightBottom); tempRatio = radian / SlantUtils.distance(rightTop, rightBottom);
getPoint(tempPoint, rightTop, rightBottom, Line.Direction.VERTICAL, tempRatio); SlantUtils.getPoint(tempPoint, rightTop, rightBottom, Line.Direction.VERTICAL, tempRatio);
tempPoint.offset(-paddingRight, paddingTop); tempPoint.offset(-paddingRight, paddingTop);
areaPath.quadTo(rightTop.x - paddingLeft, rightTop.y + paddingTop, tempPoint.x, tempPoint.y); areaPath.quadTo(rightTop.x - paddingLeft, rightTop.y + paddingTop, tempPoint.x, tempPoint.y);
tempRatio = 1 - tempRatio; tempRatio = 1 - tempRatio;
getPoint(tempPoint, rightTop, rightBottom, Line.Direction.VERTICAL, tempRatio); SlantUtils.getPoint(tempPoint, rightTop, rightBottom, Line.Direction.VERTICAL, tempRatio);
tempPoint.offset(-paddingRight, -paddingBottom); tempPoint.offset(-paddingRight, -paddingBottom);
areaPath.lineTo(tempPoint.x, tempPoint.y); areaPath.lineTo(tempPoint.x, tempPoint.y);
tempRatio = 1 - radian / distance(leftBottom, rightBottom); tempRatio = 1 - radian / SlantUtils.distance(leftBottom, rightBottom);
getPoint(tempPoint, leftBottom, rightBottom, Line.Direction.HORIZONTAL, tempRatio); SlantUtils.getPoint(tempPoint, leftBottom, rightBottom, Line.Direction.HORIZONTAL, tempRatio);
tempPoint.offset(-paddingRight, -paddingBottom); tempPoint.offset(-paddingRight, -paddingBottom);
areaPath.quadTo(rightBottom.x - paddingRight, rightBottom.y - paddingTop, tempPoint.x, tempPoint.y); areaPath.quadTo(rightBottom.x - paddingRight, rightBottom.y - paddingTop, tempPoint.x, tempPoint.y);
tempRatio = 1 - tempRatio; tempRatio = 1 - tempRatio;
getPoint(tempPoint, leftBottom, rightBottom, Line.Direction.HORIZONTAL, tempRatio); SlantUtils.getPoint(tempPoint, leftBottom, rightBottom, Line.Direction.HORIZONTAL, tempRatio);
tempPoint.offset(paddingLeft, -paddingBottom); tempPoint.offset(paddingLeft, -paddingBottom);
areaPath.lineTo(tempPoint.x, tempPoint.y); areaPath.lineTo(tempPoint.x, tempPoint.y);
tempRatio = 1 - radian / distance(leftTop, leftBottom); tempRatio = 1 - radian / SlantUtils.distance(leftTop, leftBottom);
getPoint(tempPoint, leftTop, leftBottom, Line.Direction.VERTICAL, tempRatio); SlantUtils.getPoint(tempPoint, leftTop, leftBottom, Line.Direction.VERTICAL, tempRatio);
tempPoint.offset(paddingLeft, -paddingBottom); tempPoint.offset(paddingLeft, -paddingBottom);
areaPath.quadTo(leftBottom.x + paddingLeft, leftBottom.y - paddingBottom, tempPoint.x, tempPoint.y); areaPath.quadTo(leftBottom.x + paddingLeft, leftBottom.y - paddingBottom, tempPoint.x, tempPoint.y);
tempRatio = 1 - tempRatio; tempRatio = 1 - tempRatio;
getPoint(tempPoint, leftTop, leftBottom, Line.Direction.VERTICAL, tempRatio); SlantUtils.getPoint(tempPoint, leftTop, leftBottom, Line.Direction.VERTICAL, tempRatio);
tempPoint.offset(paddingLeft, paddingTop); tempPoint.offset(paddingLeft, paddingTop);
areaPath.lineTo(tempPoint.x, tempPoint.y); areaPath.lineTo(tempPoint.x, tempPoint.y);
} else { } else {
@@ -201,23 +197,23 @@ class SlantArea implements Area {
@Override @Override
public PointF[] getHandleBarPoints(Line line) { public PointF[] getHandleBarPoints(Line line) {
if (line == lineLeft) { if (line == lineLeft) {
getPoint(handleBarPoints[0], leftTop, leftBottom, line.direction(), 0.25f); SlantUtils.getPoint(handleBarPoints[0], leftTop, leftBottom, line.direction(), 0.25f);
getPoint(handleBarPoints[1], leftTop, leftBottom, line.direction(), 0.75f); SlantUtils.getPoint(handleBarPoints[1], leftTop, leftBottom, line.direction(), 0.75f);
handleBarPoints[0].offset(paddingLeft, 0); handleBarPoints[0].offset(paddingLeft, 0);
handleBarPoints[1].offset(paddingLeft, 0); handleBarPoints[1].offset(paddingLeft, 0);
} else if (line == lineTop) { } else if (line == lineTop) {
getPoint(handleBarPoints[0], leftTop, rightTop, line.direction(), 0.25f); SlantUtils.getPoint(handleBarPoints[0], leftTop, rightTop, line.direction(), 0.25f);
getPoint(handleBarPoints[1], leftTop, rightTop, line.direction(), 0.75f); SlantUtils.getPoint(handleBarPoints[1], leftTop, rightTop, line.direction(), 0.75f);
handleBarPoints[0].offset(0, paddingTop); handleBarPoints[0].offset(0, paddingTop);
handleBarPoints[1].offset(0, paddingTop); handleBarPoints[1].offset(0, paddingTop);
} else if (line == lineRight) { } else if (line == lineRight) {
getPoint(handleBarPoints[0], rightTop, rightBottom, line.direction(), 0.25f); SlantUtils.getPoint(handleBarPoints[0], rightTop, rightBottom, line.direction(), 0.25f);
getPoint(handleBarPoints[1], rightTop, rightBottom, line.direction(), 0.75f); SlantUtils.getPoint(handleBarPoints[1], rightTop, rightBottom, line.direction(), 0.75f);
handleBarPoints[0].offset(-paddingRight, 0); handleBarPoints[0].offset(-paddingRight, 0);
handleBarPoints[1].offset(-paddingRight, 0); handleBarPoints[1].offset(-paddingRight, 0);
} else if (line == lineBottom) { } else if (line == lineBottom) {
getPoint(handleBarPoints[0], leftBottom, rightBottom, line.direction(), 0.25f); SlantUtils.getPoint(handleBarPoints[0], leftBottom, rightBottom, line.direction(), 0.25f);
getPoint(handleBarPoints[1], leftBottom, rightBottom, line.direction(), 0.75f); SlantUtils.getPoint(handleBarPoints[1], leftBottom, rightBottom, line.direction(), 0.75f);
handleBarPoints[0].offset(0, -paddingBottom); handleBarPoints[0].offset(0, -paddingBottom);
handleBarPoints[1].offset(0, -paddingBottom); handleBarPoints[1].offset(0, -paddingBottom);
} }
@@ -268,10 +264,10 @@ class SlantArea implements Area {
} }
void updateCornerPoints() { void updateCornerPoints() {
intersectionOfLines(leftTop, lineLeft, lineTop); SlantUtils.intersectionOfLines(leftTop, lineLeft, lineTop);
intersectionOfLines(leftBottom, lineLeft, lineBottom); SlantUtils.intersectionOfLines(leftBottom, lineLeft, lineBottom);
intersectionOfLines(rightTop, lineRight, lineTop); SlantUtils.intersectionOfLines(rightTop, lineRight, lineTop);
intersectionOfLines(rightBottom, lineRight, lineBottom); SlantUtils.intersectionOfLines(rightBottom, lineRight, lineBottom);
} }
static class AreaComparator implements Comparator<SlantArea> { static class AreaComparator implements Comparator<SlantArea> {

View File

@@ -1,10 +1,9 @@
package com.yizhuan.xchat_android_library.models.puzzle.slant; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.slant;
import android.graphics.PointF; import android.graphics.PointF;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
import static com.yizhuan.xchat_android_library.models.puzzle.slant.SlantUtils.intersectionOfLines;
import static java.lang.Math.max; import static java.lang.Math.max;
import static java.lang.Math.min; import static java.lang.Math.min;
import static java.lang.Math.pow; import static java.lang.Math.pow;
@@ -136,8 +135,8 @@ class SlantLine implements Line {
@Override @Override
public void update(float layoutWidth, float layoutHeight) { public void update(float layoutWidth, float layoutHeight) {
intersectionOfLines(start, this, attachLineStart); SlantUtils.intersectionOfLines(start, this, attachLineStart);
intersectionOfLines(end, this, attachLineEnd); SlantUtils.intersectionOfLines(end, this, attachLineEnd);
} }
@Override @Override

View File

@@ -1,20 +1,18 @@
package com.yizhuan.xchat_android_library.models.puzzle.slant; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.slant;
import android.graphics.RectF; import android.graphics.RectF;
import android.util.Pair; import android.util.Pair;
import com.yizhuan.xchat_android_library.models.puzzle.Area; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Area;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
import com.yizhuan.xchat_android_library.models.puzzle.PuzzleLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.PuzzleLayout;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import static com.yizhuan.xchat_android_library.models.puzzle.slant.SlantUtils.createLine; import static com.yizhuan.xchat_android_library.easyphoto.models.puzzle.slant.SlantUtils.cutAreaWith;
import static com.yizhuan.xchat_android_library.models.puzzle.slant.SlantUtils.cutAreaCross;
import static com.yizhuan.xchat_android_library.models.puzzle.slant.SlantUtils.cutAreaWith;
/** /**
@@ -254,10 +252,10 @@ public abstract class SlantPuzzleLayout implements PuzzleLayout {
float endRatio) { float endRatio) {
SlantArea area = areas.get(position); SlantArea area = areas.get(position);
areas.remove(area); areas.remove(area);
SlantLine line = createLine(area, direction, startRatio, endRatio); SlantLine line = SlantUtils.createLine(area, direction, startRatio, endRatio);
lines.add(line); lines.add(line);
List<SlantArea> increasedAreas = cutAreaWith(area, line); List<SlantArea> increasedAreas = SlantUtils.cutAreaWith(area, line);
areas.addAll(increasedAreas); areas.addAll(increasedAreas);
@@ -278,12 +276,12 @@ public abstract class SlantPuzzleLayout implements PuzzleLayout {
SlantArea area = areas.get(position); SlantArea area = areas.get(position);
areas.remove(area); areas.remove(area);
SlantLine horizontal = createLine(area, Line.Direction.HORIZONTAL, startRatio1, endRatio1); SlantLine horizontal = SlantUtils.createLine(area, Line.Direction.HORIZONTAL, startRatio1, endRatio1);
SlantLine vertical = createLine(area, Line.Direction.VERTICAL, startRatio2, endRatio2); SlantLine vertical = SlantUtils.createLine(area, Line.Direction.VERTICAL, startRatio2, endRatio2);
lines.add(horizontal); lines.add(horizontal);
lines.add(vertical); lines.add(vertical);
List<SlantArea> increasedAreas = cutAreaCross(area, horizontal, vertical); List<SlantArea> increasedAreas = SlantUtils.cutAreaCross(area, horizontal, vertical);
areas.addAll(increasedAreas); areas.addAll(increasedAreas);
sortAreas(); sortAreas();
@@ -299,7 +297,7 @@ public abstract class SlantPuzzleLayout implements PuzzleLayout {
areas.remove(area); areas.remove(area);
Pair<List<SlantLine>, List<SlantArea>> spilt = Pair<List<SlantLine>, List<SlantArea>> spilt =
cutAreaWith(area, hSize, vSize); SlantUtils.cutAreaWith(area, hSize, vSize);
lines.addAll(spilt.first); lines.addAll(spilt.first);
areas.addAll(spilt.second); areas.addAll(spilt.second);

View File

@@ -1,10 +1,10 @@
package com.yizhuan.xchat_android_library.models.puzzle.slant; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.slant;
import android.graphics.PointF; import android.graphics.PointF;
import android.util.Pair; import android.util.Pair;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View File

@@ -1,11 +1,11 @@
package com.yizhuan.xchat_android_library.models.puzzle.straight; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.straight;
import android.graphics.Path; import android.graphics.Path;
import android.graphics.PointF; import android.graphics.PointF;
import android.graphics.RectF; import android.graphics.RectF;
import com.yizhuan.xchat_android_library.models.puzzle.Area; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Area;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
import java.util.Arrays; import java.util.Arrays;
import java.util.Comparator; import java.util.Comparator;

View File

@@ -1,10 +1,10 @@
package com.yizhuan.xchat_android_library.models.puzzle.straight; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.straight;
import android.graphics.PointF; import android.graphics.PointF;
import android.graphics.RectF; import android.graphics.RectF;
import android.util.Log; import android.util.Log;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
import static java.lang.Math.max; import static java.lang.Math.max;
import static java.lang.Math.min; import static java.lang.Math.min;

View File

@@ -1,21 +1,21 @@
package com.yizhuan.xchat_android_library.models.puzzle.straight; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.straight;
import android.graphics.PointF; import android.graphics.PointF;
import android.graphics.RectF; import android.graphics.RectF;
import android.util.Pair; import android.util.Pair;
import com.yizhuan.xchat_android_library.models.puzzle.Area; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Area;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
import com.yizhuan.xchat_android_library.models.puzzle.PuzzleLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.PuzzleLayout;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import static com.yizhuan.xchat_android_library.models.puzzle.straight.StraightUtils.createLine; import static com.yizhuan.xchat_android_library.easyphoto.models.puzzle.straight.StraightUtils.createLine;
import static com.yizhuan.xchat_android_library.models.puzzle.straight.StraightUtils.cutAreaCross; import static com.yizhuan.xchat_android_library.easyphoto.models.puzzle.straight.StraightUtils.cutAreaCross;
import static com.yizhuan.xchat_android_library.models.puzzle.straight.StraightUtils.cutAreaSpiral; import static com.yizhuan.xchat_android_library.easyphoto.models.puzzle.straight.StraightUtils.cutAreaSpiral;
/** /**

View File

@@ -1,10 +1,10 @@
package com.yizhuan.xchat_android_library.models.puzzle.straight; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.straight;
import android.graphics.PointF; import android.graphics.PointF;
import android.util.Pair; import android.util.Pair;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View File

@@ -1,8 +1,8 @@
package com.yizhuan.xchat_android_library.models.puzzle.template.slant; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.slant;
import android.util.Log; import android.util.Log;
import com.yizhuan.xchat_android_library.models.puzzle.slant.SlantPuzzleLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.slant.SlantPuzzleLayout;
/** /**

View File

@@ -1,6 +1,6 @@
package com.yizhuan.xchat_android_library.models.puzzle.template.slant; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.slant;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
/** /**
* @author wupanjie * @author wupanjie

View File

@@ -1,7 +1,7 @@
package com.yizhuan.xchat_android_library.models.puzzle.template.slant; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.slant;
import com.yizhuan.xchat_android_library.models.puzzle.PuzzleLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.PuzzleLayout;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View File

@@ -1,6 +1,6 @@
package com.yizhuan.xchat_android_library.models.puzzle.template.slant; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.slant;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
/** /**
* @author wupanjie * @author wupanjie

View File

@@ -1,6 +1,6 @@
package com.yizhuan.xchat_android_library.models.puzzle.template.slant; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.slant;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
/** /**
* @author wupanjie * @author wupanjie

View File

@@ -1,6 +1,6 @@
package com.yizhuan.xchat_android_library.models.puzzle.template.straight; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
/** /**
* @author wupanjie * @author wupanjie

View File

@@ -1,6 +1,6 @@
package com.yizhuan.xchat_android_library.models.puzzle.template.straight; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
/** /**
* @author wupanjie * @author wupanjie

View File

@@ -1,6 +1,6 @@
package com.yizhuan.xchat_android_library.models.puzzle.template.straight; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
/** /**
* @author wupanjie * @author wupanjie

View File

@@ -1,6 +1,6 @@
package com.yizhuan.xchat_android_library.models.puzzle.template.straight; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
/** /**
* @author wupanjie * @author wupanjie

View File

@@ -1,8 +1,8 @@
package com.yizhuan.xchat_android_library.models.puzzle.template.straight; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight;
import android.util.Log; import android.util.Log;
import com.yizhuan.xchat_android_library.models.puzzle.straight.StraightPuzzleLayout; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.straight.StraightPuzzleLayout;
/** /**

View File

@@ -1,6 +1,6 @@
package com.yizhuan.xchat_android_library.models.puzzle.template.straight; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
/** /**
* @author wupanjie * @author wupanjie

View File

@@ -1,6 +1,6 @@
package com.yizhuan.xchat_android_library.models.puzzle.template.straight; package com.yizhuan.xchat_android_library.easyphoto.models.puzzle.template.straight;
import com.yizhuan.xchat_android_library.models.puzzle.Line; import com.yizhuan.xchat_android_library.easyphoto.models.puzzle.Line;
/** /**
* @author wupanjie * @author wupanjie

Some files were not shown because too many files have changed in this diff Show More