Commit 203477ec by zhengnw@sobot.com

Merge remote-tracking branch 'origin/sobot_module_x' into sobot_module_x

parents 25d73387 cac33bbe
......@@ -21,8 +21,8 @@ dependencies {
compileOnly 'androidx.appcompat:appcompat:1.1.0'
compileOnly 'androidx.recyclerview:recyclerview:1.0.0'
compileOnly 'com.google.android.material:material:1.4.0'
api 'com.sobot.library:widget_x:1.2.7'
api 'com.sobot.library:sobotcommon_x:1.7.7.3'
api 'com.sobot.library:widget_x:1.3.0'
api 'com.sobot.library:sobotcommon_x:2.2.0'
}
......
......@@ -12,7 +12,7 @@ task androidSourcesJar(type: Jar) {
ext {
PUBLISH_GROUP_ID = "com.sobot.library" //项目包名
PUBLISH_ARTIFACT_ID = 'album' //项目名
PUBLISH_VERSION = '1.0.4.5' //版本号
PUBLISH_VERSION = '1.1.0' //版本号
}
......
......@@ -83,10 +83,10 @@ public class AlbumActivity extends SobotBaseActivity implements
@Override
protected void onCreate(Bundle savedInstanceState) {
changeAppLanguage();
initializeArgument();
limitText=getResources().getQuantityString(R.plurals.album_check_image_limit, mLimitCount, mLimitCount);
super.onCreate(savedInstanceState);
limitText= getResources().getText(R.string.album_check_album_limit).toString();
limitText = String.format(limitText, 15);
}
......@@ -245,22 +245,23 @@ public class AlbumActivity extends SobotBaseActivity implements
int messageRes;
switch (mFunction) {
case SobotAlbum.FUNCTION_CHOICE_IMAGE: {
messageRes = R.plurals.album_check_image_limit_camera;
messageRes = R.string.album_check_image_limit_camera;
break;
}
case SobotAlbum.FUNCTION_CHOICE_VIDEO: {
messageRes = R.plurals.album_check_video_limit_camera;
messageRes = R.string.album_check_video_limit_camera;
break;
}
case SobotAlbum.FUNCTION_CHOICE_ALBUM: {
messageRes = R.plurals.album_check_album_limit_camera;
messageRes = R.string.album_check_album_limit_camera;
break;
}
default: {
throw new AssertionError("This should not be the case.");
}
}
mView.toast(getResources().getQuantityString(messageRes, mLimitCount, mLimitCount));
String text = getResources().getText(messageRes).toString();
mView.toast(String.format(text, mLimitCount));
} else {
switch (mFunction) {
case SobotAlbum.FUNCTION_CHOICE_IMAGE: {
......@@ -406,24 +407,6 @@ public class AlbumActivity extends SobotBaseActivity implements
AlbumFile albumFile = mAlbumFolders.get(mCurrentFolder).getAlbumFiles().get(position);
if (button.isChecked()) {
if (mCheckedList.size() >= mLimitCount) {
int messageRes;
switch (mFunction) {
case SobotAlbum.FUNCTION_CHOICE_IMAGE: {
messageRes = R.plurals.album_check_image_limit;
break;
}
case SobotAlbum.FUNCTION_CHOICE_VIDEO: {
messageRes = R.plurals.album_check_video_limit;
break;
}
case SobotAlbum.FUNCTION_CHOICE_ALBUM: {
messageRes = R.plurals.album_check_album_limit;
break;
}
default: {
throw new AssertionError("This should not be the case.");
}
}
mView.toast(limitText);
button.setChecked(false);
} else {
......
......@@ -108,12 +108,12 @@ public class GalleryActivity extends SobotBaseActivity implements Contract.Galle
mView.setChecked(albumFile.isChecked());
mView.setLayerDisplay(albumFile.isDisable());
if (albumFile.getMediaType() == AlbumFile.TYPE_VIDEO) {
mView.setDuration(AlbumUtils.convertDuration(albumFile.getDuration()));
mView.setDurationDisplay(true);
} else {
mView.setDurationDisplay(false);
}
// if (albumFile.getMediaType() == AlbumFile.TYPE_VIDEO) {
// mView.setDuration(AlbumUtils.convertDuration(albumFile.getDuration()));
// mView.setDurationDisplay(true);
// } else {
// mView.setDurationDisplay(false);
// }
}
@Override
......@@ -128,22 +128,23 @@ public class GalleryActivity extends SobotBaseActivity implements Contract.Galle
int messageRes;
switch (mFunction) {
case SobotAlbum.FUNCTION_CHOICE_IMAGE: {
messageRes = R.plurals.album_check_image_limit;
messageRes = R.string.album_check_image_limit;
break;
}
case SobotAlbum.FUNCTION_CHOICE_VIDEO: {
messageRes = R.plurals.album_check_video_limit;
messageRes = R.string.album_check_video_limit;
break;
}
case SobotAlbum.FUNCTION_CHOICE_ALBUM: {
messageRes = R.plurals.album_check_album_limit;
messageRes = R.string.album_check_album_limit;
break;
}
default: {
throw new AssertionError("This should not be the case.");
}
}
mView.toast(getResources().getQuantityString(messageRes, mAllowSelectCount, mAllowSelectCount));
String text = getResources().getText(messageRes).toString();
mView.toast(String.format(text, mAllowSelectCount));
mView.setChecked(false);
} else if(albumFile.getSize()>= 50 * 1024 * 1024){
mView.toast(getResources().getString(R.string.sobot_pic_siza_xiaoyu) );
......
......@@ -112,14 +112,15 @@ public class GalleryAlbumActivity extends SobotAlbumBaseActivity implements Cont
if (mCheckable) mView.setChecked(albumFile.isChecked());
mView.setLayerDisplay(albumFile.isDisable());
if (albumFile.getMediaType() == AlbumFile.TYPE_VIDEO) {
if (!mCheckable) mView.setBottomDisplay(true);
mView.setDuration(AlbumUtils.convertDuration(albumFile.getDuration()));
mView.setDurationDisplay(true);
} else {
if (!mCheckable) mView.setBottomDisplay(false);
mView.setDurationDisplay(false);
}
//多语言显示不下,不显示视频秒数
// if (albumFile.getMediaType() == AlbumFile.TYPE_VIDEO) {
// if (!mCheckable) mView.setBottomDisplay(true);
// mView.setDuration(AlbumUtils.convertDuration(albumFile.getDuration()));
// mView.setDurationDisplay(true);
// } else {
// if (!mCheckable) mView.setBottomDisplay(false);
// mView.setDurationDisplay(false);
// }
}
@Override
......
......@@ -154,6 +154,9 @@
android:paddingTop="5dp"
android:paddingRight="10dp"
android:paddingBottom="5dp"
android:autoSizeTextType="uniform"
android:autoSizeMaxTextSize="16sp"
android:autoSizeMinTextSize="9sp"
android:text="@string/sobot_add_photos"
android:textColor="@color/sobot_wo_white_color"
android:textSize="16sp" />
......
......@@ -49,35 +49,12 @@
<string name="album_permission_camera_image_failed_hint">No Camera permission or Storage permission, please authorize before use.</string>
<string name="album_permission_camera_video_failed_hint">No Camera permission, Storage permission or Microphone permission, please authorize it before use.</string>
<plurals name="album_check_image_limit">
<item quantity="one">You can only select %1$d image item.</item>
<item quantity="other">You can only select %1$d image items.</item>
</plurals>
<plurals name="album_check_image_limit_camera">
<item quantity="one">You can only select %1$d image item, can\'t use camera.</item>
<item quantity="other">You can only select %1$d image items, can\'t use camera.</item>
</plurals>
<plurals name="album_check_video_limit">
<item quantity="one">You can only select %1$d video.</item>
<item quantity="other">You can only select %1$d videos.</item>
</plurals>
<plurals name="album_check_video_limit_camera">
<item quantity="one">You can only select %1$d video item, can\'t use camera.</item>
<item quantity="other">You can only select %1$d video items, can\'t use camera.</item>
</plurals>
<plurals name="album_check_album_limit">
<item quantity="one">You can only select %1$d media item.</item>
<item quantity="other">You can only select %1$d media items.</item>
</plurals>
<plurals name="album_check_album_limit_camera">
<item quantity="one">You can only select %1$d media item, can\'t use camera.</item>
<item quantity="other">You can only select %1$d media items, can\'t use camera.</item>
</plurals>
<string name="album_check_image_limit">You can only select %s image item.</string>
<string name="album_check_image_limit_camera">You can only select %s image item, can\'t use camera.</string>
<string name="album_check_album_limit_camera">You can only select %s media item, can\'t use camera.</string>
<string name="album_check_video_limit_camera">You can only select %s video item, can\'t use camera.</string>
<string name="album_check_video_limit">You can only select %s video.</string>
<string name="album_check_album_limit">You can only select %s media item.</string>
<string name="album_item_unavailable">Unavailable</string>
<string name="album_take_file_unavailable">Unavailable file, please try again.</string>
......
......@@ -47,35 +47,13 @@
<string name="album_permission_storage_failed_hint">没有存储权限,请在使用前进行授权</string>
<string name="album_permission_camera_image_failed_hint">没有相机权限或存储权限,请在使用前进行授权</string>
<string name="album_permission_camera_video_failed_hint">没有相机权限、存储权限或麦克风权限,请在使用前进行授权</string>
<plurals name="album_check_image_limit">
<item quantity="one">最多可选择 %1$d 张照片</item>
<item quantity="other">最多可选择 %1$d 张照片</item>
</plurals>
<string name="album_check_image_limit">最多可选择 %s 张照片</string>
<string name="album_check_image_limit_camera">您只能选择 %s 个图片,不能使用相机。</string>
<string name="album_check_album_limit_camera">您只能选择 %s个媒体项目,不能使用相机</string>
<string name="album_check_video_limit_camera">您只能选择 %s 个视频,不能使用相机。</string>
<string name="album_check_video_limit">您只能选择 %s 个视频。</string>
<string name="album_check_album_limit">最多可选择 %s 张照片</string>
<plurals name="album_check_image_limit_camera">
<item quantity="one">您只能选择 %1$d 个图片,不能使用相机。</item>
<item quantity="other">您只能选择 %1$d 个图片,不能使用相机。</item>
</plurals>
<plurals name="album_check_video_limit">
<item quantity="one">您只能选择 %1$d 个视频。</item>
<item quantity="other">您只能选择 %1$d 个视频。</item>
</plurals>
<plurals name="album_check_video_limit_camera">
<item quantity="one">您只能选择 %1$d 个视频,不能使用相机。</item>
<item quantity="other">您只能选择 %1$d 个视频,不能使用相机。</item>
</plurals>
<plurals name="album_check_album_limit">
<item quantity="one">最多可选择 %1$d 张照片</item>
<item quantity="other">最多可选择 %1$d 张照片</item>
</plurals>
<plurals name="album_check_album_limit_camera">
<item quantity="one">您只能选择%1$d个媒体项目,不能使用相机</item>
<item quantity="other">您只能选择%1$d个媒体项目,不能使用相机</item>
</plurals>
<string name="album_item_unavailable">不可用</string>
<string name="album_take_file_unavailable">文件不可用,请重试</string>
<string name="btn_function_camera">相机</string>
......
......@@ -12,7 +12,7 @@ task androidSourcesJar(type: Jar) {
ext {
PUBLISH_GROUP_ID = "com.sobot.library" //项目包名
PUBLISH_ARTIFACT_ID = 'sobotcommon_x' //项目名
PUBLISH_VERSION = '2.1.0' //版本号
PUBLISH_VERSION = '2.2.0' //版本号
}
......
......@@ -52,7 +52,7 @@ public class SobotLoginTools {
private SobotServiceInfoModel mServiceInfoModel;
private String lang= "";
private String lang = "";
public SobotServiceInfoModel getServiceInfo() {
if (mServiceInfoModel == null) {
......@@ -60,14 +60,15 @@ public class SobotLoginTools {
}
return mServiceInfoModel;
}
public String getServicLang(){
if(lang!=null && TextUtils.isEmpty(lang)) {
public String getServicLang() {
if (lang != null && TextUtils.isEmpty(lang)) {
SobotServiceInfoModel infoModel = getServiceInfo();
if (infoModel != null) {
lang = infoModel.getServiceWorkbenchLang();
}
}
if(lang ==null || TextUtils.isEmpty(lang)){
if (lang == null || TextUtils.isEmpty(lang)) {
lang = "zh";
}
return lang;
......@@ -88,12 +89,12 @@ public class SobotLoginTools {
public void setServiceInfo(SobotServiceInfoModel newServiceInfo) {
ServiceInfoManager.getInstance().deleteAll();
lang = "";
mServiceInfoModel = newServiceInfo;
if (mServiceInfoModel != null) {
lang = mServiceInfoModel.getServiceWorkbenchLang();
ServiceInfoManager.getInstance().insert(mServiceInfoModel);
} else {
lang = "";
ServiceInfoManager.getInstance().deleteAll();
}
}
......@@ -190,6 +191,7 @@ public class SobotLoginTools {
public void clearLoginInfo(boolean isClearHost) {
ServiceInfoManager.getInstance().deleteAll();
mServiceInfoModel = null;
lang = null;
if (isClearHost) {
HostManager.getInstance().deleteAll();
}
......@@ -428,7 +430,8 @@ public class SobotLoginTools {
}
});
}
public void requestLanguage(String host,String token, String language ){
public void requestLanguage(String host, String token, String language) {
Map<String, Object> tokebMap = new HashMap<>();
String nowMills = System.currentTimeMillis() + "";
tokebMap.put("create_time", nowMills);
......@@ -440,7 +443,7 @@ public void requestLanguage(String host,String token, String language ){
Map<String, String> headerMap = new HashMap<>();
if (!SobotStringUtils.isEmpty(token)) {
headerMap.put("temp-id", token);
headerMap.put("authorization","Bearer "+ token);
headerMap.put("authorization", "Bearer " + token);
}
if (!SobotStringUtils.isEmpty(language)) {
headerMap.put("language", language);
......@@ -463,7 +466,8 @@ public void requestLanguage(String host,String token, String language ){
}
});
}
}
/**
* 执行登录操作
* 1、通过账号密码登录获取token;2、根据token获取客服角色权限等信息;3、如果是呼叫V6或者电销,先获取AccessToken;4、再根据客服app或者客服SDK登录同时又买了在线产品判断是否执行在线操作逻辑
......@@ -579,7 +583,7 @@ public void requestLanguage(String host,String token, String language ){
params.put("loginUser", loginAcount);
Map<String, String> headerParams = new HashMap<>();
headerParams.put("temp-id", getToken());
headerParams.put("authorization","Bearer "+ getToken());
headerParams.put("authorization", "Bearer " + getToken());
headerParams.put("from", "2");
SobotHttpUtils.doPost(cancelTag, host + "/basic-login/serviceLogOut/4", 8000, params, headerParams, new HttpBaseUtils.StringCallBack() {
@Override
......@@ -627,7 +631,7 @@ public void requestLanguage(String host,String token, String language ){
Map<String, String> headerMap = new HashMap<>();
if (!SobotStringUtils.isEmpty(token)) {
headerMap.put("temp-id", token);
headerMap.put("authorization","Bearer "+ token);
headerMap.put("authorization", "Bearer " + token);
}
if (!SobotStringUtils.isEmpty(language)) {
headerMap.put("language", language);
......
......@@ -83,7 +83,7 @@ public class ServiceInfoManager extends SobotCommonDao<SobotServiceInfoModel> {
model.setServiceId(cursor.getString(cursor.getColumnIndex("serviceId")));
model.setServiceNo(cursor.getString(cursor.getColumnIndex("serviceNo")));
model.setServiceName(cursor.getString(cursor.getColumnIndex("serviceName")));
model.setServiceLanguage(cursor.getString(cursor.getColumnIndex("serviceLanguage")));
model.setServiceWorkbenchLang(cursor.getString(cursor.getColumnIndex("serviceLanguage")));
model.setNewBossSwitch(cursor.getInt(cursor.getColumnIndex("newBossSwitch")));
model.setRegion(cursor.getInt(cursor.getColumnIndex("region")));
model.setTimezone(cursor.getString(cursor.getColumnIndex("timezone")));
......@@ -137,7 +137,7 @@ public class ServiceInfoManager extends SobotCommonDao<SobotServiceInfoModel> {
contentValues.put("serviceId", infoModel.getServiceId());
contentValues.put("serviceNo", infoModel.getServiceNo());
contentValues.put("serviceName", infoModel.getServiceName());
contentValues.put("serviceLanguage", infoModel.getServiceLanguage());
contentValues.put("serviceLanguage", infoModel.getServiceWorkbenchLang());
contentValues.put("newBossSwitch", infoModel.getNewBossSwitch());
contentValues.put("region", infoModel.getRegion());
contentValues.put("timezone", infoModel.getTimezone());
......
......@@ -5,7 +5,6 @@ import com.sobot.gson.annotations.SerializedName;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
/**
* 登录后的客服信息
......@@ -42,7 +41,6 @@ public class SobotServiceInfoModel implements Serializable {
*/
private List<ServiceFunctionVoModel> functionStr;
private String serviceLanguage;
//区域环境(0国内 1国外)
private int region;
......@@ -397,13 +395,6 @@ public class SobotServiceInfoModel implements Serializable {
this.newBossSwitch = newBossSwitch;
}
public String getServiceLanguage() {
return serviceLanguage;
}
public void setServiceLanguage(String serviceLanguage) {
this.serviceLanguage = serviceLanguage;
}
public int getRegion() {
return region;
......
......@@ -212,6 +212,8 @@ public class SobotPermissionManager {
public static final String CCCV6_WHRW_RWXXBJ = "cccv6-whrw-rwxxbj";
// 任务总结-编辑
public static final String CCCV6_WHRW_RWZJBJ = "cccv6-whrw-rwzjbj";
// 拨号盘-权限
public static final String CCCV6_DHT_BHP = "app-cccv6-dht-bhp";
//-----------------------------------电销权限----------------------------------------
//电销
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment