Compare commits
No commits in common. "master" and "dev_聊天" have entirely different histories.
1
.gitignore
vendored
1
.gitignore
vendored
@ -14,4 +14,3 @@ local.properties
|
||||
/live/build/
|
||||
/main/build/
|
||||
/video/build/
|
||||
/tmp/full-r8-config.txt
|
@ -1,18 +1,12 @@
|
||||
//apply plugin: 'com.android.library'
|
||||
//apply plugin: 'img-optimizer'
|
||||
//apply plugin: 'kotlin-android'
|
||||
//apply plugin: 'kotlin-android-extensions'
|
||||
plugins {
|
||||
id 'com.android.library'
|
||||
id 'kotlin-android'
|
||||
id 'kotlin-parcelize'
|
||||
id 'img-optimizer'
|
||||
}
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'img-optimizer'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-android-extensions'
|
||||
|
||||
|
||||
android {
|
||||
namespace "com.yunbao.faceunity"
|
||||
compileSdk rootProject.ext.android.compileSdkVersion
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||
packagingOptions {
|
||||
pickFirst "lib/armeabi/libyuvutils.so"
|
||||
pickFirst "lib/arm64-v8a/libyuvutils.so"
|
||||
@ -54,11 +48,8 @@ android {
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_18
|
||||
targetCompatibility JavaVersion.VERSION_18
|
||||
}
|
||||
buildFeatures {
|
||||
buildConfig = true
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
|
@ -1,5 +1,6 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.yunbao.faceunity"
|
||||
>
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
@ -10,9 +11,7 @@
|
||||
|
||||
<application
|
||||
android:icon="@mipmap/ico_home_animoji"
|
||||
android:allowBackup="true"
|
||||
tools:replace="allowBackup"
|
||||
>
|
||||
android:allowBackup="true">
|
||||
|
||||
</application>
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
apply plugin: 'com.android.library'
|
||||
android {
|
||||
namespace "com.samsung.android.sdk.iap.lib"
|
||||
compileSdk rootProject.ext.android.compileSdkVersion
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||
defaultConfig {
|
||||
minSdkVersion rootProject.ext.android.minSdkVersion
|
||||
minSdkVersion minSdkVersion
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
consumerProguardFiles "consumer-rules.pro"
|
||||
versionCode rootProject.ext.android.versionCode
|
||||
versionName rootProject.ext.android.versionName
|
||||
targetSdkVersion rootProject.ext.android.targetSdkVersion
|
||||
versionCode versionCode
|
||||
versionName versionName
|
||||
targetSdkVersion targetSdkVersion
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
@ -18,15 +18,7 @@ android {
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
|
||||
}
|
||||
}
|
||||
buildFeatures {
|
||||
buildConfig = true
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
flatDir {
|
||||
dirs 'libs', '../libs'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
|
||||
}
|
Binary file not shown.
@ -1,31 +1,30 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
<manifest
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.samsung.android.sdk.iap.lib"
|
||||
android:versionCode="601000004"
|
||||
android:versionName="6.1.0">
|
||||
<!-- version code [Major/Minor/Bug fix release/Build number ] : x xx xxx xxx -->
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
tools:replace="allowBackup">
|
||||
<application>
|
||||
<!-- IAP 라이브러리 내 Activity 선언 시작-->
|
||||
|
||||
<activity
|
||||
android:name="com.samsung.android.sdk.iap.lib2.activity.DialogActivity"
|
||||
android:name="com.samsung.android.sdk.iap.lib.activity.DialogActivity"
|
||||
android:theme="@style/Theme.Empty"
|
||||
android:configChanges="orientation|screenSize"/>
|
||||
|
||||
<activity
|
||||
android:name="com.samsung.android.sdk.iap.lib2.activity.CheckPackageActivity"
|
||||
android:name="com.samsung.android.sdk.iap.lib.activity.CheckPackageActivity"
|
||||
android:theme="@style/Theme.Empty"
|
||||
android:configChanges="orientation|screenSize"/>
|
||||
|
||||
<activity
|
||||
android:name="com.samsung.android.sdk.iap.lib2.activity.AccountActivity"
|
||||
android:name="com.samsung.android.sdk.iap.lib.activity.AccountActivity"
|
||||
android:theme="@style/Theme.Transparent"
|
||||
android:configChanges="orientation|screenSize"/>
|
||||
|
||||
<activity
|
||||
android:name="com.samsung.android.sdk.iap.lib2.activity.PaymentActivity"
|
||||
android:name="com.samsung.android.sdk.iap.lib.activity.PaymentActivity"
|
||||
android:theme="@style/Theme.Empty"
|
||||
android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout|keyboard|keyboardHidden|locale|uiMode|fontScale|density"/>
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
package com.samsung.android.sdk.iap.lib2.activity;
|
||||
package com.samsung.android.sdk.iap.lib.activity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperUtil;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperUtil;
|
||||
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2018-03-06.
|
||||
@ -16,11 +16,12 @@ import com.samsung.android.sdk.iap.lib2.helper.IapHelper;
|
||||
public class AccountActivity extends Activity {
|
||||
private static final String TAG = AccountActivity.class.getSimpleName();
|
||||
|
||||
com.samsung.android.sdk.iap.lib2.helper.IapHelper mIapHelper = null;
|
||||
IapHelper mIapHelper = null;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
mIapHelper = IapHelper.getInstance(this);
|
||||
// ====================================================================
|
||||
// 1. If IAP package is installed and valid, start SamsungAccount
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.activity;
|
||||
package com.samsung.android.sdk.iap.lib.activity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
@ -8,25 +8,25 @@ import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.dialog.BaseDialogFragment;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperUtil;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.PurchaseVo;
|
||||
import com.samsung.android.sdk.iap.lib.dialog.BaseDialogFragment;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperUtil;
|
||||
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib.vo.PurchaseVo;
|
||||
|
||||
|
||||
public abstract class BaseActivity extends Activity {
|
||||
private static final String TAG = BaseActivity.class.getSimpleName();
|
||||
|
||||
protected com.samsung.android.sdk.iap.lib2.vo.ErrorVo mErrorVo = new com.samsung.android.sdk.iap.lib2.vo.ErrorVo();
|
||||
protected ErrorVo mErrorVo = new ErrorVo();
|
||||
private Dialog mProgressDialog = null;
|
||||
protected com.samsung.android.sdk.iap.lib2.vo.PurchaseVo mPurchaseVo = null;
|
||||
protected PurchaseVo mPurchaseVo = null;
|
||||
|
||||
/**
|
||||
* Helper Class between IAPService and 3rd Party Application
|
||||
*/
|
||||
com.samsung.android.sdk.iap.lib2.helper.IapHelper mIapHelper = null;
|
||||
IapHelper mIapHelper = null;
|
||||
|
||||
/**
|
||||
* Flag value to show successful pop-up. Error pop-up appears whenever it fails or not.
|
||||
@ -64,15 +64,15 @@ public abstract class BaseActivity extends Activity {
|
||||
public boolean checkAppsPackage(Activity _activity) {
|
||||
// 1. If Galaxy Store is installed
|
||||
// ====================================================================
|
||||
if (com.samsung.android.sdk.iap.lib2.helper.HelperUtil.isInstalledAppsPackage(this)) {
|
||||
if (HelperUtil.isInstalledAppsPackage(this)) {
|
||||
// 1) If Galaxy Store is enabled
|
||||
// ================================================================
|
||||
if (!com.samsung.android.sdk.iap.lib2.helper.HelperUtil.isEnabledAppsPackage(this)) {
|
||||
com.samsung.android.sdk.iap.lib2.helper.HelperUtil.showEnableGalaxyStoreDialog(_activity);
|
||||
if (!HelperUtil.isEnabledAppsPackage(this)) {
|
||||
HelperUtil.showEnableGalaxyStoreDialog(_activity);
|
||||
// ================================================================
|
||||
// 2) If Galaxy Store is valid
|
||||
// ================================================================
|
||||
} else if (com.samsung.android.sdk.iap.lib2.helper.HelperUtil.isValidAppsPackage(this)) {
|
||||
} else if (HelperUtil.isValidAppsPackage(this)) {
|
||||
return true;
|
||||
} else {
|
||||
// Set error to notify result to third-party application
|
||||
@ -84,7 +84,7 @@ public abstract class BaseActivity extends Activity {
|
||||
R.string.dream_ph_body_contact_p1sscustomer_servicep2ss_for_more_information_n_nerror_code_c_p3ss),
|
||||
"", "", ERROR_ISSUER_IAP_CLIENT + ERROR_CODE_INVALID_GALAXY_STORE);
|
||||
mErrorVo.setError(HelperDefine.IAP_PAYMENT_IS_CANCELED, errorString);
|
||||
com.samsung.android.sdk.iap.lib2.helper.HelperUtil.showInvalidGalaxyStoreDialog(this);
|
||||
HelperUtil.showInvalidGalaxyStoreDialog(this);
|
||||
}
|
||||
// ================================================================
|
||||
|
||||
@ -92,7 +92,7 @@ public abstract class BaseActivity extends Activity {
|
||||
// 2. If Galaxy Store is not installed
|
||||
// ====================================================================
|
||||
} else {
|
||||
com.samsung.android.sdk.iap.lib2.helper.HelperUtil.installAppsPackage(this);
|
||||
HelperUtil.installAppsPackage(this);
|
||||
}
|
||||
// ====================================================================
|
||||
return false;
|
||||
@ -161,12 +161,12 @@ public abstract class BaseActivity extends Activity {
|
||||
else {
|
||||
Log.e(TAG, "finishPurchase: " + mErrorVo.dump());
|
||||
if (mShowErrorDialog) {
|
||||
com.samsung.android.sdk.iap.lib2.helper.HelperUtil.showIapErrorDialog(
|
||||
HelperUtil.showIapErrorDialog(
|
||||
this,
|
||||
getString(R.string.dream_ph_pheader_couldnt_complete_purchase),
|
||||
mErrorVo.getErrorString(),
|
||||
mErrorVo.getErrorDetailsString(),
|
||||
new com.samsung.android.sdk.iap.lib2.dialog.BaseDialogFragment.OnClickListener() {
|
||||
new BaseDialogFragment.OnClickListener() {
|
||||
@Override
|
||||
public void onClick() {
|
||||
finish();
|
@ -1,12 +1,12 @@
|
||||
package com.samsung.android.sdk.iap.lib2.activity;
|
||||
package com.samsung.android.sdk.iap.lib.activity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperUtil;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperUtil;
|
||||
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2018-03-07.
|
||||
@ -27,12 +27,12 @@ public class CheckPackageActivity extends Activity {
|
||||
int DialogType = extras.getInt("DialogType");
|
||||
switch (DialogType) {
|
||||
case HelperDefine.DIALOG_TYPE_INVALID_PACKAGE: {
|
||||
com.samsung.android.sdk.iap.lib2.helper.HelperUtil.showInvalidGalaxyStoreDialog(this);
|
||||
HelperUtil.showInvalidGalaxyStoreDialog(this);
|
||||
mFinishFlag = false;
|
||||
}
|
||||
break;
|
||||
case HelperDefine.DIALOG_TYPE_DISABLE_APPLICATION: {
|
||||
com.samsung.android.sdk.iap.lib2.helper.HelperUtil.showEnableGalaxyStoreDialog(this);
|
||||
HelperUtil.showEnableGalaxyStoreDialog(this);
|
||||
mFinishFlag = false;
|
||||
}
|
||||
break;
|
@ -1,12 +1,16 @@
|
||||
package com.samsung.android.sdk.iap.lib2.activity;
|
||||
package com.samsung.android.sdk.iap.lib.activity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.dialog.BaseDialogFragment;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperUtil;
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib.dialog.BaseDialogFragment;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperUtil;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2018-03-05.
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.activity;
|
||||
package com.samsung.android.sdk.iap.lib.activity;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
@ -9,9 +9,9 @@ import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperListenerManager;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnPaymentListener;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperListenerManager;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnPaymentListener;
|
||||
|
||||
public class PaymentActivity extends BaseActivity {
|
||||
private static final String TAG = PaymentActivity.class.getSimpleName();
|
||||
@ -56,7 +56,7 @@ public class PaymentActivity extends BaseActivity {
|
||||
super.preDestory();
|
||||
if (isFinishing()) {
|
||||
OnPaymentListener onPaymentListener =
|
||||
com.samsung.android.sdk.iap.lib2.helper.HelperListenerManager.getInstance().getOnPaymentListener();
|
||||
HelperListenerManager.getInstance().getOnPaymentListener();
|
||||
HelperListenerManager.getInstance().setOnPaymentListener(null);
|
||||
if (null != onPaymentListener) {
|
||||
onPaymentListener.onPayment(mErrorVo, mPurchaseVo);
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.dialog;
|
||||
package com.samsung.android.sdk.iap.lib.dialog;
|
||||
|
||||
import android.app.ActionBar;
|
||||
import android.app.Dialog;
|
||||
@ -8,6 +8,7 @@ import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.util.Log;
|
||||
import android.util.TypedValue;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.helper;
|
||||
package com.samsung.android.sdk.iap.lib.helper;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2017-07-17.
|
@ -1,12 +1,12 @@
|
||||
package com.samsung.android.sdk.iap.lib2.helper;
|
||||
package com.samsung.android.sdk.iap.lib.helper;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnConsumePurchasedItemsListener;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnGetOwnedListListener;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnGetProductsDetailsListener;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnPaymentListener;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.ConsumePurchasedItemsTask;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.GetOwnedListTask;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.GetProductsDetailsTask;
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.ConsumePurchasedItemsTask;
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.GetOwnedListTask;
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.GetProductsDetailsTask;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnConsumePurchasedItemsListener;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnGetOwnedListListener;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnGetProductsDetailsListener;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnPaymentListener;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2017-08-29.
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.helper;
|
||||
package com.samsung.android.sdk.iap.lib.helper;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ComponentName;
|
||||
@ -14,9 +14,9 @@ import android.text.Html;
|
||||
import android.util.Log;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib2.activity.BaseActivity;
|
||||
import com.samsung.android.sdk.iap.lib2.dialog.BaseDialogFragment;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib.activity.BaseActivity;
|
||||
import com.samsung.android.sdk.iap.lib.dialog.BaseDialogFragment;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2017-08-17.
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.helper;
|
||||
package com.samsung.android.sdk.iap.lib.helper;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
@ -12,20 +12,20 @@ import android.util.Log;
|
||||
|
||||
import com.samsung.android.iap.IAPConnector;
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib2.activity.CheckPackageActivity;
|
||||
import com.samsung.android.sdk.iap.lib2.activity.PaymentActivity;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnConsumePurchasedItemsListener;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnGetOwnedListListener;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnGetProductsDetailsListener;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnPaymentListener;
|
||||
import com.samsung.android.sdk.iap.lib2.service.BaseService;
|
||||
import com.samsung.android.sdk.iap.lib2.service.ConsumePurchasedItems;
|
||||
import com.samsung.android.sdk.iap.lib2.service.OwnedProduct;
|
||||
import com.samsung.android.sdk.iap.lib2.service.ProductsDetails;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.ConsumePurchasedItemsTask;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.GetOwnedListTask;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.GetProductsDetailsTask;
|
||||
import com.samsung.android.sdk.iap.lib.activity.CheckPackageActivity;
|
||||
import com.samsung.android.sdk.iap.lib.activity.PaymentActivity;
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.ConsumePurchasedItemsTask;
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.GetOwnedListTask;
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.GetProductsDetailsTask;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnConsumePurchasedItemsListener;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnGetOwnedListListener;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnGetProductsDetailsListener;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnPaymentListener;
|
||||
import com.samsung.android.sdk.iap.lib.service.BaseService;
|
||||
import com.samsung.android.sdk.iap.lib.service.ConsumePurchasedItems;
|
||||
import com.samsung.android.sdk.iap.lib.service.OwnedProduct;
|
||||
import com.samsung.android.sdk.iap.lib.service.ProductsDetails;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@ -46,9 +46,9 @@ public class IapHelper extends HelperDefine {
|
||||
|
||||
// AsyncTask for API
|
||||
// ========================================================================
|
||||
private com.samsung.android.sdk.iap.lib2.helper.task.GetProductsDetailsTask mGetProductsDetailsTask = null;
|
||||
private com.samsung.android.sdk.iap.lib2.helper.task.GetOwnedListTask mGetOwnedListTask = null;
|
||||
private com.samsung.android.sdk.iap.lib2.helper.task.ConsumePurchasedItemsTask mConsumePurchasedItemsTask = null;
|
||||
private GetProductsDetailsTask mGetProductsDetailsTask = null;
|
||||
private GetOwnedListTask mGetOwnedListTask = null;
|
||||
private ConsumePurchasedItemsTask mConsumePurchasedItemsTask = null;
|
||||
// ========================================================================
|
||||
|
||||
private ArrayList<BaseService> mServiceQueue = new ArrayList<BaseService>();
|
||||
@ -267,7 +267,7 @@ public class IapHelper extends HelperDefine {
|
||||
if (mIapConnector == null || mContext == null) {
|
||||
return false;
|
||||
} else {
|
||||
mGetProductsDetailsTask = new com.samsung.android.sdk.iap.lib2.helper.task.GetProductsDetailsTask(_baseService,
|
||||
mGetProductsDetailsTask = new GetProductsDetailsTask(_baseService,
|
||||
mIapConnector,
|
||||
mContext,
|
||||
_productIDs,
|
||||
@ -344,7 +344,7 @@ public class IapHelper extends HelperDefine {
|
||||
if (mIapConnector == null || mContext == null) {
|
||||
return false;
|
||||
} else {
|
||||
mGetOwnedListTask = new com.samsung.android.sdk.iap.lib2.helper.task.GetOwnedListTask(_baseService,
|
||||
mGetOwnedListTask = new GetOwnedListTask(_baseService,
|
||||
mIapConnector,
|
||||
mContext,
|
||||
_productType,
|
||||
@ -417,7 +417,7 @@ public class IapHelper extends HelperDefine {
|
||||
mConsumePurchasedItemsTask.cancel(true);
|
||||
}
|
||||
|
||||
mConsumePurchasedItemsTask = new com.samsung.android.sdk.iap.lib2.helper.task.ConsumePurchasedItemsTask(_baseService,
|
||||
mConsumePurchasedItemsTask = new ConsumePurchasedItemsTask(_baseService,
|
||||
mIapConnector,
|
||||
mContext,
|
||||
_purchaseIds,
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.helper.task;
|
||||
package com.samsung.android.sdk.iap.lib.helper.task;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.AsyncTask;
|
||||
@ -6,8 +6,9 @@ import android.util.Log;
|
||||
|
||||
import com.samsung.android.iap.IAPConnector;
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib2.service.BaseService;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.service.BaseService;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2017-09-01.
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.helper.task;
|
||||
package com.samsung.android.sdk.iap.lib.helper.task;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
@ -6,9 +6,9 @@ import android.util.Log;
|
||||
|
||||
import com.samsung.android.iap.IAPConnector;
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.service.ConsumePurchasedItems;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ConsumeVo;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.service.ConsumePurchasedItems;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ConsumeVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.helper.task;
|
||||
package com.samsung.android.sdk.iap.lib.helper.task;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
@ -6,9 +6,9 @@ import android.util.Log;
|
||||
|
||||
import com.samsung.android.iap.IAPConnector;
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.service.OwnedProduct;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.OwnedProductVo;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.service.OwnedProduct;
|
||||
import com.samsung.android.sdk.iap.lib.vo.OwnedProductVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.helper.task;
|
||||
package com.samsung.android.sdk.iap.lib.helper.task;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
@ -6,9 +6,9 @@ import android.util.Log;
|
||||
|
||||
import com.samsung.android.iap.IAPConnector;
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.service.ProductsDetails;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ProductVo;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.service.ProductsDetails;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ProductVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -1,13 +1,13 @@
|
||||
package com.samsung.android.sdk.iap.lib2.listener;
|
||||
package com.samsung.android.sdk.iap.lib.listener;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.GetOwnedListTask;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ConsumeVo;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.GetOwnedListTask;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ConsumeVo;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Callback Interface used with {@link com.samsung.android.sdk.iap.lib2.helper.task.GetOwnedListTask}
|
||||
* Callback Interface used with {@link GetOwnedListTask}
|
||||
*/
|
||||
public interface OnConsumePurchasedItemsListener {
|
||||
/**
|
@ -0,0 +1,20 @@
|
||||
package com.samsung.android.sdk.iap.lib.listener;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.GetOwnedListTask;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib.vo.OwnedProductVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Callback Interface used with {@link GetOwnedListTask}
|
||||
*/
|
||||
public interface OnGetOwnedListListener {
|
||||
/**
|
||||
* Callback method to be invoked when {@link GetOwnedListTask} has been finished.
|
||||
*
|
||||
* @param _errorVO
|
||||
* @param _ownedList
|
||||
*/
|
||||
void onGetOwnedProducts(ErrorVo _errorVO, ArrayList<OwnedProductVo> _ownedList);
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package com.samsung.android.sdk.iap.lib.listener;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.helper.task.GetProductsDetailsTask;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ProductVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Callback Interface used with {@link GetProductsDetailsTask}
|
||||
*/
|
||||
public interface OnGetProductsDetailsListener {
|
||||
/**
|
||||
* Callback method to be invoked when {@link GetProductsDetailsTask} has been finished.
|
||||
*
|
||||
* @param _errorVO
|
||||
* @param _productList
|
||||
*/
|
||||
void onGetProducts(ErrorVo _errorVO, ArrayList<ProductVo> _productList);
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.listener;
|
||||
package com.samsung.android.sdk.iap.lib.listener;
|
||||
|
||||
/**
|
||||
* Callback Interface to be invoked when bind to IAPService has been finished.
|
@ -1,7 +1,7 @@
|
||||
package com.samsung.android.sdk.iap.lib2.listener;
|
||||
package com.samsung.android.sdk.iap.lib.listener;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.PurchaseVo;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib.vo.PurchaseVo;
|
||||
|
||||
/**
|
||||
* Callback Interface to be invoked when payment has been finished.
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.listener;
|
||||
package com.samsung.android.sdk.iap.lib.listener;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2018-02-28.
|
@ -1,15 +1,15 @@
|
||||
package com.samsung.android.sdk.iap.lib2.service;
|
||||
package com.samsung.android.sdk.iap.lib.service;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.activity.AccountActivity;
|
||||
import com.samsung.android.sdk.iap.lib2.activity.DialogActivity;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib.activity.AccountActivity;
|
||||
import com.samsung.android.sdk.iap.lib.activity.DialogActivity;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ErrorVo;
|
||||
|
||||
/**
|
||||
* Created by sangbum7.kim on 2018-02-28.
|
||||
@ -18,8 +18,8 @@ import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
public abstract class BaseService {
|
||||
private static final String TAG = BaseService.class.getSimpleName();
|
||||
|
||||
protected com.samsung.android.sdk.iap.lib2.vo.ErrorVo mErrorVo = new com.samsung.android.sdk.iap.lib2.vo.ErrorVo();
|
||||
protected com.samsung.android.sdk.iap.lib2.helper.IapHelper mIapHelper = null;
|
||||
protected ErrorVo mErrorVo = new ErrorVo();
|
||||
protected IapHelper mIapHelper = null;
|
||||
protected Context mContext = null;
|
||||
|
||||
public BaseService(IapHelper _iapHelper, Context _context) {
|
||||
@ -28,7 +28,7 @@ public abstract class BaseService {
|
||||
mErrorVo.setError(HelperDefine.IAP_ERROR_INITIALIZATION, mContext.getString(R.string.mids_sapps_pop_unknown_error_occurred));
|
||||
}
|
||||
|
||||
public com.samsung.android.sdk.iap.lib2.vo.ErrorVo getErrorVo() {
|
||||
public ErrorVo getErrorVo() {
|
||||
return mErrorVo;
|
||||
}
|
||||
|
@ -1,13 +1,13 @@
|
||||
package com.samsung.android.sdk.iap.lib2.service;
|
||||
package com.samsung.android.sdk.iap.lib.service;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnConsumePurchasedItemsListener;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ConsumeVo;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnConsumePurchasedItemsListener;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ConsumeVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@ -18,9 +18,9 @@ import java.util.ArrayList;
|
||||
public class ConsumePurchasedItems extends BaseService {
|
||||
private static final String TAG = ConsumePurchasedItems.class.getSimpleName();
|
||||
|
||||
private com.samsung.android.sdk.iap.lib2.listener.OnConsumePurchasedItemsListener mOnConsumePurchasedItemsListener = null;
|
||||
private OnConsumePurchasedItemsListener mOnConsumePurchasedItemsListener = null;
|
||||
private static String mPurchaseIds = "";
|
||||
protected ArrayList<com.samsung.android.sdk.iap.lib2.vo.ConsumeVo> mConsumeList = null;
|
||||
protected ArrayList<ConsumeVo> mConsumeList = null;
|
||||
|
||||
public ConsumePurchasedItems(IapHelper _iapHelper, Context _context, OnConsumePurchasedItemsListener _onConsumePurchasedItemsListener) {
|
||||
super(_iapHelper, _context);
|
@ -1,13 +1,13 @@
|
||||
package com.samsung.android.sdk.iap.lib2.service;
|
||||
package com.samsung.android.sdk.iap.lib.service;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnGetOwnedListListener;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.OwnedProductVo;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnGetOwnedListListener;
|
||||
import com.samsung.android.sdk.iap.lib.vo.OwnedProductVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@ -18,9 +18,9 @@ import java.util.ArrayList;
|
||||
public class OwnedProduct extends BaseService {
|
||||
private static final String TAG = OwnedProduct.class.getSimpleName();
|
||||
|
||||
private com.samsung.android.sdk.iap.lib2.listener.OnGetOwnedListListener mOnGetOwnedListListener = null;
|
||||
private OnGetOwnedListListener mOnGetOwnedListListener = null;
|
||||
private static String mProductType = "";
|
||||
protected ArrayList<com.samsung.android.sdk.iap.lib2.vo.OwnedProductVo> mOwnedList = null;
|
||||
protected ArrayList<OwnedProductVo> mOwnedList = null;
|
||||
|
||||
public OwnedProduct(IapHelper _iapHelper, Context _context, OnGetOwnedListListener _onGetOwnedListListener) {
|
||||
super(_iapHelper, _context);
|
@ -1,13 +1,13 @@
|
||||
package com.samsung.android.sdk.iap.lib2.service;
|
||||
package com.samsung.android.sdk.iap.lib.service;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Log;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib.R;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib2.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib2.listener.OnGetProductsDetailsListener;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ProductVo;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.IapHelper;
|
||||
import com.samsung.android.sdk.iap.lib.listener.OnGetProductsDetailsListener;
|
||||
import com.samsung.android.sdk.iap.lib.vo.ProductVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@ -18,9 +18,9 @@ import java.util.ArrayList;
|
||||
public class ProductsDetails extends BaseService {
|
||||
private static final String TAG = ProductsDetails.class.getSimpleName();
|
||||
|
||||
private com.samsung.android.sdk.iap.lib2.listener.OnGetProductsDetailsListener mOnGetProductsDetailsListener = null;
|
||||
private OnGetProductsDetailsListener mOnGetProductsDetailsListener = null;
|
||||
private static String mProductIds = "";
|
||||
protected ArrayList<com.samsung.android.sdk.iap.lib2.vo.ProductVo> mProductsDetails = null;
|
||||
protected ArrayList<ProductVo> mProductsDetails = null;
|
||||
|
||||
public ProductsDetails(IapHelper _iapHelper, Context _context, OnGetProductsDetailsListener _onGetProductsDetailsListener) {
|
||||
super(_iapHelper, _context);
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.vo;
|
||||
package com.samsung.android.sdk.iap.lib.vo;
|
||||
|
||||
import android.text.format.DateFormat;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.vo;
|
||||
package com.samsung.android.sdk.iap.lib.vo;
|
||||
|
||||
import android.util.Log;
|
||||
|
@ -1,6 +1,6 @@
|
||||
package com.samsung.android.sdk.iap.lib2.vo;
|
||||
package com.samsung.android.sdk.iap.lib.vo;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib2.helper.HelperDefine;
|
||||
import com.samsung.android.sdk.iap.lib.helper.HelperDefine;
|
||||
|
||||
public class ErrorVo {
|
||||
private int mErrorCode = HelperDefine.IAP_PAYMENT_IS_CANCELED;
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.vo;
|
||||
package com.samsung.android.sdk.iap.lib.vo;
|
||||
|
||||
import android.util.Base64;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.vo;
|
||||
package com.samsung.android.sdk.iap.lib.vo;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
@ -1,4 +1,4 @@
|
||||
package com.samsung.android.sdk.iap.lib2.vo;
|
||||
package com.samsung.android.sdk.iap.lib.vo;
|
||||
|
||||
import android.util.Base64;
|
||||
|
@ -1,20 +0,0 @@
|
||||
package com.samsung.android.sdk.iap.lib2.listener;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.GetOwnedListTask;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.OwnedProductVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Callback Interface used with {@link com.samsung.android.sdk.iap.lib2.helper.task.GetOwnedListTask}
|
||||
*/
|
||||
public interface OnGetOwnedListListener {
|
||||
/**
|
||||
* Callback method to be invoked when {@link GetOwnedListTask} has been finished.
|
||||
*
|
||||
* @param _errorVO
|
||||
* @param _ownedList
|
||||
*/
|
||||
void onGetOwnedProducts(ErrorVo _errorVO, ArrayList<OwnedProductVo> _ownedList);
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
package com.samsung.android.sdk.iap.lib2.listener;
|
||||
|
||||
import com.samsung.android.sdk.iap.lib2.helper.task.GetProductsDetailsTask;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ErrorVo;
|
||||
import com.samsung.android.sdk.iap.lib2.vo.ProductVo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Callback Interface used with {@link com.samsung.android.sdk.iap.lib2.helper.task.GetProductsDetailsTask}
|
||||
*/
|
||||
public interface OnGetProductsDetailsListener {
|
||||
/**
|
||||
* Callback method to be invoked when {@link GetProductsDetailsTask} has been finished.
|
||||
*
|
||||
* @param _errorVO
|
||||
* @param _productList
|
||||
*/
|
||||
void onGetProducts(ErrorVo _errorVO, ArrayList<ProductVo> _productList);
|
||||
}
|
@ -1,18 +1,12 @@
|
||||
//apply plugin: 'com.android.library'
|
||||
//apply plugin: 'img-optimizer'
|
||||
//apply plugin: 'kotlin-android'
|
||||
//apply plugin: 'kotlin-android-extensions'
|
||||
plugins {
|
||||
id 'com.android.library'
|
||||
id 'kotlin-android'
|
||||
id 'kotlin-parcelize'
|
||||
id 'img-optimizer'
|
||||
}
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'img-optimizer'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-android-extensions'
|
||||
|
||||
|
||||
android {
|
||||
namespace "com.pdlive.shayu"
|
||||
compileSdk rootProject.ext.android.compileSdkVersion
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||
packagingOptions {
|
||||
pickFirst "lib/armeabi/libyuvutils.so"
|
||||
pickFirst "lib/arm64-v8a/libyuvutils.so"
|
||||
@ -54,11 +48,8 @@ android {
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_18
|
||||
targetCompatibility JavaVersion.VERSION_18
|
||||
}
|
||||
buildFeatures {
|
||||
buildConfig = true
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
>
|
||||
package="com.pdlive.shayu">
|
||||
|
||||
<queries>
|
||||
<package android:name="com.pandoralive.shayu"/>
|
||||
@ -19,7 +19,7 @@
|
||||
tools:ignore="ExportedContentProvider" />
|
||||
|
||||
</queries>
|
||||
<application>
|
||||
<application android:allowBackup="true">
|
||||
<activity
|
||||
android:name="com.facebook.FacebookActivity"
|
||||
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
|
||||
|
@ -1,11 +1,9 @@
|
||||
package com.yunbao.share.adapters;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.RadioButton;
|
||||
import android.widget.TextView;
|
||||
|
||||
@ -14,7 +12,6 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.pdlive.shayu.R;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.ViewUtils;
|
||||
import com.yunbao.common.views.weight.ClipPathCircleImage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -26,36 +23,18 @@ import io.rong.imlib.model.Conversation;
|
||||
public class InternalShareAdapter extends RecyclerView.Adapter<InternalShareAdapter.ViewHolder> {
|
||||
List<SingleConversation> listData = new ArrayList<>();
|
||||
int selectPosition = -1;
|
||||
private int isEmpty = -233;
|
||||
private Context mContext;
|
||||
|
||||
public InternalShareAdapter(Context mContext) {
|
||||
this.mContext = mContext;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
if (viewType == isEmpty) {
|
||||
return new EmptyViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.view_layout_msg, parent, false));
|
||||
}
|
||||
return new ViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_internal_user, parent, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
|
||||
if (getItemViewType(position) == isEmpty) return;
|
||||
holder.bind(listData.get(position), position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemViewType(int position) {
|
||||
if (listData.get(position).mCore.getTargetId().equals("isEmpty_-233-pdl-5YK76YC8")) {
|
||||
return isEmpty;
|
||||
}
|
||||
return super.getItemViewType(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return listData.size();
|
||||
@ -65,11 +44,6 @@ public class InternalShareAdapter extends RecyclerView.Adapter<InternalShareAdap
|
||||
if (listData == null) {
|
||||
listData = new ArrayList<>();
|
||||
}
|
||||
if (listData.isEmpty()) {
|
||||
Conversation conversation = new Conversation();
|
||||
conversation.setTargetId("isEmpty_-233-pdl-5YK76YC8");
|
||||
listData.add(new SingleConversation(mContext, conversation));
|
||||
}
|
||||
this.listData = listData;
|
||||
notifyDataSetChanged();
|
||||
|
||||
@ -79,19 +53,6 @@ public class InternalShareAdapter extends RecyclerView.Adapter<InternalShareAdap
|
||||
return selectPosition;
|
||||
}
|
||||
|
||||
public List<SingleConversation> getListData() {
|
||||
return listData;
|
||||
}
|
||||
|
||||
public class EmptyViewHolder extends ViewHolder {
|
||||
|
||||
public EmptyViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
ViewUtils.findViewById(itemView, R.id.imageView, ImageView.class).setImageResource(R.mipmap.ic_addressbook_not_search);
|
||||
ViewUtils.findViewById(itemView, R.id.textView, TextView.class).setText(R.string.not_data_message_address_book_list);
|
||||
}
|
||||
}
|
||||
|
||||
public class ViewHolder extends RecyclerView.ViewHolder {
|
||||
ClipPathCircleImage mAvatar;
|
||||
TextView userName;
|
||||
|
@ -31,16 +31,6 @@ public class ShareAppAdapter extends RecyclerView.Adapter<ShareAppAdapter.AppVie
|
||||
private List<ShareBean> list;
|
||||
ShareCallback shareCallback;
|
||||
|
||||
private onShareListener onShareListener;
|
||||
|
||||
public ShareAppAdapter.onShareListener getOnShareListener() {
|
||||
return onShareListener;
|
||||
}
|
||||
|
||||
public void setOnShareListener(ShareAppAdapter.onShareListener onShareListener) {
|
||||
this.onShareListener = onShareListener;
|
||||
}
|
||||
|
||||
public ShareAppAdapter(Context mContext) {
|
||||
list = new ArrayList<>();
|
||||
this.mContext = mContext;
|
||||
@ -135,17 +125,11 @@ public class ShareAppAdapter extends RecyclerView.Adapter<ShareAppAdapter.AppVie
|
||||
new Internal(itemView.getContext()).share(bean, shareCallback);
|
||||
break;
|
||||
}
|
||||
if (onShareListener != null) {
|
||||
onShareListener.onAddShareCount();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public interface onShareListener {
|
||||
void onAddShareCount();
|
||||
}
|
||||
|
||||
}
|
||||
public static class ShareCallback implements ICallback {
|
||||
|
||||
@Override
|
||||
|
@ -29,7 +29,6 @@ public class ShareBean {
|
||||
private int shareType;
|
||||
private String cover;
|
||||
private String title;
|
||||
private String extraData;
|
||||
|
||||
|
||||
public static String createLiveShareLink(String shareUid, String anchorId, String anchorName, String anchorAvatar) {
|
||||
@ -120,14 +119,6 @@ public class ShareBean {
|
||||
this.anchorAvatar = anchorAvatar;
|
||||
}
|
||||
|
||||
public String getExtraData() {
|
||||
return extraData;
|
||||
}
|
||||
|
||||
public void setExtraData(String extraData) {
|
||||
this.extraData = extraData;
|
||||
}
|
||||
|
||||
public ShareBean setText(String text) {
|
||||
this.text = text;
|
||||
return this;
|
||||
@ -198,7 +189,6 @@ public class ShareBean {
|
||||
bean.shareType=shareType;
|
||||
bean.cover=cover;
|
||||
bean.title=title;
|
||||
bean.extraData = extraData;
|
||||
return bean;
|
||||
}
|
||||
|
||||
@ -258,12 +248,6 @@ public class ShareBean {
|
||||
bean.setFile(file);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ShareBuilder setExtraData(String extraData) {
|
||||
bean.setExtraData(extraData);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ShareBean build() {
|
||||
return bean;
|
||||
}
|
||||
|
@ -9,7 +9,6 @@ import com.yunbao.share.AbsShareInterface;
|
||||
import com.yunbao.share.ICallback;
|
||||
import com.yunbao.share.bean.ShareBean;
|
||||
import com.yunbao.share.ui.AppInternalShareDialog;
|
||||
import com.yunbao.share.ui.SharePopDialog;
|
||||
import com.yunbao.share.ui.ShareSuccessNotifyDialog;
|
||||
|
||||
import io.rong.imlib.model.Conversation;
|
||||
@ -47,7 +46,7 @@ public class Internal extends AbsShareInterface {
|
||||
builder.getAnchorName(),
|
||||
builder.getAnchorId(),
|
||||
builder.getShareType() + "",
|
||||
builder.getExtraData()
|
||||
builder.getAnchorId()
|
||||
),
|
||||
new OnSendMessageListener<Object>() {
|
||||
@Override
|
||||
|
@ -1,38 +1,22 @@
|
||||
package com.yunbao.share.ui;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.text.Editable;
|
||||
import android.text.TextUtils;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.Log;
|
||||
import android.widget.EditText;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
import com.pdlive.shayu.R;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.dialog.AbsDialogFullScreenPopupWindow;
|
||||
import com.yunbao.common.dialog.DebugDialog;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.manager.InstructorRemarkManager;
|
||||
import com.yunbao.common.utils.AppManager;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.share.adapters.InternalShareAdapter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import io.rong.imkit.conversationlist.model.SingleConversation;
|
||||
import io.rong.imkit.userinfo.RongUserInfoManager;
|
||||
import io.rong.imkit.widget.refresh.SmartRefreshLayout;
|
||||
import io.rong.imkit.widget.refresh.api.RefreshLayout;
|
||||
import io.rong.imkit.widget.refresh.listener.OnLoadMoreListener;
|
||||
@ -42,7 +26,6 @@ import io.rong.imlib.IRongCoreCallback;
|
||||
import io.rong.imlib.IRongCoreEnum;
|
||||
import io.rong.imlib.RongCoreClient;
|
||||
import io.rong.imlib.model.Conversation;
|
||||
import io.rong.imlib.model.UserInfo;
|
||||
|
||||
public class AppInternalShareDialog extends AbsDialogFullScreenPopupWindow {
|
||||
EditText search;
|
||||
@ -87,49 +70,18 @@ public class AppInternalShareDialog extends AbsDialogFullScreenPopupWindow {
|
||||
return;
|
||||
}
|
||||
if (onItemClickListener != null) {
|
||||
onItemClickListener.onItemClick(adapter.getListData().get(adapter.getSelectPosition()).mCore.getTargetId(), adapter.getSelectPosition());
|
||||
onItemClickListener.onItemClick(listData.get(adapter.getSelectPosition()).mCore.getTargetId(), adapter.getSelectPosition());
|
||||
}
|
||||
dismiss();
|
||||
});
|
||||
search = findViewById(R.id.search);
|
||||
mList = findViewById(R.id.recyclerView);
|
||||
mRefreshLayout = findViewById(R.id.rc_refresh);
|
||||
adapter = new InternalShareAdapter(mContext);
|
||||
adapter = new InternalShareAdapter();
|
||||
mList.setAdapter(adapter);
|
||||
initRefreshView();
|
||||
|
||||
refreshData();
|
||||
search.addTextChangedListener(new TextWatcher() {
|
||||
List<SingleConversation> searchList = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable editable) {
|
||||
String key = editable.toString();
|
||||
searchList.clear();
|
||||
if (StringUtil.isEmpty(key)) {
|
||||
adapter.setList(listData);
|
||||
return;
|
||||
}
|
||||
for (SingleConversation datum : listData) {
|
||||
if (datum.mCore.getConversationTitle().contains(key)) {
|
||||
searchList.add(datum);
|
||||
}
|
||||
}
|
||||
adapter.setList(searchList);
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -154,7 +106,6 @@ public class AppInternalShareDialog extends AbsDialogFullScreenPopupWindow {
|
||||
}
|
||||
|
||||
private void onConversationListRefresh(RefreshLayout refreshLayout) {
|
||||
search.setText("");
|
||||
listData.clear();
|
||||
startTime = 0;
|
||||
refreshData();
|
||||
@ -162,72 +113,22 @@ public class AppInternalShareDialog extends AbsDialogFullScreenPopupWindow {
|
||||
|
||||
private void refreshData() {
|
||||
RongCoreClient.getInstance().getConversationListByPage(new IRongCoreCallback.ResultCallback<List<Conversation>>() {
|
||||
boolean isNeedData = false;
|
||||
List<String> needUidList = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<Conversation> conversations) {
|
||||
isNeedData = false;
|
||||
needUidList.clear();
|
||||
if (conversations.isEmpty()) {
|
||||
mRefreshLayout.finishLoadMoreWithNoMoreData();
|
||||
return;
|
||||
}
|
||||
List<SingleConversation> tmp = new ArrayList<>();
|
||||
for (Conversation conversation : conversations) {
|
||||
if(conversation.getTargetId().contains("__system__")){
|
||||
continue;
|
||||
}
|
||||
if (StringUtil.isEmpty(conversation.getPortraitUrl())) {
|
||||
isNeedData = true;
|
||||
needUidList.add(conversation.getTargetId());
|
||||
continue;
|
||||
}
|
||||
tmp.add(new SingleConversation(getContext(), conversation));
|
||||
}
|
||||
if (isNeedData) {
|
||||
checkUserData();
|
||||
return;
|
||||
}
|
||||
startTime = conversations.get(conversations.size() - 1).getSentTime();
|
||||
listData.addAll(tmp);
|
||||
adapter.setList(listData);
|
||||
mRefreshLayout.finishRefresh(true);
|
||||
}
|
||||
|
||||
private void checkUserData() {
|
||||
Iterator<String> iterator = needUidList.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
String userId = iterator.next();
|
||||
CommonHttpUtil.getUserBaseinfo(userId, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0 && info.length > 0 && !TextUtils.equals("__system__", userId)) {
|
||||
JSONObject obj = JSON.parseObject(info[0]);
|
||||
UserBean userBean = JSON.toJavaObject(obj, UserBean.class);
|
||||
needUidList.remove(userBean.getId());
|
||||
UserInfo userInfo = new UserInfo(userBean.getId(), userBean.getUserNiceName(), Uri.parse(userBean.getAvatar()));
|
||||
userInfo.setExtra(obj.toString());
|
||||
RongUserInfoManager.getInstance().refreshUserInfoCache(userInfo);
|
||||
Conversation conversation=new Conversation();
|
||||
conversation.setTargetId(userBean.getId());
|
||||
conversation.setConversationTitle(userBean.getUserNiceName());
|
||||
conversation.setPortraitUrl(userBean.getAvatar());
|
||||
SingleConversation singleConversation = new SingleConversation(getContext(), conversation);
|
||||
listData.add(singleConversation);
|
||||
if (needUidList.isEmpty()) {
|
||||
adapter.setList(listData);
|
||||
mRefreshLayout.finishRefresh(true);
|
||||
}
|
||||
} else {
|
||||
Log.i("刷新用户", "3>" + code + "|" + msg + "|" + info.length);
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(IRongCoreEnum.CoreErrorCode e) {
|
||||
ToastUtil.show("出错了:" + e.getMessage());
|
||||
|
@ -29,7 +29,6 @@ import java.util.List;
|
||||
public class SharePopDialog extends AbsDialogPopupWindow {
|
||||
public static final int TYPE_LIVE = 1;
|
||||
public static final int TYPE_DYNAMIC = 0;
|
||||
public static final int TYPE_VIDEO = 2;
|
||||
private ShareAppAdapter adapter;
|
||||
private RecyclerView list;
|
||||
private RoundedImageView avatar;
|
||||
@ -40,16 +39,12 @@ public class SharePopDialog extends AbsDialogPopupWindow {
|
||||
private String shareLink;
|
||||
private int type;
|
||||
private ShareBean bean;
|
||||
public onShareListener onShareListener;
|
||||
|
||||
public void setOnShareListener(SharePopDialog.onShareListener onShareListener) {
|
||||
this.onShareListener = onShareListener;
|
||||
}
|
||||
|
||||
public SharePopDialog(@NonNull Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
|
||||
public SharePopDialog setShareType(int type) {
|
||||
this.type = type;
|
||||
return this;
|
||||
@ -59,7 +54,6 @@ public class SharePopDialog extends AbsDialogPopupWindow {
|
||||
this.bean=build;
|
||||
return this;
|
||||
}
|
||||
|
||||
public SharePopDialog setShareLink(String link) {
|
||||
this.shareLink = link + "&isZh=" + (WordUtil.isNewZh() ? "1" : 0);
|
||||
return this;
|
||||
@ -92,14 +86,6 @@ public class SharePopDialog extends AbsDialogPopupWindow {
|
||||
dismiss();
|
||||
}
|
||||
});
|
||||
adapter.setOnShareListener(new ShareAppAdapter.onShareListener() {
|
||||
@Override
|
||||
public void onAddShareCount() {
|
||||
if (onShareListener != null) {
|
||||
onShareListener.onShareAddCount();
|
||||
}
|
||||
}
|
||||
});
|
||||
list.setLayoutManager(new GridLayoutManager(getContext(), 3));
|
||||
list.setAdapter(adapter);
|
||||
initData();
|
||||
@ -150,8 +136,4 @@ public class SharePopDialog extends AbsDialogPopupWindow {
|
||||
ToastUtil.show(getContext().getString(com.yunbao.common.R.string.copy_success));
|
||||
}
|
||||
|
||||
public interface onShareListener {
|
||||
void onShareAddCount();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -12,7 +12,6 @@ import com.lxj.xpopup.XPopup;
|
||||
import com.lxj.xpopup.enums.PopupAnimation;
|
||||
import com.pdlive.shayu.R;
|
||||
import com.yunbao.common.custom.RatioRoundImageView;
|
||||
import com.yunbao.common.dialog.AbsDialogCenterPopupWindow;
|
||||
import com.yunbao.common.dialog.AbsDialogPositionPopupWindow;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.share.bean.ShareBean;
|
||||
@ -20,7 +19,7 @@ import com.yunbao.share.bean.ShareBean;
|
||||
import io.rong.imkit.utils.RouteUtils;
|
||||
import io.rong.imlib.model.Conversation;
|
||||
|
||||
public class ShareSuccessNotifyDialog extends AbsDialogCenterPopupWindow {
|
||||
public class ShareSuccessNotifyDialog extends AbsDialogPositionPopupWindow {
|
||||
private ShareBean bean;
|
||||
private DialogInterface.OnDismissListener onDismissListener;
|
||||
|
||||
|
@ -95,7 +95,7 @@
|
||||
android:layout_width="168dp"
|
||||
android:layout_height="54dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:background="@drawable/bg_msg_address_book_user_btn_fan_cuia"
|
||||
android:background="@drawable/bg_msg_address_book_user_btn_fan"
|
||||
android:gravity="center"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
@ -5,12 +5,12 @@
|
||||
<string name="dialog_invite_title">Invite Friends</string>
|
||||
<string name="dialog_invite_info">Come to PDLIVE to discover more and better live streams.</string>
|
||||
<string name="dialog_share_copy">Copy</string>
|
||||
<string name="dialog_share_app_internal">Site friends</string>
|
||||
<string name="dialog_share_app_internal">Friend</string>
|
||||
<string name="dialog_share_internal_title">Share To</string>
|
||||
<string name="dialog_share_internal_cancel">cancel</string>
|
||||
<string name="dialog_share_internal_search">Search nickname</string>
|
||||
<string name="dialog_share_internal_list_btn">Send</string>
|
||||
<string name="dialog_share_success">Share success</string>
|
||||
<string name="dialog_share_success_btn">Go chat</string>
|
||||
<string name="dialog_share_internal_search">Search</string>
|
||||
<string name="dialog_share_internal_list_btn">Share</string>
|
||||
<string name="dialog_share_success">Success</string>
|
||||
<string name="dialog_share_success_btn">Chat</string>
|
||||
<string name="dialog_share_failure_not_select">Please select friends</string>
|
||||
</resources>
|
@ -4,9 +4,11 @@ apply plugin: 'com.google.gms.google-services'
|
||||
apply plugin: 'com.google.firebase.crashlytics'
|
||||
apply plugin: 'com.alibaba.arouter'
|
||||
android {
|
||||
namespace "com.pandoralive.shayu"
|
||||
dexOptions {
|
||||
jumboMode = true
|
||||
}
|
||||
project.tasks.getByName("tasks").doFirst {
|
||||
|
||||
}
|
||||
/* applicationVariants.all { variant ->
|
||||
variant.mergeAssetsProvider.configure {
|
||||
@ -31,7 +33,9 @@ android {
|
||||
}
|
||||
}
|
||||
}*/
|
||||
compileSdk rootProject.ext.android.compileSdkVersion
|
||||
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||
packagingOptions {
|
||||
pickFirst "lib/armeabi/libyuvutils.so"
|
||||
pickFirst "lib/arm64-v8a/libyuvutils.so"
|
||||
@ -101,11 +105,8 @@ android {
|
||||
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_18
|
||||
targetCompatibility JavaVersion.VERSION_18
|
||||
}
|
||||
buildFeatures {
|
||||
buildConfig = true
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
applicationVariants.all { variant ->
|
||||
println "清空build文件夹";
|
||||
|
9
app/proguard-rules.pro
vendored
9
app/proguard-rules.pro
vendored
@ -194,12 +194,9 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
-keep public class com.alibaba.android.arouter.facade.**{*;}
|
||||
-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
|
||||
|
||||
# 如果使用了 byType 的方式获取 Service,需添加下面规则,保护接口
|
||||
# If you use the byType method to obtain Service, add the following rules to protect the interface:
|
||||
-keep interface * implements com.alibaba.android.arouter.facade.template.IProvider
|
||||
|
||||
# 如果使用了 单类注入,即不定义接口实现 IProvider,需添加下面规则,保护实现
|
||||
-keep class * implements com.alibaba.android.arouter.facade.template.IProvider
|
||||
|
||||
# If single-type injection is used, that is, no interface is defined to implement IProvider, the following rules need to be added to protect the implementation
|
||||
# -keep class * implements com.alibaba.android.arouter.facade.template.IProvider
|
||||
|
||||
@ -295,7 +292,3 @@ rx.internal.util.atomic.LinkedQueueNode* consumerNode;
|
||||
|
||||
-keep class com.shayu.lib_google.**{*;}
|
||||
-keep class com.shayu.lib_huawei.**{*;}
|
||||
|
||||
-keep class com.qiniu.**{*;}
|
||||
-keep class com.qiniu.**{public <init>();}
|
||||
-ignorewarnings
|
||||
|
@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
>
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||
package="myname.pdlive.shayu">
|
||||
|
||||
<uses-permission
|
||||
android:name="android.permission.CALL_PHONE"
|
||||
tools:node="remove" />
|
||||
|
@ -4,7 +4,6 @@ import static com.yunbao.live.socket.SocketClient.mSocketHandler;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.ActivityManager;
|
||||
import android.app.LauncherActivity;
|
||||
import android.content.Context;
|
||||
import android.net.http.HttpResponseCache;
|
||||
import android.os.Build;
|
||||
@ -26,7 +25,6 @@ import com.blankj.utilcode.util.Utils;
|
||||
import com.facebook.appevents.AppEventsLogger;
|
||||
import com.fm.openinstall.OpenInstall;
|
||||
import com.google.gson.Gson;
|
||||
import com.pandoralive.shayu.R;
|
||||
import com.shayu.phonelive.utils.LogUtils;
|
||||
import com.tencent.imsdk.v2.V2TIMGroupMemberInfo;
|
||||
import com.tencent.imsdk.v2.V2TIMManager;
|
||||
@ -34,7 +32,6 @@ import com.tencent.imsdk.v2.V2TIMSimpleMsgListener;
|
||||
import com.tencent.imsdk.v2.V2TIMUserInfo;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.umeng.commonsdk.UMConfigure;
|
||||
import com.yalantis.ucrop.UCropActivity;
|
||||
import com.yunbao.common.BuildConfig;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
@ -58,7 +55,6 @@ import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.MessageChatNotifyManager;
|
||||
import com.yunbao.common.utils.MessageSayHiNotifyManager;
|
||||
import com.yunbao.common.utils.SpUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.activity.LiveActivity;
|
||||
import com.yunbao.live.activity.SudGameActivity;
|
||||
import com.yunbao.live.socket.SocketReceiveBean;
|
||||
@ -67,14 +63,10 @@ import com.yunbao.live.utils.LiveImDeletUtil;
|
||||
import com.yunbao.live.views.PortraitLiveManager;
|
||||
import com.yunbao.live.views.RecommendLiveRoomProvider;
|
||||
import com.yunbao.main.activity.CompleteUserInfoActivity;
|
||||
import com.yunbao.main.activity.EntryActivity;
|
||||
import com.yunbao.main.activity.LoginActivity;
|
||||
import com.yunbao.main.activity.MainActivity;
|
||||
import com.yunbao.main.activity.MainHomeCommunityActivity;
|
||||
import com.yunbao.main.activity.MsgSettActivity;
|
||||
import com.yunbao.main.activity.PDLiveConversationActivity;
|
||||
import com.yunbao.main.activity.RegisterActivity;
|
||||
import com.yunbao.video.activity.VideoPlayActivity;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
@ -89,9 +81,6 @@ import io.rong.imkit.config.RongConfigCenter;
|
||||
import io.rong.imlib.RongIMClient;
|
||||
import io.rong.imlib.model.Conversation;
|
||||
import io.rong.imlib.model.MessageContent;
|
||||
import io.rong.message.HQVoiceMessage;
|
||||
import io.rong.message.ImageMessage;
|
||||
import io.rong.message.SightMessage;
|
||||
import io.rong.message.TextMessage;
|
||||
|
||||
//import cn.tillusory.sdk.TiSDK;
|
||||
@ -114,7 +103,6 @@ public class AppContext extends CommonAppContext {
|
||||
@Override
|
||||
public void onActivityResumed(Activity activity) {
|
||||
Log.e("打招呼定时器", "onActivityResumed: " + activity);
|
||||
MessageChatNotifyManager.getInstance().restart(activity);
|
||||
if (activity instanceof LiveActivity) {
|
||||
MessageSayHiNotifyManager.getInstance().stop();
|
||||
return;
|
||||
@ -138,22 +126,6 @@ public class AppContext extends CommonAppContext {
|
||||
MessageSayHiNotifyManager.getInstance().stop();
|
||||
return;
|
||||
}
|
||||
if (activity instanceof VideoPlayActivity) {
|
||||
MessageSayHiNotifyManager.getInstance().stop();
|
||||
return;
|
||||
}
|
||||
if (activity instanceof LoginActivity) {
|
||||
MessageSayHiNotifyManager.getInstance().stop();
|
||||
return;
|
||||
}
|
||||
if (activity instanceof EntryActivity) {
|
||||
MessageSayHiNotifyManager.getInstance().stop();
|
||||
return;
|
||||
}
|
||||
if (activity instanceof UCropActivity) {
|
||||
MessageSayHiNotifyManager.getInstance().stop();
|
||||
return;
|
||||
}
|
||||
MessageSayHiNotifyManager.getInstance().reload();
|
||||
}
|
||||
|
||||
@ -264,16 +236,6 @@ public class AppContext extends CommonAppContext {
|
||||
RongConfigCenter.conversationConfig().addMessageProvider(new MessageChatTipsItemProvider(getApplicationContext()));
|
||||
RongConfigCenter.conversationConfig().addMessageProvider(new MessageChatCardItemProvider(getApplicationContext()));
|
||||
|
||||
//注册屏蔽push弹窗的类
|
||||
MessageChatNotifyManager.getInstance().addShieldClass(CompleteUserInfoActivity.class);
|
||||
MessageChatNotifyManager.getInstance().addShieldClass(PDLiveConversationActivity.class);
|
||||
MessageChatNotifyManager.getInstance().addShieldClass(LauncherActivity.class);
|
||||
MessageChatNotifyManager.getInstance().addShieldClass(EntryActivity.class);
|
||||
MessageChatNotifyManager.getInstance().addShieldClass(LoginActivity.class);
|
||||
MessageChatNotifyManager.getInstance().addShieldClass(RegisterActivity.class);
|
||||
MessageChatNotifyManager.getInstance().addShieldClass(UCropActivity.class);
|
||||
|
||||
|
||||
RongcloudIMManager.addRongcloudIMOnReceiveMessageListener(new RongIMClient.OnReceiveMessageWrapperListener() {
|
||||
@Override
|
||||
public boolean onReceived(io.rong.imlib.model.Message message, int i, boolean b, boolean b1) {
|
||||
@ -284,21 +246,7 @@ public class AppContext extends CommonAppContext {
|
||||
msg.what = Constants.SOCKET_WHAT_BROADCAST;
|
||||
try {
|
||||
if (!"".equals(message.getContent()) && message.getContent() != null) {
|
||||
TextMessage content;
|
||||
if (message.getContent() instanceof MessageChatCardContent) {
|
||||
content = new TextMessage(WordUtil.getNewString(R.string.activity_msg_chat_list_card));
|
||||
} else if (message.getContent() instanceof TextMessage) {
|
||||
content = (TextMessage) message.getContent();
|
||||
}else if(message.getContent() instanceof ImageMessage){
|
||||
content = new TextMessage(WordUtil.getNewString(R.string.rc_conversation_summary_content_image));
|
||||
}else if(message.getContent() instanceof SightMessage){
|
||||
content = new TextMessage(WordUtil.getNewString(R.string.rc_conversation_summary_content_sight));
|
||||
}else if(message.getContent() instanceof HQVoiceMessage){
|
||||
content = new TextMessage(WordUtil.getNewString(R.string.rc_conversation_summary_content_voice));
|
||||
}else {
|
||||
System.out.println("未知消息类型:"+message.getContent().getClass().getSimpleName()+"|"+message.getContent());
|
||||
return false;
|
||||
}
|
||||
TextMessage content = (TextMessage) message.getContent();
|
||||
if (content.getContent().contains("_method_")) {
|
||||
msg.obj = content.getContent();
|
||||
//观众页面
|
||||
@ -321,35 +269,16 @@ public class AppContext extends CommonAppContext {
|
||||
|
||||
} else if (message.getConversationType() == Conversation.ConversationType.PRIVATE) {//私聊信息
|
||||
EventBus.getDefault().post(message);
|
||||
MessageIMManager.get(sInstance).resetImUnReadMessageCount(sInstance);
|
||||
if (AppManager.getInstance().getLastActivity() instanceof CompleteUserInfoActivity) {
|
||||
return false;
|
||||
}
|
||||
Log.i("聊天推送", message.getTargetId() + "是否已读:" + message.getReceivedStatus().isRead());
|
||||
if (message.getReceivedStatus().isRead()) {
|
||||
return false;
|
||||
}
|
||||
RongIMClient.getInstance().getUnreadCount(Conversation.ConversationType.PRIVATE, message.getTargetId(), new RongIMClient.ResultCallback<Integer>() {
|
||||
@Override
|
||||
public void onSuccess(Integer integer) {
|
||||
if (integer > 0) {
|
||||
Log.i("聊天推送", message.getTargetId() + "是否已读:" + message.getReceivedStatus().isRead() + "|未读数" + integer);
|
||||
MessageChatNotifyManager.getInstance().setShieldClass(CompleteUserInfoActivity.class);
|
||||
MessageChatNotifyManager.getInstance().push(AppManager.getInstance().getLastActivity()
|
||||
, message.getTargetId(),
|
||||
content.getContent()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(RongIMClient.ErrorCode e) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -29,7 +29,6 @@ import androidx.core.app.NotificationManagerCompat;
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.pandoralive.shayu.R;
|
||||
import com.shayu.phonelive.AppContext;
|
||||
import com.tencent.rtmp.ITXLivePlayListener;
|
||||
import com.tencent.rtmp.TXLiveBase;
|
||||
@ -73,6 +72,7 @@ import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import myname.pdlive.shayu.R;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2018/9/17.
|
||||
|
@ -35,7 +35,6 @@ import com.bumptech.glide.request.target.SimpleTarget;
|
||||
import com.bumptech.glide.request.target.Target;
|
||||
import com.bumptech.glide.request.transition.Transition;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.pandoralive.shayu.R;
|
||||
import com.shayu.phonelive.AppContext;
|
||||
import com.shayu.phonelive.activity.LauncherActivity;
|
||||
import com.yunbao.common.bean.NotificationMsgBean;
|
||||
@ -52,6 +51,7 @@ import io.rong.imlib.ConnectChangeReceiver;
|
||||
import io.rong.push.PushType;
|
||||
import io.rong.push.notification.PushMessageReceiver;
|
||||
import io.rong.push.notification.PushNotificationMessage;
|
||||
import myname.pdlive.shayu.R;
|
||||
|
||||
public class CustomMessageReceiver extends PushMessageReceiver {
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3,8 +3,8 @@ apply plugin: 'img-optimizer'
|
||||
|
||||
|
||||
android {
|
||||
compileSdk rootProject.ext.android.compileSdkVersion
|
||||
targetSdk rootProject.ext.android.buildToolsVersion
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||
packagingOptions {
|
||||
pickFirst "lib/armeabi/libyuvutils.so"
|
||||
pickFirst "lib/arm64-v8a/libyuvutils.so"
|
||||
@ -42,8 +42,8 @@ android {
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_18
|
||||
targetCompatibility JavaVersion.VERSION_18
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
|
@ -1,4 +1,5 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.yunbao.baidu"
|
||||
/>
|
||||
|
||||
|
||||
|
@ -3,8 +3,8 @@ apply plugin: 'img-optimizer'
|
||||
|
||||
|
||||
android {
|
||||
compileSdk rootProject.ext.android.compileSdkVersion
|
||||
targetSdk rootProject.ext.android.buildToolsVersion
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||
packagingOptions {
|
||||
pickFirst "lib/armeabi/libyuvutils.so"
|
||||
pickFirst "lib/arm64-v8a/libyuvutils.so"
|
||||
@ -45,8 +45,8 @@ android {
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_18
|
||||
targetCompatibility JavaVersion.VERSION_18
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
|
@ -1,2 +1,2 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
/>
|
||||
package="com.yunbao.beauty"/>
|
||||
|
15
build.gradle
15
build.gradle
@ -4,28 +4,27 @@ apply from: "dependencies.gradle"
|
||||
|
||||
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.8.22'
|
||||
ext.kotlin_version = '1.6.20'
|
||||
repositories {
|
||||
maven { url "https://mvn.mob.com/android" }
|
||||
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 'https://maven.faceunity.com/repository/maven-public/' }//美颜库
|
||||
maven { url 'http://maven.faceunity.com/repository/maven-public/' }//美颜库
|
||||
maven { url 'https://repo1.maven.org/maven2/' }//埋点
|
||||
maven {url 'https://developer.huawei.com/repo/'}
|
||||
maven { url "https://jitpack.io" }
|
||||
google()
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:8.3.1'
|
||||
classpath 'com.android.tools.build:gradle:4.0.2'
|
||||
//一键压缩png工具
|
||||
classpath 'com.chenenyu:img-optimizer:1.3.0'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.20"
|
||||
classpath 'com.google.gms:google-services:4.3.3'
|
||||
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
|
||||
classpath "com.github.jadepeakpoet.ARouter:arouter-register:1.0.3"
|
||||
classpath "com.alibaba:arouter-register:1.0.2"
|
||||
classpath 'com.huawei.agconnect:agcp:1.5.2.300'
|
||||
}
|
||||
|
||||
@ -41,9 +40,9 @@ allprojects {
|
||||
maven { url "https://mvn.mob.com/android" }
|
||||
maven { url 'https://maven.aliyun.com/repository/public' }
|
||||
maven { url 'https://maven.aliyun.com/repository/google' }
|
||||
maven { url 'https://developer.huawei.com/repo'}//华为库
|
||||
maven { url 'http://developer.huawei.com/repo'}//华为库
|
||||
maven { url 'https://maven.fabric.io/public' }
|
||||
maven { url 'https://maven.faceunity.com/repository/maven-public/' }//美颜库
|
||||
maven { url 'http://maven.faceunity.com/repository/maven-public/' }//美颜库
|
||||
maven { url "https://jitpack.io" }
|
||||
maven { url 'https://repo1.maven.org/maven2/' }//埋点
|
||||
google() // Google's Maven repository
|
||||
|
@ -3,8 +3,8 @@ apply plugin: 'img-optimizer'
|
||||
|
||||
|
||||
android {
|
||||
namespace "com.yunbao.common"
|
||||
compileSdk rootProject.ext.android.compileSdkVersion
|
||||
compileSdkVersion rootProject.ext.android.compileSdkVersion
|
||||
buildToolsVersion rootProject.ext.android.buildToolsVersion
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion rootProject.ext.android.minSdkVersion
|
||||
@ -15,12 +15,6 @@ android {
|
||||
ndk {
|
||||
abiFilters "armeabi-v7a", "arm64-v8a"
|
||||
}
|
||||
|
||||
javaCompileOptions {
|
||||
annotationProcessorOptions {
|
||||
arguments = [AROUTER_MODULE_NAME: project.getName()]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
@ -59,11 +53,8 @@ android {
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_18
|
||||
targetCompatibility JavaVersion.VERSION_18
|
||||
}
|
||||
buildFeatures {
|
||||
buildConfig = true
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
@ -73,9 +64,7 @@ repositories {
|
||||
}
|
||||
|
||||
|
||||
|
||||
dependencies {
|
||||
annotationProcessor rootProject.ext.dependencies["arouter-compiler"]
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
|
||||
api files('libs/jcc-bate-0.7.3.jar')
|
||||
compileOnly fileTree(dir: '../libs', include: ['*.aar'])
|
||||
@ -169,14 +158,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.6.9' // 音视频通话基础能力库
|
||||
api 'cn.rongcloud.sdk:rtc_lib:5.2.0' // 音视频通话基础能力库
|
||||
//此处以集成 5.1.2 版本为例
|
||||
api 'cn.rongcloud.sdk:im_lib:5.6.10'
|
||||
api 'cn.rongcloud.sdk:im_lib:5.2.0.2'
|
||||
|
||||
//此处以集成 5.1.2 版本为例
|
||||
api 'cn.rongcloud.sdk:im_kit:5.6.10' // 即时通讯 UI 基础组件
|
||||
api 'cn.rongcloud.sdk:im_kit:5.2.5.4' // 即时通讯 UI 基础组件
|
||||
//融云小视频模块
|
||||
api 'cn.rongcloud.sdk:sight:5.6.10'
|
||||
api 'cn.rongcloud.sdk:sight:5.2.5.4'
|
||||
api 'com.facebook.android:facebook-android-sdk:15.2.0'
|
||||
implementation 'com.facebook.android:facebook-android-sdk:15.2.0'
|
||||
|
||||
@ -230,7 +219,7 @@ dependencies {
|
||||
api project(':lib_google')
|
||||
|
||||
//samsung插件包
|
||||
//api project(':IAP6Helper')
|
||||
api project(':IAP6Helper')
|
||||
|
||||
//時間選擇器
|
||||
api 'com.contrarywind:Android-PickerView:4.1.9'
|
||||
@ -243,13 +232,4 @@ dependencies {
|
||||
api 'com.github.xuexiangjys:XUI:1.1.6'
|
||||
api 'com.github.xuexiangjys.XUtil:xutil-core:2.0.0'
|
||||
|
||||
//ExoPlayer,腾讯的播放器不支持无缝切换
|
||||
api 'com.google.android.exoplayer:exoplayer:2.18.2'
|
||||
api 'com.google.android.exoplayer:exoplayer-core:2.18.2@aar'
|
||||
//文字渐变色
|
||||
api 'com.github.FlyJingFish:GradientTextView:1.2.4'
|
||||
//轮播 一屏显示多个
|
||||
api 'com.github.xiaohaibin:XBanner:androidx_v1.2.6'
|
||||
|
||||
|
||||
}
|
||||
|
Binary file not shown.
3
common/proguard-rules.pro
vendored
3
common/proguard-rules.pro
vendored
@ -23,6 +23,3 @@
|
||||
# If you keep the line number information, uncomment this to
|
||||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
||||
-keep class com.qiniu.**{*;}
|
||||
-keep class com.qiniu.**{public <init>();}
|
||||
-ignorewarnings
|
@ -1,13 +1,11 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
package="com.yunbao.common">
|
||||
|
||||
<!-- <uses-permission android:name="android.permission.READ_PHONE_STATE" />-->
|
||||
<!-- <uses-permission android:name="android.permission.INTERNET" />-->
|
||||
<!-- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />-->
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
tools:replace="allowBackup">
|
||||
<application android:allowBackup="true">
|
||||
|
||||
<!-- <meta-data-->
|
||||
<!-- android:name="com.google.ar.core"-->
|
||||
@ -68,7 +66,16 @@
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
android:name="com.yunbao.common.activity.VideoPlayActivity"
|
||||
android:name=".activity.CommunitySendActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
android:name=".activity.CommunityDetailsActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="adjustResize" />
|
||||
|
||||
<activity
|
||||
android:name=".activity.UserHomeActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
</application>
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
package com.yunbao.common;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
@ -13,7 +12,6 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.yunbao.common.bean.ConfigBean;
|
||||
import com.yunbao.common.bean.FansMedalBean;
|
||||
import com.yunbao.common.bean.NewCommunityType;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.bean.UserItemBean;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
@ -119,46 +117,10 @@ public class CommonAppConfig {
|
||||
private String mAppName;
|
||||
private Boolean mTiBeautyEnable;//是否使用萌颜 true使用萌颜 false 使用基础美颜
|
||||
|
||||
public static List<NewCommunityType> getCommunityTypeList(boolean isHome, Context mContext) {
|
||||
List<NewCommunityType> newCommunityTypeList = new ArrayList<>();
|
||||
if (isHome) {
|
||||
NewCommunityType type0 = new NewCommunityType();
|
||||
type0.setId(0);
|
||||
type0.setTalk_name(mContext.getString(R.string.recomment));
|
||||
newCommunityTypeList.add(type0);
|
||||
}
|
||||
NewCommunityType type17 = new NewCommunityType();
|
||||
type17.setId(5);
|
||||
type17.setTalk_name(mContext.getResources().getString(R.string.main_active_type_01));
|
||||
|
||||
NewCommunityType type16 = new NewCommunityType();
|
||||
type16.setId(4);
|
||||
type16.setTalk_name(mContext.getResources().getString(R.string.main_active_type_02));
|
||||
|
||||
NewCommunityType type15 = new NewCommunityType();
|
||||
type15.setId(3);
|
||||
type15.setTalk_name(mContext.getResources().getString(R.string.main_active_type_03));
|
||||
|
||||
NewCommunityType type14 = new NewCommunityType();
|
||||
type14.setId(2);
|
||||
type14.setTalk_name(mContext.getResources().getString(R.string.main_active_type_04));
|
||||
|
||||
NewCommunityType type13 = new NewCommunityType();
|
||||
type13.setId(1);
|
||||
type13.setTalk_name(mContext.getResources().getString(R.string.main_active_type_05));
|
||||
|
||||
newCommunityTypeList.add(type17);
|
||||
newCommunityTypeList.add(type16);
|
||||
newCommunityTypeList.add(type15);
|
||||
newCommunityTypeList.add(type14);
|
||||
newCommunityTypeList.add(type13);
|
||||
return newCommunityTypeList;
|
||||
}
|
||||
|
||||
|
||||
public String getUid() {
|
||||
if (TextUtils.isEmpty(mUid)) {
|
||||
String[] uidAndToken = SpUtil.getInstance().getMultiStringValue(new String[]{SpUtil.UID, SpUtil.TOKEN});
|
||||
String[] uidAndToken = SpUtil.getInstance()
|
||||
.getMultiStringValue(new String[]{SpUtil.UID, SpUtil.TOKEN});
|
||||
if (uidAndToken != null) {
|
||||
if (!TextUtils.isEmpty(uidAndToken[0]) && !TextUtils.isEmpty(uidAndToken[1])) {
|
||||
mUid = uidAndToken[0];
|
||||
@ -349,7 +311,9 @@ public class CommonAppConfig {
|
||||
mUid = null;
|
||||
mToken = null;
|
||||
mLoginIM = false;
|
||||
SpUtil.getInstance().removeValue(SpUtil.UID, SpUtil.TOKEN, SpUtil.USER_INFO, SpUtil.IM_LOGIN);
|
||||
SpUtil.getInstance().removeValue(
|
||||
SpUtil.UID, SpUtil.TOKEN, SpUtil.USER_INFO, SpUtil.IM_LOGIN
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -385,7 +349,12 @@ public class CommonAppConfig {
|
||||
mProvince = null;
|
||||
mCity = null;
|
||||
mDistrict = null;
|
||||
SpUtil.getInstance().removeValue(SpUtil.LOCATION_LNG, SpUtil.LOCATION_LAT, SpUtil.LOCATION_PROVINCE, SpUtil.LOCATION_CITY, SpUtil.LOCATION_DISTRICT);
|
||||
SpUtil.getInstance().removeValue(
|
||||
SpUtil.LOCATION_LNG,
|
||||
SpUtil.LOCATION_LAT,
|
||||
SpUtil.LOCATION_PROVINCE,
|
||||
SpUtil.LOCATION_CITY,
|
||||
SpUtil.LOCATION_DISTRICT);
|
||||
|
||||
}
|
||||
|
||||
|
@ -240,8 +240,6 @@ public class Constants {
|
||||
public static final String VIDEO_ID = "videoId";
|
||||
public static final String VIDEO_COMMENT_BEAN = "videoCommnetBean";
|
||||
public static final String VIDEO_FACE_OPEN = "videoOpenFace";
|
||||
public static final String VIDEO_IS_COMMENT = "videoIsComment";
|
||||
public static final String VIDEO_REPLY_ID = "VIDEO_REPLY_ID";
|
||||
public static final String VIDEO_FACE_HEIGHT = "videoFaceHeight";
|
||||
public static final String VIDEO_DURATION = "videoDuration";
|
||||
public static final String VIDEO_PATH = "videoPath";
|
||||
@ -308,6 +306,5 @@ public class Constants {
|
||||
public static String isSetRemarkText = "";//修改的备注信息
|
||||
public static boolean isShowLiveDialog = false;//是否在直播间打开单聊
|
||||
public static int firstInto = 0;//
|
||||
public static final String TO_COMMUNITY_ID = "to_id";
|
||||
|
||||
}
|
||||
|
@ -1,10 +1,9 @@
|
||||
package com.yunbao.main.activity;
|
||||
package com.yunbao.common.activity;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.text.TextUtils;
|
||||
import android.util.SparseArray;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
@ -12,60 +11,38 @@ import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.adapter.CommentAdapter;
|
||||
import com.yunbao.common.bean.ActiveBean;
|
||||
import com.yunbao.common.bean.CommentBean;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.dialog.ImagePreviewDialog;
|
||||
import com.yunbao.common.event.FollowEvent;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.manager.OpenAdManager;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.views.NineGridLayout;
|
||||
import com.yunbao.common.views.TopGradual;
|
||||
import com.yunbao.live.activity.LiveAudienceActivity;
|
||||
import com.yunbao.share.bean.ShareBean;
|
||||
import com.yunbao.share.ui.SharePopDialog;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import pl.droidsonroids.gif.GifImageView;
|
||||
|
||||
@Route(path = RouteUtil.PATH_COMMUNITY)
|
||||
public class CommunityDetailsActivity extends AbsActivity {
|
||||
private ActiveBean activeBean;
|
||||
private String activeId;
|
||||
ActiveBean activeBean;
|
||||
private ImageView avatar;
|
||||
private TextView name;
|
||||
private TextView time;
|
||||
@ -84,9 +61,6 @@ public class CommunityDetailsActivity extends AbsActivity {
|
||||
private EditText comment;
|
||||
private ImageView send;
|
||||
private boolean isComment = false;
|
||||
private RelativeLayout videoLayout;
|
||||
private GifImageView liveStatus;
|
||||
private Map<String, String> gotoRoomKey = new HashMap<>();
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
@ -107,16 +81,13 @@ public class CommunityDetailsActivity extends AbsActivity {
|
||||
|
||||
@Override
|
||||
protected void main() {
|
||||
activeId = getIntent().getStringExtra(Constants.TO_COMMUNITY_ID);
|
||||
activeBean = getIntent().getParcelableExtra("active");
|
||||
initView();
|
||||
initData();
|
||||
EventBus.getDefault().register(this);
|
||||
getReply();
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
setTitle(getResources().getString(com.yunbao.main.R.string.comm_details));
|
||||
liveStatus = findViewById(R.id.liveStatus);
|
||||
videoLayout = findViewById(R.id.videoLayout);
|
||||
send = findViewById(R.id.send);
|
||||
comment = findViewById(R.id.comment);
|
||||
replyCount = findViewById(R.id.replyCount);
|
||||
@ -167,12 +138,12 @@ public class CommunityDetailsActivity extends AbsActivity {
|
||||
public void callback(Integer isAttention) {
|
||||
if (isAttention == 1) {
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like_followed, followIcon);
|
||||
followName.setText(getResources().getString(R.string.following));
|
||||
followName.setText("已关注");
|
||||
followName.setTextColor(Color.parseColor("#777777"));
|
||||
followLayout.setBackground(getResources().getDrawable(R.drawable.bg_main_com_type_1));
|
||||
} else {
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like_follow, followIcon);
|
||||
followName.setText(getResources().getString(R.string.follow));
|
||||
followName.setText("关注");
|
||||
followName.setTextColor(getResources().getColor(R.color.white));
|
||||
followLayout.setBackground(getResources().getDrawable(R.drawable.bg_main_com_type));
|
||||
}
|
||||
@ -192,11 +163,11 @@ public class CommunityDetailsActivity extends AbsActivity {
|
||||
if (activeBean.getIs_love().equals("1")) {
|
||||
activeBean.setIs_love("0");
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like01, like);
|
||||
likeCount.setText(Integer.parseInt(activeBean.getLove_num()) - 1 + getResources().getString(com.yunbao.main.R.string.person_like));
|
||||
likeCount.setText(Integer.parseInt(activeBean.getLove_num()) - 1 + "人觉得很赞");
|
||||
} else {
|
||||
activeBean.setIs_love("1");
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like, like);
|
||||
likeCount.setText(Integer.parseInt(activeBean.getLove_num()) + 1 + getResources().getString(com.yunbao.main.R.string.person_like));
|
||||
likeCount.setText(Integer.parseInt(activeBean.getLove_num()) + 1 + "人觉得很赞");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -208,16 +179,13 @@ public class CommunityDetailsActivity extends AbsActivity {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
SparseArray<String> array = new SparseArray<>();
|
||||
array.append(0, getResources().getString(R.string.report));
|
||||
array.append(1, getResources().getString(R.string.not_interested));
|
||||
array.append(0, "举报");
|
||||
array.append(1, "不感兴趣");
|
||||
DialogUitl.showStringArrayDialog(CommunityDetailsActivity.this, array, new DialogUitl.StringArrayDialogCallback() {
|
||||
@Override
|
||||
public void onItemClick(String text, int tag) {
|
||||
if (activeBean.getUser_id().equals(CommonAppConfig.getInstance().getUid())) {
|
||||
ToastUtil.show(getResources().getString(com.yunbao.main.R.string.not_blackmail));
|
||||
} else {
|
||||
if (tag == 0) {
|
||||
RouteUtil.forwardCommentReportActivity(activeBean.getId(), "0");
|
||||
RouteUtil.forwardCommentReportActivity(activeBean.getId(), activeBean.getId());
|
||||
} else {
|
||||
CommonHttpUtil.noInterest(activeBean.getUser_id(), new HttpCallback() {
|
||||
@Override
|
||||
@ -227,35 +195,6 @@ public class CommunityDetailsActivity extends AbsActivity {
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
liveStatus.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
LiveHttpUtil.getLiveInfo(activeBean.getUser_id(), new com.yunbao.common.http.HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0 && info.length > 0) {
|
||||
LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
|
||||
if (liveBean == null) {
|
||||
return;
|
||||
}
|
||||
liveBean.setParams(gotoRoomKey);
|
||||
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
|
||||
@Override
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCheckError(String contextError) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
@ -283,34 +222,16 @@ public class CommunityDetailsActivity extends AbsActivity {
|
||||
findViewById(R.id.userLayout).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
RouteUtil.forwardUserHome(activeBean.getUser_id());
|
||||
UserHomeActivity.forwardUserHomeActivity(CommunityDetailsActivity.this, activeBean.getUser_id());
|
||||
}
|
||||
});
|
||||
videoLayout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
||||
}
|
||||
});
|
||||
findViewById(R.id.share).setOnClickListener(view -> {
|
||||
String image = null;
|
||||
if (activeBean.getImg_or_video().equals("1")) {
|
||||
JSONArray jsonArray = (JSONArray) JSONArray.parse(activeBean.getImg_json());
|
||||
if (!jsonArray.isEmpty()) {
|
||||
image = jsonArray.getString(0);
|
||||
}
|
||||
} else {
|
||||
image = activeBean.getVideo() + "?vframe/jpg/offset/0";
|
||||
}
|
||||
new SharePopDialog(mContext).setShareType(SharePopDialog.TYPE_DYNAMIC).setShareData(ShareBean.ShareBuilder.create().setShareType(SharePopDialog.TYPE_DYNAMIC).setUid(CommonAppConfig.getInstance().getUid()).setCover(StringUtil.isEmpty(image) ? activeBean.getUser_avatar() : image).setTitle(StringUtil.isEmpty(activeBean.getContent()) ? activeBean.getUser_name() : JSONObject.parseObject(activeBean.getContent()).getString("msg")).setAnchorId(activeBean.getUser_id()).setAnchorName(activeBean.getUser_name()).setAnchorAvatar(activeBean.getUser_avatar()).setExtraData(activeId).build()).showDialog();
|
||||
});
|
||||
}
|
||||
|
||||
//回复评论
|
||||
CommentBean replyComment;
|
||||
|
||||
private void getReply() {
|
||||
CommonHttpUtil.getCommunityComment(activeBean.getId(), activeBean.getUser_id(), 1, new HttpCallback() {
|
||||
CommonHttpUtil.getCommunityComment(activeBean.getId(), activeBean.getUser_id(), new HttpCallback() {
|
||||
@SuppressLint("SetTextI18n")
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
@ -335,7 +256,7 @@ public class CommunityDetailsActivity extends AbsActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDel(CommentBean activeBean) {
|
||||
public void onDel(CommentBean activeBean, int position) {
|
||||
//一级回复 删除
|
||||
CommonHttpUtil.delCom(activeBean.getId(), new HttpCallback() {
|
||||
@Override
|
||||
@ -349,9 +270,9 @@ public class CommunityDetailsActivity extends AbsActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReport(CommentBean.ReplyComment commentBean) {
|
||||
public void onReport(CommentBean.ReplyComment activeBean) {
|
||||
//二级回复 举报
|
||||
RouteUtil.forwardCommentReportActivity(activeBean.getId(), commentBean.getId());
|
||||
RouteUtil.forwardCommentReportActivity(activeBean.getId(), activeBean.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -369,70 +290,30 @@ public class CommunityDetailsActivity extends AbsActivity {
|
||||
}
|
||||
});
|
||||
commentRecyclerView.setAdapter(commentAdapter);
|
||||
replyCount.setText(getResources().getString(R.string.video_comment) + " " + list.size());
|
||||
replyCount.setText("评论 " + list.size());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 监听关注变化事件
|
||||
*/
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onFollowEvent(FollowEvent e) {
|
||||
if (!TextUtils.isEmpty(activeBean.getUser_id()) && activeBean.getUser_id().equals(e.getToUid())) {
|
||||
activeBean.setIs_attention(String.valueOf(e.getIsAttention()));
|
||||
if (e.getIsAttention() == 1) {//关注
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like_followed, followIcon);
|
||||
followName.setText(getResources().getString(R.string.following));
|
||||
followName.setTextColor(Color.parseColor("#777777"));
|
||||
followLayout.setBackground(getResources().getDrawable(R.drawable.bg_main_com_type_1));
|
||||
} else {
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like_follow, followIcon);
|
||||
followName.setText(getResources().getString(R.string.follow));
|
||||
followName.setTextColor(getResources().getColor(R.color.white));
|
||||
followLayout.setBackground(getResources().getDrawable(R.drawable.bg_main_com_type));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("UseCompatLoadingForDrawables")
|
||||
private void initData() {
|
||||
LiveNetManager.get(mContext).getDynamicInfo(activeId, new com.yunbao.common.http.base.HttpCallback<ActiveBean>() {
|
||||
@Override
|
||||
public void onSuccess(ActiveBean data) {
|
||||
activeBean = data;
|
||||
initInfo();
|
||||
getReply();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void initInfo() {
|
||||
ImgLoader.display(CommunityDetailsActivity.this, CommonAppConfig.getInstance().getUserBean().getAvatarThumb(), userAvatar);
|
||||
ImgLoader.display(CommunityDetailsActivity.this, activeBean.getUser_avatar(), avatar);
|
||||
name.setText(activeBean.getUser_name());
|
||||
time.setText(activeBean.getCreate_time());
|
||||
likeCount.setText(activeBean.getLove_num() + getResources().getString(R.string.person_like));
|
||||
likeCount.setText(activeBean.getLove_num() + "人觉得很赞");
|
||||
if (!StringUtil.isEmpty(activeBean.getContent())) {
|
||||
content.setText(String.valueOf(JSONObject.parseObject(activeBean.getContent()).get("msg")));
|
||||
}
|
||||
if (activeBean.getIs_live().equals("1")) {
|
||||
liveStatus.setVisibility(View.VISIBLE);
|
||||
}
|
||||
if (activeBean.getIs_attention().equals("1")) {//关注
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like_followed, followIcon);
|
||||
followName.setText(getResources().getString(R.string.following));
|
||||
followName.setText("已关注");
|
||||
followName.setTextColor(Color.parseColor("#777777"));
|
||||
followLayout.setBackground(getResources().getDrawable(R.drawable.bg_main_com_type_1));
|
||||
} else {
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like_follow, followIcon);
|
||||
followName.setText(getResources().getString(R.string.follow));
|
||||
followName.setText("关注");
|
||||
followName.setTextColor(getResources().getColor(R.color.white));
|
||||
followLayout.setBackground(getResources().getDrawable(R.drawable.bg_main_com_type));
|
||||
}
|
||||
@ -444,8 +325,7 @@ public class CommunityDetailsActivity extends AbsActivity {
|
||||
}
|
||||
mNineGridLayout.setData(tempList);
|
||||
} else {
|
||||
ImgLoader.display(CommunityDetailsActivity.this, activeBean.getVideo() + "?vframe/jpg/offset/0", videoImage);
|
||||
videoLayout.setVisibility(View.VISIBLE);
|
||||
ImgLoader.display(CommunityDetailsActivity.this, activeBean.getUser_avatar(), videoImage);
|
||||
}
|
||||
if (activeBean.getIs_love().equals("1")) {
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like, like);
|
@ -1,29 +1,32 @@
|
||||
package com.yunbao.main.activity;
|
||||
package com.yunbao.common.activity;
|
||||
|
||||
import android.Manifest;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Dialog;
|
||||
import android.content.ClipData;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.provider.MediaStore;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
import android.widget.VideoView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.RequiresApi;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
|
||||
import com.bigkoo.pickerview.builder.TimePickerBuilder;
|
||||
import com.bigkoo.pickerview.listener.OnDismissListener;
|
||||
@ -31,34 +34,23 @@ import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
|
||||
import com.bigkoo.pickerview.listener.OnTimeSelectListener;
|
||||
import com.bigkoo.pickerview.view.OptionsPickerView;
|
||||
import com.bigkoo.pickerview.view.TimePickerView;
|
||||
import com.google.gson.Gson;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.lzy.okgo.utils.HttpUtils;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.activity.VideoPlayActivity;
|
||||
import com.yunbao.common.bean.NewCommunityType;
|
||||
import com.yunbao.common.custom.ItemDecoration;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.upload.UploadBean;
|
||||
import com.yunbao.common.upload.UploadCallback;
|
||||
import com.yunbao.common.upload.UploadQnImpl;
|
||||
import com.yunbao.common.manager.OpenAdManager;
|
||||
import com.yunbao.common.utils.ActiveImageAdapter;
|
||||
import com.yunbao.common.utils.DateFormatUtil;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.FilesUtils;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.ProcessImageUtil;
|
||||
import com.yunbao.common.utils.ProcessResultUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.net.URI;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import io.rong.imkit.picture.tools.DateUtils;
|
||||
|
||||
public class CommunitySendActivity extends AbsActivity {
|
||||
public static final int PERMISSION_REQUEST_CODE_IMG = 0;
|
||||
@ -73,9 +65,9 @@ public class CommunitySendActivity extends AbsActivity {
|
||||
private final int CHOOSE_IMG = 100;//Android 5.0以下的
|
||||
private final int CHOOSE_VIDEO = 200;//Android 5.0以上的
|
||||
private List<Uri> uriList = new ArrayList<>();
|
||||
private File videoFile;
|
||||
private Uri videoUri;
|
||||
private ActiveImageAdapter activeImageAdapter;
|
||||
private ImageView videoView;
|
||||
private VideoView videoView;
|
||||
private RelativeLayout videoViewLayout;
|
||||
private ImageView delVideo;
|
||||
private TextView talkContent;
|
||||
@ -83,13 +75,6 @@ public class CommunitySendActivity extends AbsActivity {
|
||||
private TextView submit;
|
||||
private boolean isImage;
|
||||
|
||||
private List<String> imgUrlList = new ArrayList<>();
|
||||
private String videoUrl;
|
||||
List<NewCommunityType> newCommunityTypeList = new ArrayList<>();
|
||||
int talkId = 0;
|
||||
Dialog dialog;
|
||||
private Uri videoUri;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_community_send;
|
||||
@ -97,7 +82,14 @@ public class CommunitySendActivity extends AbsActivity {
|
||||
|
||||
@Override
|
||||
protected void main() {
|
||||
newCommunityTypeList = CommonAppConfig.getCommunityTypeList(false, mContext);
|
||||
talkList.add("热门");
|
||||
talkList.add("新秀");
|
||||
talkList.add("颜值");
|
||||
talkList.add("舞蹈");
|
||||
talkList.add("男神");
|
||||
talkList.add("音乐");
|
||||
talkList.add("英语");
|
||||
|
||||
content = findViewById(R.id.content);
|
||||
submit = findViewById(R.id.submit);
|
||||
submit.setVisibility(View.VISIBLE);
|
||||
@ -114,38 +106,14 @@ public class CommunitySendActivity extends AbsActivity {
|
||||
submit.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (StringUtil.isEmpty(content.getText().toString())) {
|
||||
ToastUtil.show(mContext.getResources().getString(com.yunbao.main.R.string.please_input_content));
|
||||
return;
|
||||
}
|
||||
if (isImage) {
|
||||
if (activeImageAdapter.getImageFileList().size() == 0) {
|
||||
ToastUtil.show(mContext.getResources().getString(com.yunbao.main.R.string.please_input_content));
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (videoFile == null) {
|
||||
ToastUtil.show(mContext.getResources().getString(com.yunbao.main.R.string.please_input_content));
|
||||
return;
|
||||
}
|
||||
}
|
||||
List<UploadBean> uploadBeanList = new ArrayList<>();
|
||||
if (isImage) {
|
||||
for (int i = 0; i < activeImageAdapter.getImageFileList().size(); i++) {
|
||||
UploadBean uploadBean = new UploadBean(activeImageAdapter.getImageFileList().get(i), UploadBean.IMG);
|
||||
uploadBeanList.add(uploadBean);
|
||||
}
|
||||
uploadFile(uploadBeanList, true);
|
||||
} else {
|
||||
uploadBeanList.add(new UploadBean(videoFile, UploadBean.VIDEO));
|
||||
uploadFile(uploadBeanList, false);
|
||||
}
|
||||
submit();
|
||||
}
|
||||
});
|
||||
delVideo.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
videoFile = null;
|
||||
videoUri = null;
|
||||
videoView.stopPlayback();
|
||||
videoViewLayout.setVisibility(View.GONE);
|
||||
}
|
||||
});
|
||||
@ -165,9 +133,6 @@ public class CommunitySendActivity extends AbsActivity {
|
||||
@RequiresApi(api = Build.VERSION_CODES.TIRAMISU)
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (videoFile != null) {
|
||||
return;
|
||||
}
|
||||
String permission1 = Manifest.permission.READ_EXTERNAL_STORAGE;
|
||||
String permission2 = Manifest.permission.WRITE_EXTERNAL_STORAGE;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
@ -187,9 +152,6 @@ public class CommunitySendActivity extends AbsActivity {
|
||||
videoLayout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (imgUrlList.size() > 0) {
|
||||
return;
|
||||
}
|
||||
String permission1 = Manifest.permission.READ_EXTERNAL_STORAGE;
|
||||
String permission2 = Manifest.permission.WRITE_EXTERNAL_STORAGE;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
@ -218,13 +180,12 @@ public class CommunitySendActivity extends AbsActivity {
|
||||
activeImageAdapter.setActionListener(new ActiveImageAdapter.ActionListener() {
|
||||
@Override
|
||||
public void onAddClick() {
|
||||
openImageChooserActivity();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick(int position) {
|
||||
activeImageAdapter.deleteItem(position);
|
||||
activeImageAdapter.notifyItemRemoved(position);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -234,57 +195,39 @@ public class CommunitySendActivity extends AbsActivity {
|
||||
|
||||
@Override
|
||||
public void onDel(int position) {
|
||||
activeImageAdapter.deleteItem(position);
|
||||
}
|
||||
});
|
||||
videoView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Intent intent = new Intent(CommunitySendActivity.this, VideoPlayActivity.class);
|
||||
intent.putExtra("videoUri", videoUri);
|
||||
startActivity(intent);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void submit() {
|
||||
String imgUrl = "";
|
||||
StringBuffer files = new StringBuffer();
|
||||
if (isImage) {
|
||||
imgUrl = new Gson().toJson(imgUrlList);
|
||||
for (int i = 0; i < uriList.size(); i++) {
|
||||
if (i == 0) {
|
||||
files.append(uri2File(uriList.get(i)).getPath());
|
||||
} else {
|
||||
files.append("," + uri2File(uriList.get(i)).getPath());
|
||||
}
|
||||
String tempTime = "";
|
||||
if (!chooseTime.getText().toString().equals("立即發表") && !chooseTime.getText().toString().equals("Now")) {
|
||||
tempTime = chooseTime.getText().toString();
|
||||
}
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("msg", content.getText().toString());
|
||||
CommonHttpUtil.pushCommunity(isImage, jsonObject.toString(), String.valueOf(talkId), imgUrl, videoUrl, tempTime, new HttpCallback() {
|
||||
} else {
|
||||
files.append(uri2File(videoUri).getPath());
|
||||
}
|
||||
CommonHttpUtil.pushCommunity(isImage, content.getText().toString(), "1", files.toString(), chooseTime.getText().toString(), new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (dialog != null) {
|
||||
dialog.dismiss();
|
||||
}
|
||||
ToastUtil.show(msg);
|
||||
if (code == 0) {
|
||||
finish();
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void showTalkChooseDialog() {
|
||||
talkList = new ArrayList<>();
|
||||
for (int i = 0; i < newCommunityTypeList.size(); i++) {
|
||||
talkList.add(newCommunityTypeList.get(i).getTalk_name());
|
||||
}
|
||||
OptionsPickerView pickerView = new OptionsPickerBuilder(CommunitySendActivity.this, new OnOptionsSelectListener() {
|
||||
@Override
|
||||
public void onOptionsSelect(int options1, int options2, int options3, View v) {
|
||||
talkId = newCommunityTypeList.get(options1).getId();
|
||||
talkContent.setText(talkList.get(options1));
|
||||
talkContent.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}).setTitleText(getResources().getString(R.string.choose_topic)).setContentTextSize(16).build();
|
||||
}).setTitleText("选择话题").setContentTextSize(16).build();
|
||||
pickerView.setPicker(talkList, null, null);
|
||||
pickerView.show();
|
||||
}
|
||||
@ -308,43 +251,30 @@ public class CommunitySendActivity extends AbsActivity {
|
||||
}
|
||||
}
|
||||
|
||||
TimePickerView timePickerView;
|
||||
|
||||
public void showTimeChooseDialog() {
|
||||
Calendar startCalendar = Calendar.getInstance();
|
||||
startCalendar.set(1990, 1, 1);
|
||||
Calendar endCalendar = Calendar.getInstance();
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
int year = calendar.get(Calendar.YEAR);
|
||||
int month = calendar.get(Calendar.MONTH); // Calendar.MONTH 从0开始计数
|
||||
int day = calendar.get(Calendar.DAY_OF_MONTH);
|
||||
int hour = calendar.get(Calendar.HOUR_OF_DAY); // 使用24小时制
|
||||
int minute = calendar.get(Calendar.MINUTE);
|
||||
int second = calendar.get(Calendar.SECOND);
|
||||
endCalendar.set(year, month, day, hour, minute, second);
|
||||
|
||||
timePickerView = new TimePickerBuilder(CommunitySendActivity.this, new OnTimeSelectListener() {
|
||||
TimePickerView timePickerView = new TimePickerBuilder(CommunitySendActivity.this, new OnTimeSelectListener() {
|
||||
@SuppressLint("SetTextI18n")
|
||||
@Override
|
||||
public void onTimeSelect(Date date, View v) {
|
||||
if (date.getTime() > new Date().getTime()) {
|
||||
ToastUtil.show(getResources().getString(com.yunbao.main.R.string.time_cannot_be_greater_than_the_current_time));
|
||||
timePickerView.show();
|
||||
} else {
|
||||
chooseTime.setText(DateFormatUtil.getTimeStrings(date.getTime()));
|
||||
}
|
||||
}
|
||||
}).setType(new boolean[]{true, true, true, true, true, false})// 默认全部显示
|
||||
.setCancelText(getResources().getString(R.string.cancel))//取消按钮文字
|
||||
.setSubmitText(getResources().getString(R.string.back_community_sure))//确认按钮文字
|
||||
.setCancelText("Cancel")//取消按钮文字
|
||||
.setSubmitText("Sure")//确认按钮文字
|
||||
.setTitleSize(20)//标题文字大小
|
||||
.setTitleText("")//标题文字
|
||||
.setOutSideCancelable(true)//点击屏幕,点在控件外部范围时,是否取消显示
|
||||
.isCyclic(false)//是否循环滚动
|
||||
.setDate(endCalendar).setRangDate(startCalendar, endCalendar).setLabel("", "", "", "", "", "")//默认设置为年月日时分秒
|
||||
.setTitleText("Title")//标题文字
|
||||
.setOutSideCancelable(false)//点击屏幕,点在控件外部范围时,是否取消显示
|
||||
.isCyclic(true)//是否循环滚动
|
||||
.setLabel("年", "月", "日", "时", "分", "")//默认设置为年月日时分秒
|
||||
.isCenterLabel(false) //是否只显示中间选中项的label文字,false则每项item全部都带有label。
|
||||
.build();
|
||||
timePickerView.show();
|
||||
timePickerView.setOnDismissListener(new OnDismissListener() {
|
||||
@Override
|
||||
public void onDismiss(Object o) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void openImageChooserActivity() {
|
||||
@ -374,7 +304,7 @@ public class CommunitySendActivity extends AbsActivity {
|
||||
List<String> tempList = new ArrayList<>();
|
||||
for (int i = 0; i < clipData.getItemCount(); i++) {
|
||||
imageUris[i] = clipData.getItemAt(i).getUri();
|
||||
File file = new File(Objects.requireNonNull(FilesUtils.getPath(mContext, imageUris[i])));
|
||||
File file = new File(uri2File(imageUris[i]).getPath());
|
||||
tempList.add(file.getPath());
|
||||
L.e("imageUris:" + imageUris[i].getPath() + "_" + imageUris[i].getEncodedPath());
|
||||
}
|
||||
@ -384,84 +314,34 @@ public class CommunitySendActivity extends AbsActivity {
|
||||
imageUris = new Uri[]{data.getData()};
|
||||
uriList.add(imageUris[0]);
|
||||
List<String> tempList = new ArrayList<>();
|
||||
File file = new File(Objects.requireNonNull(FilesUtils.getPath(mContext, imageUris[0])));
|
||||
File file = new File(uri2File(imageUris[0]).getPath());
|
||||
tempList.add(file.getPath());
|
||||
activeImageAdapter.insertList(tempList);
|
||||
}
|
||||
}
|
||||
isImage = true;
|
||||
} else if (requestCode == CHOOSE_VIDEO && resultCode == RESULT_OK && data != null) {
|
||||
videoUri = data.getData();
|
||||
videoFile = new File(Objects.requireNonNull(FilesUtils.getPath(mContext, videoUri)));
|
||||
videoView.setImageBitmap(FilesUtils.getVideoThumbnail(videoFile.getPath()));
|
||||
Uri uri = data.getData();
|
||||
videoUri = uri;
|
||||
videoView.setVideoURI(videoUri);
|
||||
videoView.start();
|
||||
videoViewLayout.setVisibility(View.VISIBLE);
|
||||
isImage = false;
|
||||
}
|
||||
}
|
||||
|
||||
int uplaodIndex = 0;
|
||||
|
||||
List<UploadBean> uploadBeans;
|
||||
|
||||
private void uploadFile(List<UploadBean> uploadBeans, boolean isImg) {
|
||||
uplaodIndex = 0;
|
||||
imgUrlList = new ArrayList<>();
|
||||
dialog = DialogUitl.loadingDialog(mContext, mContext.getResources().getString(com.yunbao.main.R.string.uploading));
|
||||
dialog.show();
|
||||
this.uploadBeans = uploadBeans;
|
||||
if (uploadBeans != null && !uploadBeans.isEmpty()) {
|
||||
uploadFile(uploadBeans.get(0), isImg);
|
||||
}
|
||||
}
|
||||
|
||||
private void uploadFile(UploadBean uploadBean, boolean isImg) {
|
||||
if (isImg) {
|
||||
UploadQnImpl mUploadStrategy = new UploadQnImpl(mContext);
|
||||
List<UploadBean> tempList = new ArrayList<>();
|
||||
tempList.add(uploadBean);
|
||||
mUploadStrategy.upload(tempList, true, new UploadCallback() {
|
||||
@Override
|
||||
public void onFinish(List<UploadBean> list, boolean success) {
|
||||
if (!success) {
|
||||
dialog.dismiss();
|
||||
ToastUtil.show(mContext.getResources().getString(com.yunbao.main.R.string.upload_fail));
|
||||
return;
|
||||
}
|
||||
uplaodIndex++;
|
||||
imgUrlList.add(list.get(0).getRemoteAccessUrl());
|
||||
if (uplaodIndex != uploadBeans.size()) {
|
||||
uploadFile(uploadBeans.get(uplaodIndex), isImg);
|
||||
private File uri2File(Uri uri) {
|
||||
String img_path;
|
||||
String[] proj = {MediaStore.Images.Media.DATA};
|
||||
Cursor actualimagecursor = this.managedQuery(uri, proj, null, null, null);
|
||||
if (actualimagecursor == null) {
|
||||
img_path = uri.getPath();
|
||||
} else {
|
||||
submit();
|
||||
}
|
||||
L.e(new Gson().toJson(list));
|
||||
}
|
||||
}, isImg);
|
||||
} else {
|
||||
UploadQnImpl mUploadStrategy = new UploadQnImpl(mContext);
|
||||
List<UploadBean> tempList = new ArrayList<>();
|
||||
tempList.add(uploadBeans.get(uplaodIndex));
|
||||
mUploadStrategy.upload(tempList, true, new UploadCallback() {
|
||||
@Override
|
||||
public void onFinish(List<UploadBean> list, boolean success) {
|
||||
if (!success) {
|
||||
dialog.dismiss();
|
||||
ToastUtil.show(mContext.getResources().getString(com.yunbao.main.R.string.upload_fail));
|
||||
return;
|
||||
}
|
||||
videoUrl = list.get(0).getRemoteAccessUrl();
|
||||
submit();
|
||||
L.e(new Gson().toJson(list));
|
||||
}
|
||||
}, isImg);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
if (dialog != null) {
|
||||
dialog.dismiss();
|
||||
int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
|
||||
actualimagecursor.moveToFirst();
|
||||
img_path = actualimagecursor.getString(actual_image_column_index);
|
||||
}
|
||||
File file = new File(img_path);
|
||||
return file;
|
||||
}
|
||||
}
|
@ -0,0 +1,387 @@
|
||||
package com.yunbao.common.activity;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Outline;
|
||||
import android.view.View;
|
||||
import android.view.ViewOutlineProvider;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.ms.banner.Banner;
|
||||
import com.ms.banner.listener.OnBannerClickListener;
|
||||
import com.xuexiang.xui.widget.flowlayout.FlowTagLayout;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.adapter.LabelTagAdapter;
|
||||
import com.yunbao.common.adapter.UserCommunityAdapter;
|
||||
import com.yunbao.common.adapter.UserHomeImgAdapter;
|
||||
import com.yunbao.common.bean.ActiveOtherBean;
|
||||
import com.yunbao.common.bean.HomeUserExhibitInfoBean;
|
||||
import com.yunbao.common.bean.HomeUserInfoBean;
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
import com.yunbao.common.bean.LabelBean;
|
||||
import com.yunbao.common.bean.MessageUserInfoBean;
|
||||
import com.yunbao.common.bean.UserHomeImgBean;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.views.UserHomeImgsViewHolder;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class UserHomeActivity extends AbsActivity {
|
||||
private String uid;
|
||||
private Banner mBanner;
|
||||
private RecyclerView imgsRecyclerView;
|
||||
private UserHomeImgAdapter userHomeImgAdapter;
|
||||
private List<String> bannerImgList = new ArrayList<>();
|
||||
private List<UserHomeImgBean> tempList;
|
||||
private RoundedImageView avatar;
|
||||
private TextView userName;
|
||||
private TextView fansCount;
|
||||
private TextView likeCount;
|
||||
private LinearLayout followLayout;
|
||||
private ImageView followIcon;
|
||||
private TextView followName;
|
||||
private TextView userId;
|
||||
private TextView userStatus;
|
||||
private ImageView userStatusIcon;
|
||||
private ImageView user_sex;
|
||||
private ImageView authorIcon;
|
||||
private TextView level;
|
||||
private ImageView levelIcon;
|
||||
private TextView vipLevel;
|
||||
private LinearLayout authenticationLayout;
|
||||
private TextView signature;
|
||||
private LinearLayout moreLayout;
|
||||
private TextView moreText;
|
||||
private ImageView moreIcon;
|
||||
private HomeUserInfoBean userInfo;
|
||||
RecyclerView communityRecyclerView;
|
||||
private LinearLayout itemLayout01;
|
||||
private LinearLayout itemLayout02;
|
||||
private LinearLayout itemLayout03;
|
||||
private LinearLayout itemLayout04;
|
||||
FlowTagLayout myFlowTag; //我的标签
|
||||
LabelTagAdapter myAdapter;
|
||||
private boolean isShowcase;
|
||||
private boolean isAnchor;
|
||||
private RelativeLayout userPresidentLayout;
|
||||
private TextView userPresidentName;
|
||||
private RelativeLayout authorLayout;
|
||||
private RelativeLayout levelLayout;
|
||||
private RoundedImageView fansImg1;
|
||||
private RoundedImageView fansImg2;
|
||||
private RoundedImageView fansImg3;
|
||||
|
||||
private List<RoundedImageView> fansImgViewList = new ArrayList<>();
|
||||
|
||||
public static void forwardUserHomeActivity(Context content, String uid) {
|
||||
Intent intent = new Intent(content, UserHomeActivity.class);
|
||||
intent.putExtra(Constants.TO_UID, uid);
|
||||
content.startActivity(intent);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_user_home;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void create() {
|
||||
super.create();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void main() {
|
||||
uid = getIntent().getStringExtra(Constants.TO_UID);
|
||||
if (StringUtil.isEmpty(uid)) {
|
||||
ToastUtil.show("用户不存在");
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
initView();
|
||||
getUseData();
|
||||
getCommunityList();
|
||||
}
|
||||
|
||||
private void getCommunityList() {
|
||||
CommonHttpUtil.getOtherDynamicList(uid, new com.yunbao.common.http.HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
List<ActiveOtherBean> beanList = JSONArray.parseArray(Arrays.toString(info), ActiveOtherBean.class);
|
||||
UserCommunityAdapter userCommunityAdapter = new UserCommunityAdapter(mContext, beanList);
|
||||
communityRecyclerView.setAdapter(userCommunityAdapter);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void initData(HomeUserInfoBean userInfoBean) {
|
||||
userInfo = userInfoBean;
|
||||
if (!userInfo.getCheckBlack().get(0).getU2t().equals("0")) {
|
||||
ToastUtil.show("已拉黑,无法查看");
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
if (!StringUtil.isEmpty(userInfo.getUserHomeTopInfo().getUser_president_name())) {
|
||||
userPresidentLayout.setVisibility(View.VISIBLE);
|
||||
userPresidentName.setText(userInfo.getUserHomeTopInfo().getUser_president_name());
|
||||
}
|
||||
isAnchor = userInfo.getUserHomeTopInfo().getIs_anchor() == 1;
|
||||
ImgLoader.display(UserHomeActivity.this, userInfo.getUserHomeTopInfo().getUser_avatar(), avatar);
|
||||
userName.setText(userInfo.getUserHomeTopInfo().getUser_name());//用户名称
|
||||
fansCount.setText(String.valueOf(userInfo.getUserHomeTopInfo().getUser_fans_num()));//粉丝数量
|
||||
likeCount.setText(String.valueOf(userInfo.getUserHomeTopInfo().getUser_love_num()));//关注数量
|
||||
|
||||
userId.setText("ID:" + userInfo.getUserHomeTopInfo().getUser_id());//用户ID
|
||||
userStatus.setText("");//认证状态
|
||||
ImgLoader.display(UserHomeActivity.this, Integer.parseInt(String.valueOf(userInfo.getUserHomeTopInfo().getUser_sex())) == 0 ? R.mipmap.icon_man_new : R.mipmap.icon_wumen, user_sex);
|
||||
ImgLoader.display(UserHomeActivity.this, CommonAppConfig.HOST + userInfo.getUserHomeTopInfo().getUser_level_anchor_img(), authorIcon);
|
||||
ImgLoader.display(UserHomeActivity.this, userInfo.getUserHomeTopInfo().getUser_level_img(), levelIcon);
|
||||
|
||||
if (isAnchor) {//是否是主播
|
||||
authorLayout.setVisibility(View.VISIBLE);
|
||||
levelLayout.setVisibility(View.VISIBLE);
|
||||
authenticationLayout.setVisibility(View.VISIBLE);
|
||||
itemLayout01.setVisibility(View.VISIBLE);
|
||||
itemLayout02.setVisibility(View.VISIBLE);
|
||||
itemLayout03.setVisibility(View.VISIBLE);
|
||||
itemLayout04.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
authorLayout.setVisibility(View.GONE);
|
||||
authenticationLayout.setVisibility(View.GONE);
|
||||
itemLayout03.setVisibility(View.VISIBLE);
|
||||
itemLayout04.setVisibility(View.VISIBLE);
|
||||
}
|
||||
signature.setText(userInfo.getUserHomeTopInfo().getUser_signature());//个性签名
|
||||
//标签
|
||||
myAdapter = new LabelTagAdapter(mContext, new LabelTagAdapter.OnSureOnClickListener() {
|
||||
@Override
|
||||
public void sure(LabelBean.Children labelBean) {
|
||||
|
||||
}
|
||||
});
|
||||
if (userInfo.getUserHomeTopInfo().getCn_label() != null) {
|
||||
if (userInfo.getUserHomeTopInfo().getCn_label().size() > 0) {
|
||||
myFlowTag.setAdapter(myAdapter);
|
||||
myFlowTag.setTagCheckedMode(FlowTagLayout.FLOW_TAG_CHECKED_NONE);
|
||||
myAdapter.setData(userInfo.getUserHomeTopInfo().getCn_label());
|
||||
}
|
||||
}
|
||||
mBanner.setOutlineProvider(new ViewOutlineProvider() {
|
||||
@Override
|
||||
public void getOutline(View view, Outline outline) {
|
||||
outline.setRoundRect(0, 0, 0, 0, 0);
|
||||
}
|
||||
});
|
||||
mBanner.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||
@Override
|
||||
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int state) {
|
||||
|
||||
}
|
||||
});
|
||||
bannerImgList = userInfo.getUserHomeTopInfo().getUser_home_banner();
|
||||
tempList = new ArrayList<>();
|
||||
for (int i = 0; i < bannerImgList.size(); i++) {
|
||||
tempList.add(new UserHomeImgBean(bannerImgList.get(i)));
|
||||
}
|
||||
tempList.get(0).setShow(true);
|
||||
userHomeImgAdapter = new UserHomeImgAdapter(UserHomeActivity.this, tempList);
|
||||
imgsRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
|
||||
imgsRecyclerView.setAdapter(userHomeImgAdapter);
|
||||
|
||||
userHomeImgAdapter.setOnItemClickListener(new UserHomeImgAdapter.onItemClickListener() {
|
||||
@Override
|
||||
public void onImgItem(UserHomeImgBean activeBean, int position) {
|
||||
mBanner.onPageSelected(position);
|
||||
mBanner.setCurrentPage(position);
|
||||
for (int i = 0; i < tempList.size(); i++) {
|
||||
if (i == position) {
|
||||
tempList.get(i).setShow(true);
|
||||
} else {
|
||||
tempList.get(i).setShow(false);
|
||||
}
|
||||
}
|
||||
userHomeImgAdapter.setCommentBeanList(tempList);
|
||||
}
|
||||
});
|
||||
mBanner.setAutoPlay(false).setPages(bannerImgList, new UserHomeImgsViewHolder()).setOnBannerClickListener(new OnBannerClickListener() {
|
||||
@Override
|
||||
public void onBannerClick(List datas, int position) {
|
||||
|
||||
}
|
||||
}).start();
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
fansImg1 = findViewById(R.id.fansImg1);
|
||||
fansImg2 = findViewById(R.id.fansImg2);
|
||||
fansImg3 = findViewById(R.id.fansImg3);
|
||||
fansImgViewList = new ArrayList<>();
|
||||
fansImgViewList.add(fansImg1);
|
||||
fansImgViewList.add(fansImg2);
|
||||
fansImgViewList.add(fansImg3);
|
||||
authorLayout = findViewById(R.id.authorLayout);
|
||||
levelLayout = findViewById(R.id.levelLayout);
|
||||
userPresidentLayout = findViewById(R.id.userPresidentLayout);
|
||||
userPresidentName = findViewById(R.id.userPresidentName);
|
||||
itemLayout01 = findViewById(R.id.itemLayout01);
|
||||
itemLayout02 = findViewById(R.id.itemLayout02);
|
||||
itemLayout03 = findViewById(R.id.itemLayout03);
|
||||
itemLayout04 = findViewById(R.id.itemLayout04);
|
||||
communityRecyclerView = findViewById(R.id.communityRecyclerView);
|
||||
myFlowTag = findViewById(R.id.myFlowTag);
|
||||
avatar = findViewById(R.id.avatar);
|
||||
userName = findViewById(R.id.name);
|
||||
fansCount = findViewById(R.id.fansCount);
|
||||
likeCount = findViewById(R.id.likeCount);
|
||||
followLayout = findViewById(R.id.followLayout);
|
||||
followName = findViewById(R.id.followName);
|
||||
followIcon = findViewById(R.id.followIcon);
|
||||
userId = findViewById(R.id.userId);
|
||||
userStatus = findViewById(R.id.userStatus);
|
||||
userStatusIcon = findViewById(R.id.userStatusIcon);
|
||||
user_sex = findViewById(R.id.user_sex);
|
||||
levelIcon = findViewById(R.id.levelIcon);
|
||||
level = findViewById(R.id.level);
|
||||
authorIcon = findViewById(R.id.authorlIcon);
|
||||
authenticationLayout = findViewById(R.id.authenticationLayout);
|
||||
signature = findViewById(R.id.signature);
|
||||
moreLayout = findViewById(R.id.moreLayout);
|
||||
moreText = findViewById(R.id.moreText);
|
||||
moreIcon = findViewById(R.id.moreIcon);
|
||||
|
||||
mBanner = findViewById(R.id.banner);
|
||||
imgsRecyclerView = findViewById(R.id.imgsRecyclerView);
|
||||
|
||||
communityRecyclerView = findViewById(R.id.communityRecyclerView);
|
||||
communityRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false));
|
||||
communityRecyclerView.setOverScrollMode(View.OVER_SCROLL_NEVER);
|
||||
|
||||
findViewById(R.id.back).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
followLayout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
CommonHttpUtil.setAttention(String.valueOf(userInfo.getUserHomeTopInfo().getUser_id()), new CommonCallback<Integer>() {
|
||||
@Override
|
||||
public void callback(Integer isAttention) {
|
||||
if (isAttention == 1) {
|
||||
ImgLoader.display(UserHomeActivity.this, R.mipmap.icon_like_followed, followIcon);
|
||||
followName.setText("已关注");
|
||||
followName.setTextColor(Color.parseColor("#777777"));
|
||||
followLayout.setBackground(getResources().getDrawable(R.drawable.bg_main_com_type_1));
|
||||
} else {
|
||||
ImgLoader.display(UserHomeActivity.this, R.mipmap.icon_like_follow, followIcon);
|
||||
followName.setText("关注");
|
||||
followName.setTextColor(getResources().getColor(R.color.white));
|
||||
followLayout.setBackground(getResources().getDrawable(R.drawable.bg_main_com_type));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
moreLayout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (isShowcase) {
|
||||
if (isAnchor) {
|
||||
itemLayout01.setVisibility(View.GONE);
|
||||
itemLayout02.setVisibility(View.GONE);
|
||||
itemLayout03.setVisibility(View.GONE);
|
||||
itemLayout04.setVisibility(View.GONE);
|
||||
} else {
|
||||
itemLayout03.setVisibility(View.GONE);
|
||||
itemLayout04.setVisibility(View.GONE);
|
||||
}
|
||||
moreText.setText("查看更多");
|
||||
ImgLoader.display(mContext, R.mipmap.icon_down, moreIcon);
|
||||
} else {
|
||||
if (isAnchor) {
|
||||
itemLayout01.setVisibility(View.VISIBLE);
|
||||
itemLayout02.setVisibility(View.VISIBLE);
|
||||
itemLayout03.setVisibility(View.VISIBLE);
|
||||
itemLayout04.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
itemLayout01.setVisibility(View.GONE);
|
||||
itemLayout02.setVisibility(View.GONE);
|
||||
}
|
||||
moreText.setText("收起");
|
||||
ImgLoader.display(mContext, R.mipmap.icon_up, moreIcon);
|
||||
}
|
||||
isShowcase = !isShowcase;
|
||||
}
|
||||
});
|
||||
findViewById(R.id.back).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void getUseData() {
|
||||
LiveNetManager.get(mContext).getUserHomeInfo(uid, new HttpCallback<HomeUserInfoBean>() {
|
||||
@Override
|
||||
public void onSuccess(HomeUserInfoBean data) {
|
||||
initData(data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
|
||||
}
|
||||
});
|
||||
LiveNetManager.get(mContext).getUserExhibitInfoInfo(uid, new HttpCallback<HomeUserExhibitInfoBean>() {
|
||||
@Override
|
||||
public void onSuccess(HomeUserExhibitInfoBean data) {
|
||||
if (data.getUserHomeTopInfo().getFans().getList() != null) {
|
||||
for (int i = 0; i < data.getUserHomeTopInfo().getFans().getList().size(); i++) {
|
||||
ImgLoader.display(mContext, data.getUserHomeTopInfo().getFans().getList().get(i).getAvatar(), fansImgViewList.get(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
|
||||
super.onActivityResult(requestCode, resultCode, intent);
|
||||
}
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
package com.yunbao.common.activity;
|
||||
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.VideoView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.yunbao.common.R;
|
||||
|
||||
public class VideoPlayActivity extends AbsActivity {
|
||||
private VideoView videoPlay;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_google_play;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
Uri url = getIntent().getParcelableExtra("videoUri");
|
||||
super.onCreate(savedInstanceState);
|
||||
videoPlay = findViewById(R.id.videoPlay);
|
||||
videoPlay.setVideoURI(url);
|
||||
videoPlay.start();
|
||||
|
||||
findViewById(R.id.back).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
}
|
||||
}
|
@ -103,15 +103,6 @@ public class CommentAdapter extends RecyclerView.Adapter {
|
||||
}
|
||||
}
|
||||
});
|
||||
report1.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (onItemClickListener != null) {
|
||||
CommentBean.ReplyComment bean = (CommentBean.ReplyComment) v.getTag();
|
||||
onItemClickListener.onReport(bean);
|
||||
}
|
||||
}
|
||||
});
|
||||
replyTextView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
@ -126,16 +117,7 @@ public class CommentAdapter extends RecyclerView.Adapter {
|
||||
public void onClick(View v) {
|
||||
if (onItemClickListener != null) {
|
||||
CommentBean bean = (CommentBean) v.getTag();
|
||||
onItemClickListener.onDel(bean);
|
||||
}
|
||||
}
|
||||
});
|
||||
del1.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (onItemClickListener != null) {
|
||||
CommentBean.ReplyComment bean = (CommentBean.ReplyComment) v.getTag();
|
||||
onItemClickListener.onDel(bean);
|
||||
onItemClickListener.onDel(bean, 0);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -143,8 +125,6 @@ public class CommentAdapter extends RecyclerView.Adapter {
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
public void setData(CommentBean bean) {
|
||||
del.setTag(bean);
|
||||
del1.setTag(bean);
|
||||
report.setTag(bean);
|
||||
replyTextView.setTag(bean);
|
||||
ImgLoader.display(itemView.getContext(), bean.getUser_avatar(), mAvatar);
|
||||
@ -161,10 +141,8 @@ public class CommentAdapter extends RecyclerView.Adapter {
|
||||
del.setVisibility(View.GONE);
|
||||
}
|
||||
if (bean.getReplyCommentList() != null) {
|
||||
replyCount.setText(String.format(mContext.getResources().getString(R.string.active_count), String.valueOf(bean.getReplyCommentList().size())));
|
||||
replyCount.setText("共" + bean.getReplyCommentList().size() + "条回复>");
|
||||
if (bean.getReplyCommentList().size() > 0) {
|
||||
report1.setTag(bean.getReplyCommentList().get(0));
|
||||
del1.setTag(bean.getReplyCommentList().get(0));
|
||||
replyContent.setText(bean.getReplyCommentList().get(0).getContent());
|
||||
ImgLoader.display(itemView.getContext(), bean.getReplyCommentList().get(0).getUser_avatar(), mAvatar01);
|
||||
firstName.setText(bean.getReplyCommentList().get(0).getUser_name());
|
||||
@ -174,10 +152,10 @@ public class CommentAdapter extends RecyclerView.Adapter {
|
||||
} else {
|
||||
isAuth.setVisibility(View.GONE);
|
||||
}
|
||||
if (bean.getReplyCommentList().get(0).getUser_id().equals(myUid)) {
|
||||
del1.setVisibility(View.VISIBLE);
|
||||
if (bean.getUser_id().equals(myUid)) {
|
||||
del.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
del1.setVisibility(View.GONE);
|
||||
del.setVisibility(View.GONE);
|
||||
}
|
||||
} else {
|
||||
replyLayout.setVisibility(View.GONE);
|
||||
@ -214,11 +192,10 @@ public class CommentAdapter extends RecyclerView.Adapter {
|
||||
public void onClick(View v) {
|
||||
if (!bean.isShow()) {
|
||||
recyclerView.setVisibility(View.VISIBLE);
|
||||
replyCount.setText(mContext.getResources().getString(R.string.close));
|
||||
replyCount.setText("收起");
|
||||
} else {
|
||||
recyclerView.setVisibility(View.GONE);
|
||||
replyCount.setText(String.format(mContext.getResources().getString(R.string.active_count), String.valueOf(bean.getReplyCommentList().size())))
|
||||
;
|
||||
replyCount.setText("共" + bean.getReplyCommentList().size() + "条回复>");
|
||||
}
|
||||
bean.setShow(!bean.isShow());
|
||||
}
|
||||
@ -233,9 +210,9 @@ public class CommentAdapter extends RecyclerView.Adapter {
|
||||
|
||||
void onReport(CommentBean activeBean);
|
||||
|
||||
void onReport(CommentBean.ReplyComment activeBean);
|
||||
void onDel(CommentBean activeBean, int position);
|
||||
|
||||
void onDel(CommentBean activeBean);
|
||||
void onReport(CommentBean.ReplyComment activeBean);
|
||||
|
||||
void onDel(CommentBean.ReplyComment activeBean);
|
||||
}
|
||||
|
@ -1,242 +0,0 @@
|
||||
package com.yunbao.common.adapter;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.CommentBean;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.views.TopGradual;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class CommentVideoAdapter extends RefreshAdapter<CommentBean> {
|
||||
private Context mContext;
|
||||
private String authorId;
|
||||
private String myUid;
|
||||
private onItemClickListener onItemClickListener;
|
||||
|
||||
public void setOnItemClickListener(CommentVideoAdapter.onItemClickListener onItemClickListener) {
|
||||
this.onItemClickListener = onItemClickListener;
|
||||
}
|
||||
|
||||
public CommentVideoAdapter(Context content, String authorId, CommentVideoAdapter.onItemClickListener onItemClickListener) {
|
||||
super(content);
|
||||
this.onItemClickListener = onItemClickListener;
|
||||
this.mContext = content;
|
||||
this.authorId = authorId;
|
||||
myUid = CommonAppConfig.getInstance().getUid();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_comment_video_view, parent, false);
|
||||
return new CommentViewHolder(view);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
CommentViewHolder commentViewHolder = (CommentViewHolder) holder;
|
||||
commentViewHolder.setData(mList.get(position));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return mList.size();
|
||||
}
|
||||
|
||||
class CommentViewHolder extends RecyclerView.ViewHolder {
|
||||
private RoundedImageView mAvatar;
|
||||
private TextView name;
|
||||
private TextView content;
|
||||
private TextView report;
|
||||
private TextView replyTextView;
|
||||
private RoundedImageView mAvatar01;
|
||||
private TextView replyContent;
|
||||
private TextView replyCount;
|
||||
private RecyclerView recyclerView;
|
||||
private LinearLayout replyLayout;
|
||||
private TextView firstName;
|
||||
private TextView isAuth;
|
||||
private TextView del;
|
||||
private TextView author;
|
||||
private TextView del1;
|
||||
private TextView report1;
|
||||
|
||||
public CommentViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
firstName = itemView.findViewById(R.id.firstName);
|
||||
mAvatar = itemView.findViewById(R.id.avatar);
|
||||
name = itemView.findViewById(R.id.name);
|
||||
content = itemView.findViewById(R.id.content);
|
||||
replyTextView = itemView.findViewById(R.id.replyTextView);
|
||||
report = itemView.findViewById(R.id.report);
|
||||
mAvatar01 = itemView.findViewById(R.id.avatar01);
|
||||
isAuth = itemView.findViewById(R.id.isAuth);
|
||||
replyContent = itemView.findViewById(R.id.replyContent);
|
||||
replyCount = itemView.findViewById(R.id.expand);
|
||||
replyLayout = itemView.findViewById(R.id.replyLayout);
|
||||
recyclerView = itemView.findViewById(R.id.recyclerView);
|
||||
del = itemView.findViewById(R.id.del);
|
||||
author = itemView.findViewById(R.id.author);
|
||||
del1 = itemView.findViewById(R.id.del1);
|
||||
report1 = itemView.findViewById(R.id.report1);
|
||||
report1.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (onItemClickListener != null) {
|
||||
CommentBean.ReplyComment bean = (CommentBean.ReplyComment) v.getTag();
|
||||
onItemClickListener.onReport(bean);
|
||||
}
|
||||
}
|
||||
});
|
||||
report.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (onItemClickListener != null) {
|
||||
CommentBean bean = (CommentBean) v.getTag();
|
||||
onItemClickListener.onReport(bean);
|
||||
}
|
||||
}
|
||||
});
|
||||
replyTextView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (onItemClickListener != null) {
|
||||
CommentBean bean = (CommentBean) v.getTag();
|
||||
onItemClickListener.onReply(bean);
|
||||
}
|
||||
}
|
||||
});
|
||||
del.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (onItemClickListener != null) {
|
||||
CommentBean bean = (CommentBean) v.getTag();
|
||||
onItemClickListener.onDel(bean);
|
||||
}
|
||||
}
|
||||
});
|
||||
del1.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (onItemClickListener != null) {
|
||||
CommentBean.ReplyComment bean = (CommentBean.ReplyComment) v.getTag();
|
||||
onItemClickListener.onDel(bean);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
public void setData(CommentBean bean) {
|
||||
del.setTag(bean);
|
||||
report1.setTag(bean);
|
||||
report.setTag(bean);
|
||||
replyTextView.setTag(bean);
|
||||
del1.setTag(bean);
|
||||
ImgLoader.displayAvatar(itemView.getContext(), bean.getUser_avatar(), mAvatar);
|
||||
name.setText(bean.getUser_name());
|
||||
content.setText(bean.getContent());
|
||||
if (bean.getUser_id().equals(authorId)) {
|
||||
author.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
author.setVisibility(View.GONE);
|
||||
}
|
||||
if (bean.getUser_id().equals(myUid)) {
|
||||
del.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
del.setVisibility(View.GONE);
|
||||
}
|
||||
if (bean.getReplyCommentList() != null) {
|
||||
replyCount.setText( String.format(mContext.getResources().getString(R.string.active_count), String.valueOf(bean.getReplyCommentList().size())));
|
||||
if (bean.getReplyCommentList().size() > 0) {
|
||||
del1.setTag(bean.getReplyCommentList().get(0));
|
||||
replyContent.setText(bean.getReplyCommentList().get(0).getContent());
|
||||
ImgLoader.display(itemView.getContext(), bean.getReplyCommentList().get(0).getUser_avatar(), mAvatar01);
|
||||
firstName.setText(bean.getReplyCommentList().get(0).getUser_name());
|
||||
replyLayout.setVisibility(View.VISIBLE);
|
||||
if (bean.getReplyCommentList().get(0).getUser_id().equals(authorId)) {
|
||||
isAuth.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
isAuth.setVisibility(View.GONE);
|
||||
}
|
||||
if (bean.getReplyCommentList().get(0).getUser_id().equals(myUid)) {
|
||||
del1.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
del1.setVisibility(View.GONE);
|
||||
}
|
||||
} else {
|
||||
replyLayout.setVisibility(View.GONE);
|
||||
replyCount.setVisibility(View.GONE);
|
||||
}
|
||||
if (bean.getReplyCommentList().size() > 1) {
|
||||
replyCount.setVisibility(View.VISIBLE);
|
||||
replyLayout.setVisibility(View.VISIBLE);
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false));
|
||||
recyclerView.addItemDecoration(new TopGradual());
|
||||
List<CommentBean.ReplyComment> tempList = new ArrayList<>();
|
||||
tempList.addAll(bean.getReplyCommentList());
|
||||
tempList.remove(0);
|
||||
CommentReplyAdapter commentReplyAdapter = new CommentReplyAdapter(mContext, tempList, authorId);
|
||||
commentReplyAdapter.setOnItemClickListener(new CommentReplyAdapter.onItemClickListener() {
|
||||
@Override
|
||||
public void onReport(CommentBean.ReplyComment activeBean) {
|
||||
if (onItemClickListener != null) {
|
||||
onItemClickListener.onReport(activeBean);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDel(CommentBean.ReplyComment activeBean) {
|
||||
if (onItemClickListener != null) {
|
||||
onItemClickListener.onDel(activeBean);
|
||||
}
|
||||
}
|
||||
});
|
||||
recyclerView.setAdapter(commentReplyAdapter);
|
||||
recyclerView.setOverScrollMode(View.OVER_SCROLL_NEVER);
|
||||
replyCount.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (!bean.isShow()) {
|
||||
recyclerView.setVisibility(View.VISIBLE);
|
||||
replyCount.setText(mContext.getResources().getString(R.string.close));
|
||||
} else {
|
||||
recyclerView.setVisibility(View.GONE);
|
||||
replyCount.setText( String.format(mContext.getResources().getString(R.string.active_count), String.valueOf(bean.getReplyCommentList().size())));
|
||||
}
|
||||
bean.setShow(!bean.isShow());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public interface onItemClickListener {
|
||||
void onReply(CommentBean activeBean);
|
||||
|
||||
void onReport(CommentBean activeBean);
|
||||
|
||||
void onReport(CommentBean.ReplyComment activeBean);
|
||||
|
||||
void onDel(CommentBean activeBean);
|
||||
|
||||
void onDel(CommentBean.ReplyComment activeBean);
|
||||
}
|
||||
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
package com.yunbao.common.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.view.TextureView;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
|
||||
public class DebugDialogAdapter extends RecyclerView.Adapter<DebugDialogAdapter.DebugViewHolder> {
|
||||
TreeMap<String, String> paramMap = new TreeMap<>();
|
||||
private Context mContext;
|
||||
|
||||
public DebugDialogAdapter(Context mContext) {
|
||||
this.mContext = mContext;
|
||||
}
|
||||
|
||||
public void setParamMap(TreeMap<String, String> paramMap) {
|
||||
this.paramMap = paramMap;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public DebugViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
return new DebugViewHolder(new TextView(mContext));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull DebugViewHolder holder, int position) {
|
||||
List<String> list = new ArrayList<>(paramMap.keySet());
|
||||
holder.setData(list.get(position), paramMap.get(list.get(position)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return paramMap.size();
|
||||
}
|
||||
|
||||
public class DebugViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
public DebugViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
}
|
||||
|
||||
public void setData(String tag, String msg) {
|
||||
((TextView) itemView).setText(tag + ":" + msg);
|
||||
((TextView) itemView).setTextColor(Color.BLACK);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,93 +0,0 @@
|
||||
package com.yunbao.common.adapter;
|
||||
|
||||
import android.os.CountDownTimer;
|
||||
import android.util.SparseArray;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.sendMoneyLongListModel;
|
||||
import com.yunbao.common.views.DragonSendMoneyListViewHolder;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class DragonSendMoneyListAdapter extends RecyclerView.Adapter {
|
||||
RecyclerView send_money_list;
|
||||
boolean isAnchor;
|
||||
SparseArray<CountDownTimer> countDownMap;
|
||||
boolean isAttention;
|
||||
|
||||
public DragonSendMoneyListAdapter setAnchor(boolean anchor) {
|
||||
isAnchor = anchor;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DragonSendMoneyListAdapter setAttention(boolean attention) {
|
||||
isAttention = attention;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<sendMoneyLongListModel> getMoneyLongListModels() {
|
||||
return moneyLongListModels;
|
||||
}
|
||||
|
||||
public DragonSendMoneyListAdapter(RecyclerView send_money_list) {
|
||||
this.send_money_list = send_money_list;
|
||||
countDownMap = new SparseArray<>();
|
||||
}
|
||||
|
||||
List<sendMoneyLongListModel> moneyLongListModels = new ArrayList<>();
|
||||
DragonSendMoneyListViewHolder.DragonSendMoneyListClicksCallBack callBack;
|
||||
|
||||
public void setCallBack(DragonSendMoneyListViewHolder.DragonSendMoneyListClicksCallBack callBack) {
|
||||
this.callBack = callBack;
|
||||
}
|
||||
|
||||
public void setMoneyLongListModels(List<sendMoneyLongListModel> models) {
|
||||
|
||||
moneyLongListModels.clear();
|
||||
moneyLongListModels.addAll(models);
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
|
||||
View goodGiftsView = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_dragon_send_money_list, parent, false);
|
||||
|
||||
return new DragonSendMoneyListViewHolder(goodGiftsView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
DragonSendMoneyListViewHolder sendMoneyListViewHolder = (DragonSendMoneyListViewHolder) holder;
|
||||
// sendMoneyLongListModel model = moneyLongListModels.get(position);
|
||||
// long mPkTimeCount2 = Long.parseLong(model.getCountdown());
|
||||
// long time = mPkTimeCount2 * 1000;
|
||||
// if (sendMoneyListViewHolder.countDownTimer != null) {
|
||||
// sendMoneyListViewHolder.countDownTimer.cancel();
|
||||
// }
|
||||
// if (time > 0) {
|
||||
//
|
||||
// }
|
||||
sendMoneyListViewHolder.setData(moneyLongListModels.get(position), callBack, isAnchor,isAttention);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return moneyLongListModels.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemViewType(int position) {
|
||||
return super.getItemViewType(position);
|
||||
}
|
||||
}
|
@ -36,7 +36,8 @@ public class LabelTagAdapter extends BaseTagAdapter<String, TextView> {
|
||||
|
||||
@Override
|
||||
protected void convert(TextView textView, String item, int position) {
|
||||
textView.setText("#"+item);
|
||||
textView.setText(item);
|
||||
textView.setTextColor(mContext.getResources().getColor(R.color.black2));
|
||||
}
|
||||
|
||||
public interface OnSureOnClickListener {
|
||||
|
@ -1,46 +0,0 @@
|
||||
package com.yunbao.common.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.xuexiang.xui.widget.flowlayout.BaseTagAdapter;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.LabelBean;
|
||||
|
||||
public class LabelVideoTagAdapter extends BaseTagAdapter<String, TextView> {
|
||||
|
||||
OnSureOnClickListener onSureOnClickListener;
|
||||
|
||||
Context mContext;
|
||||
|
||||
public LabelVideoTagAdapter(Context context, OnSureOnClickListener onSureOnClickListener) {
|
||||
super(context);
|
||||
this.onSureOnClickListener = onSureOnClickListener;
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
public LabelVideoTagAdapter(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TextView newViewHolder(View convertView) {
|
||||
return (TextView) convertView.findViewById(R.id.tv_tag);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.adapter_video_tag;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void convert(TextView textView, String item, int position) {
|
||||
textView.setText(item);
|
||||
}
|
||||
|
||||
public interface OnSureOnClickListener {
|
||||
void sure(LabelBean.Children labelBean);
|
||||
}
|
||||
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
package com.yunbao.common.adapter;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.views.LiveBuyGuardPrivilegeViewHolder;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class LiveBuyGuardPrivilegeAdapter extends RecyclerView.Adapter {
|
||||
List<String> guardPrivilege = new ArrayList<>();
|
||||
|
||||
public void setGuardPrivilege(List<String> privilege) {
|
||||
guardPrivilege.clear();
|
||||
guardPrivilege.addAll(privilege);
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public LiveBuyGuardPrivilegeAdapter(List<String> guardPrivilege) {
|
||||
this.guardPrivilege = guardPrivilege;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
View herdView = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_live_buy_guard_privilege_item, parent, false);
|
||||
return new LiveBuyGuardPrivilegeViewHolder(herdView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
LiveBuyGuardPrivilegeViewHolder buyGuardSelectViewHolder = (LiveBuyGuardPrivilegeViewHolder) holder;
|
||||
buyGuardSelectViewHolder.setData(guardPrivilege.get(position));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return guardPrivilege.size();
|
||||
}
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
package com.yunbao.common.adapter;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.GuardPriceModel;
|
||||
import com.yunbao.common.views.LiveBuyGuardSelectViewHolder;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class LiveBuyGuardSelectAdapter extends RecyclerView.Adapter {
|
||||
List<GuardPriceModel> price = new ArrayList<>();
|
||||
GuardPriceModel model;
|
||||
|
||||
public LiveBuyGuardSelectAdapter(List<GuardPriceModel> price, GuardPriceModel mModel) {
|
||||
this.price = price;
|
||||
model = mModel;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
View herdView = LayoutInflater.from(parent.getContext()).inflate(R.layout.view_live_buy_guard_slelect_item, parent, false);
|
||||
return new LiveBuyGuardSelectViewHolder(herdView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
LiveBuyGuardSelectViewHolder buyGuardSelectViewHolder = (LiveBuyGuardSelectViewHolder) holder;
|
||||
buyGuardSelectViewHolder.setData(price.get(position), liveBuyGuardSelectClickListener,model);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return price.size();
|
||||
}
|
||||
|
||||
private LiveBuyGuardSelectViewHolder.LiveBuyGuardSelectClickListener liveBuyGuardSelectClickListener;
|
||||
|
||||
public LiveBuyGuardSelectAdapter setLiveBuyGuardSelectClickListener(LiveBuyGuardSelectViewHolder.LiveBuyGuardSelectClickListener liveBuyGuardSelectClickListener) {
|
||||
this.liveBuyGuardSelectClickListener = liveBuyGuardSelectClickListener;
|
||||
return this;
|
||||
}
|
||||
}
|
@ -45,6 +45,7 @@ public class SudTitleSelectAdapter extends RecyclerView.Adapter {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -16,10 +16,7 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.bean.ActiveBean;
|
||||
import com.yunbao.common.bean.ActiveOtherBean;
|
||||
import com.yunbao.common.dialog.ImagePreviewDialog;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.views.NineGridLayout;
|
||||
@ -28,19 +25,17 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class UserCommunityAdapter extends RecyclerView.Adapter {
|
||||
private List<ActiveBean> commentBeanList;
|
||||
private List<ActiveOtherBean> commentBeanList;
|
||||
private Context mContext;
|
||||
private onItemClickListener onItemClickListener;
|
||||
private boolean isMe;
|
||||
|
||||
public void setOnItemClickListener(UserCommunityAdapter.onItemClickListener onItemClickListener) {
|
||||
this.onItemClickListener = onItemClickListener;
|
||||
}
|
||||
|
||||
public UserCommunityAdapter(Context content, List<ActiveBean> commentBeanList, boolean isMe) {
|
||||
public UserCommunityAdapter(Context content, List<ActiveOtherBean> commentBeanList) {
|
||||
this.mContext = content;
|
||||
this.commentBeanList = commentBeanList;
|
||||
this.isMe = isMe;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@ -72,7 +67,6 @@ public class UserCommunityAdapter extends RecyclerView.Adapter {
|
||||
private TextView likeCount;
|
||||
private TextView comCount;
|
||||
private TextView shareCount;
|
||||
private ImageView more_del;
|
||||
|
||||
public CommentViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
@ -86,40 +80,18 @@ public class UserCommunityAdapter extends RecyclerView.Adapter {
|
||||
likeCount = itemView.findViewById(R.id.likeCount);
|
||||
comCount = itemView.findViewById(R.id.comCount);
|
||||
shareCount = itemView.findViewById(R.id.shareCount);
|
||||
more_del = itemView.findViewById(R.id.more_del);
|
||||
more_del.setOnClickListener(new View.OnClickListener() {
|
||||
|
||||
mAvatar.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (onItemClickListener != null) {
|
||||
onItemClickListener.onItemMore((ActiveBean) v.getTag(), getPosition());
|
||||
}
|
||||
}
|
||||
});
|
||||
itemView.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (onItemClickListener != null) {
|
||||
ActiveBean activeOtherBean = (ActiveBean) v.getTag();
|
||||
if (activeOtherBean.getImg_or_video().equals("1")) {
|
||||
onItemClickListener.onImgItem(activeOtherBean, getPosition());
|
||||
} else {
|
||||
onItemClickListener.onItemVideo(activeOtherBean, getPosition());
|
||||
}
|
||||
}
|
||||
onItemClickListener.onImgItem((String) v.getTag(), getPosition());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
public void setData(ActiveBean bean) {
|
||||
itemView.setTag(bean);
|
||||
public void setData(ActiveOtherBean bean) {
|
||||
mAvatar.setTag(bean);
|
||||
more_del.setTag(bean);
|
||||
if (isMe) {
|
||||
more_del.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
more_del.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
ImgLoader.display(mContext, bean.getUser_avatar(), mAvatar);
|
||||
userName.setText(bean.getUser_name());
|
||||
time.setText(bean.getCreate_time());
|
||||
@ -132,19 +104,7 @@ public class UserCommunityAdapter extends RecyclerView.Adapter {
|
||||
nineGridLayout.setActionListener(new NineGridLayout.ActionListener() {
|
||||
@Override
|
||||
public void onItemClick(List<?> dataList, int position) {
|
||||
ImagePreviewDialog dialog = new ImagePreviewDialog();
|
||||
dialog.setImageInfo(dataList.size(), position, false, new ImagePreviewDialog.ActionListener() {
|
||||
@Override
|
||||
public void loadImage(ImageView imageView, int position) {
|
||||
ImgLoader.display(mContext, (String) (dataList.get(position)), imageView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDeleteClick(int position) {
|
||||
|
||||
}
|
||||
});
|
||||
dialog.show(((AbsActivity) mContext).getSupportFragmentManager(), "ImagePreviewDialog");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -159,20 +119,14 @@ public class UserCommunityAdapter extends RecyclerView.Adapter {
|
||||
tempList.add(String.valueOf(jsonArray.get(i)));
|
||||
}
|
||||
nineGridLayout.setData(tempList);
|
||||
videoLayout.setVisibility(View.GONE);
|
||||
} else {
|
||||
videoLayout.setVisibility(View.VISIBLE);
|
||||
ImgLoader.display(mContext, bean.getVideo() + "?vframe/jpg/offset/0", videoImage);
|
||||
ImgLoader.display(mContext, bean.getUser_avatar(), videoImage);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public interface onItemClickListener {
|
||||
void onImgItem(ActiveBean activeBean, int position);
|
||||
|
||||
void onItemMore(ActiveBean activeBean, int position);
|
||||
|
||||
void onItemVideo(ActiveBean activeBean, int position);
|
||||
void onImgItem(String activeBean, int position);
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
@ -21,15 +22,17 @@ public class UserHomeImgAdapter extends RecyclerView.Adapter {
|
||||
private List<UserHomeImgBean> commentBeanList;
|
||||
private Context mContext;
|
||||
private onItemClickListener onItemClickListener;
|
||||
private boolean isMe;
|
||||
|
||||
public void setOnItemClickListener(UserHomeImgAdapter.onItemClickListener onItemClickListener) {
|
||||
this.onItemClickListener = onItemClickListener;
|
||||
}
|
||||
|
||||
public UserHomeImgAdapter(Context content, List<UserHomeImgBean> commentBeanList, boolean isMe) {
|
||||
public List<UserHomeImgBean> getCommentBeanList() {
|
||||
return commentBeanList;
|
||||
}
|
||||
|
||||
public UserHomeImgAdapter(Context content, List<UserHomeImgBean> commentBeanList) {
|
||||
this.mContext = content;
|
||||
this.isMe = isMe;
|
||||
this.commentBeanList = commentBeanList;
|
||||
}
|
||||
|
||||
@ -58,13 +61,11 @@ public class UserHomeImgAdapter extends RecyclerView.Adapter {
|
||||
class CommentViewHolder extends RecyclerView.ViewHolder {
|
||||
RoundedImageView mAvatar01;
|
||||
RoundedImageView mAvatar02;
|
||||
ImageView del;
|
||||
|
||||
public CommentViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
mAvatar01 = itemView.findViewById(R.id.avatar01);
|
||||
mAvatar02 = itemView.findViewById(R.id.avatar02);
|
||||
del = itemView.findViewById(R.id.del);
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
@ -73,29 +74,15 @@ public class UserHomeImgAdapter extends RecyclerView.Adapter {
|
||||
mAvatar01.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (onItemClickListener != null) {
|
||||
onItemClickListener.onImgItem((UserHomeImgBean) v.getTag(), position);
|
||||
}
|
||||
}
|
||||
});
|
||||
del.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (onItemClickListener != null) {
|
||||
onItemClickListener.onImgDel((UserHomeImgBean) v.getTag(), position);
|
||||
}
|
||||
}
|
||||
});
|
||||
ImgLoader.display(mContext, bean.getImgurl(), mAvatar01);
|
||||
ImgLoader.display(mContext, bean.getImgurl(), mAvatar02);
|
||||
if (bean.isShow()) {
|
||||
if (isMe) {
|
||||
del.setVisibility(View.VISIBLE);
|
||||
}
|
||||
mAvatar01.setVisibility(View.GONE);
|
||||
mAvatar02.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
del.setVisibility(View.GONE);
|
||||
mAvatar01.setVisibility(View.VISIBLE);
|
||||
mAvatar02.setVisibility(View.GONE);
|
||||
}
|
||||
@ -104,7 +91,5 @@ public class UserHomeImgAdapter extends RecyclerView.Adapter {
|
||||
|
||||
public interface onItemClickListener {
|
||||
void onImgItem(UserHomeImgBean activeBean, int position);
|
||||
|
||||
void onImgDel(UserHomeImgBean activeBean, int position);
|
||||
}
|
||||
}
|
||||
|
@ -1,48 +0,0 @@
|
||||
package com.yunbao.common.bean;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class CheckUpgradesModel extends BaseModel {
|
||||
/**
|
||||
* {
|
||||
* "level": 33, // 等级
|
||||
* "rewards": [ // 奖励信息
|
||||
* {
|
||||
* "id": 1,
|
||||
* "reward_name": "星之守護等級牌", // 奖励名称
|
||||
* "image_path": "https://ceshi.yaoulive.com/data/upload/20240304/tequan_1.png" // 图片链接
|
||||
* },
|
||||
* {
|
||||
* "id": 2,
|
||||
* "reward_name": "人氣票",
|
||||
* "image_path": "https://ceshi.yaoulive.com/data/upload/20240304/tequan_1.png"
|
||||
* }
|
||||
* ]
|
||||
* }
|
||||
* }
|
||||
*/
|
||||
@SerializedName("level")
|
||||
private String level;
|
||||
@SerializedName("rewards")
|
||||
private List<RewardsModel> rewards;
|
||||
|
||||
public String getLevel() {
|
||||
return level;
|
||||
}
|
||||
|
||||
public CheckUpgradesModel setLevel(String level) {
|
||||
this.level = level;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<RewardsModel> getRewards() {
|
||||
return rewards;
|
||||
}
|
||||
|
||||
public CheckUpgradesModel setRewards(List<RewardsModel> rewards) {
|
||||
this.rewards = rewards;
|
||||
return this;
|
||||
}
|
||||
}
|
@ -1,16 +1,11 @@
|
||||
package com.yunbao.common.bean;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 社區动态
|
||||
*/
|
||||
public class CommentBean extends BaseModel implements Parcelable {
|
||||
public class CommentBean extends BaseModel {
|
||||
private String id;
|
||||
private String dynamic_id;
|
||||
private String uid;
|
||||
@ -22,40 +17,8 @@ public class CommentBean extends BaseModel implements Parcelable {
|
||||
private String user_name;
|
||||
private String user_id;
|
||||
private String user_avatar;
|
||||
private boolean mParentNode;//是否是父元素
|
||||
private List<ReplyComment> child;
|
||||
|
||||
public CommentBean() {
|
||||
}
|
||||
|
||||
public CommentBean(Parcel in) {
|
||||
id = in.readString();
|
||||
dynamic_id = in.readString();
|
||||
uid = in.readString();
|
||||
to_comment_id = in.readString();
|
||||
content = in.readString();
|
||||
create_time = in.readString();
|
||||
status = in.readString();
|
||||
is_dynamic_user = in.readString();
|
||||
user_name = in.readString();
|
||||
user_id = in.readString();
|
||||
user_avatar = in.readString();
|
||||
mParentNode = in.readByte() != 0;
|
||||
isShow = in.readByte() != 0;
|
||||
}
|
||||
|
||||
public static final Creator<CommentBean> CREATOR = new Creator<CommentBean>() {
|
||||
@Override
|
||||
public CommentBean createFromParcel(Parcel in) {
|
||||
return new CommentBean(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommentBean[] newArray(int size) {
|
||||
return new CommentBean[size];
|
||||
}
|
||||
};
|
||||
|
||||
public List<ReplyComment> getChild() {
|
||||
return child;
|
||||
}
|
||||
@ -64,14 +27,6 @@ public class CommentBean extends BaseModel implements Parcelable {
|
||||
this.child = child;
|
||||
}
|
||||
|
||||
public boolean ismParentNode() {
|
||||
return mParentNode;
|
||||
}
|
||||
|
||||
public void setParentNode(boolean mParentNode) {
|
||||
this.mParentNode = mParentNode;
|
||||
}
|
||||
|
||||
private boolean isShow;
|
||||
|
||||
public String getId() {
|
||||
@ -178,28 +133,6 @@ public class CommentBean extends BaseModel implements Parcelable {
|
||||
isShow = show;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(@NonNull Parcel dest, int flags) {
|
||||
dest.writeString(id);
|
||||
dest.writeString(dynamic_id);
|
||||
dest.writeString(uid);
|
||||
dest.writeString(to_comment_id);
|
||||
dest.writeString(content);
|
||||
dest.writeString(create_time);
|
||||
dest.writeString(status);
|
||||
dest.writeString(is_dynamic_user);
|
||||
dest.writeString(user_name);
|
||||
dest.writeString(user_id);
|
||||
dest.writeString(user_avatar);
|
||||
dest.writeByte((byte) (mParentNode ? 1 : 0));
|
||||
dest.writeByte((byte) (isShow ? 1 : 0));
|
||||
}
|
||||
|
||||
public static class ReplyComment {
|
||||
private String id;
|
||||
private String dynamic_id;
|
||||
|
@ -43,17 +43,6 @@ public class EnterRoomNewModel extends BaseModel {
|
||||
private int quickGiftRemainingQuantity;//剩余的小PD礼物数量
|
||||
@SerializedName("if_viewing_duration_complete")
|
||||
private int ifViewingDurationComplete;//通过观看时间获取小PD礼物的次数
|
||||
@SerializedName("sendMoneyLongStatus")
|
||||
private SendMoneyLongStatusModel model;
|
||||
|
||||
public SendMoneyLongStatusModel getModel() {
|
||||
return model;
|
||||
}
|
||||
|
||||
public EnterRoomNewModel setModel(SendMoneyLongStatusModel model) {
|
||||
this.model = model;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getQuickGiftRemainingQuantity() {
|
||||
return quickGiftRemainingQuantity;
|
||||
|
@ -4,7 +4,7 @@ import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class FirstLoginBean extends BaseModel{
|
||||
@SerializedName("status")
|
||||
int status=-1;//0是第一次登陸,1是已經登錄過的
|
||||
int status;//0是第一次登陸,1是已經登錄過的
|
||||
|
||||
public int getStatus() {
|
||||
return status;
|
||||
|
@ -1,142 +0,0 @@
|
||||
package com.yunbao.common.bean;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class GuardDataTipModel extends BaseModel {
|
||||
/**
|
||||
* {
|
||||
* "guard_name": "星之守護", // 守护名称
|
||||
* "guard_type": 1, // 守护类型
|
||||
* "close_img": "https://ceshi.yaoulive.com/data/upload/20240304/guard_xing_close.png", // 未开通图标
|
||||
* "open_img": "https://ceshi.yaoulive.com/data/upload/20240304/guard_xing_open.png", // 已开通图标
|
||||
* "is_open": true, // 是否开通 是.true 否.false
|
||||
* "price": { // 价格
|
||||
* {
|
||||
* "opening_time": "1個月", // 开通时长
|
||||
* "original_price": "188000", // 原价
|
||||
* "discount_price": "", // 折扣价
|
||||
* "discount": "", // 折扣
|
||||
* "price_key": 1
|
||||
* },
|
||||
* {
|
||||
* "opening_time": "3個月",
|
||||
* "original_price": "564000",
|
||||
* "discount_price": "398000",
|
||||
* "discount": "7.1折",
|
||||
* "price_key": 3
|
||||
* },
|
||||
* {
|
||||
* "opening_time": "6個月",
|
||||
* "original_price": "1128000",
|
||||
* "discount_price": "738000",
|
||||
* "discount": "6.5折",
|
||||
* "price_key": 6
|
||||
* },
|
||||
* {
|
||||
* "opening_time": "12個月",
|
||||
* "original_price": "2256000",
|
||||
* "discount_price": "1314000",
|
||||
* "discount": "5.8折",
|
||||
* "price_key": 12
|
||||
* }
|
||||
* ],
|
||||
* "guard_privilege": [
|
||||
* "https://ceshi.yaoulive.com/data/upload/20240304/tequan_1.png",
|
||||
* "https://ceshi.yaoulive.com/data/upload/20240304/tequan_2.png",
|
||||
* "https://ceshi.yaoulive.com/data/upload/20240304/tequan_3.png",
|
||||
* "https://ceshi.yaoulive.com/data/upload/20240304/tequan_1.png",
|
||||
* "https://ceshi.yaoulive.com/data/upload/20240304/tequan_2.png",
|
||||
* "https://ceshi.yaoulive.com/data/upload/20240304/tequan_3.png",
|
||||
* "https://ceshi.yaoulive.com/data/upload/20240304/tequan_1.png",
|
||||
* "https://ceshi.yaoulive.com/data/upload/20240304/tequan_1.png",
|
||||
* "https://ceshi.yaoulive.com/data/upload/20240304/tequan_2.png",
|
||||
* "https://ceshi.yaoulive.com/data/upload/20240304/tequan_3.png"
|
||||
* ]
|
||||
* }
|
||||
*/
|
||||
@SerializedName("guard_name")
|
||||
private String guardName;
|
||||
@SerializedName("guard_type")
|
||||
private int guardType;
|
||||
@SerializedName("close_img")
|
||||
private String closeImg;
|
||||
@SerializedName("open_img")
|
||||
private String openImg;
|
||||
@SerializedName("is_open")
|
||||
private String isOpen;
|
||||
@SerializedName("price")
|
||||
private List<GuardPriceModel> price;
|
||||
@SerializedName("guard_privilege")
|
||||
private List<String> guardPrivilege;
|
||||
|
||||
public String getGuardName() {
|
||||
return guardName;
|
||||
}
|
||||
|
||||
public GuardDataTipModel setGuardName(String guardName) {
|
||||
this.guardName = guardName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getGuardType() {
|
||||
return guardType;
|
||||
}
|
||||
|
||||
public GuardDataTipModel setGuardType(int guardType) {
|
||||
this.guardType = guardType;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCloseImg() {
|
||||
return closeImg;
|
||||
}
|
||||
|
||||
public GuardDataTipModel setCloseImg(String closeImg) {
|
||||
this.closeImg = closeImg;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getOpenImg() {
|
||||
return openImg;
|
||||
}
|
||||
|
||||
public GuardDataTipModel setOpenImg(String openImg) {
|
||||
this.openImg = openImg;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isOpen() {
|
||||
return TextUtils.equals(isOpen, "1");
|
||||
}
|
||||
|
||||
public String getIsOpen() {
|
||||
return isOpen;
|
||||
}
|
||||
|
||||
public GuardDataTipModel setIsOpen(String isOpen) {
|
||||
this.isOpen = isOpen;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<GuardPriceModel> getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
public GuardDataTipModel setPrice(List<GuardPriceModel> price) {
|
||||
this.price = price;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<String> getGuardPrivilege() {
|
||||
return guardPrivilege;
|
||||
}
|
||||
|
||||
public GuardDataTipModel setGuardPrivilege(List<String> guardPrivilege) {
|
||||
this.guardPrivilege = guardPrivilege;
|
||||
return this;
|
||||
}
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
package com.yunbao.common.bean;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class GuardGetGuardOpenInfoModel extends BaseModel {
|
||||
|
||||
@SerializedName("user_info")
|
||||
private GuardUserInfoModel userInfo;
|
||||
@SerializedName("guard_data")
|
||||
private List<GuardDataTipModel> guardData;
|
||||
|
||||
public GuardUserInfoModel getUserInfo() {
|
||||
return userInfo;
|
||||
}
|
||||
|
||||
public GuardGetGuardOpenInfoModel setUserInfo(GuardUserInfoModel userInfo) {
|
||||
this.userInfo = userInfo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<GuardDataTipModel> getGuardData() {
|
||||
return guardData;
|
||||
}
|
||||
|
||||
public GuardGetGuardOpenInfoModel setGuardData(List<GuardDataTipModel> guardData) {
|
||||
this.guardData = guardData;
|
||||
return this;
|
||||
}
|
||||
}
|
@ -1,142 +0,0 @@
|
||||
package com.yunbao.common.bean;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class GuardGetGuardUserInfoModel extends BaseModel {
|
||||
/**
|
||||
* "info": {
|
||||
* "uid": "98923", // 用户ID
|
||||
* "user_avatar": "https://downs.yaoulive.com/20230706/0572c0f694601f4d2695cd210effbe93.jpeg?imageView2/2/w/600/h/600", // 用户头像链接
|
||||
* "liveuid": "98889", // 主播ID
|
||||
* "live_avatar": "https://ceshi.yaoulive.com/data/upload/20230522/20230526102906.png", // 主播头像链接
|
||||
* "guard_type": 0, // 守护类型 0.未开通 1.星之守护 2.王之守护 3.神之守护
|
||||
* "exp": 0, // 守护经验值
|
||||
* "level": 0, // 守护等级
|
||||
* "endtime": 0, // 到期时间
|
||||
* "user_language": "chinese",
|
||||
* "live_language": "chinese"
|
||||
* }
|
||||
* }
|
||||
*/
|
||||
@SerializedName("uid")
|
||||
private String uid;
|
||||
@SerializedName("user_avatar")
|
||||
private String userAvatar;
|
||||
@SerializedName("liveuid")
|
||||
private String liveuid;
|
||||
@SerializedName("live_avatar")
|
||||
private String liveAvatar;
|
||||
@SerializedName("guard_type")
|
||||
private int guardType;
|
||||
@SerializedName("exp")
|
||||
private String exp;
|
||||
@SerializedName("level")
|
||||
private int level;
|
||||
@SerializedName("endtime")
|
||||
private long endtime;
|
||||
@SerializedName("user_language")
|
||||
private String userLanguage;
|
||||
@SerializedName("live_language")
|
||||
private String liveLanguage;
|
||||
@SerializedName("is_open")
|
||||
private String isOpen;
|
||||
|
||||
public String getIsOpen() {
|
||||
return isOpen;
|
||||
}
|
||||
|
||||
public GuardGetGuardUserInfoModel setIsOpen(String isOpen) {
|
||||
this.isOpen = isOpen;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUid() {
|
||||
return uid;
|
||||
}
|
||||
|
||||
public GuardGetGuardUserInfoModel setUid(String uid) {
|
||||
this.uid = uid;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUserAvatar() {
|
||||
return userAvatar;
|
||||
}
|
||||
|
||||
public GuardGetGuardUserInfoModel setUserAvatar(String userAvatar) {
|
||||
this.userAvatar = userAvatar;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getLiveuid() {
|
||||
return liveuid;
|
||||
}
|
||||
|
||||
public GuardGetGuardUserInfoModel setLiveuid(String liveuid) {
|
||||
this.liveuid = liveuid;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getLiveAvatar() {
|
||||
return liveAvatar;
|
||||
}
|
||||
|
||||
public GuardGetGuardUserInfoModel setLiveAvatar(String liveAvatar) {
|
||||
this.liveAvatar = liveAvatar;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getGuardType() {
|
||||
return guardType;
|
||||
}
|
||||
|
||||
public GuardGetGuardUserInfoModel setGuardType(int guardType) {
|
||||
this.guardType = guardType;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getExp() {
|
||||
return exp;
|
||||
}
|
||||
|
||||
public GuardGetGuardUserInfoModel setExp(String exp) {
|
||||
this.exp = exp;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getLevel() {
|
||||
return level;
|
||||
}
|
||||
|
||||
public GuardGetGuardUserInfoModel setLevel(int level) {
|
||||
this.level = level;
|
||||
return this;
|
||||
}
|
||||
|
||||
public long getEndtime() {
|
||||
return endtime;
|
||||
}
|
||||
|
||||
public GuardGetGuardUserInfoModel setEndtime(long endtime) {
|
||||
this.endtime = endtime;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUserLanguage() {
|
||||
return userLanguage;
|
||||
}
|
||||
|
||||
public GuardGetGuardUserInfoModel setUserLanguage(String userLanguage) {
|
||||
this.userLanguage = userLanguage;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getLiveLanguage() {
|
||||
return liveLanguage;
|
||||
}
|
||||
|
||||
public GuardGetGuardUserInfoModel setLiveLanguage(String liveLanguage) {
|
||||
this.liveLanguage = liveLanguage;
|
||||
return this;
|
||||
}
|
||||
}
|
@ -1,145 +0,0 @@
|
||||
package com.yunbao.common.bean;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class GuardMaturityDateRemindModel extends BaseModel{
|
||||
|
||||
@SerializedName("_method_")
|
||||
private String method;
|
||||
@SerializedName("action")
|
||||
private String action;
|
||||
@SerializedName("is_overdue")
|
||||
private int isOverdue;
|
||||
@SerializedName("days")
|
||||
private int days;
|
||||
@SerializedName("uid")
|
||||
private String uid;
|
||||
@SerializedName("liveuid")
|
||||
private String liveuid;
|
||||
@SerializedName("user_avatar")
|
||||
private String userAvatar;
|
||||
@SerializedName("user_nicename")
|
||||
private String userNicename;
|
||||
@SerializedName("live_avatar")
|
||||
private String liveAvatar;
|
||||
@SerializedName("live_nicename")
|
||||
private String liveNicename;
|
||||
@SerializedName("ct")
|
||||
private String ct;
|
||||
@SerializedName("guard_type")
|
||||
private String guardType;
|
||||
|
||||
public String getGuardType() {
|
||||
return guardType;
|
||||
}
|
||||
|
||||
public GuardMaturityDateRemindModel setGuardType(String guardType) {
|
||||
this.guardType = guardType;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getMethod() {
|
||||
return method;
|
||||
}
|
||||
|
||||
public void setMethod(String method) {
|
||||
this.method = method;
|
||||
}
|
||||
|
||||
public String getAction() {
|
||||
return action;
|
||||
}
|
||||
|
||||
public void setAction(String action) {
|
||||
this.action = action;
|
||||
}
|
||||
|
||||
public int getIsOverdue() {
|
||||
return isOverdue;
|
||||
}
|
||||
|
||||
public void setIsOverdue(int isOverdue) {
|
||||
this.isOverdue = isOverdue;
|
||||
}
|
||||
|
||||
public int getDays() {
|
||||
return days;
|
||||
}
|
||||
|
||||
public void setDays(int days) {
|
||||
this.days = days;
|
||||
}
|
||||
|
||||
public String getUid() {
|
||||
return uid;
|
||||
}
|
||||
|
||||
public void setUid(String uid) {
|
||||
this.uid = uid;
|
||||
}
|
||||
|
||||
public String getLiveuid() {
|
||||
return liveuid;
|
||||
}
|
||||
|
||||
public void setLiveuid(String liveuid) {
|
||||
this.liveuid = liveuid;
|
||||
}
|
||||
|
||||
public String getUserAvatar() {
|
||||
return userAvatar;
|
||||
}
|
||||
|
||||
public void setUserAvatar(String userAvatar) {
|
||||
this.userAvatar = userAvatar;
|
||||
}
|
||||
|
||||
public String getUserNicename() {
|
||||
return userNicename;
|
||||
}
|
||||
|
||||
public void setUserNicename(String userNicename) {
|
||||
this.userNicename = userNicename;
|
||||
}
|
||||
|
||||
public String getLiveAvatar() {
|
||||
return liveAvatar;
|
||||
}
|
||||
|
||||
public void setLiveAvatar(String liveAvatar) {
|
||||
this.liveAvatar = liveAvatar;
|
||||
}
|
||||
|
||||
public String getLiveNicename() {
|
||||
return liveNicename;
|
||||
}
|
||||
|
||||
public void setLiveNicename(String liveNicename) {
|
||||
this.liveNicename = liveNicename;
|
||||
}
|
||||
|
||||
public String getCt() {
|
||||
return ct;
|
||||
}
|
||||
|
||||
public void setCt(String ct) {
|
||||
this.ct = ct;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "GuardMaturityDateRemindModel{" +
|
||||
"method='" + method + '\'' +
|
||||
", action='" + action + '\'' +
|
||||
", isOverdue=" + isOverdue +
|
||||
", days=" + days +
|
||||
", uid='" + uid + '\'' +
|
||||
", liveuid='" + liveuid + '\'' +
|
||||
", userAvatar='" + userAvatar + '\'' +
|
||||
", userNicename='" + userNicename + '\'' +
|
||||
", liveAvatar='" + liveAvatar + '\'' +
|
||||
", liveNicename='" + liveNicename + '\'' +
|
||||
", ct='" + ct + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
@ -8,17 +8,6 @@ public class GuardModel extends BaseModel {
|
||||
private String type;
|
||||
@SerializedName("endtime")
|
||||
private String endtime;
|
||||
@SerializedName("guard_type")
|
||||
private String guardType;
|
||||
|
||||
public String getGuardType() {
|
||||
return guardType;
|
||||
}
|
||||
|
||||
public GuardModel setGuardType(String guardType) {
|
||||
this.guardType = guardType;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
|
@ -1,70 +0,0 @@
|
||||
package com.yunbao.common.bean;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class GuardPriceModel extends BaseModel {
|
||||
/**
|
||||
* {
|
||||
* "opening_time": "1個月", // 开通时长
|
||||
* "original_price": "188000", // 原价
|
||||
* "discount_price": "", // 折扣价
|
||||
* "discount": "", // 折扣
|
||||
* "price_key": 1
|
||||
* }
|
||||
*/
|
||||
@SerializedName("opening_time")
|
||||
private String openingTime;
|
||||
@SerializedName("original_price")
|
||||
private String originalPrice;
|
||||
@SerializedName("discount_price")
|
||||
private String discountPrice;
|
||||
@SerializedName("discount")
|
||||
private String discount;
|
||||
@SerializedName("price_key")
|
||||
private int priceKey;
|
||||
|
||||
public String getOpeningTime() {
|
||||
return openingTime;
|
||||
}
|
||||
|
||||
public GuardPriceModel setOpeningTime(String openingTime) {
|
||||
this.openingTime = openingTime;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getOriginalPrice() {
|
||||
return originalPrice;
|
||||
}
|
||||
|
||||
public GuardPriceModel setOriginalPrice(String originalPrice) {
|
||||
this.originalPrice = originalPrice;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDiscountPrice() {
|
||||
return discountPrice;
|
||||
}
|
||||
|
||||
public GuardPriceModel setDiscountPrice(String discountPrice) {
|
||||
this.discountPrice = discountPrice;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDiscount() {
|
||||
return discount;
|
||||
}
|
||||
|
||||
public GuardPriceModel setDiscount(String discount) {
|
||||
this.discount = discount;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getPriceKey() {
|
||||
return priceKey;
|
||||
}
|
||||
|
||||
public GuardPriceModel setPriceKey(int priceKey) {
|
||||
this.priceKey = priceKey;
|
||||
return this;
|
||||
}
|
||||
}
|
@ -1,142 +0,0 @@
|
||||
package com.yunbao.common.bean;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class GuardUserInfoModel extends BaseModel {
|
||||
/**
|
||||
* {
|
||||
* "user_info": { // 用户开通信息
|
||||
* "uid": "98888", // 用户ID
|
||||
* "user_avatar": "https://downs.yaoulive.com/mannine.png", // 用户头像链接
|
||||
* "liveuid": "98889", // 主播ID
|
||||
* "live_avatar": "https://ceshi.yaoulive.com/data/upload/20230522/20230526102906.png", // 主播头像链接
|
||||
* "guard_type": 1, // 守护类型
|
||||
* "exp": 0, // 经验值
|
||||
* "level": 1, // 等级
|
||||
* "endtime": 1710145929, // 到期时间
|
||||
* "user_language": "chinese", // 用户语言
|
||||
* "live_language": "chinese" // 主播语言
|
||||
* }
|
||||
*/
|
||||
@SerializedName("uid")
|
||||
private String uid;
|
||||
@SerializedName("user_avatar")
|
||||
private String userAvatar;
|
||||
@SerializedName("liveuid")
|
||||
private String liveuid;
|
||||
@SerializedName("live_avatar")
|
||||
private String liveAvatar;
|
||||
@SerializedName("guard_type")
|
||||
private int guardType;
|
||||
@SerializedName("exp")
|
||||
private String exp;
|
||||
@SerializedName("level")
|
||||
private String level;
|
||||
@SerializedName("endtime")
|
||||
private String endtime;
|
||||
@SerializedName("user_language")
|
||||
private String userLanguage;
|
||||
@SerializedName("live_language")
|
||||
private String liveLanguage;
|
||||
@SerializedName("is_open")
|
||||
private String isOpen;
|
||||
|
||||
public String getIsOpen() {
|
||||
return isOpen;
|
||||
}
|
||||
|
||||
public GuardUserInfoModel setIsOpen(String isOpen) {
|
||||
this.isOpen = isOpen;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUid() {
|
||||
return uid;
|
||||
}
|
||||
|
||||
public GuardUserInfoModel setUid(String uid) {
|
||||
this.uid = uid;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUserAvatar() {
|
||||
return userAvatar;
|
||||
}
|
||||
|
||||
public GuardUserInfoModel setUserAvatar(String userAvatar) {
|
||||
this.userAvatar = userAvatar;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getLiveuid() {
|
||||
return liveuid;
|
||||
}
|
||||
|
||||
public GuardUserInfoModel setLiveuid(String liveuid) {
|
||||
this.liveuid = liveuid;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getLiveAvatar() {
|
||||
return liveAvatar;
|
||||
}
|
||||
|
||||
public GuardUserInfoModel setLiveAvatar(String liveAvatar) {
|
||||
this.liveAvatar = liveAvatar;
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getGuardType() {
|
||||
return guardType;
|
||||
}
|
||||
|
||||
public GuardUserInfoModel setGuardType(int guardType) {
|
||||
this.guardType = guardType;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getExp() {
|
||||
return exp;
|
||||
}
|
||||
|
||||
public GuardUserInfoModel setExp(String exp) {
|
||||
this.exp = exp;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getLevel() {
|
||||
return level;
|
||||
}
|
||||
|
||||
public GuardUserInfoModel setLevel(String level) {
|
||||
this.level = level;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getEndtime() {
|
||||
return endtime;
|
||||
}
|
||||
|
||||
public GuardUserInfoModel setEndtime(String endtime) {
|
||||
this.endtime = endtime;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getUserLanguage() {
|
||||
return userLanguage;
|
||||
}
|
||||
|
||||
public GuardUserInfoModel setUserLanguage(String userLanguage) {
|
||||
this.userLanguage = userLanguage;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getLiveLanguage() {
|
||||
return liveLanguage;
|
||||
}
|
||||
|
||||
public GuardUserInfoModel setLiveLanguage(String liveLanguage) {
|
||||
this.liveLanguage = liveLanguage;
|
||||
return this;
|
||||
}
|
||||
}
|
@ -4,13 +4,13 @@ import java.util.List;
|
||||
|
||||
public class HomeUserExhibitInfoBean extends BaseModel {
|
||||
public UserHomeTopInfo userHomeTopInfo;
|
||||
public GiftAlreadyWall giftAlreadyWall;
|
||||
public List<GiftAlreadyWall> giftAlreadyWall;
|
||||
|
||||
public GiftAlreadyWall getGiftAlreadyWall() {
|
||||
public List<GiftAlreadyWall> getGiftAlreadyWall() {
|
||||
return giftAlreadyWall;
|
||||
}
|
||||
|
||||
public void setGiftAlreadyWall(GiftAlreadyWall giftAlreadyWall) {
|
||||
public void setGiftAlreadyWall(List<GiftAlreadyWall> giftAlreadyWall) {
|
||||
this.giftAlreadyWall = giftAlreadyWall;
|
||||
}
|
||||
|
||||
@ -22,26 +22,9 @@ public class HomeUserExhibitInfoBean extends BaseModel {
|
||||
this.userHomeTopInfo = userHomeTopInfo;
|
||||
}
|
||||
|
||||
|
||||
public class UserHomeTopInfo {
|
||||
public Fans fans;
|
||||
public List<Guard> guard;
|
||||
public List<Dress> dress;
|
||||
|
||||
public List<Guard> getGuard() {
|
||||
return guard;
|
||||
}
|
||||
|
||||
public void setGuard(List<Guard> guard) {
|
||||
this.guard = guard;
|
||||
}
|
||||
|
||||
public List<Dress> getDress() {
|
||||
return dress;
|
||||
}
|
||||
|
||||
public void setDress(List<Dress> dress) {
|
||||
this.dress = dress;
|
||||
}
|
||||
Fans fans;
|
||||
|
||||
public Fans getFans() {
|
||||
return fans;
|
||||
@ -109,6 +92,7 @@ public class HomeUserExhibitInfoBean extends BaseModel {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class GiftAlreadyWall {
|
||||
private String gift_wall_lighten_number;
|
||||
private String gift_wall_lighten_total;
|
||||
|
@ -1,7 +1,5 @@
|
||||
package com.yunbao.common.bean;
|
||||
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class HomeUserInfoBean extends BaseModel {
|
||||
@ -47,53 +45,6 @@ public class HomeUserInfoBean extends BaseModel {
|
||||
private List<String> cn_label;
|
||||
private List<String> en_label;
|
||||
|
||||
private String age;
|
||||
private String height;
|
||||
private String career;
|
||||
private String en_career;
|
||||
|
||||
private String rong_online;
|
||||
|
||||
public String getRong_online() {
|
||||
return rong_online;
|
||||
}
|
||||
|
||||
public void setRong_online(String rong_online) {
|
||||
this.rong_online = rong_online;
|
||||
}
|
||||
|
||||
public String getAge() {
|
||||
return age;
|
||||
}
|
||||
|
||||
public void setAge(String age) {
|
||||
this.age = age;
|
||||
}
|
||||
|
||||
public String getHeight() {
|
||||
return height;
|
||||
}
|
||||
|
||||
public void setHeight(String height) {
|
||||
this.height = height;
|
||||
}
|
||||
|
||||
public String getCareer() {
|
||||
return career;
|
||||
}
|
||||
|
||||
public void setCareer(String career) {
|
||||
this.career = career;
|
||||
}
|
||||
|
||||
public String getEn_career() {
|
||||
return en_career;
|
||||
}
|
||||
|
||||
public void setEn_career(String en_career) {
|
||||
this.en_career = en_career;
|
||||
}
|
||||
|
||||
public List<String> getCn_label() {
|
||||
return cn_label;
|
||||
}
|
||||
|
@ -256,9 +256,7 @@ public class IMLoginModel extends BaseModel {
|
||||
@SerializedName("guard_type")
|
||||
private String guardType = "";
|
||||
@SerializedName("isAttention")
|
||||
private int attention;//1被关注 2已关注 3互关 0没关系
|
||||
@SerializedName("type")
|
||||
private String type;
|
||||
private int attention;
|
||||
|
||||
public int getAttention() {
|
||||
return attention;
|
||||
@ -272,14 +270,6 @@ public class IMLoginModel extends BaseModel {
|
||||
return createTime;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public IMLoginModel setCreateTime(String createTime) {
|
||||
this.createTime = createTime;
|
||||
return this;
|
||||
|
@ -56,18 +56,6 @@ public class LiveBean implements Parcelable {
|
||||
private int redPacketStatus;
|
||||
@SerializedName("giftId")
|
||||
private String giftId;
|
||||
@SerializedName("sendMoneyLongStatus ")
|
||||
private int sendMoneyLongStatus ;
|
||||
|
||||
public int getSendMoneyLongStatus() {
|
||||
return sendMoneyLongStatus;
|
||||
}
|
||||
|
||||
public LiveBean setSendMoneyLongStatus(int sendMoneyLongStatus) {
|
||||
this.sendMoneyLongStatus = sendMoneyLongStatus;
|
||||
return this;
|
||||
}
|
||||
|
||||
private Map<String,String> params;//用于跳转Activity时扩展参数,例:从首页Banner跳转到直播间时需要根据携带参数判断是否弹出新人特惠对话框
|
||||
|
||||
public String getRecommendCardIconSizeTwo() {
|
||||
|
@ -43,14 +43,4 @@ public class MessageSayHiBean extends BaseModel{
|
||||
public void setStatus(int status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "MessageSayHiBean{" +
|
||||
"user=" + user +
|
||||
", model='" + model + '\'' +
|
||||
", nextTime=" + nextTime +
|
||||
", status=" + status +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ import com.google.gson.annotations.SerializedName;
|
||||
public class MessageSayHiStartBean extends BaseModel{
|
||||
@SerializedName("time")
|
||||
private int nextTime;
|
||||
private int status;
|
||||
|
||||
public int getNextTime() {
|
||||
return nextTime;
|
||||
}
|
||||
@ -13,20 +13,4 @@ public class MessageSayHiStartBean extends BaseModel{
|
||||
public void setNextTime(int nextTime) {
|
||||
this.nextTime = nextTime;
|
||||
}
|
||||
|
||||
public int getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(int status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "MessageSayHiStartBean{" +
|
||||
"nextTime=" + nextTime +
|
||||
", status=" + status +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
@ -14,19 +14,9 @@ public class MessageUserInfoBean extends BaseModel{
|
||||
@SerializedName("msg")
|
||||
String sayHiMsg;
|
||||
|
||||
int id=-1;
|
||||
|
||||
int status; //0 需要跳转到 编辑资料页面
|
||||
String extras;
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getExtras() {
|
||||
return extras;
|
||||
}
|
||||
@ -113,22 +103,12 @@ public class MessageUserInfoBean extends BaseModel{
|
||||
private int is_hello;
|
||||
private String star_name;
|
||||
private String career;
|
||||
@SerializedName("en_career")
|
||||
private String enCareer;
|
||||
private String height;
|
||||
private String age;
|
||||
@SerializedName("open_off")
|
||||
private int openOff;//接单设置 1开启 2关闭
|
||||
@SerializedName("rong_online")
|
||||
private int rongOnline;//0 在线 非0 其他
|
||||
|
||||
public String getEnCareer() {
|
||||
return enCareer;
|
||||
}
|
||||
|
||||
public void setEnCareer(String enCareer) {
|
||||
this.enCareer = enCareer;
|
||||
}
|
||||
private int rongOnline;
|
||||
|
||||
public void setOpenOff(int openOff) {
|
||||
this.openOff = openOff;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user