Merge branch 'dev_聊天' into dev_改版主分支

# Conflicts:
#	common/src/main/java/com/yunbao/common/http/PDLiveApi.java
#	common/src/main/java/com/yunbao/common/http/live/LiveNetManager.java
This commit is contained in:
2024-03-20 16:21:24 +08:00
74 changed files with 2574 additions and 992 deletions

View File

@@ -0,0 +1,76 @@
package com.yunbao.common.bean;
import com.google.gson.annotations.SerializedName;
import java.util.List;
public class CareerBean extends BaseModel {
int id;
int pid;
@SerializedName("cn_title")
String titleCn;
@SerializedName("en_title")
String titleEn;
@SerializedName("create_time")
long createTime;
@SerializedName("uplong_time")
long uplongTime;
@SerializedName("children")
List<CareerBean> children;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public String getTitleCn() {
return titleCn;
}
public void setTitleCn(String titleCn) {
this.titleCn = titleCn;
}
public String getTitleEn() {
return titleEn;
}
public void setTitleEn(String titleEn) {
this.titleEn = titleEn;
}
public long getCreateTime() {
return createTime;
}
public void setCreateTime(long createTime) {
this.createTime = createTime;
}
public long getUplongTime() {
return uplongTime;
}
public void setUplongTime(long uplongTime) {
this.uplongTime = uplongTime;
}
public List<CareerBean> getChildren() {
return children;
}
public void setChildren(List<CareerBean> children) {
this.children = children;
}
}

View File

@@ -0,0 +1,16 @@
package com.yunbao.common.bean;
import com.google.gson.annotations.SerializedName;
public class FirstLoginBean extends BaseModel{
@SerializedName("status")
int status;//0是第一次登陸1是已經登錄過的
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
}

View File

@@ -8,7 +8,7 @@ import java.util.List;
public class MessageUserInfoBean extends BaseModel{
IMLoginModel user;
UserInfo info;
UserLevel level;
//UserLevel level;
@SerializedName("gift_num")
int giftNum;
@SerializedName("msg")
@@ -60,13 +60,13 @@ public class MessageUserInfoBean extends BaseModel{
this.info = info;
}
public UserLevel getLevel() {
/*public UserLevel getLevel() {
return level;
}
public void setLevel(UserLevel level) {
this.level = level;
}
}*/
public int getGiftNum() {
return giftNum;
@@ -107,6 +107,20 @@ public class MessageUserInfoBean extends BaseModel{
private String age;
@SerializedName("open_off")
private int openOff;//接单设置 1开启 2关闭
@SerializedName("rong_online")
private int rongOnline;
public void setOpenOff(int openOff) {
this.openOff = openOff;
}
public int getRongOnline() {
return rongOnline;
}
public void setRongOnline(int rongOnline) {
this.rongOnline = rongOnline;
}
public int getOpenOff() {
return openOff;

View File

@@ -11,6 +11,7 @@ import com.yunbao.common.bean.BattlePassPoints;
import com.yunbao.common.bean.BattlePassTask;
import com.yunbao.common.bean.BattlePassUserInfoBean;
import com.yunbao.common.bean.BlindBoxInfoModel;
import com.yunbao.common.bean.CareerBean;
import com.yunbao.common.bean.CheckLiveModel;
import com.yunbao.common.bean.CheckRemainingBalance;
import com.yunbao.common.bean.ContributeModel;
@@ -23,6 +24,7 @@ import com.yunbao.common.bean.FaceBookUpModel;
import com.yunbao.common.bean.FansCheckRed;
import com.yunbao.common.bean.FansGroupGiftPack;
import com.yunbao.common.bean.FansGroupGiftPackInfo;
import com.yunbao.common.bean.FirstLoginBean;
import com.yunbao.common.bean.GiftAlreadyWallModel;
import com.yunbao.common.bean.GiftGuideModel;
import com.yunbao.common.bean.GiftNamingInfoModel;
@@ -1196,7 +1198,6 @@ public interface PDLiveApi {
@GET("/api/public/?service=Userhome.getUserHomeBanner")
Observable<ResponseModel<List<String>>> getUserHomeBanner(@Query("select_uid") String tuid);
@GET("/api/public/?service=Pdlinfos.getIsAnchor")
Observable<ResponseModel<MessageChatIsAnchor>> getIsAnchor();
@@ -1273,4 +1274,27 @@ public interface PDLiveApi {
@GET("/api/public/?service=Pdlcommunity.getDynamicInfo")
Observable<ResponseModel<ActiveBean>> getDynamicInfo(@Query("dynamic_id") String dynamic_id);
@GET("/api/public/?service=Pdlinfos.getCareer")
Observable<ResponseModel<List<CareerBean>>> getCareer();
@GET("/api/public/?service=Pdlinfos.setCareer")
Observable<ResponseModel<List<BaseModel>>> setCareer(
@Query("career") String career,
@Query("en_career") String en
);
@GET("/api/public/?service=Pdlinfos.setHeight")
Observable<ResponseModel<List<BaseModel>>> setUserHeight(
@Query("height") String height
);
@GET("/api/public/?service=Pdllable.get")
Observable<ResponseModel<List<CareerBean>>> getHobby();
@GET("/api/public/?service=Pdlinfos.setLabel")
Observable<ResponseModel<List<BaseModel>>> setHobby(
@Query("labels") String labelsId
);
@GET("/api/public/?service=Pdlinfos.getIsSet")
Observable<ResponseModel<FirstLoginBean>> isFirstLogin(
);
}

View File

@@ -16,6 +16,7 @@ import com.yunbao.common.bean.BattlePassPoints;
import com.yunbao.common.bean.BattlePassTask;
import com.yunbao.common.bean.BattlePassUserInfoBean;
import com.yunbao.common.bean.BlindBoxInfoModel;
import com.yunbao.common.bean.CareerBean;
import com.yunbao.common.bean.CheckLiveModel;
import com.yunbao.common.bean.CheckRemainingBalance;
import com.yunbao.common.bean.CoolConfig;
@@ -26,6 +27,7 @@ import com.yunbao.common.bean.EnterRoomNewModel;
import com.yunbao.common.bean.FansCheckRed;
import com.yunbao.common.bean.FansGroupGiftPack;
import com.yunbao.common.bean.FansGroupGiftPackInfo;
import com.yunbao.common.bean.FirstLoginBean;
import com.yunbao.common.bean.GiftAlreadyWallModel;
import com.yunbao.common.bean.GiftGuideModel;
import com.yunbao.common.bean.GiftNamingInfoModel;
@@ -3406,6 +3408,120 @@ public class LiveNetManager {
}).isDisposed();
}
public void getCareer(HttpCallback<List<CareerBean>> callback) {
API.get().pdLiveApi(mContext)
.getCareer()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(roomMicStatusModelResponseModel -> {
if (callback != null) {
callback.onSuccess(roomMicStatusModelResponseModel.getData().getInfo());
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
throwable.printStackTrace();
if (callback != null) {
callback.onError(mContext.getString(R.string.net_error));
}
}
}).isDisposed();
}
public void setCareer(String career,String careerEn, HttpCallback<HttpCallbackModel> callback) {
API.get().pdLiveApi(mContext)
.setCareer(career,careerEn)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(listResponseModel -> {
if (callback != null) {
callback.onSuccess(new HttpCallbackModel(listResponseModel.getData().getCode(), listResponseModel.getData().getMsg()));
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
throwable.printStackTrace();
if (callback != null) {
callback.onError(mContext.getString(R.string.net_error));
}
}
}).isDisposed();
}
public void setUserHeight(String height, HttpCallback<HttpCallbackModel> callback) {
API.get().pdLiveApi(mContext)
.setUserHeight(height)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(listResponseModel -> {
if (callback != null) {
callback.onSuccess(new HttpCallbackModel(listResponseModel.getData().getCode(), listResponseModel.getData().getMsg()));
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
throwable.printStackTrace();
if (callback != null) {
callback.onError(mContext.getString(R.string.net_error));
}
}
}).isDisposed();
}
public void getHobby(HttpCallback<List<CareerBean>> callback) {
API.get().pdLiveApi(mContext)
.getHobby()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(roomMicStatusModelResponseModel -> {
if (callback != null) {
callback.onSuccess(roomMicStatusModelResponseModel.getData().getInfo());
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
throwable.printStackTrace();
if (callback != null) {
callback.onError(mContext.getString(R.string.net_error));
}
}
}).isDisposed();
}
public void setHobby(String ids, HttpCallback<HttpCallbackModel> callback) {
API.get().pdLiveApi(mContext)
.setHobby(ids)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(listResponseModel -> {
if (callback != null) {
callback.onSuccess(new HttpCallbackModel(listResponseModel.getData().getCode(), listResponseModel.getData().getMsg()));
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
throwable.printStackTrace();
if (callback != null) {
callback.onError(mContext.getString(R.string.net_error));
}
}
}).isDisposed();
}
public void isFirstLogin(HttpCallback<FirstLoginBean> callback) {
API.get().pdLiveApi(mContext)
.isFirstLogin()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(roomMicStatusModelResponseModel -> {
if (callback != null) {
callback.onSuccess(roomMicStatusModelResponseModel.getData().getInfo());
}
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
throwable.printStackTrace();
if (callback != null) {
callback.onError(mContext.getString(R.string.net_error));
}
}
}).isDisposed();
}
private MultipartBody.Part createUploadFile(File file) {
RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
return MultipartBody.Part.createFormData("file", file.getName(), requestBody);

View File

@@ -6,6 +6,7 @@ import android.os.Parcelable;
import androidx.annotation.NonNull;
import com.yunbao.common.interfaces.OnSendMessageListener;
import com.yunbao.common.utils.ToastUtil;
import org.json.JSONException;
import org.json.JSONObject;
@@ -14,6 +15,7 @@ import java.io.UnsupportedEncodingException;
import io.rong.common.ParcelUtils;
import io.rong.imkit.IMCenter;
import io.rong.imlib.IRongCallback;
import io.rong.imlib.MessageTag;
import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Conversation;
@@ -31,20 +33,29 @@ public class MessageChatCardContent extends MessageContent implements Parcelable
private String extraData;
public static <T> void sendMessage(Conversation.ConversationType type, String targetId, MessageChatCardContent tipsContent, OnSendMessageListener<T> listener) {
IMCenter.getInstance().insertOutgoingMessage(type, targetId, Message.SentStatus.SENT, tipsContent, System.currentTimeMillis(), new RongIMClient.ResultCallback<Message>() {
ToastUtil.show("发送给:"+targetId);
Message message=Message.obtain(targetId, type,tipsContent);
IMCenter.getInstance().sendMessage(message,null,null,new IRongCallback.ISendMessageCallback(){
@Override
public void onAttached(Message message) {
}
@Override
public void onSuccess(Message message) {
ToastUtil.show("发送成功");
if (listener != null) {
listener.onSuccess(null, null);
}
}
@Override
public void onError(RongIMClient.ErrorCode e) {
public void onError(Message message, RongIMClient.ErrorCode e) {
ToastUtil.show("发送失败:"+e.getMessage());
if (listener != null) {
listener.onError(e.code, e.msg);
}
}
});
}

View File

@@ -4,9 +4,19 @@ import android.content.Context;
import android.text.Spannable;
import android.view.ViewGroup;
import com.alibaba.fastjson.JSON;
import com.yunbao.common.R;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.LiveHttpUtil;
import com.yunbao.common.message.content.MessageChatCardContent;
import com.yunbao.common.message.content.MessageChatTipsContent;
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import com.yunbao.common.utils.MicStatusManager;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.StringUtil;
import org.greenrobot.eventbus.EventBus;
import java.util.List;
@@ -21,34 +31,74 @@ public class MessageChatCardItemProvider extends BaseMessageItemProvider<Message
public MessageChatCardItemProvider(Context mContext) {
this.mContext = mContext;
mConfig.showPortrait = false;
mConfig.showSummaryWithName = false;
mConfig.showPortrait = true;
mConfig.showSummaryWithName = true;
mConfig.showContentBubble = false;
mConfig.centerInHorizontal = true;
mConfig.centerInHorizontal = false;
}
@Override
protected ViewHolder onCreateMessageContentViewHolder(ViewGroup parent, int viewType) {
return ViewHolder.createViewHolder(mContext, parent, R.layout.view_message_chat_tip);
return ViewHolder.createViewHolder(mContext, parent, R.layout.view_message_chat_card);
}
@Override
protected void bindMessageContentViewHolder(ViewHolder holder, ViewHolder parentHolder, MessageChatCardContent content, UiMessage uiMessage, int position, List<UiMessage> list, IViewProviderListener<UiMessage> listener) {
holder.setText(R.id.tips, content.getAvatar());
holder.setText(R.id.user_name, content.getUserName());
holder.setText(R.id.titleView, content.getTitle());
ImgLoader.display(mContext, content.getAvatar(), holder.getView(R.id.avatar));
if (!StringUtil.isEmpty()) {
ImgLoader.display(mContext, content.getCover(), holder.getView(R.id.cover));
}
}
@Override
protected boolean onItemClick(ViewHolder holder, MessageChatCardContent messageChatTipsContent, UiMessage uiMessage, int position, List<UiMessage> list, IViewProviderListener<UiMessage> listener) {
protected boolean onItemClick(ViewHolder holder, MessageChatCardContent content, UiMessage uiMessage, int position, List<UiMessage> list, IViewProviderListener<UiMessage> listener) {
if ("1".equals(content.getType())) {
gotoLive(content.getExtraData());
}
return false;
}
@Override
protected boolean isMessageViewType(MessageContent messageContent) {
return messageContent instanceof MessageChatTipsContent;
return messageContent instanceof MessageChatCardContent;
}
@Override
public Spannable getSummarySpannable(Context context, MessageChatCardContent content) {
return null;
}
private void gotoLive(final String live_id) {
LiveHttpUtil.getLiveInfo(live_id + "", new 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);
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
@Override
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
if (liveBean == null) {
return;
}
if (MicStatusManager.getInstance().isMic(liveUid)) {
MicStatusManager.getInstance().showDownMicDialog(mContext);
return;
}
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk));
}
@Override
public void onCheckError(String contextError) {
}
});
} else {
RouteUtil.forwardUserHome(mContext, String.valueOf(live_id), 0);
}
}
});
}
}

View File

@@ -13,6 +13,7 @@ import java.util.List;
public class MessageChatNotifyManager {
private static MessageChatNotifyManager instance;
private List<MessageUserInfoBean> startListNotifyList = new ArrayList<>();
Class<?> clazz;
public static MessageChatNotifyManager getInstance() {
if (instance == null) {
@@ -21,6 +22,10 @@ public class MessageChatNotifyManager {
return instance;
}
public void setShieldClass(Class<?> clazz) {
this.clazz = clazz;
}
public void push(Context mContext, MessageUserInfoBean userInfo) {
if (startListNotifyList.isEmpty()) {
startListNotifyList.add(userInfo);
@@ -31,6 +36,10 @@ public class MessageChatNotifyManager {
}
private void notifyLiveFlot(Context mContext) {
if (AppManager.getInstance().getLastActivity().getClass().getSimpleName().equals(clazz.getSimpleName())) {
ToastUtil.showDebug("屏蔽类,不展示");
return;
}
if (startListNotifyList.iterator().hasNext()) {
MessageUserInfoBean bean = startListNotifyList.iterator().next();
new MessageChatNotifyDialog(AppManager.getInstance().getLastActivity(), bean).setOnDismissListener(dialog -> {

View File

@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="192dp"
android:layout_height="299dp"
android:background="@drawable/bg_msg_list_search">
<com.yunbao.common.custom.RatioRoundImageView
android:id="@+id/cover"
android:layout_width="0dp"
android:layout_height="206dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:scaleType="centerCrop"
app:layout_constraintEnd_toEndOf="parent"
app:riv_corner_radius="15dp"
app:ri_ratio="1.2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:src="@mipmap/screen" />
<TextView
android:id="@+id/titleView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="15dp"
android:textColor="#333333"
android:textSize="13sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/cover"
tools:text="TextView" />
<com.makeramen.roundedimageview.RoundedImageView
android:id="@+id/avatar"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:scaleType="centerCrop"
android:src="@mipmap/chat_head_mo"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/titleView"
app:riv_oval="true" />
<TextView
android:id="@+id/user_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="TextView"
android:textColor="#333333"
android:textSize="11sp"
app:layout_constraintBottom_toBottomOf="@+id/avatar"
app:layout_constraintStart_toEndOf="@+id/avatar"
app:layout_constraintTop_toTopOf="@+id/avatar" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="72dp"
android:paddingTop="24dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/titleView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:gravity="center"
android:textColor="@color/textColor"
android:textSize="18sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/btn_back"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_centerVertical="true"
android:onClick="backClick"
android:padding="9dp"
android:src="@mipmap/icon_back"
android:tint="@color/textColor" />
<ImageView
android:id="@+id/img_more"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:padding="9dp"
android:src="@mipmap/btn_more_black"
android:tint="@color/textColor"
android:visibility="gone" />
<TextView
android:id="@+id/rView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toLeftOf="@+id/redPacketMain"
android:layout_marginRight="10dp"
android:gravity="center"
android:textColor="@color/textColor"
android:textSize="13sp"
android:textStyle="bold"
android:text="@string/not_received"
android:visibility="gone"
tools:visibility="visible" />
<ImageView
android:id="@+id/redPacketMain"
android:layout_width="20dp"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_marginRight="15dp"
android:visibility="invisible"
app:srcCompat="@mipmap/ic_red_packet_record"
tools:visibility="visible" />
</RelativeLayout>
</FrameLayout>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -26,6 +26,7 @@
<string name="black">Pull black</string>
<string name="black_ing">Relieving blackout</string>
<string name="chat_remarks">Remarks</string>
<string name="chat_report">Report</string>
<string name="bonus_sign">Sign in immediately</string>
<string name="bonus_sign_1">Continuously signed in</string>
<string name="bonus_day">day</string>

View File

@@ -16,7 +16,8 @@
<string name="refresh_footer_nothing">沒有更多數據了</string>
<string name="black">拉黑</string>
<string name="black_ing">解除拉黑</string>
<string name="chat_remarks">備註</string>
<string name="chat_remarks">修改備註</string>
<string name="chat_report">舉報</string>
<string name="bonus_sign">立即簽到</string>
<string name="bonus_sign_1">已連續簽到</string>
<string name="bonus_day"></string>

View File

@@ -16,7 +16,8 @@
<string name="refresh_footer_nothing">沒有更多數據了</string>
<string name="black">拉黑</string>
<string name="black_ing">解除拉黑</string>
<string name="chat_remarks">備註</string>
<string name="chat_remarks">修改備註</string>
<string name="chat_report">舉報</string>
<string name="bonus_sign">立即簽到</string>
<string name="bonus_sign_1">已連續簽到</string>
<string name="bonus_day"></string>

View File

@@ -16,7 +16,8 @@
<string name="refresh_footer_nothing">沒有更多數據了</string>
<string name="black">拉黑</string>
<string name="black_ing">解除拉黑</string>
<string name="chat_remarks">備註</string>
<string name="chat_remarks">修改備註</string>
<string name="chat_report">舉報</string>
<string name="bonus_sign">立即簽到</string>
<string name="bonus_sign_1">已連續簽到</string>
<string name="bonus_day"></string>

View File

@@ -26,6 +26,7 @@
<string name="black">Pull black</string>
<string name="black_ing">Relieving blackout</string>
<string name="chat_remarks">Remarks</string>
<string name="chat_report">Report</string>
<string name="bonus_sign">Sign in immediately</string>
<string name="bonus_sign_1">Continuously signed in</string>
<string name="bonus_day">day</string>

View File

@@ -98,6 +98,13 @@
<item name="android:paddingRight">15dp</item>
<item name="android:background">@color/white</item>
</style>
<style name="edit_profile_group_not_color" parent="AppTheme">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">45dp</item>
<item name="android:paddingLeft">15dp</item>
<item name="android:paddingRight">15dp</item>
</style>
<style name="Theme.PayssionTrans" parent="Theme.AppCompat.Light">
<item name="android:windowIsTranslucent">true</item>