Commit c32ea8943ffd5c9aa395e5feb416004cad74d2f7
1 parent
185c3c8f
1 修改使用者管理UI
2 完成二维码分享
Showing
15 changed files
with
149 additions
and
19 deletions
app/src/main/java/com/cnlive/strike/xiaojiaspeaker/MainActivity.java
| ... | ... | @@ -35,12 +35,12 @@ public class MainActivity extends AppCompatActivity { |
| 35 | 35 | // startActivity(new Intent(MainActivity.this, BluetoothConnActivity.class)); |
| 36 | 36 | // startActivity(new Intent(MainActivity.this, BlueToothStep1Activity.class)); |
| 37 | 37 | // startActivity(new Intent(MainActivity.this, ConnBluetoothSuccessActivity.class)); |
| 38 | -// startActivity(new Intent(MainActivity.this, AllDeviceActivity.class)); | |
| 38 | + startActivity(new Intent(MainActivity.this, AllDeviceActivity.class)); | |
| 39 | 39 | // startActivity(new Intent(MainActivity.this, DeviceInstructionActivity.class)); |
| 40 | 40 | // startActivity(new Intent(MainActivity.this, DeviceManagerActivity.class)); |
| 41 | 41 | // startActivity(new Intent(MainActivity.this, FirmwareUpdateActivity.class)); |
| 42 | 42 | // startActivity(new Intent(MainActivity.this, SelectWifiActivity.class)); |
| 43 | - startActivity(new Intent(MainActivity.this, ToolBarTestActivity.class)); | |
| 43 | +// startActivity(new Intent(MainActivity.this, ToolBarTestActivity.class)); | |
| 44 | 44 | |
| 45 | 45 | // startActivity(new Intent(MainActivity.this, SelectIMFriendActivity.class)); |
| 46 | 46 | // startActivity(new Intent(MainActivity.this, InvitFriendActivity.class)); | ... | ... |
module_xiaojiaSoundBox/src/main/AndroidManifest.xml
| ... | ... | @@ -20,7 +20,6 @@ |
| 20 | 20 | <activity android:name=".ui.activity.ShareFriendActivity"/> |
| 21 | 21 | <activity android:name=".ui.activity.InvitFriendActivity" /> |
| 22 | 22 | <activity android:name=".ui.activity.DeviceInfoActivity"></activity> |
| 23 | - <activity android:name=".ui.activity.InvitFriendActivity" /> | |
| 24 | 23 | <activity android:name=".ui.activity.UserManagerActivity" /> |
| 25 | 24 | <activity android:name=".ui.activity.ChangeDeviceNameActivity" /> |
| 26 | 25 | <activity android:name=".ui.activity.DeviceDetailActivity" /> | ... | ... |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/commonInfo/XiaoJIaCommInfo.java
| ... | ... | @@ -24,9 +24,29 @@ public class XiaoJIaCommInfo { |
| 24 | 24 | private static final String KEY_CMCC_ID = "xiaojia_cmcc_id"; |
| 25 | 25 | //用户手机号 |
| 26 | 26 | private static final String KEY_USER_PHONE = "xiaojia_user_phone"; |
| 27 | + // 用户头像 | |
| 28 | + private static final String KEY_USER_ICON = "xiaojia_user_icon"; | |
| 29 | + // 用户昵称 | |
| 30 | + private static final String KEY_USER_NICK_NAME = "xiaojia_user_nick"; | |
| 27 | 31 | |
| 28 | 32 | private static final int MyCurrentMode = Context.MODE_MULTI_PROCESS; |
| 29 | 33 | |
| 34 | + public static void setUserNickName(Context context, String userIcon) { | |
| 35 | + MySpHelper.getInstance(context, MyCurrentMode).putString(KEY_USER_NICK_NAME, userIcon); | |
| 36 | + } | |
| 37 | + | |
| 38 | + public static String getUserNickName(Context context) { | |
| 39 | + return MySpHelper.getInstance(context, MyCurrentMode).getString(KEY_USER_NICK_NAME, ""); | |
| 40 | + } | |
| 41 | + | |
| 42 | + public static void setUserIcon(Context context, String userIcon) { | |
| 43 | + MySpHelper.getInstance(context, MyCurrentMode).putString(KEY_USER_ICON, userIcon); | |
| 44 | + } | |
| 45 | + | |
| 46 | + public static String getUserIcon(Context context) { | |
| 47 | + return MySpHelper.getInstance(context, MyCurrentMode).getString(KEY_USER_ICON, ""); | |
| 48 | + } | |
| 49 | + | |
| 30 | 50 | public static void setUserPhone(Context context, String userPhone) { |
| 31 | 51 | MySpHelper.getInstance(context, MyCurrentMode).putString(KEY_USER_PHONE, userPhone); |
| 32 | 52 | } | ... | ... |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/frame/presenter/SelectIMFriendPresenter.java
| 1 | 1 | package com.cnlive.strike.xiaojiaspeaker.frame.presenter; |
| 2 | 2 | |
| 3 | +import android.content.Context; | |
| 4 | +import android.util.Log; | |
| 5 | +import android.view.View; | |
| 6 | + | |
| 7 | +import com.cnlive.libs.base.logic.Logic; | |
| 8 | +import com.cnlive.libs.base.logic.callback.DataCallback; | |
| 9 | +import com.cnlive.libs.base.logic.callback.FailureCallback; | |
| 10 | +import com.cnlive.libs.base.logic.callback.SuccessCallback; | |
| 3 | 11 | import com.cnlive.strike.xiaojiaspeaker.frame.view.SelectIMFriendView; |
| 12 | +import com.cnlive.strike.xiaojiaspeaker.netWork.ApiServiceXiaoJia; | |
| 13 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.APIBaseInfo; | |
| 14 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.RoleNetBean; | |
| 15 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.XiaoJiaContactInfo; | |
| 16 | +import com.cnlive.strike.xiaojiaspeaker.netWork.result.SubscriptionRequest; | |
| 4 | 17 | import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; |
| 5 | 18 | |
| 19 | +import java.util.HashMap; | |
| 20 | +import java.util.Map; | |
| 21 | + | |
| 22 | +import io.reactivex.disposables.Disposable; | |
| 23 | + | |
| 6 | 24 | public class SelectIMFriendPresenter extends MvpBasePresenter<SelectIMFriendView> { |
| 25 | + | |
| 26 | + private String TAG = "SelectIMFriendPresenter"; | |
| 27 | + | |
| 28 | + public void getFamilyMember(Context context, String familyId) { | |
| 29 | + if (null == getView()) { | |
| 30 | + return; | |
| 31 | + } | |
| 32 | + Map<String, String> map = new HashMap<>(); | |
| 33 | + map.put("familyId", familyId); | |
| 34 | + Logic.create(map) | |
| 35 | + .action(new Logic.Action<Map<String, String>, APIBaseInfo<XiaoJiaContactInfo>>() { | |
| 36 | + @Override | |
| 37 | + public Disposable action(Map<String, String> paramsMap, DataCallback<APIBaseInfo<XiaoJiaContactInfo>> dataCallback) { | |
| 38 | + return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.getFamilyMember(paramsMap)).subscribe(context, dataCallback); | |
| 39 | + } | |
| 40 | + }).<APIBaseInfo<XiaoJiaContactInfo>>event() | |
| 41 | + .setSuccessCallback(new SuccessCallback<APIBaseInfo<XiaoJiaContactInfo>>() { | |
| 42 | + @Override | |
| 43 | + public void onSuccess(APIBaseInfo<XiaoJiaContactInfo> baseInfo) { | |
| 44 | + Log.e(TAG, "onSuccess: "); | |
| 45 | + | |
| 46 | + if (null == getView()) { | |
| 47 | + return; | |
| 48 | + } | |
| 49 | + | |
| 50 | + } | |
| 51 | + }) | |
| 52 | + .setFailureCallback(new FailureCallback() { | |
| 53 | + @Override | |
| 54 | + public void onFailure(int i, String s) { | |
| 55 | + //显示重试 | |
| 56 | + Log.e(TAG, "onFailure: " + s); | |
| 57 | +// getView().showRetryView(i, new View.OnClickListener() { | |
| 58 | +// @Override | |
| 59 | +// public void onClick(View view) { | |
| 60 | +// getSetRoleList(context, sids, familyId); | |
| 61 | +// } | |
| 62 | +// }); | |
| 63 | + } | |
| 64 | + }) | |
| 65 | + | |
| 66 | + .start(); | |
| 67 | + } | |
| 7 | 68 | } | ... | ... |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/frame/view/InvitFriendView.java
| ... | ... | @@ -10,6 +10,7 @@ import android.view.View; |
| 10 | 10 | |
| 11 | 11 | import com.alibaba.android.arouter.launcher.ARouter; |
| 12 | 12 | import com.cnlive.libs.base.arouter.QrService; |
| 13 | +import com.cnlive.libs.base.util.AlertUtil; | |
| 13 | 14 | import com.cnlive.libs.base.util.SimpleDES; |
| 14 | 15 | import com.cnlive.strike.application.GlideApp; |
| 15 | 16 | import com.cnlive.strike.xiaojiaspeaker.R; |
| ... | ... | @@ -42,6 +43,10 @@ public class InvitFriendView implements MvpView { |
| 42 | 43 | private String encryptionContent; |
| 43 | 44 | private String currentSelectFamilyId; |
| 44 | 45 | |
| 46 | + public void setCurrentSelectFamilyId(String currentSelectFamilyId) { | |
| 47 | + this.currentSelectFamilyId = currentSelectFamilyId; | |
| 48 | + } | |
| 49 | + | |
| 45 | 50 | public InvitFriendView(InvitFriendFragment fragment) { |
| 46 | 51 | this.fragment = fragment; |
| 47 | 52 | } |
| ... | ... | @@ -50,13 +55,14 @@ public class InvitFriendView implements MvpView { |
| 50 | 55 | return fragment == null ? null : fragment.getActivity(); |
| 51 | 56 | } |
| 52 | 57 | |
| 53 | - public void initView(String currentSelectFamilyId) { | |
| 58 | + public void initView() { | |
| 54 | 59 | this.currentSelectFamilyId = currentSelectFamilyId; |
| 55 | 60 | fragment.binding.btnShare.setOnClickListener(v -> { |
| 56 | 61 | if (!TextUtils.isEmpty(encryptionContent)) { |
| 57 | - ShareFriendActivity.startActivity(fragment.getActivity(), "", "", encryptionContent); | |
| 62 | + ShareFriendActivity.startActivity(fragment.getActivity(), XiaoJIaCommInfo.getUserIcon(getContext()), XiaoJIaCommInfo.getUserNickName(getContext()), encryptionContent); | |
| 58 | 63 | } else { |
| 59 | 64 | //提示跳转失败原因 |
| 65 | + AlertUtil.showDeftToast(getContext(), "参数异常"); | |
| 60 | 66 | } |
| 61 | 67 | }); |
| 62 | 68 | } |
| ... | ... | @@ -113,7 +119,7 @@ public class InvitFriendView implements MvpView { |
| 113 | 119 | xiaoJiaQrcode.setRoleId(roleId); |
| 114 | 120 | xiaoJiaQrcode.setUuid(CommonUtils.getUUID()); |
| 115 | 121 | |
| 116 | - jsonObject.put("content", GsonUtil.GsonString(xiaoJiaQrcode)); | |
| 122 | + jsonObject.put("xiajiaContent", GsonUtil.GsonString(xiaoJiaQrcode)); | |
| 117 | 123 | jsonObject.put("time", System.currentTimeMillis()); |
| 118 | 124 | jsonObject.put("type", XiaoJiaConst.QRCODE_TYPE); |
| 119 | 125 | ... | ... |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/frame/view/SelectIMFriendView.java
| ... | ... | @@ -33,6 +33,7 @@ public class SelectIMFriendView implements MvpView, LetterBarView.OnLetterSelect |
| 33 | 33 | private List<IMFriendNoLetterInfo> noLetterInfoList; |
| 34 | 34 | private List<IMFriendHasLetterInfo> imFriendInfoList; |
| 35 | 35 | private LinearLayoutManager linearLayoutManager; |
| 36 | + private String currentSelectFamilyId; | |
| 36 | 37 | private String TAG = "SelectIMFriendView"; |
| 37 | 38 | private boolean isFirst = true; |
| 38 | 39 | |
| ... | ... | @@ -243,9 +244,9 @@ public class SelectIMFriendView implements MvpView, LetterBarView.OnLetterSelect |
| 243 | 244 | @Override |
| 244 | 245 | public void onClick(View view) { |
| 245 | 246 | //获取选择的uid |
| 246 | - if (null!=adapter){ | |
| 247 | - String selectUids=adapter.getSelectUid(); | |
| 248 | - SetFriendsRoleActivity.startActivity(getContext(),selectUids); | |
| 247 | + if (null != adapter) { | |
| 248 | + String selectUids = adapter.getSelectUid(); | |
| 249 | + SetFriendsRoleActivity.startActivity(getContext(), selectUids); | |
| 249 | 250 | |
| 250 | 251 | } |
| 251 | 252 | } | ... | ... |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/frame/view/UserManagerView.java
| ... | ... | @@ -172,7 +172,7 @@ public class UserManagerView implements MvpView { |
| 172 | 172 | fragment.binding.btnInvitFriend.setOnClickListener(new View.OnClickListener() { |
| 173 | 173 | @Override |
| 174 | 174 | public void onClick(View view) { |
| 175 | - SelectIMFriendActivity.startActivity(getContext()); | |
| 175 | + SelectIMFriendActivity.startActivity(getContext(), currentSelectFamilyId); | |
| 176 | 176 | } |
| 177 | 177 | }); |
| 178 | 178 | //二维码点击 |
| ... | ... | @@ -355,7 +355,9 @@ public class UserManagerView implements MvpView { |
| 355 | 355 | mPopMenu.setmItemClickListener(new PopMenu.OnItemClickListener() { |
| 356 | 356 | @Override |
| 357 | 357 | public void onClick(int position, PopMenuInfo popMenuInfo) { |
| 358 | - if (position == 1) { | |
| 358 | + if (position == 0) { | |
| 359 | + SelectIMFriendActivity.startActivity(getContext(), currentSelectFamilyId); | |
| 360 | + } else if (position == 1) { | |
| 359 | 361 | InvitFriendActivity.startActivity(getContext(), currentSelectFamilyId); |
| 360 | 362 | } |
| 361 | 363 | } | ... | ... |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/netWork/ApiServiceXiaoJia.java
| ... | ... | @@ -7,6 +7,7 @@ import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyRoleBean; |
| 7 | 7 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.NetworkResultBean; |
| 8 | 8 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.RoleNetBean; |
| 9 | 9 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.APIBaseInfo; |
| 10 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.XiaoJiaContactInfo; | |
| 10 | 11 | |
| 11 | 12 | import java.util.Map; |
| 12 | 13 | |
| ... | ... | @@ -112,5 +113,15 @@ public interface ApiServiceXiaoJia { |
| 112 | 113 | */ |
| 113 | 114 | @POST("/Daren/sound/changeWiFi.action") |
| 114 | 115 | Observable<Result<APIBaseInfo>> changeWiFi(@QueryMap() Map<String, String> maps); |
| 116 | + | |
| 117 | + /** | |
| 118 | + * 获取家庭成员列表(用于校验通讯录) | |
| 119 | + * familyId String true 家庭id | |
| 120 | + * | |
| 121 | + * @param maps | |
| 122 | + * @return | |
| 123 | + */ | |
| 124 | + @GET("/Daren/sound/getFamilyMember.action") | |
| 125 | + Observable<Result<APIBaseInfo<XiaoJiaContactInfo>>> getFamilyMember(@QueryMap() Map<String, String> maps); | |
| 115 | 126 | } |
| 116 | 127 | ... | ... |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/ui/activity/SelectIMFriendActivity.java
| ... | ... | @@ -4,6 +4,7 @@ import android.app.Activity; |
| 4 | 4 | import android.content.Intent; |
| 5 | 5 | import android.support.v7.app.AppCompatActivity; |
| 6 | 6 | import android.os.Bundle; |
| 7 | +import android.text.TextUtils; | |
| 7 | 8 | |
| 8 | 9 | import com.cnlive.strike.xiaojiaspeaker.R; |
| 9 | 10 | import com.cnlive.strike.xiaojiaspeaker.ui.fragment.SearchDevicefragment; |
| ... | ... | @@ -15,12 +16,18 @@ public class SelectIMFriendActivity extends AppCompatActivity { |
| 15 | 16 | protected void onCreate(Bundle savedInstanceState) { |
| 16 | 17 | super.onCreate(savedInstanceState); |
| 17 | 18 | setContentView(R.layout.activity_select_imfriend); |
| 18 | - getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, SelectIMFriendFragment.newInstance()).commit(); | |
| 19 | + if (null != getIntent().getExtras()) { | |
| 20 | + String currentSelectFamilyId = getIntent().getExtras().getString("currentSelectFamilyId"); | |
| 21 | + if (!TextUtils.isEmpty(currentSelectFamilyId)) { | |
| 22 | + getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, SelectIMFriendFragment.newInstance(currentSelectFamilyId)).commit(); | |
| 23 | + } | |
| 24 | + } | |
| 19 | 25 | |
| 20 | 26 | } |
| 21 | 27 | |
| 22 | - public static void startActivity(Activity activity) { | |
| 28 | + public static void startActivity(Activity activity, String currentSelectFamilyId) { | |
| 23 | 29 | Intent intent = new Intent(activity, SelectIMFriendActivity.class); |
| 30 | + intent.putExtra("currentSelectFamilyId", currentSelectFamilyId); | |
| 24 | 31 | activity.startActivity(intent); |
| 25 | 32 | } |
| 26 | 33 | } | ... | ... |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/ui/adapter/SelectIMFriendAdapter.java
| ... | ... | @@ -28,7 +28,8 @@ public class SelectIMFriendAdapter extends RecyclerView.Adapter { |
| 28 | 28 | private HashMap<String, Integer> contactLetterGuideMap; |
| 29 | 29 | private List<IMFriendHasLetterInfo> rawDataList; |
| 30 | 30 | private OnItemCheckBoxListener onItemCheckBoxListener; |
| 31 | - private final int MAX_FRIENDS = 10;//最多10个人 | |
| 31 | + private int MAX_FRIENDS = 10;//最多10个人 | |
| 32 | + | |
| 32 | 33 | private String TAG = "SelectIMFriendAdapter"; |
| 33 | 34 | |
| 34 | 35 | public void setOnItemCheckBoxListener(OnItemCheckBoxListener onItemCheckBoxListener) { |
| ... | ... | @@ -63,7 +64,13 @@ public class SelectIMFriendAdapter extends RecyclerView.Adapter { |
| 63 | 64 | if (imFriendInfoList.get(i).getType() == IMFriendHasLetterInfo.LETTER_INDEX) { |
| 64 | 65 | contactLetterGuideMap.put(imFriendInfoList.get(i).getLetter(), i); |
| 65 | 66 | } |
| 67 | + //不可选 | |
| 68 | + if (imFriendInfoList.get(i).isCantSelect()){ | |
| 69 | + //获取默认不可选的人 | |
| 70 | + MAX_FRIENDS--; | |
| 71 | + } | |
| 66 | 72 | } |
| 73 | + | |
| 67 | 74 | } |
| 68 | 75 | |
| 69 | 76 | public void searchItems(List<IMFriendHasLetterInfo> list) { | ... | ... |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/ui/fragment/InvitFriendFragment.java
| ... | ... | @@ -40,7 +40,8 @@ public class InvitFriendFragment extends MvpBindingFragment<InvitFriendView, Inv |
| 40 | 40 | if (null != getArguments()) { |
| 41 | 41 | String currentSelectFamilyId = getArguments().getString("currentSelectFamilyId"); |
| 42 | 42 | if (!TextUtils.isEmpty(currentSelectFamilyId)) { |
| 43 | - getMvpView().initView(currentSelectFamilyId); | |
| 43 | + getMvpView().setCurrentSelectFamilyId(currentSelectFamilyId); | |
| 44 | + getMvpView().initView(); | |
| 44 | 45 | getPresenter().getSetRoleList(getActivity(), XiaoJIaCommInfo.getUserId(getActivity()), currentSelectFamilyId); |
| 45 | 46 | } |
| 46 | 47 | } | ... | ... |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/ui/fragment/SelectIMFriendFragment.java
| ... | ... | @@ -3,6 +3,7 @@ package com.cnlive.strike.xiaojiaspeaker.ui.fragment; |
| 3 | 3 | import android.os.Bundle; |
| 4 | 4 | import android.support.annotation.Nullable; |
| 5 | 5 | import android.support.v4.content.ContextCompat; |
| 6 | +import android.text.TextUtils; | |
| 6 | 7 | import android.view.View; |
| 7 | 8 | |
| 8 | 9 | import com.cnlive.libs.base.frame.fragment.MvpBindingFragment; |
| ... | ... | @@ -14,8 +15,12 @@ import com.cnlive.strike.xiaojiaspeaker.frame.presenter.SelectIMFriendPresenter; |
| 14 | 15 | import com.cnlive.strike.xiaojiaspeaker.frame.view.SelectIMFriendView; |
| 15 | 16 | |
| 16 | 17 | public class SelectIMFriendFragment extends MvpBindingFragment<SelectIMFriendView, SelectIMFriendPresenter, Object, FragmentSelectImFriendBinding> { |
| 17 | - public static SelectIMFriendFragment newInstance() { | |
| 18 | + | |
| 19 | + public static SelectIMFriendFragment newInstance(String currentSelectFamilyId) { | |
| 18 | 20 | SelectIMFriendFragment fragment = new SelectIMFriendFragment(); |
| 21 | + Bundle bundle = new Bundle(); | |
| 22 | + bundle.putString("currentSelectFamilyId", currentSelectFamilyId); | |
| 23 | + fragment.setArguments(bundle); | |
| 19 | 24 | return fragment; |
| 20 | 25 | } |
| 21 | 26 | |
| ... | ... | @@ -36,7 +41,14 @@ public class SelectIMFriendFragment extends MvpBindingFragment<SelectIMFriendVie |
| 36 | 41 | super.onViewCreated(view, savedInstanceState); |
| 37 | 42 | initTopBar(); |
| 38 | 43 | if (null != getMvpView()) { |
| 39 | - getMvpView().initView(); | |
| 44 | + if (null != getArguments()) { | |
| 45 | + String currentSelectFamilyId = getArguments().getString("currentSelectFamilyId"); | |
| 46 | + if (!TextUtils.isEmpty(currentSelectFamilyId)) { | |
| 47 | + getMvpView().initView(); | |
| 48 | + getPresenter().getFamilyMember(getActivity(), currentSelectFamilyId); | |
| 49 | + } | |
| 50 | + } | |
| 51 | + | |
| 40 | 52 | } |
| 41 | 53 | } |
| 42 | 54 | ... | ... |
module_xiaojiaSoundBox/src/main/res/layout/fragment_device_detail.xml
| ... | ... | @@ -19,7 +19,8 @@ |
| 19 | 19 | android:layout_margin="10dp" |
| 20 | 20 | android:background="@drawable/shape_10_radius_white_bg" |
| 21 | 21 | android:clickable="true" |
| 22 | - android:orientation="vertical"> | |
| 22 | + android:orientation="vertical" | |
| 23 | + android:visibility="gone"> | |
| 23 | 24 | |
| 24 | 25 | <LinearLayout |
| 25 | 26 | android:layout_width="match_parent" | ... | ... |
module_xiaojiaSoundBox/src/main/res/layout/item_list_user_host.xml
module_xiaojiaSoundBox/src/main/res/layout/item_list_user_member.xml