Commit 01dbf5c8588d0033455855315709bbdb1d1e71e5
Merge branch 'master' of bj.gitlab.cnlive.com:yangshuai/XiaojiaSoundBox
Showing
34 changed files
with
1670 additions
and
690 deletions
app/src/main/java/com/cnlive/strike/xiaojiaspeaker/MainActivity.java
| @@ -26,7 +26,11 @@ public class MainActivity extends AppCompatActivity { | @@ -26,7 +26,11 @@ public class MainActivity extends AppCompatActivity { | ||
| 26 | protected void onCreate(Bundle savedInstanceState) { | 26 | protected void onCreate(Bundle savedInstanceState) { |
| 27 | super.onCreate(savedInstanceState); | 27 | super.onCreate(savedInstanceState); |
| 28 | setContentView(R.layout.activity_speaker_main); | 28 | setContentView(R.layout.activity_speaker_main); |
| 29 | - XiaoJIaCommInfo.setUserId(this, "10510277"); | 29 | + XiaoJIaCommInfo.setUserId(this, "10514333"); |
| 30 | + XiaoJIaCommInfo.setUserPhone(this, " 18301489586"); | ||
| 31 | +// XiaoJIaCommInfo.setUserId(this, "10513196"); | ||
| 32 | +// XiaoJIaCommInfo.setUserPhone(this, "15010140838"); | ||
| 33 | + | ||
| 30 | // startActivity(new Intent(MainActivity.this, ToolBarTestActivity.class)); | 34 | // startActivity(new Intent(MainActivity.this, ToolBarTestActivity.class)); |
| 31 | // startActivity(new Intent(MainActivity.this, BluetoothConnActivity.class)); | 35 | // startActivity(new Intent(MainActivity.this, BluetoothConnActivity.class)); |
| 32 | // startActivity(new Intent(MainActivity.this, BlueToothStep1Activity.class)); | 36 | // startActivity(new Intent(MainActivity.this, BlueToothStep1Activity.class)); |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/commonInfo/XiaoJIaCommInfo.java
| @@ -22,9 +22,19 @@ public class XiaoJIaCommInfo { | @@ -22,9 +22,19 @@ public class XiaoJIaCommInfo { | ||
| 22 | private static final String KEY_FAMILY_ID = "xiaojia_family_id"; | 22 | private static final String KEY_FAMILY_ID = "xiaojia_family_id"; |
| 23 | //移动id | 23 | //移动id |
| 24 | private static final String KEY_CMCC_ID = "xiaojia_cmcc_id"; | 24 | private static final String KEY_CMCC_ID = "xiaojia_cmcc_id"; |
| 25 | - // | 25 | + //用户手机号 |
| 26 | + private static final String KEY_USER_PHONE = "xiaojia_user_phone"; | ||
| 27 | + | ||
| 26 | private static final int MyCurrentMode = Context.MODE_MULTI_PROCESS; | 28 | private static final int MyCurrentMode = Context.MODE_MULTI_PROCESS; |
| 27 | 29 | ||
| 30 | + public static void setUserPhone(Context context, String userPhone) { | ||
| 31 | + MySpHelper.getInstance(context, MyCurrentMode).putString(KEY_USER_PHONE, userPhone); | ||
| 32 | + } | ||
| 33 | + | ||
| 34 | + public static String getUserPhone(Context context) { | ||
| 35 | + return MySpHelper.getInstance(context, MyCurrentMode).getString(KEY_USER_PHONE, ""); | ||
| 36 | + } | ||
| 37 | + | ||
| 28 | public static void setCMCCId(Context context, String cmccId) { | 38 | public static void setCMCCId(Context context, String cmccId) { |
| 29 | MySpHelper.getInstance(context, MyCurrentMode).putString(KEY_CMCC_ID, cmccId); | 39 | MySpHelper.getInstance(context, MyCurrentMode).putString(KEY_CMCC_ID, cmccId); |
| 30 | } | 40 | } |
| @@ -34,7 +44,6 @@ public class XiaoJIaCommInfo { | @@ -34,7 +44,6 @@ public class XiaoJIaCommInfo { | ||
| 34 | } | 44 | } |
| 35 | 45 | ||
| 36 | 46 | ||
| 37 | - | ||
| 38 | public static void setFamilyId(Context context, String familyId) { | 47 | public static void setFamilyId(Context context, String familyId) { |
| 39 | MySpHelper.getInstance(context, MyCurrentMode).putString(KEY_FAMILY_ID, familyId); | 48 | MySpHelper.getInstance(context, MyCurrentMode).putString(KEY_FAMILY_ID, familyId); |
| 40 | } | 49 | } |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/frame/presenter/AllDeviceFragmentPresenter.java
| @@ -13,10 +13,9 @@ import com.cnlive.strike.xiaojiaspeaker.frame.view.AllDeviceFragmentView; | @@ -13,10 +13,9 @@ import com.cnlive.strike.xiaojiaspeaker.frame.view.AllDeviceFragmentView; | ||
| 13 | import com.cnlive.strike.xiaojiaspeaker.netWork.ApiServiceXiaoJia; | 13 | import com.cnlive.strike.xiaojiaspeaker.netWork.ApiServiceXiaoJia; |
| 14 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyListBean; | 14 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyListBean; |
| 15 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.NetworkResultBean; | 15 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.NetworkResultBean; |
| 16 | -import com.cnlive.strike.xiaojiaspeaker.netWork.bean.SubscriptionBaseInfo; | 16 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.APIBaseInfo; |
| 17 | import com.cnlive.strike.xiaojiaspeaker.netWork.result.SubscriptionRequest; | 17 | import com.cnlive.strike.xiaojiaspeaker.netWork.result.SubscriptionRequest; |
| 18 | import com.cnlive.strike.xiaojiaspeaker.util.QMUITipDialogUtil; | 18 | import com.cnlive.strike.xiaojiaspeaker.util.QMUITipDialogUtil; |
| 19 | -import com.cnlive.strike.xiaojiaspeaker.util.utilcode.util.GsonUtils; | ||
| 20 | import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; | 19 | import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; |
| 21 | 20 | ||
| 22 | import java.util.HashMap; | 21 | import java.util.HashMap; |
| @@ -37,19 +36,18 @@ public class AllDeviceFragmentPresenter extends MvpBasePresenter<AllDeviceFragme | @@ -37,19 +36,18 @@ public class AllDeviceFragmentPresenter extends MvpBasePresenter<AllDeviceFragme | ||
| 37 | map.put("sid", sid); | 36 | map.put("sid", sid); |
| 38 | map.put("phone", phone); | 37 | map.put("phone", phone); |
| 39 | Logic.create(map) | 38 | Logic.create(map) |
| 40 | - .action(new Logic.Action<Map<String, String>, SubscriptionBaseInfo<FamilyListBean>>() { | 39 | + .action(new Logic.Action<Map<String, String>, APIBaseInfo<FamilyListBean>>() { |
| 41 | @Override | 40 | @Override |
| 42 | - public Disposable action(Map<String, String> paramsMap, DataCallback<SubscriptionBaseInfo<FamilyListBean>> dataCallback) { | 41 | + public Disposable action(Map<String, String> paramsMap, DataCallback<APIBaseInfo<FamilyListBean>> dataCallback) { |
| 43 | return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.getFamilyList(paramsMap)).subscribe(context, dataCallback); | 42 | return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.getFamilyList(paramsMap)).subscribe(context, dataCallback); |
| 44 | } | 43 | } |
| 45 | - }).<SubscriptionBaseInfo<FamilyListBean>>event() | ||
| 46 | - .setSuccessCallback(new SuccessCallback<SubscriptionBaseInfo<FamilyListBean>>() { | 44 | + }).<APIBaseInfo<FamilyListBean>>event() |
| 45 | + .setSuccessCallback(new SuccessCallback<APIBaseInfo<FamilyListBean>>() { | ||
| 47 | @Override | 46 | @Override |
| 48 | - public void onSuccess(SubscriptionBaseInfo<FamilyListBean> baseInfo) { | 47 | + public void onSuccess(APIBaseInfo<FamilyListBean> baseInfo) { |
| 49 | if (null == getView()) { | 48 | if (null == getView()) { |
| 50 | return; | 49 | return; |
| 51 | } | 50 | } |
| 52 | - GsonUtils.toJson(baseInfo); | ||
| 53 | getView().hideLoadingView(); | 51 | getView().hideLoadingView(); |
| 54 | getView().initAllDeviceList(baseInfo.getData()); | 52 | getView().initAllDeviceList(baseInfo.getData()); |
| 55 | } | 53 | } |
| @@ -79,15 +77,15 @@ public class AllDeviceFragmentPresenter extends MvpBasePresenter<AllDeviceFragme | @@ -79,15 +77,15 @@ public class AllDeviceFragmentPresenter extends MvpBasePresenter<AllDeviceFragme | ||
| 79 | Map<String, String> map = new HashMap<>(); | 77 | Map<String, String> map = new HashMap<>(); |
| 80 | map.put("familyId", familyId); | 78 | map.put("familyId", familyId); |
| 81 | Logic.create(map) | 79 | Logic.create(map) |
| 82 | - .action(new Logic.Action<Map<String, String>, SubscriptionBaseInfo<NetworkResultBean>>() { | 80 | + .action(new Logic.Action<Map<String, String>, APIBaseInfo<NetworkResultBean>>() { |
| 83 | @Override | 81 | @Override |
| 84 | - public Disposable action(Map<String, String> paramsMap, DataCallback<SubscriptionBaseInfo<NetworkResultBean>> dataCallback) { | 82 | + public Disposable action(Map<String, String> paramsMap, DataCallback<APIBaseInfo<NetworkResultBean>> dataCallback) { |
| 85 | return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.getNetworkResult(paramsMap)).subscribe(context, dataCallback); | 83 | return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.getNetworkResult(paramsMap)).subscribe(context, dataCallback); |
| 86 | } | 84 | } |
| 87 | - }).<SubscriptionBaseInfo<NetworkResultBean>>event() | ||
| 88 | - .setSuccessCallback(new SuccessCallback<SubscriptionBaseInfo<NetworkResultBean>>() { | 85 | + }).<APIBaseInfo<NetworkResultBean>>event() |
| 86 | + .setSuccessCallback(new SuccessCallback<APIBaseInfo<NetworkResultBean>>() { | ||
| 89 | @Override | 87 | @Override |
| 90 | - public void onSuccess(SubscriptionBaseInfo<NetworkResultBean> baseInfo) { | 88 | + public void onSuccess(APIBaseInfo<NetworkResultBean> baseInfo) { |
| 91 | if (null == getView()) { | 89 | if (null == getView()) { |
| 92 | return; | 90 | return; |
| 93 | } | 91 | } |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/frame/presenter/ChangeDeviceNamePresenter.java
0 → 100644
| 1 | +package com.cnlive.strike.xiaojiaspeaker.frame.presenter; | ||
| 2 | + | ||
| 3 | +import android.content.Context; | ||
| 4 | +import android.util.Log; | ||
| 5 | + | ||
| 6 | +import com.cnlive.libs.base.logic.Logic; | ||
| 7 | +import com.cnlive.libs.base.logic.callback.DataCallback; | ||
| 8 | +import com.cnlive.libs.base.logic.callback.FailureCallback; | ||
| 9 | +import com.cnlive.libs.base.logic.callback.SuccessCallback; | ||
| 10 | +import com.cnlive.strike.xiaojiaspeaker.frame.view.ChangeDeviceNameView; | ||
| 11 | +import com.cnlive.strike.xiaojiaspeaker.netWork.ApiServiceXiaoJia; | ||
| 12 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.RoleNetBean; | ||
| 13 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.APIBaseInfo; | ||
| 14 | +import com.cnlive.strike.xiaojiaspeaker.netWork.result.SubscriptionRequest; | ||
| 15 | +import com.cnlive.strike.xiaojiaspeaker.util.QMUITipDialogUtil; | ||
| 16 | +import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; | ||
| 17 | + | ||
| 18 | +import java.util.HashMap; | ||
| 19 | +import java.util.Map; | ||
| 20 | + | ||
| 21 | +import io.reactivex.disposables.Disposable; | ||
| 22 | + | ||
| 23 | +public class ChangeDeviceNamePresenter extends MvpBasePresenter<ChangeDeviceNameView> { | ||
| 24 | + | ||
| 25 | + private String TAG = "ChangeDeviceNamePresenter"; | ||
| 26 | + | ||
| 27 | + public void changeDeviceName(Context context, String deviceId, String newName) { | ||
| 28 | + if (null == getView()) { | ||
| 29 | + return; | ||
| 30 | + } | ||
| 31 | + QMUITipDialogUtil.loadingDialog(context, "请稍后...", false); | ||
| 32 | + Map<String, String> map = new HashMap<>(); | ||
| 33 | + map.put("devId", deviceId); | ||
| 34 | + map.put("newName", newName); | ||
| 35 | + Logic.create(map) | ||
| 36 | + .action(new Logic.Action<Map<String, String>, APIBaseInfo>() { | ||
| 37 | + @Override | ||
| 38 | + public Disposable action(Map<String, String> paramsMap, DataCallback<APIBaseInfo> dataCallback) { | ||
| 39 | + return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.changeDeviceName(paramsMap)).subscribe(context, dataCallback); | ||
| 40 | + } | ||
| 41 | + }).<APIBaseInfo>event() | ||
| 42 | + .setSuccessCallback(new SuccessCallback<APIBaseInfo>() { | ||
| 43 | + @Override | ||
| 44 | + public void onSuccess(APIBaseInfo baseInfo) { | ||
| 45 | + Log.e(TAG, "onSuccess: "); | ||
| 46 | + | ||
| 47 | + if (null == getView()) { | ||
| 48 | + return; | ||
| 49 | + } | ||
| 50 | + QMUITipDialogUtil.dismessDialog(); | ||
| 51 | + QMUITipDialogUtil.successDialog(context, "保存成功", 1); | ||
| 52 | + } | ||
| 53 | + }) | ||
| 54 | + .setFailureCallback(new FailureCallback() { | ||
| 55 | + @Override | ||
| 56 | + public void onFailure(int i, String s) { | ||
| 57 | + //显示重试 | ||
| 58 | + Log.e(TAG, "onFailure: " + s); | ||
| 59 | + if (null == getView()) { | ||
| 60 | + return; | ||
| 61 | + } | ||
| 62 | + QMUITipDialogUtil.dismessDialog(); | ||
| 63 | + QMUITipDialogUtil.failedDialog(context, s, 1); | ||
| 64 | + } | ||
| 65 | + }) | ||
| 66 | + | ||
| 67 | + .start(); | ||
| 68 | + } | ||
| 69 | +} |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/frame/presenter/DeviceManagerFragmentPresenter.java
| 1 | package com.cnlive.strike.xiaojiaspeaker.frame.presenter; | 1 | package com.cnlive.strike.xiaojiaspeaker.frame.presenter; |
| 2 | 2 | ||
| 3 | +import android.content.Context; | ||
| 4 | +import android.view.View; | ||
| 5 | + | ||
| 6 | +import com.cnlive.libs.base.logic.Logic; | ||
| 7 | +import com.cnlive.libs.base.logic.callback.DataCallback; | ||
| 8 | +import com.cnlive.libs.base.logic.callback.FailureCallback; | ||
| 9 | +import com.cnlive.libs.base.logic.callback.SuccessCallback; | ||
| 3 | import com.cnlive.strike.xiaojiaspeaker.frame.view.DeviceManagerFragmentView; | 10 | import com.cnlive.strike.xiaojiaspeaker.frame.view.DeviceManagerFragmentView; |
| 11 | +import com.cnlive.strike.xiaojiaspeaker.netWork.ApiServiceXiaoJia; | ||
| 12 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.DeviceDetail; | ||
| 13 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.APIBaseInfo; | ||
| 14 | +import com.cnlive.strike.xiaojiaspeaker.netWork.result.SubscriptionRequest; | ||
| 4 | import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; | 15 | import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; |
| 5 | 16 | ||
| 17 | +import java.util.HashMap; | ||
| 18 | +import java.util.Map; | ||
| 19 | + | ||
| 20 | +import io.reactivex.disposables.Disposable; | ||
| 21 | + | ||
| 6 | public class DeviceManagerFragmentPresenter extends MvpBasePresenter<DeviceManagerFragmentView> { | 22 | public class DeviceManagerFragmentPresenter extends MvpBasePresenter<DeviceManagerFragmentView> { |
| 23 | + public void getDeviceDetailMsg(Context context, String deviceId) { | ||
| 24 | + if (null == getView()) { | ||
| 25 | + return; | ||
| 26 | + } | ||
| 27 | + getView().showLoadingView(); | ||
| 28 | + Map<String, String> map = new HashMap<>(); | ||
| 29 | + map.put("devId", deviceId); | ||
| 30 | + Logic.create(map) | ||
| 31 | + .action(new Logic.Action<Map<String, String>, APIBaseInfo<DeviceDetail>>() { | ||
| 32 | + @Override | ||
| 33 | + public Disposable action(Map<String, String> paramsMap, DataCallback<APIBaseInfo<DeviceDetail>> dataCallback) { | ||
| 34 | + return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.getDeviceDetailMsg(paramsMap)).subscribe(context, dataCallback); | ||
| 35 | + } | ||
| 36 | + }).<APIBaseInfo<DeviceDetail>>event() | ||
| 37 | + .setSuccessCallback(new SuccessCallback<APIBaseInfo<DeviceDetail>>() { | ||
| 38 | + @Override | ||
| 39 | + public void onSuccess(APIBaseInfo<DeviceDetail> baseInfo) { | ||
| 40 | + if (null == getView()) { | ||
| 41 | + return; | ||
| 42 | + } | ||
| 43 | + | ||
| 44 | + getView().hideLoadingView(); | ||
| 45 | + getView().initData(baseInfo.getData()); | ||
| 46 | + } | ||
| 47 | + }) | ||
| 48 | + .setFailureCallback(new FailureCallback() { | ||
| 49 | + @Override | ||
| 50 | + public void onFailure(int i, String s) { | ||
| 51 | + //显示重试 | ||
| 52 | + getView().showRetryView(i, new View.OnClickListener() { | ||
| 53 | + @Override | ||
| 54 | + public void onClick(View view) { | ||
| 55 | + getDeviceDetailMsg(context, deviceId); | ||
| 56 | + } | ||
| 57 | + }); | ||
| 58 | + } | ||
| 59 | + }) | ||
| 60 | + | ||
| 61 | + .start(); | ||
| 62 | + } | ||
| 7 | } | 63 | } |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/frame/presenter/InvitFriendPresenter.java
| @@ -10,11 +10,9 @@ import com.cnlive.libs.base.logic.callback.FailureCallback; | @@ -10,11 +10,9 @@ import com.cnlive.libs.base.logic.callback.FailureCallback; | ||
| 10 | import com.cnlive.libs.base.logic.callback.SuccessCallback; | 10 | import com.cnlive.libs.base.logic.callback.SuccessCallback; |
| 11 | import com.cnlive.strike.xiaojiaspeaker.frame.view.InvitFriendView; | 11 | import com.cnlive.strike.xiaojiaspeaker.frame.view.InvitFriendView; |
| 12 | import com.cnlive.strike.xiaojiaspeaker.netWork.ApiServiceXiaoJia; | 12 | import com.cnlive.strike.xiaojiaspeaker.netWork.ApiServiceXiaoJia; |
| 13 | -import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyRoleBean; | ||
| 14 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.RoleNetBean; | 13 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.RoleNetBean; |
| 15 | -import com.cnlive.strike.xiaojiaspeaker.netWork.bean.SubscriptionBaseInfo; | 14 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.APIBaseInfo; |
| 16 | import com.cnlive.strike.xiaojiaspeaker.netWork.result.SubscriptionRequest; | 15 | import com.cnlive.strike.xiaojiaspeaker.netWork.result.SubscriptionRequest; |
| 17 | -import com.cnlive.strike.xiaojiaspeaker.util.QMUITipDialogUtil; | ||
| 18 | import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; | 16 | import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; |
| 19 | 17 | ||
| 20 | import java.util.HashMap; | 18 | import java.util.HashMap; |
| @@ -42,15 +40,15 @@ public class InvitFriendPresenter extends MvpBasePresenter<InvitFriendView> { | @@ -42,15 +40,15 @@ public class InvitFriendPresenter extends MvpBasePresenter<InvitFriendView> { | ||
| 42 | map.put("sids", sids); | 40 | map.put("sids", sids); |
| 43 | map.put("familyId", familyId); | 41 | map.put("familyId", familyId); |
| 44 | Logic.create(map) | 42 | Logic.create(map) |
| 45 | - .action(new Logic.Action<Map<String, String>, SubscriptionBaseInfo<RoleNetBean>>() { | 43 | + .action(new Logic.Action<Map<String, String>, APIBaseInfo<RoleNetBean>>() { |
| 46 | @Override | 44 | @Override |
| 47 | - public Disposable action(Map<String, String> paramsMap, DataCallback<SubscriptionBaseInfo<RoleNetBean>> dataCallback) { | 45 | + public Disposable action(Map<String, String> paramsMap, DataCallback<APIBaseInfo<RoleNetBean>> dataCallback) { |
| 48 | return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.getSetRoleList(paramsMap)).subscribe(context, dataCallback); | 46 | return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.getSetRoleList(paramsMap)).subscribe(context, dataCallback); |
| 49 | } | 47 | } |
| 50 | - }).<SubscriptionBaseInfo<RoleNetBean>>event() | ||
| 51 | - .setSuccessCallback(new SuccessCallback<SubscriptionBaseInfo<RoleNetBean>>() { | 48 | + }).<APIBaseInfo<RoleNetBean>>event() |
| 49 | + .setSuccessCallback(new SuccessCallback<APIBaseInfo<RoleNetBean>>() { | ||
| 52 | @Override | 50 | @Override |
| 53 | - public void onSuccess(SubscriptionBaseInfo<RoleNetBean> baseInfo) { | 51 | + public void onSuccess(APIBaseInfo<RoleNetBean> baseInfo) { |
| 54 | Log.e(TAG, "onSuccess: "); | 52 | Log.e(TAG, "onSuccess: "); |
| 55 | 53 | ||
| 56 | if (null == getView()) { | 54 | if (null == getView()) { |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/frame/presenter/SelectWifiFragmentPresenter.java
| @@ -2,24 +2,16 @@ package com.cnlive.strike.xiaojiaspeaker.frame.presenter; | @@ -2,24 +2,16 @@ package com.cnlive.strike.xiaojiaspeaker.frame.presenter; | ||
| 2 | 2 | ||
| 3 | import android.app.Activity; | 3 | import android.app.Activity; |
| 4 | import android.util.Log; | 4 | import android.util.Log; |
| 5 | -import android.view.View; | ||
| 6 | 5 | ||
| 7 | import com.cnlive.libs.base.logic.Logic; | 6 | import com.cnlive.libs.base.logic.Logic; |
| 8 | import com.cnlive.libs.base.logic.callback.DataCallback; | 7 | import com.cnlive.libs.base.logic.callback.DataCallback; |
| 9 | import com.cnlive.libs.base.logic.callback.FailureCallback; | 8 | import com.cnlive.libs.base.logic.callback.FailureCallback; |
| 10 | import com.cnlive.libs.base.logic.callback.SuccessCallback; | 9 | import com.cnlive.libs.base.logic.callback.SuccessCallback; |
| 11 | -import com.cnlive.libs.base.util.AlertUtil; | ||
| 12 | import com.cnlive.strike.xiaojiaspeaker.frame.view.SelectWifiFragmentView; | 10 | import com.cnlive.strike.xiaojiaspeaker.frame.view.SelectWifiFragmentView; |
| 13 | -import com.cnlive.strike.xiaojiaspeaker.netWork.ApiServiceCMCC; | ||
| 14 | import com.cnlive.strike.xiaojiaspeaker.netWork.ApiServiceXiaoJia; | 11 | import com.cnlive.strike.xiaojiaspeaker.netWork.ApiServiceXiaoJia; |
| 15 | -import com.cnlive.strike.xiaojiaspeaker.netWork.CmccRequest; | ||
| 16 | -import com.cnlive.strike.xiaojiaspeaker.netWork.bean.ConfigDeviceNetParam; | ||
| 17 | -import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyListBean; | ||
| 18 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.NetworkResultBean; | 12 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.NetworkResultBean; |
| 19 | -import com.cnlive.strike.xiaojiaspeaker.netWork.bean.SubscriptionBaseInfo; | ||
| 20 | -import com.cnlive.strike.xiaojiaspeaker.netWork.result.ConfigDeviceNetResult; | 13 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.APIBaseInfo; |
| 21 | import com.cnlive.strike.xiaojiaspeaker.netWork.result.SubscriptionRequest; | 14 | import com.cnlive.strike.xiaojiaspeaker.netWork.result.SubscriptionRequest; |
| 22 | -import com.cnlive.strike.xiaojiaspeaker.ui.activity.ConnBluetoothSuccessActivity; | ||
| 23 | import com.cnlive.strike.xiaojiaspeaker.util.QMUITipDialogUtil; | 15 | import com.cnlive.strike.xiaojiaspeaker.util.QMUITipDialogUtil; |
| 24 | import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; | 16 | import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; |
| 25 | 17 | ||
| @@ -27,9 +19,6 @@ import java.util.HashMap; | @@ -27,9 +19,6 @@ import java.util.HashMap; | ||
| 27 | import java.util.Map; | 19 | import java.util.Map; |
| 28 | 20 | ||
| 29 | import io.reactivex.disposables.Disposable; | 21 | import io.reactivex.disposables.Disposable; |
| 30 | -import retrofit2.Call; | ||
| 31 | -import retrofit2.Callback; | ||
| 32 | -import retrofit2.Response; | ||
| 33 | 22 | ||
| 34 | public class SelectWifiFragmentPresenter extends MvpBasePresenter<SelectWifiFragmentView> { | 23 | public class SelectWifiFragmentPresenter extends MvpBasePresenter<SelectWifiFragmentView> { |
| 35 | private String TAG = "SelectWifiFragmentPresenter"; | 24 | private String TAG = "SelectWifiFragmentPresenter"; |
| @@ -43,15 +32,15 @@ public class SelectWifiFragmentPresenter extends MvpBasePresenter<SelectWifiFrag | @@ -43,15 +32,15 @@ public class SelectWifiFragmentPresenter extends MvpBasePresenter<SelectWifiFrag | ||
| 43 | Map<String, String> map = new HashMap<>(); | 32 | Map<String, String> map = new HashMap<>(); |
| 44 | map.put("familyId", familyId); | 33 | map.put("familyId", familyId); |
| 45 | Logic.create(map) | 34 | Logic.create(map) |
| 46 | - .action(new Logic.Action<Map<String, String>, SubscriptionBaseInfo<NetworkResultBean>>() { | 35 | + .action(new Logic.Action<Map<String, String>, APIBaseInfo<NetworkResultBean>>() { |
| 47 | @Override | 36 | @Override |
| 48 | - public Disposable action(Map<String, String> paramsMap, DataCallback<SubscriptionBaseInfo<NetworkResultBean>> dataCallback) { | 37 | + public Disposable action(Map<String, String> paramsMap, DataCallback<APIBaseInfo<NetworkResultBean>> dataCallback) { |
| 49 | return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.getNetworkResult(paramsMap)).subscribe(context, dataCallback); | 38 | return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.getNetworkResult(paramsMap)).subscribe(context, dataCallback); |
| 50 | } | 39 | } |
| 51 | - }).<SubscriptionBaseInfo<NetworkResultBean>>event() | ||
| 52 | - .setSuccessCallback(new SuccessCallback<SubscriptionBaseInfo<NetworkResultBean>>() { | 40 | + }).<APIBaseInfo<NetworkResultBean>>event() |
| 41 | + .setSuccessCallback(new SuccessCallback<APIBaseInfo<NetworkResultBean>>() { | ||
| 53 | @Override | 42 | @Override |
| 54 | - public void onSuccess(SubscriptionBaseInfo<NetworkResultBean> baseInfo) { | 43 | + public void onSuccess(APIBaseInfo<NetworkResultBean> baseInfo) { |
| 55 | if (null == getView()) { | 44 | if (null == getView()) { |
| 56 | return; | 45 | return; |
| 57 | } | 46 | } |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/frame/presenter/SetFriendsRolePresenter.java
| @@ -10,9 +10,8 @@ import com.cnlive.libs.base.logic.callback.FailureCallback; | @@ -10,9 +10,8 @@ import com.cnlive.libs.base.logic.callback.FailureCallback; | ||
| 10 | import com.cnlive.libs.base.logic.callback.SuccessCallback; | 10 | import com.cnlive.libs.base.logic.callback.SuccessCallback; |
| 11 | import com.cnlive.strike.xiaojiaspeaker.frame.view.SetFriendsRoleView; | 11 | import com.cnlive.strike.xiaojiaspeaker.frame.view.SetFriendsRoleView; |
| 12 | import com.cnlive.strike.xiaojiaspeaker.netWork.ApiServiceXiaoJia; | 12 | import com.cnlive.strike.xiaojiaspeaker.netWork.ApiServiceXiaoJia; |
| 13 | -import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyListBean; | ||
| 14 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.RoleNetBean; | 13 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.RoleNetBean; |
| 15 | -import com.cnlive.strike.xiaojiaspeaker.netWork.bean.SubscriptionBaseInfo; | 14 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.APIBaseInfo; |
| 16 | import com.cnlive.strike.xiaojiaspeaker.netWork.result.SubscriptionRequest; | 15 | import com.cnlive.strike.xiaojiaspeaker.netWork.result.SubscriptionRequest; |
| 17 | import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; | 16 | import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; |
| 18 | 17 | ||
| @@ -34,15 +33,15 @@ public class SetFriendsRolePresenter extends MvpBasePresenter<SetFriendsRoleView | @@ -34,15 +33,15 @@ public class SetFriendsRolePresenter extends MvpBasePresenter<SetFriendsRoleView | ||
| 34 | map.put("sids", sids); | 33 | map.put("sids", sids); |
| 35 | map.put("familyId", familyId); | 34 | map.put("familyId", familyId); |
| 36 | Logic.create(map) | 35 | Logic.create(map) |
| 37 | - .action(new Logic.Action<Map<String, String>, SubscriptionBaseInfo<RoleNetBean>>() { | 36 | + .action(new Logic.Action<Map<String, String>, APIBaseInfo<RoleNetBean>>() { |
| 38 | @Override | 37 | @Override |
| 39 | - public Disposable action(Map<String, String> paramsMap, DataCallback<SubscriptionBaseInfo<RoleNetBean>> dataCallback) { | 38 | + public Disposable action(Map<String, String> paramsMap, DataCallback<APIBaseInfo<RoleNetBean>> dataCallback) { |
| 40 | return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.getSetRoleList(paramsMap)).subscribe(context, dataCallback); | 39 | return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.getSetRoleList(paramsMap)).subscribe(context, dataCallback); |
| 41 | } | 40 | } |
| 42 | - }).<SubscriptionBaseInfo<RoleNetBean>>event() | ||
| 43 | - .setSuccessCallback(new SuccessCallback<SubscriptionBaseInfo<RoleNetBean>>() { | 41 | + }).<APIBaseInfo<RoleNetBean>>event() |
| 42 | + .setSuccessCallback(new SuccessCallback<APIBaseInfo<RoleNetBean>>() { | ||
| 44 | @Override | 43 | @Override |
| 45 | - public void onSuccess(SubscriptionBaseInfo<RoleNetBean> baseInfo) { | 44 | + public void onSuccess(APIBaseInfo<RoleNetBean> baseInfo) { |
| 46 | Log.e(TAG, "onSuccess: "); | 45 | Log.e(TAG, "onSuccess: "); |
| 47 | 46 | ||
| 48 | if (null == getView()) { | 47 | if (null == getView()) { |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/frame/presenter/UserManagerPresenter.java
| 1 | package com.cnlive.strike.xiaojiaspeaker.frame.presenter; | 1 | package com.cnlive.strike.xiaojiaspeaker.frame.presenter; |
| 2 | 2 | ||
| 3 | import android.content.Context; | 3 | import android.content.Context; |
| 4 | +import android.text.TextUtils; | ||
| 4 | import android.util.Log; | 5 | import android.util.Log; |
| 5 | import android.view.View; | 6 | import android.view.View; |
| 6 | 7 | ||
| @@ -12,7 +13,7 @@ import com.cnlive.strike.xiaojiaspeaker.frame.view.UserManagerView; | @@ -12,7 +13,7 @@ import com.cnlive.strike.xiaojiaspeaker.frame.view.UserManagerView; | ||
| 12 | import com.cnlive.strike.xiaojiaspeaker.netWork.ApiServiceXiaoJia; | 13 | import com.cnlive.strike.xiaojiaspeaker.netWork.ApiServiceXiaoJia; |
| 13 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyRoleBean; | 14 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyRoleBean; |
| 14 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.RoleNetBean; | 15 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.RoleNetBean; |
| 15 | -import com.cnlive.strike.xiaojiaspeaker.netWork.bean.SubscriptionBaseInfo; | 16 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.APIBaseInfo; |
| 16 | import com.cnlive.strike.xiaojiaspeaker.netWork.result.SubscriptionRequest; | 17 | import com.cnlive.strike.xiaojiaspeaker.netWork.result.SubscriptionRequest; |
| 17 | import com.cnlive.strike.xiaojiaspeaker.util.QMUITipDialogUtil; | 18 | import com.cnlive.strike.xiaojiaspeaker.util.QMUITipDialogUtil; |
| 18 | import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; | 19 | import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; |
| @@ -26,7 +27,73 @@ public class UserManagerPresenter extends MvpBasePresenter<UserManagerView> { | @@ -26,7 +27,73 @@ public class UserManagerPresenter extends MvpBasePresenter<UserManagerView> { | ||
| 26 | 27 | ||
| 27 | private String TAG = "UserManagerPresenter"; | 28 | private String TAG = "UserManagerPresenter"; |
| 28 | 29 | ||
| 29 | - public void getFamilyRole(Context context, String sid, String familyId) { | 30 | + /** |
| 31 | + * 修改成员角色 | ||
| 32 | + * | ||
| 33 | + * @param context | ||
| 34 | + * @param sid | ||
| 35 | + * @param familyId | ||
| 36 | + * @param role | ||
| 37 | + */ | ||
| 38 | + public void changeMemberRole(Context context, String sid, String familyId, String role, OnResposeListener onResposeListener) { | ||
| 39 | + if (null == getView()) { | ||
| 40 | + return; | ||
| 41 | + } | ||
| 42 | + QMUITipDialogUtil.loadingDialog(context, "请稍后...", false); | ||
| 43 | + Map<String, String> map = new HashMap<>(); | ||
| 44 | + map.put("sid", sid); | ||
| 45 | + map.put("familyId", familyId); | ||
| 46 | + if (!TextUtils.isEmpty(role)) { | ||
| 47 | + map.put("role", role); | ||
| 48 | + } | ||
| 49 | + Logic.create(map) | ||
| 50 | + .action(new Logic.Action<Map<String, String>, APIBaseInfo>() { | ||
| 51 | + @Override | ||
| 52 | + public Disposable action(Map<String, String> paramsMap, DataCallback<APIBaseInfo> dataCallback) { | ||
| 53 | + return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.changeMemberRole(paramsMap)).subscribe(context, dataCallback); | ||
| 54 | + } | ||
| 55 | + }).<APIBaseInfo>event() | ||
| 56 | + .setSuccessCallback(new SuccessCallback<APIBaseInfo>() { | ||
| 57 | + @Override | ||
| 58 | + public void onSuccess(APIBaseInfo baseInfo) { | ||
| 59 | + Log.e(TAG, "onSuccess: "); | ||
| 60 | + | ||
| 61 | + if (null == getView()) { | ||
| 62 | + return; | ||
| 63 | + } | ||
| 64 | + QMUITipDialogUtil.dismessDialog(); | ||
| 65 | + if (null != onResposeListener) { | ||
| 66 | + onResposeListener.onSuccess(); | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + | ||
| 70 | + } | ||
| 71 | + }) | ||
| 72 | + .setFailureCallback(new FailureCallback() { | ||
| 73 | + @Override | ||
| 74 | + public void onFailure(int i, String s) { | ||
| 75 | + if (null == getView()) { | ||
| 76 | + return; | ||
| 77 | + } | ||
| 78 | + QMUITipDialogUtil.dismessDialog(); | ||
| 79 | + QMUITipDialogUtil.failedDialog(context, s, 1); | ||
| 80 | + //显示重试 | ||
| 81 | + Log.e(TAG, "onFailure: " + s); | ||
| 82 | + } | ||
| 83 | + }) | ||
| 84 | + | ||
| 85 | + .start(); | ||
| 86 | + } | ||
| 87 | + | ||
| 88 | + /** | ||
| 89 | + * 获取角色列表 | ||
| 90 | + * | ||
| 91 | + * @param context | ||
| 92 | + * @param sid | ||
| 93 | + * @param familyId | ||
| 94 | + * @param phone | ||
| 95 | + */ | ||
| 96 | + public void getFamilyRole(Context context, String sid, String familyId, String phone) { | ||
| 30 | if (null == getView()) { | 97 | if (null == getView()) { |
| 31 | return; | 98 | return; |
| 32 | } | 99 | } |
| @@ -34,23 +101,24 @@ public class UserManagerPresenter extends MvpBasePresenter<UserManagerView> { | @@ -34,23 +101,24 @@ public class UserManagerPresenter extends MvpBasePresenter<UserManagerView> { | ||
| 34 | Map<String, String> map = new HashMap<>(); | 101 | Map<String, String> map = new HashMap<>(); |
| 35 | map.put("sid", sid); | 102 | map.put("sid", sid); |
| 36 | map.put("familyId", familyId); | 103 | map.put("familyId", familyId); |
| 104 | + map.put("phone", phone); | ||
| 37 | Logic.create(map) | 105 | Logic.create(map) |
| 38 | - .action(new Logic.Action<Map<String, String>, SubscriptionBaseInfo<FamilyRoleBean>>() { | 106 | + .action(new Logic.Action<Map<String, String>, APIBaseInfo<FamilyRoleBean>>() { |
| 39 | @Override | 107 | @Override |
| 40 | - public Disposable action(Map<String, String> paramsMap, DataCallback<SubscriptionBaseInfo<FamilyRoleBean>> dataCallback) { | 108 | + public Disposable action(Map<String, String> paramsMap, DataCallback<APIBaseInfo<FamilyRoleBean>> dataCallback) { |
| 41 | return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.getFamilyRole(paramsMap)).subscribe(context, dataCallback); | 109 | return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.getFamilyRole(paramsMap)).subscribe(context, dataCallback); |
| 42 | } | 110 | } |
| 43 | - }).<SubscriptionBaseInfo<FamilyRoleBean>>event() | ||
| 44 | - .setSuccessCallback(new SuccessCallback<SubscriptionBaseInfo<FamilyRoleBean>>() { | 111 | + }).<APIBaseInfo<FamilyRoleBean>>event() |
| 112 | + .setSuccessCallback(new SuccessCallback<APIBaseInfo<FamilyRoleBean>>() { | ||
| 45 | @Override | 113 | @Override |
| 46 | - public void onSuccess(SubscriptionBaseInfo<FamilyRoleBean> baseInfo) { | 114 | + public void onSuccess(APIBaseInfo<FamilyRoleBean> baseInfo) { |
| 47 | Log.e(TAG, "onSuccess: "); | 115 | Log.e(TAG, "onSuccess: "); |
| 48 | 116 | ||
| 49 | if (null == getView()) { | 117 | if (null == getView()) { |
| 50 | return; | 118 | return; |
| 51 | } | 119 | } |
| 52 | getView().hideLoadingView(); | 120 | getView().hideLoadingView(); |
| 53 | - getView().initView(baseInfo.getData().getFamilyRoleList()); | 121 | + getView().initView(baseInfo.getData()); |
| 54 | 122 | ||
| 55 | } | 123 | } |
| 56 | }) | 124 | }) |
| @@ -62,7 +130,7 @@ public class UserManagerPresenter extends MvpBasePresenter<UserManagerView> { | @@ -62,7 +130,7 @@ public class UserManagerPresenter extends MvpBasePresenter<UserManagerView> { | ||
| 62 | getView().showRetryView(i, new View.OnClickListener() { | 130 | getView().showRetryView(i, new View.OnClickListener() { |
| 63 | @Override | 131 | @Override |
| 64 | public void onClick(View view) { | 132 | public void onClick(View view) { |
| 65 | - getFamilyRole(context, sid, familyId); | 133 | + getFamilyRole(context, sid, familyId, phone); |
| 66 | } | 134 | } |
| 67 | }); | 135 | }); |
| 68 | } | 136 | } |
| @@ -71,6 +139,7 @@ public class UserManagerPresenter extends MvpBasePresenter<UserManagerView> { | @@ -71,6 +139,7 @@ public class UserManagerPresenter extends MvpBasePresenter<UserManagerView> { | ||
| 71 | .start(); | 139 | .start(); |
| 72 | } | 140 | } |
| 73 | 141 | ||
| 142 | + | ||
| 74 | public void getSetRoleList(Context context, String sids, String familyId, FamilyRoleBean.FamilyRoleListBean bean) { | 143 | public void getSetRoleList(Context context, String sids, String familyId, FamilyRoleBean.FamilyRoleListBean bean) { |
| 75 | if (null == getView()) { | 144 | if (null == getView()) { |
| 76 | return; | 145 | return; |
| @@ -80,15 +149,15 @@ public class UserManagerPresenter extends MvpBasePresenter<UserManagerView> { | @@ -80,15 +149,15 @@ public class UserManagerPresenter extends MvpBasePresenter<UserManagerView> { | ||
| 80 | map.put("sids", sids); | 149 | map.put("sids", sids); |
| 81 | map.put("familyId", familyId); | 150 | map.put("familyId", familyId); |
| 82 | Logic.create(map) | 151 | Logic.create(map) |
| 83 | - .action(new Logic.Action<Map<String, String>, SubscriptionBaseInfo<RoleNetBean>>() { | 152 | + .action(new Logic.Action<Map<String, String>, APIBaseInfo<RoleNetBean>>() { |
| 84 | @Override | 153 | @Override |
| 85 | - public Disposable action(Map<String, String> paramsMap, DataCallback<SubscriptionBaseInfo<RoleNetBean>> dataCallback) { | 154 | + public Disposable action(Map<String, String> paramsMap, DataCallback<APIBaseInfo<RoleNetBean>> dataCallback) { |
| 86 | return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.getSetRoleList(paramsMap)).subscribe(context, dataCallback); | 155 | return SubscriptionRequest.service(ApiServiceXiaoJia.class, api -> api.getSetRoleList(paramsMap)).subscribe(context, dataCallback); |
| 87 | } | 156 | } |
| 88 | - }).<SubscriptionBaseInfo<RoleNetBean>>event() | ||
| 89 | - .setSuccessCallback(new SuccessCallback<SubscriptionBaseInfo<RoleNetBean>>() { | 157 | + }).<APIBaseInfo<RoleNetBean>>event() |
| 158 | + .setSuccessCallback(new SuccessCallback<APIBaseInfo<RoleNetBean>>() { | ||
| 90 | @Override | 159 | @Override |
| 91 | - public void onSuccess(SubscriptionBaseInfo<RoleNetBean> baseInfo) { | 160 | + public void onSuccess(APIBaseInfo<RoleNetBean> baseInfo) { |
| 92 | Log.e(TAG, "onSuccess: "); | 161 | Log.e(TAG, "onSuccess: "); |
| 93 | 162 | ||
| 94 | if (null == getView()) { | 163 | if (null == getView()) { |
| @@ -112,4 +181,8 @@ public class UserManagerPresenter extends MvpBasePresenter<UserManagerView> { | @@ -112,4 +181,8 @@ public class UserManagerPresenter extends MvpBasePresenter<UserManagerView> { | ||
| 112 | 181 | ||
| 113 | .start(); | 182 | .start(); |
| 114 | } | 183 | } |
| 184 | + | ||
| 185 | + public interface OnResposeListener { | ||
| 186 | + void onSuccess(); | ||
| 187 | + } | ||
| 115 | } | 188 | } |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/frame/view/AllDeviceFragmentView.java
| @@ -24,8 +24,8 @@ public class AllDeviceFragmentView implements MvpView { | @@ -24,8 +24,8 @@ public class AllDeviceFragmentView implements MvpView { | ||
| 24 | private AllDeviceFragment fragment; | 24 | private AllDeviceFragment fragment; |
| 25 | private AllDeviceAdapter adapter; | 25 | private AllDeviceAdapter adapter; |
| 26 | private List<FamilyListBean.UsersBeanX.DeviceListBean> allDeviceInfoList; | 26 | private List<FamilyListBean.UsersBeanX.DeviceListBean> allDeviceInfoList; |
| 27 | - private List<PopMenuInfo> popMenuInfoList = null; | ||
| 28 | - private PopMenu mPopMenu; | 27 | +// private List<PopMenuInfo> popMenuInfoList = null; |
| 28 | +// private PopMenu mPopMenu; | ||
| 29 | private String TAG = "AllDeviceFragmentView"; | 29 | private String TAG = "AllDeviceFragmentView"; |
| 30 | private FamilyListBean familyListBean; | 30 | private FamilyListBean familyListBean; |
| 31 | 31 | ||
| @@ -38,7 +38,7 @@ public class AllDeviceFragmentView implements MvpView { | @@ -38,7 +38,7 @@ public class AllDeviceFragmentView implements MvpView { | ||
| 38 | } | 38 | } |
| 39 | 39 | ||
| 40 | public void initView() { | 40 | public void initView() { |
| 41 | - initPopView(); | 41 | +// initPopView(); |
| 42 | } | 42 | } |
| 43 | 43 | ||
| 44 | public void initAllDeviceList(FamilyListBean familyListBean) { | 44 | public void initAllDeviceList(FamilyListBean familyListBean) { |
| @@ -46,7 +46,9 @@ public class AllDeviceFragmentView implements MvpView { | @@ -46,7 +46,9 @@ public class AllDeviceFragmentView implements MvpView { | ||
| 46 | this.familyListBean = familyListBean; | 46 | this.familyListBean = familyListBean; |
| 47 | this.allDeviceInfoList = new ArrayList<>(); | 47 | this.allDeviceInfoList = new ArrayList<>(); |
| 48 | if (null != familyListBean && null != familyListBean.getUsers()) { | 48 | if (null != familyListBean && null != familyListBean.getUsers()) { |
| 49 | + int index = 0; | ||
| 49 | for (FamilyListBean.UsersBeanX usersBean : familyListBean.getUsers()) { | 50 | for (FamilyListBean.UsersBeanX usersBean : familyListBean.getUsers()) { |
| 51 | + | ||
| 50 | //存储自己为主人的家庭 | 52 | //存储自己为主人的家庭 |
| 51 | if (usersBean.getIsMaster() == FamilyListBean.THE_HOST) { | 53 | if (usersBean.getIsMaster() == FamilyListBean.THE_HOST) { |
| 52 | Log.e(TAG, "getId: " + usersBean.getUserId()); | 54 | Log.e(TAG, "getId: " + usersBean.getUserId()); |
| @@ -58,10 +60,15 @@ public class AllDeviceFragmentView implements MvpView { | @@ -58,10 +60,15 @@ public class AllDeviceFragmentView implements MvpView { | ||
| 58 | //存储移动token | 60 | //存储移动token |
| 59 | XiaoJIaCommInfo.setToken(getContext(), usersBean.getToken()); | 61 | XiaoJIaCommInfo.setToken(getContext(), usersBean.getToken()); |
| 60 | } | 62 | } |
| 63 | + | ||
| 64 | + for (FamilyListBean.UsersBeanX.DeviceListBean deviceListBean : usersBean.getDeviceList()) { | ||
| 65 | + deviceListBean.setParentPosition(index); | ||
| 66 | + } | ||
| 61 | //存储移动id | 67 | //存储移动id |
| 62 | if (null != usersBean.getDeviceList()) { | 68 | if (null != usersBean.getDeviceList()) { |
| 63 | this.allDeviceInfoList.addAll(usersBean.getDeviceList()); | 69 | this.allDeviceInfoList.addAll(usersBean.getDeviceList()); |
| 64 | } | 70 | } |
| 71 | + index++; | ||
| 65 | } | 72 | } |
| 66 | } | 73 | } |
| 67 | adapter = new AllDeviceAdapter(getContext(), allDeviceInfoList); | 74 | adapter = new AllDeviceAdapter(getContext(), allDeviceInfoList); |
| @@ -76,69 +83,69 @@ public class AllDeviceFragmentView implements MvpView { | @@ -76,69 +83,69 @@ public class AllDeviceFragmentView implements MvpView { | ||
| 76 | adapter.setOnItemClickListener(new AllDeviceAdapter.OnItemClickListener() { | 83 | adapter.setOnItemClickListener(new AllDeviceAdapter.OnItemClickListener() { |
| 77 | @Override | 84 | @Override |
| 78 | public void onItemClick(int position, FamilyListBean.UsersBeanX.DeviceListBean AllDeviceInfo) { | 85 | public void onItemClick(int position, FamilyListBean.UsersBeanX.DeviceListBean AllDeviceInfo) { |
| 79 | - DeviceDetailActivity.startActivity(fragment.getActivity(),AllDeviceInfo); | 86 | + DeviceDetailActivity.startActivity(fragment.getActivity(), AllDeviceInfo,familyListBean.getUsers().get(AllDeviceInfo.getParentPosition()).getId()); |
| 80 | } | 87 | } |
| 81 | }); | 88 | }); |
| 82 | } | 89 | } |
| 83 | 90 | ||
| 84 | - public void initPopView() { | ||
| 85 | -// View contentView = LayoutInflater.from(getContext()) | ||
| 86 | -// .inflate(R.layout.activity_all_device, null); | ||
| 87 | -// BottomSheetDialog dialog = new BottomSheetDialog(getContext()); | ||
| 88 | -// dialog.setContentView(contentView); | ||
| 89 | -// dialog.setCancelable(false); | ||
| 90 | -// BottomSheetBehavior sheetBehavior = BottomSheetBehavior.from((View) contentView.getParent()); | ||
| 91 | -// sheetBehavior.setPeekHeight(200); | ||
| 92 | - //给布局设置透明背景色,让图片突出来 | ||
| 93 | -// bottomSheetDialog.getDelegate().findViewById(android.support.design.R.id.design_bottom_sheet) | ||
| 94 | -// .setBackgroundColor(getResources().getColor(android.R.color.transparent)); | ||
| 95 | -// dialog.show(); | ||
| 96 | - | ||
| 97 | - popMenuInfoList = new ArrayList<>(); | ||
| 98 | - PopMenuInfo popMenuInfo = new PopMenuInfo(); | ||
| 99 | - popMenuInfo.setTitle("使用者管理"); | ||
| 100 | - popMenuInfo.setNetImag("zsdfs"); | ||
| 101 | - popMenuInfoList.add(popMenuInfo); | ||
| 102 | - popMenuInfo = new PopMenuInfo(); | ||
| 103 | - popMenuInfo.setTitle("添加设备"); | ||
| 104 | - popMenuInfo.setNetImag("zsdfs"); | ||
| 105 | - popMenuInfoList.add(popMenuInfo); | 91 | +// public void initPopView() { |
| 92 | +//// View contentView = LayoutInflater.from(getContext()) | ||
| 93 | +//// .inflate(R.layout.activity_all_device, null); | ||
| 94 | +//// BottomSheetDialog dialog = new BottomSheetDialog(getContext()); | ||
| 95 | +//// dialog.setContentView(contentView); | ||
| 96 | +//// dialog.setCancelable(false); | ||
| 97 | +//// BottomSheetBehavior sheetBehavior = BottomSheetBehavior.from((View) contentView.getParent()); | ||
| 98 | +//// sheetBehavior.setPeekHeight(200); | ||
| 99 | +// //给布局设置透明背景色,让图片突出来 | ||
| 100 | +//// bottomSheetDialog.getDelegate().findViewById(android.support.design.R.id.design_bottom_sheet) | ||
| 101 | +//// .setBackgroundColor(getResources().getColor(android.R.color.transparent)); | ||
| 102 | +//// dialog.show(); | ||
| 103 | +// | ||
| 104 | +// popMenuInfoList = new ArrayList<>(); | ||
| 105 | +// PopMenuInfo popMenuInfo = new PopMenuInfo(); | ||
| 106 | +// popMenuInfo.setTitle("使用者管理"); | ||
| 107 | +// popMenuInfo.setNetImag("zsdfs"); | ||
| 108 | +// popMenuInfoList.add(popMenuInfo); | ||
| 106 | // popMenuInfo = new PopMenuInfo(); | 109 | // popMenuInfo = new PopMenuInfo(); |
| 107 | -// popMenuInfo.setTitle("设备管理"); | ||
| 108 | -//// popMenuInfo.setNetImag("zsdfs"); | 110 | +// popMenuInfo.setTitle("添加设备"); |
| 111 | +// popMenuInfo.setNetImag("zsdfs"); | ||
| 109 | // popMenuInfoList.add(popMenuInfo); | 112 | // popMenuInfoList.add(popMenuInfo); |
| 110 | - | ||
| 111 | - if (null == mPopMenu) { | ||
| 112 | - mPopMenu = new PopMenu.Builder(fragment.getActivity()) | ||
| 113 | - .addData(popMenuInfoList) | ||
| 114 | - .setBackgroundColorArray(new int[]{Color.parseColor("#363636"), Color.parseColor("#BF000000"), Color.parseColor("#BF000000")}) | ||
| 115 | - .setLeftAndRightMargin(20) | ||
| 116 | - .setTopMargin(20) | ||
| 117 | - .setLineColor(R.color.white_50) | ||
| 118 | - .setTextColor(R.color.white) | ||
| 119 | - .setLineVisible(View.VISIBLE) | ||
| 120 | -// .setArrowHeight(30f) | ||
| 121 | -// .setArrowHeight(30f) | ||
| 122 | - .setCancelable(false) | ||
| 123 | - .setCornerRadius(10f) | ||
| 124 | - .build(); | ||
| 125 | - } | ||
| 126 | - | ||
| 127 | - mPopMenu.setmItemClickListener(new PopMenu.OnItemClickListener() { | ||
| 128 | - @Override | ||
| 129 | - public void onClick(int position, PopMenuInfo popMenuInfo) { | ||
| 130 | - if (position == 1) { | ||
| 131 | - BlueToothStep1Activity.startActivity(fragment.getActivity()); | ||
| 132 | - } | ||
| 133 | - } | ||
| 134 | - }); | ||
| 135 | - } | ||
| 136 | - | ||
| 137 | - public void showPop(View view) { | ||
| 138 | - if (null != getContext() && null != mPopMenu) { | ||
| 139 | - mPopMenu.show(view); | ||
| 140 | - } | ||
| 141 | - } | 113 | +//// popMenuInfo = new PopMenuInfo(); |
| 114 | +//// popMenuInfo.setTitle("设备管理"); | ||
| 115 | +////// popMenuInfo.setNetImag("zsdfs"); | ||
| 116 | +//// popMenuInfoList.add(popMenuInfo); | ||
| 117 | +// | ||
| 118 | +// if (null == mPopMenu) { | ||
| 119 | +// mPopMenu = new PopMenu.Builder(fragment.getActivity()) | ||
| 120 | +// .addData(popMenuInfoList) | ||
| 121 | +// .setBackgroundColorArray(new int[]{Color.parseColor("#363636"), Color.parseColor("#BF000000"), Color.parseColor("#BF000000")}) | ||
| 122 | +// .setLeftAndRightMargin(20) | ||
| 123 | +// .setTopMargin(20) | ||
| 124 | +// .setLineColor(R.color.white_50) | ||
| 125 | +// .setTextColor(R.color.white) | ||
| 126 | +// .setLineVisible(View.VISIBLE) | ||
| 127 | +//// .setArrowHeight(30f) | ||
| 128 | +//// .setArrowHeight(30f) | ||
| 129 | +// .setCancelable(false) | ||
| 130 | +// .setCornerRadius(10f) | ||
| 131 | +// .build(); | ||
| 132 | +// } | ||
| 133 | +// | ||
| 134 | +// mPopMenu.setmItemClickListener(new PopMenu.OnItemClickListener() { | ||
| 135 | +// @Override | ||
| 136 | +// public void onClick(int position, PopMenuInfo popMenuInfo) { | ||
| 137 | +// if (position == 1) { | ||
| 138 | +// BlueToothStep1Activity.startActivity(fragment.getActivity()); | ||
| 139 | +// } | ||
| 140 | +// } | ||
| 141 | +// }); | ||
| 142 | +// } | ||
| 143 | +// | ||
| 144 | +// public void showPop(View view) { | ||
| 145 | +// if (null != getContext() && null != mPopMenu) { | ||
| 146 | +// mPopMenu.show(view); | ||
| 147 | +// } | ||
| 148 | +// } | ||
| 142 | 149 | ||
| 143 | /** | 150 | /** |
| 144 | * 显示loading | 151 | * 显示loading |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/frame/view/ChangeDeviceNameView.java
0 → 100644
| 1 | +package com.cnlive.strike.xiaojiaspeaker.frame.view; | ||
| 2 | + | ||
| 3 | +import android.app.Activity; | ||
| 4 | +import android.content.Intent; | ||
| 5 | +import android.support.v4.content.ContextCompat; | ||
| 6 | +import android.text.Editable; | ||
| 7 | +import android.text.TextWatcher; | ||
| 8 | +import android.view.View; | ||
| 9 | + | ||
| 10 | +import com.cnlive.strike.xiaojiaspeaker.R; | ||
| 11 | +import com.cnlive.strike.xiaojiaspeaker.ui.activity.ChangeDeviceNameActivity; | ||
| 12 | +import com.cnlive.strike.xiaojiaspeaker.ui.fragment.ChangeDeviceNameFragment; | ||
| 13 | +import com.hannesdorfmann.mosby3.mvp.MvpView; | ||
| 14 | + | ||
| 15 | +public class ChangeDeviceNameView implements MvpView { | ||
| 16 | + private ChangeDeviceNameFragment fragment; | ||
| 17 | + | ||
| 18 | + public ChangeDeviceNameView(ChangeDeviceNameFragment fragment) { | ||
| 19 | + this.fragment = fragment; | ||
| 20 | + } | ||
| 21 | + | ||
| 22 | + public Activity getContext() { | ||
| 23 | + return fragment == null ? null : fragment.getActivity(); | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + public void initView() { | ||
| 27 | + //编辑框 | ||
| 28 | + fragment.binding.etName.addTextChangedListener(new TextWatcher() { | ||
| 29 | + @Override | ||
| 30 | + public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { | ||
| 31 | + | ||
| 32 | + } | ||
| 33 | + | ||
| 34 | + @Override | ||
| 35 | + public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { | ||
| 36 | + if (null != charSequence && charSequence.length() > 0) { | ||
| 37 | + fragment.binding.ivClose.setVisibility(View.VISIBLE); | ||
| 38 | + setBtnClick(); | ||
| 39 | + } else { | ||
| 40 | + fragment.binding.ivClose.setVisibility(View.GONE); | ||
| 41 | + setBtnCantClick(); | ||
| 42 | + } | ||
| 43 | + } | ||
| 44 | + | ||
| 45 | + @Override | ||
| 46 | + public void afterTextChanged(Editable editable) { | ||
| 47 | + | ||
| 48 | + } | ||
| 49 | + }); | ||
| 50 | + //清除按钮点击事件 | ||
| 51 | + fragment.binding.ivClose.setOnClickListener(new View.OnClickListener() { | ||
| 52 | + @Override | ||
| 53 | + public void onClick(View view) { | ||
| 54 | + fragment.binding.etName.setText(""); | ||
| 55 | + } | ||
| 56 | + }); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + | ||
| 60 | + | ||
| 61 | + /** | ||
| 62 | + * 设置绑定按钮不可点击 | ||
| 63 | + */ | ||
| 64 | + private void setBtnCantClick() { | ||
| 65 | + if (fragment.binding.btnNext.isClickable()) { | ||
| 66 | + fragment.binding.btnNext.setClickable(false); | ||
| 67 | + fragment.binding.btnNext.setBackground(ContextCompat.getDrawable(getContext(), R.drawable.shape_btn_press)); | ||
| 68 | + } | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + /** | ||
| 72 | + * 设置绑定按钮可点击 | ||
| 73 | + */ | ||
| 74 | + private void setBtnClick() { | ||
| 75 | + if (!fragment.binding.btnNext.isClickable()) { | ||
| 76 | + fragment.binding.btnNext.setClickable(true); | ||
| 77 | + fragment.binding.btnNext.setBackground(ContextCompat.getDrawable(getContext(), R.drawable.selector_btn_green)); | ||
| 78 | + } | ||
| 79 | + } | ||
| 80 | +} |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/frame/view/DeviceManagerFragmentView.java
| @@ -3,8 +3,15 @@ package com.cnlive.strike.xiaojiaspeaker.frame.view; | @@ -3,8 +3,15 @@ package com.cnlive.strike.xiaojiaspeaker.frame.view; | ||
| 3 | import android.app.Activity; | 3 | import android.app.Activity; |
| 4 | import android.support.v7.widget.DefaultItemAnimator; | 4 | import android.support.v7.widget.DefaultItemAnimator; |
| 5 | import android.support.v7.widget.LinearLayoutManager; | 5 | import android.support.v7.widget.LinearLayoutManager; |
| 6 | +import android.view.View; | ||
| 6 | 7 | ||
| 8 | +import com.cnlive.strike.xiaojiaspeaker.R; | ||
| 7 | import com.cnlive.strike.xiaojiaspeaker.model.DeviceManagerMenu; | 9 | import com.cnlive.strike.xiaojiaspeaker.model.DeviceManagerMenu; |
| 10 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.DeviceDetail; | ||
| 11 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyListBean; | ||
| 12 | +import com.cnlive.strike.xiaojiaspeaker.ui.activity.ChangeDeviceNameActivity; | ||
| 13 | +import com.cnlive.strike.xiaojiaspeaker.ui.activity.DeviceManagerActivity; | ||
| 14 | +import com.cnlive.strike.xiaojiaspeaker.ui.activity.FirmwareUpdateActivity; | ||
| 8 | import com.cnlive.strike.xiaojiaspeaker.ui.adapter.DeviceManagerMenuAdapter; | 15 | import com.cnlive.strike.xiaojiaspeaker.ui.adapter.DeviceManagerMenuAdapter; |
| 9 | import com.cnlive.strike.xiaojiaspeaker.ui.fragment.DeviceManagerFragment; | 16 | import com.cnlive.strike.xiaojiaspeaker.ui.fragment.DeviceManagerFragment; |
| 10 | import com.hannesdorfmann.mosby3.mvp.MvpView; | 17 | import com.hannesdorfmann.mosby3.mvp.MvpView; |
| @@ -14,9 +21,10 @@ import java.util.List; | @@ -14,9 +21,10 @@ import java.util.List; | ||
| 14 | 21 | ||
| 15 | public class DeviceManagerFragmentView implements MvpView { | 22 | public class DeviceManagerFragmentView implements MvpView { |
| 16 | private DeviceManagerFragment fragment; | 23 | private DeviceManagerFragment fragment; |
| 17 | - private DeviceManagerMenuAdapter adapter; | ||
| 18 | - private List<DeviceManagerMenu> deviceManagerMenuList; | ||
| 19 | - | 24 | + // private DeviceManagerMenuAdapter adapter; |
| 25 | +// private List<DeviceManagerMenu> deviceManagerMenuList; | ||
| 26 | + private DeviceDetail deviceDetail; | ||
| 27 | +private FamilyListBean.UsersBeanX.DeviceListBean currentDeviceInfo; | ||
| 20 | public DeviceManagerFragmentView(DeviceManagerFragment fragment) { | 28 | public DeviceManagerFragmentView(DeviceManagerFragment fragment) { |
| 21 | this.fragment = fragment; | 29 | this.fragment = fragment; |
| 22 | } | 30 | } |
| @@ -25,18 +33,102 @@ public class DeviceManagerFragmentView implements MvpView { | @@ -25,18 +33,102 @@ public class DeviceManagerFragmentView implements MvpView { | ||
| 25 | return fragment == null ? null : fragment.getActivity(); | 33 | return fragment == null ? null : fragment.getActivity(); |
| 26 | } | 34 | } |
| 27 | 35 | ||
| 28 | - public void initView() { | ||
| 29 | - deviceManagerMenuList = new ArrayList<>(); | ||
| 30 | - deviceManagerMenuList.add(new DeviceManagerMenu("音箱名称", "as", DeviceManagerMenu.NO_RIGHT_ARROW)); | ||
| 31 | - deviceManagerMenuList.add(new DeviceManagerMenu("WIFI设置", "asd", DeviceManagerMenu.NORMAL)); | ||
| 32 | - deviceManagerMenuList.add(new DeviceManagerMenu("设备信息", "asd", DeviceManagerMenu.NO_MENU_DETAIL)); | ||
| 33 | - deviceManagerMenuList.add(new DeviceManagerMenu("固件升级", "asd", DeviceManagerMenu.NORMAL)); | ||
| 34 | - deviceManagerMenuList.add(new DeviceManagerMenu("远程控制", "手机可远程控制音箱播放的内容,但仅限听见中国", DeviceManagerMenu.SWITCH_NORMAL)); | ||
| 35 | - deviceManagerMenuList.add(new DeviceManagerMenu("小家音箱播放", "音箱可作为蓝牙音箱,播放手机内所有声音", DeviceManagerMenu.SWITCH_NORMAL)); | ||
| 36 | - | ||
| 37 | - adapter=new DeviceManagerMenuAdapter(getContext(),deviceManagerMenuList); | ||
| 38 | - fragment.binding.rvMenu.setLayoutManager(new LinearLayoutManager(getContext())); | ||
| 39 | - fragment.binding.rvMenu.setAdapter(adapter); | ||
| 40 | - ((DefaultItemAnimator) fragment.binding.rvMenu.getItemAnimator()).setSupportsChangeAnimations(false); | 36 | + public void initView(FamilyListBean.UsersBeanX.DeviceListBean currentDeviceInfo) { |
| 37 | + this.currentDeviceInfo=currentDeviceInfo; | ||
| 38 | +// deviceManagerMenuList = new ArrayList<>(); | ||
| 39 | +// deviceManagerMenuList.add(new DeviceManagerMenu("音箱名称", "as", DeviceManagerMenu.NO_RIGHT_ARROW)); | ||
| 40 | +// deviceManagerMenuList.add(new DeviceManagerMenu("WIFI设置", "asd", DeviceManagerMenu.NORMAL)); | ||
| 41 | +// deviceManagerMenuList.add(new DeviceManagerMenu("设备信息", "asd", DeviceManagerMenu.NO_MENU_DETAIL)); | ||
| 42 | +// deviceManagerMenuList.add(new DeviceManagerMenu("固件升级", "asd", DeviceManagerMenu.NORMAL)); | ||
| 43 | +// deviceManagerMenuList.add(new DeviceManagerMenu("远程控制", "手机可远程控制音箱播放的内容,但仅限听见中国", DeviceManagerMenu.SWITCH_NORMAL)); | ||
| 44 | +// deviceManagerMenuList.add(new DeviceManagerMenu("小家音箱播放", "音箱可作为蓝牙音箱,播放手机内所有声音", DeviceManagerMenu.SWITCH_NORMAL)); | ||
| 45 | +// | ||
| 46 | +// adapter=new DeviceManagerMenuAdapter(getContext(),deviceManagerMenuList); | ||
| 47 | +// fragment.binding.rvMenu.setLayoutManager(new LinearLayoutManager(getContext())); | ||
| 48 | +// fragment.binding.rvMenu.setAdapter(adapter); | ||
| 49 | +// ((DefaultItemAnimator) fragment.binding.rvMenu.getItemAnimator()).setSupportsChangeAnimations(false); | ||
| 50 | + | ||
| 51 | + | ||
| 52 | + //音箱名称 | ||
| 53 | + fragment.binding.llDeviceName.setOnClickListener(new View.OnClickListener() { | ||
| 54 | + @Override | ||
| 55 | + public void onClick(View view) { | ||
| 56 | + ChangeDeviceNameActivity.startActivity(getContext()); | ||
| 57 | + } | ||
| 58 | + }); | ||
| 59 | + //wifi设置 | ||
| 60 | + fragment.binding.llWifiSetting.setOnClickListener(new View.OnClickListener() { | ||
| 61 | + @Override | ||
| 62 | + public void onClick(View view) { | ||
| 63 | + | ||
| 64 | + } | ||
| 65 | + }); | ||
| 66 | + //设备信息 | ||
| 67 | + fragment.binding.llDeviceInfo.setOnClickListener(new View.OnClickListener() { | ||
| 68 | + @Override | ||
| 69 | + public void onClick(View view) { | ||
| 70 | + | ||
| 71 | + } | ||
| 72 | + }); | ||
| 73 | + //固件升级 | ||
| 74 | + fragment.binding.llDeviceUpdate.setOnClickListener(new View.OnClickListener() { | ||
| 75 | + @Override | ||
| 76 | + public void onClick(View view) { | ||
| 77 | + FirmwareUpdateActivity.startActivity(getContext()); | ||
| 78 | + } | ||
| 79 | + }); | ||
| 80 | + } | ||
| 81 | + | ||
| 82 | + public void initData(DeviceDetail deviceDetail){ | ||
| 83 | + this.deviceDetail = deviceDetail; | ||
| 84 | + //设置音箱名称 | ||
| 85 | + fragment.binding.tvDeviceName.setText(deviceDetail.getDeviceName()); | ||
| 86 | + //设置wifi | ||
| 87 | + fragment.binding.tvWifiName.setText(deviceDetail.getWifiName()); | ||
| 88 | + //设置固件版本号 | ||
| 89 | + fragment.binding.tvCurrentVersion.setText(deviceDetail.getVer()); | ||
| 90 | + } | ||
| 91 | + | ||
| 92 | + /** | ||
| 93 | + * 显示loading | ||
| 94 | + */ | ||
| 95 | + public void showLoadingView() { | ||
| 96 | + if (fragment.binding.emptyLayout == null) { | ||
| 97 | + return; | ||
| 98 | + } | ||
| 99 | + fragment.binding.emptyLayout.show(true); | ||
| 100 | + } | ||
| 101 | + | ||
| 102 | + /** | ||
| 103 | + * 隐藏loading | ||
| 104 | + */ | ||
| 105 | + public void hideLoadingView() { | ||
| 106 | + if (fragment.binding.emptyLayout == null) { | ||
| 107 | + return; | ||
| 108 | + } | ||
| 109 | + fragment.binding.emptyLayout.hide(); | ||
| 110 | + } | ||
| 111 | + | ||
| 112 | + /** | ||
| 113 | + * 显示重试页面 | ||
| 114 | + * | ||
| 115 | + * @param errorCode | ||
| 116 | + * @param listener | ||
| 117 | + */ | ||
| 118 | + public void showRetryView(int errorCode, View.OnClickListener listener) { | ||
| 119 | + //显示空视图 | ||
| 120 | + fragment.binding.emptyLayout.setVisibility(View.VISIBLE); | ||
| 121 | + | ||
| 122 | + if (fragment.binding.emptyLayout == null) return; | ||
| 123 | + String titleText = ""; | ||
| 124 | + String detailText = ""; | ||
| 125 | + if (errorCode == -3) { | ||
| 126 | + titleText = getContext().getString(R.string.msg_failed_network_title); | ||
| 127 | + detailText = getContext().getString(R.string.msg_failed_network_detail); | ||
| 128 | + } else { | ||
| 129 | + titleText = getContext().getString(R.string.msg_failed_other_title); | ||
| 130 | + detailText = getContext().getString(R.string.msg_failed_other_detail); | ||
| 131 | + } | ||
| 132 | + fragment.binding.emptyLayout.show(false, titleText, detailText, getContext().getString(R.string.retry), R.drawable.wufalianjie, listener); | ||
| 41 | } | 133 | } |
| 42 | } | 134 | } |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/frame/view/UserManagerView.java
| @@ -3,11 +3,16 @@ package com.cnlive.strike.xiaojiaspeaker.frame.view; | @@ -3,11 +3,16 @@ package com.cnlive.strike.xiaojiaspeaker.frame.view; | ||
| 3 | import android.app.Activity; | 3 | import android.app.Activity; |
| 4 | import android.graphics.Color; | 4 | import android.graphics.Color; |
| 5 | import android.graphics.Typeface; | 5 | import android.graphics.Typeface; |
| 6 | +import android.support.v4.content.ContextCompat; | ||
| 6 | import android.support.v7.widget.LinearLayoutManager; | 7 | import android.support.v7.widget.LinearLayoutManager; |
| 8 | +import android.text.TextUtils; | ||
| 7 | import android.view.View; | 9 | import android.view.View; |
| 10 | +import android.widget.Button; | ||
| 8 | 11 | ||
| 12 | +import com.cnlive.libs.base.util.AlertUtil; | ||
| 9 | import com.cnlive.strike.xiaojiaspeaker.R; | 13 | import com.cnlive.strike.xiaojiaspeaker.R; |
| 10 | import com.cnlive.strike.xiaojiaspeaker.commonInfo.XiaoJIaCommInfo; | 14 | import com.cnlive.strike.xiaojiaspeaker.commonInfo.XiaoJIaCommInfo; |
| 15 | +import com.cnlive.strike.xiaojiaspeaker.frame.presenter.UserManagerPresenter; | ||
| 11 | import com.cnlive.strike.xiaojiaspeaker.model.RoleInfo; | 16 | import com.cnlive.strike.xiaojiaspeaker.model.RoleInfo; |
| 12 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyRoleBean; | 17 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyRoleBean; |
| 13 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.RoleNetBean; | 18 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.RoleNetBean; |
| @@ -35,6 +40,8 @@ public class UserManagerView implements MvpView { | @@ -35,6 +40,8 @@ public class UserManagerView implements MvpView { | ||
| 35 | private List<RoleInfo> roleInfoList; | 40 | private List<RoleInfo> roleInfoList; |
| 36 | private EditRoleDialog editRoleDialog; | 41 | private EditRoleDialog editRoleDialog; |
| 37 | private SelectDialog deleteDialog; | 42 | private SelectDialog deleteDialog; |
| 43 | + private Button btn_invit; | ||
| 44 | + private String currentSelectFamilyId; | ||
| 38 | private String test = "{\n" + | 45 | private String test = "{\n" + |
| 39 | "\t\"familyRoleList\": [{\n" + | 46 | "\t\"familyRoleList\": [{\n" + |
| 40 | "\t\t\t\"family_id\": \"fb8f160efc61431f96e8111e0cbfd349\",\n" + | 47 | "\t\t\t\"family_id\": \"fb8f160efc61431f96e8111e0cbfd349\",\n" + |
| @@ -81,26 +88,44 @@ public class UserManagerView implements MvpView { | @@ -81,26 +88,44 @@ public class UserManagerView implements MvpView { | ||
| 81 | return fragment == null ? null : fragment.getActivity(); | 88 | return fragment == null ? null : fragment.getActivity(); |
| 82 | } | 89 | } |
| 83 | 90 | ||
| 84 | - public void initView(List<FamilyRoleBean.FamilyRoleListBean> familyRoleList) { | ||
| 85 | - this.familyRoleList = familyRoleList; | ||
| 86 | - FamilyRoleBean bean1 = GsonUtil.GsonToBean(test, FamilyRoleBean.class); | ||
| 87 | -// if (null != familyRoleList) { | ||
| 88 | - for (FamilyRoleBean.FamilyRoleListBean bean : bean1.getFamilyRoleList()) { | ||
| 89 | - if ("管理员".equals(bean.getRoleName())) { | ||
| 90 | - bean.setType(FamilyRoleBean.FamilyRoleListBean.HOST); | ||
| 91 | - } else { | ||
| 92 | - bean.setType(FamilyRoleBean.FamilyRoleListBean.MEMBER); | 91 | + public void setCurrentSelectFamily(String selectFamily) { |
| 92 | + currentSelectFamilyId = selectFamily; | ||
| 93 | + } | ||
| 94 | + | ||
| 95 | + public void initView(FamilyRoleBean familyRoleBean) { | ||
| 96 | + this.familyRoleList = familyRoleBean.getFamilyRoleList(); | ||
| 97 | +// FamilyRoleBean bean1 = GsonUtil.GsonToBean(test, FamilyRoleBean.class); | ||
| 98 | + if (null != familyRoleList) { | ||
| 99 | + for (FamilyRoleBean.FamilyRoleListBean bean : familyRoleList) { | ||
| 100 | + if ("管理员".equals(bean.getRoleName())) { | ||
| 101 | + bean.setType(FamilyRoleBean.FamilyRoleListBean.HOST); | ||
| 102 | + } else { | ||
| 103 | + bean.setType(FamilyRoleBean.FamilyRoleListBean.MEMBER); | ||
| 104 | + } | ||
| 105 | + } | ||
| 106 | + } | ||
| 107 | + for (int i = 0; i < familyRoleList.size(); i++) { | ||
| 108 | + if ("管理员".equals(familyRoleList.get(i).getRoleName())) { | ||
| 109 | + FamilyRoleBean.FamilyRoleListBean bean = familyRoleList.get(i); | ||
| 110 | + familyRoleList.remove(i); | ||
| 111 | + familyRoleList.add(0, bean); | ||
| 93 | } | 112 | } |
| 94 | } | 113 | } |
| 95 | - for (int i = 0; i < bean1.getFamilyRoleList().size(); i++) { | ||
| 96 | - if ("管理员".equals(bean1.getFamilyRoleList().get(i).getRoleName())) { | ||
| 97 | - FamilyRoleBean.FamilyRoleListBean bean = bean1.getFamilyRoleList().get(i); | ||
| 98 | - bean1.getFamilyRoleList().remove(i); | ||
| 99 | - bean1.getFamilyRoleList().add(0, bean); | 114 | + //判断是否是管理者 |
| 115 | + if (FamilyRoleBean.HOST == familyRoleBean.getIsMaster()) { | ||
| 116 | + //是否显示按钮 | ||
| 117 | + if (null != familyRoleList && familyRoleList.size() > 1) { | ||
| 118 | + fragment.binding.llBtn.setVisibility(View.GONE); | ||
| 119 | + } else { | ||
| 120 | + fragment.binding.llBtn.setVisibility(View.VISIBLE); | ||
| 100 | } | 121 | } |
| 122 | + adapter = new UserManagerAdapter(getContext(), familyRoleList, true); | ||
| 123 | + //是否显示使用者按钮 | ||
| 124 | + addAdminBtn(); | ||
| 125 | + } else { | ||
| 126 | + adapter = new UserManagerAdapter(getContext(), familyRoleList, false); | ||
| 127 | + | ||
| 101 | } | 128 | } |
| 102 | -// } | ||
| 103 | - adapter = new UserManagerAdapter(getContext(), bean1.getFamilyRoleList(), true); | ||
| 104 | fragment.binding.rvUserManagerList.setLayoutManager(new LinearLayoutManager(getContext())); | 129 | fragment.binding.rvUserManagerList.setLayoutManager(new LinearLayoutManager(getContext())); |
| 105 | fragment.binding.rvUserManagerList.setAdapter(adapter); | 130 | fragment.binding.rvUserManagerList.setAdapter(adapter); |
| 106 | //编辑按钮点击事件 | 131 | //编辑按钮点击事件 |
| @@ -123,7 +148,16 @@ public class UserManagerView implements MvpView { | @@ -123,7 +148,16 @@ public class UserManagerView implements MvpView { | ||
| 123 | }, "确定", new SelectDialog.DialogInterface() { | 148 | }, "确定", new SelectDialog.DialogInterface() { |
| 124 | @Override | 149 | @Override |
| 125 | public void onClick(SelectDialog dialog) { | 150 | public void onClick(SelectDialog dialog) { |
| 126 | - dialog.dismiss(); | 151 | + fragment.getPresenter().changeMemberRole(getContext(), bean.getSid() + "", bean.getFamily_id(), null, new UserManagerPresenter.OnResposeListener() { |
| 152 | + @Override | ||
| 153 | + public void onSuccess() { | ||
| 154 | + dialog.dismiss(); | ||
| 155 | + familyRoleList.remove(position); | ||
| 156 | + if (null != adapter) { | ||
| 157 | + adapter.notifyDataSetChanged(); | ||
| 158 | + } | ||
| 159 | + } | ||
| 160 | + }); | ||
| 127 | } | 161 | } |
| 128 | }); | 162 | }); |
| 129 | deleteDialog.setRightBtnColor(R.color.btn_green); | 163 | deleteDialog.setRightBtnColor(R.color.btn_green); |
| @@ -150,6 +184,21 @@ public class UserManagerView implements MvpView { | @@ -150,6 +184,21 @@ public class UserManagerView implements MvpView { | ||
| 150 | }); | 184 | }); |
| 151 | } | 185 | } |
| 152 | 186 | ||
| 187 | + public void addAdminBtn() { | ||
| 188 | + //添加邀请者按钮 | ||
| 189 | + btn_invit = fragment.binding.topbar.addRightTextButton("邀请使用者", R.id.rightBtn); | ||
| 190 | + btn_invit.setTextSize(15); | ||
| 191 | + btn_invit.setTextColor(ContextCompat.getColor(getContext(), R.color.color_282828)); | ||
| 192 | + btn_invit.setOnClickListener(new View.OnClickListener() { | ||
| 193 | + @Override | ||
| 194 | + public void onClick(View view) { | ||
| 195 | + if (null != getContext()) { | ||
| 196 | + showPop(btn_invit); | ||
| 197 | + } | ||
| 198 | + } | ||
| 199 | + }); | ||
| 200 | + } | ||
| 201 | + | ||
| 153 | public void initRoleDialog(RoleNetBean roleNetBean, FamilyRoleBean.FamilyRoleListBean familyRoleListBean) { | 202 | public void initRoleDialog(RoleNetBean roleNetBean, FamilyRoleBean.FamilyRoleListBean familyRoleListBean) { |
| 154 | roleInfoList = new ArrayList<>(); | 203 | roleInfoList = new ArrayList<>(); |
| 155 | //整理数据 | 204 | //整理数据 |
| @@ -191,8 +240,25 @@ public class UserManagerView implements MvpView { | @@ -191,8 +240,25 @@ public class UserManagerView implements MvpView { | ||
| 191 | } | 240 | } |
| 192 | 241 | ||
| 193 | @Override | 242 | @Override |
| 194 | - public void onSaveClick(EditRoleDialog dialog) { | ||
| 195 | - dialog.dismiss(); | 243 | + public void onSaveClick(EditRoleDialog dialog, String selectSid, String selectRole, String selectRoleName) { |
| 244 | + if (!TextUtils.isEmpty(selectSid) && !TextUtils.isEmpty(selectRole) && !TextUtils.isEmpty(currentSelectFamilyId)) { | ||
| 245 | + fragment.getPresenter().changeMemberRole(getContext(), selectSid, familyRoleListBean.getFamily_id(), selectRole, new UserManagerPresenter.OnResposeListener() { | ||
| 246 | + @Override | ||
| 247 | + public void onSuccess() { | ||
| 248 | + dialog.dismiss(); | ||
| 249 | + if (!TextUtils.isEmpty(selectRole) && !TextUtils.isEmpty(selectRoleName)) { | ||
| 250 | + familyRoleListBean.setId(Integer.parseInt(selectRole)); | ||
| 251 | + familyRoleListBean.setRoleName(selectRoleName); | ||
| 252 | + if (null != adapter) { | ||
| 253 | + adapter.notifyDataSetChanged(); | ||
| 254 | + } | ||
| 255 | + } | ||
| 256 | + } | ||
| 257 | + }); | ||
| 258 | + } else { | ||
| 259 | + AlertUtil.showDeftToast(getContext(), "设置失败,请稍后重试"); | ||
| 260 | + dialog.dismiss(); | ||
| 261 | + } | ||
| 196 | } | 262 | } |
| 197 | }); | 263 | }); |
| 198 | } | 264 | } |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/netWork/ApiServiceXiaoJia.java
| 1 | package com.cnlive.strike.xiaojiaspeaker.netWork; | 1 | package com.cnlive.strike.xiaojiaspeaker.netWork; |
| 2 | 2 | ||
| 3 | 3 | ||
| 4 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.DeviceDetail; | ||
| 4 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyListBean; | 5 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyListBean; |
| 5 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyRoleBean; | 6 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyRoleBean; |
| 6 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.NetworkResultBean; | 7 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.NetworkResultBean; |
| 7 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.RoleNetBean; | 8 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.RoleNetBean; |
| 8 | -import com.cnlive.strike.xiaojiaspeaker.netWork.bean.SubscriptionBaseInfo; | 9 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.APIBaseInfo; |
| 9 | 10 | ||
| 10 | import java.util.Map; | 11 | import java.util.Map; |
| 11 | 12 | ||
| 12 | import io.reactivex.Observable; | 13 | import io.reactivex.Observable; |
| 13 | import retrofit2.adapter.rxjava2.Result; | 14 | import retrofit2.adapter.rxjava2.Result; |
| 15 | +import retrofit2.http.GET; | ||
| 14 | import retrofit2.http.POST; | 16 | import retrofit2.http.POST; |
| 15 | import retrofit2.http.QueryMap; | 17 | import retrofit2.http.QueryMap; |
| 16 | 18 | ||
| @@ -19,7 +21,7 @@ import retrofit2.http.QueryMap; | @@ -19,7 +21,7 @@ import retrofit2.http.QueryMap; | ||
| 19 | */ | 21 | */ |
| 20 | public interface ApiServiceXiaoJia { | 22 | public interface ApiServiceXiaoJia { |
| 21 | @POST("Daren/sound/getSetRoleList.action") | 23 | @POST("Daren/sound/getSetRoleList.action") |
| 22 | - Observable<Result<SubscriptionBaseInfo<RoleNetBean>>> getSetRoleList(@QueryMap() Map<String, String> maps); | 24 | + Observable<Result<APIBaseInfo<RoleNetBean>>> getSetRoleList(@QueryMap() Map<String, String> maps); |
| 23 | 25 | ||
| 24 | /** | 26 | /** |
| 25 | * 获取家庭id | 27 | * 获取家庭id |
| @@ -30,7 +32,7 @@ public interface ApiServiceXiaoJia { | @@ -30,7 +32,7 @@ public interface ApiServiceXiaoJia { | ||
| 30 | * @return | 32 | * @return |
| 31 | */ | 33 | */ |
| 32 | @POST("Daren/sound/getFamilyList.action") | 34 | @POST("Daren/sound/getFamilyList.action") |
| 33 | - Observable<Result<SubscriptionBaseInfo<FamilyListBean>>> getFamilyList(@QueryMap() Map<String, String> maps); | 35 | + Observable<Result<APIBaseInfo<FamilyListBean>>> getFamilyList(@QueryMap() Map<String, String> maps); |
| 34 | 36 | ||
| 35 | 37 | ||
| 36 | /** | 38 | /** |
| @@ -42,7 +44,7 @@ public interface ApiServiceXiaoJia { | @@ -42,7 +44,7 @@ public interface ApiServiceXiaoJia { | ||
| 42 | * @return | 44 | * @return |
| 43 | */ | 45 | */ |
| 44 | @POST("/Daren/sound/getNetworkResult.action") | 46 | @POST("/Daren/sound/getNetworkResult.action") |
| 45 | - Observable<Result<SubscriptionBaseInfo<NetworkResultBean>>> getNetworkResult(@QueryMap() Map<String, String> maps); | 47 | + Observable<Result<APIBaseInfo<NetworkResultBean>>> getNetworkResult(@QueryMap() Map<String, String> maps); |
| 46 | 48 | ||
| 47 | 49 | ||
| 48 | /** | 50 | /** |
| @@ -54,8 +56,39 @@ public interface ApiServiceXiaoJia { | @@ -54,8 +56,39 @@ public interface ApiServiceXiaoJia { | ||
| 54 | * @return | 56 | * @return |
| 55 | */ | 57 | */ |
| 56 | @POST("/Daren/sound/getFamilyRole.action") | 58 | @POST("/Daren/sound/getFamilyRole.action") |
| 57 | - Observable<Result<SubscriptionBaseInfo<FamilyRoleBean>>> getFamilyRole(@QueryMap() Map<String, String> maps); | 59 | + Observable<Result<APIBaseInfo<FamilyRoleBean>>> getFamilyRole(@QueryMap() Map<String, String> maps); |
| 58 | 60 | ||
| 61 | + /** | ||
| 62 | + * 修改或移出家庭成员身份 | ||
| 63 | + * sid Integer true 修改身份sid | ||
| 64 | + * familyId String true 家庭id | ||
| 65 | + * role Integer false 修改身份id | ||
| 66 | + * | ||
| 67 | + * @param maps | ||
| 68 | + * @return | ||
| 69 | + */ | ||
| 70 | + @POST("/Daren/sound/updateFamilyMemberRole.action") | ||
| 71 | + Observable<Result<APIBaseInfo>> changeMemberRole(@QueryMap() Map<String, String> maps); | ||
| 59 | 72 | ||
| 73 | + /** | ||
| 74 | + * 获取设备详情信息 | ||
| 75 | + * devIdStringtrue设备id | ||
| 76 | + * | ||
| 77 | + * @param maps | ||
| 78 | + * @return | ||
| 79 | + */ | ||
| 80 | + @GET("/Daren/sound/getDeviceDetailMsg.action") | ||
| 81 | + Observable<Result<APIBaseInfo<DeviceDetail>>> getDeviceDetailMsg(@QueryMap() Map<String, String> maps); | ||
| 82 | + | ||
| 83 | + /** | ||
| 84 | + * 修改音箱名称 | ||
| 85 | + * devId String true 设备id | ||
| 86 | + * newName String true 新设备名称 | ||
| 87 | + * | ||
| 88 | + * @param maps | ||
| 89 | + * @return | ||
| 90 | + */ | ||
| 91 | + @POST("/Daren/sound/updateDeviceName.action") | ||
| 92 | + Observable<Result<APIBaseInfo>> changeDeviceName(@QueryMap() Map<String, String> maps); | ||
| 60 | } | 93 | } |
| 61 | 94 |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/netWork/bean/SubscriptionBaseInfo.java renamed to module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/netWork/bean/APIBaseInfo.java
| @@ -5,7 +5,7 @@ import com.cnlive.libs.data.network.model.IBaseInfo; | @@ -5,7 +5,7 @@ import com.cnlive.libs.data.network.model.IBaseInfo; | ||
| 5 | /** | 5 | /** |
| 6 | * Created by Lynn on 2019/3/27. | 6 | * Created by Lynn on 2019/3/27. |
| 7 | */ | 7 | */ |
| 8 | -public class SubscriptionBaseInfo<T> implements IBaseInfo { | 8 | +public class APIBaseInfo<T> implements IBaseInfo { |
| 9 | private String errorCode = "0"; | 9 | private String errorCode = "0"; |
| 10 | private String errorMessage = ""; | 10 | private String errorMessage = ""; |
| 11 | 11 |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/netWork/bean/DeviceDetail.java
0 → 100644
| 1 | +package com.cnlive.strike.xiaojiaspeaker.netWork.bean; | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * 设备详情页面 | ||
| 5 | + */ | ||
| 6 | +public class DeviceDetail { | ||
| 7 | + | ||
| 8 | + /** | ||
| 9 | + * deviceName : 布丁 | ||
| 10 | + * iP : | ||
| 11 | + * mAC : | ||
| 12 | + * sN : 400011F000000002 | ||
| 13 | + * updateVer : | ||
| 14 | + * ver : XiaoJiaSmartSpeaker_1.0.1.20190926 | ||
| 15 | + * wifiName : | ||
| 16 | + */ | ||
| 17 | + | ||
| 18 | + private String deviceName; | ||
| 19 | + private String iP; | ||
| 20 | + private String mAC; | ||
| 21 | + private String sN; | ||
| 22 | + private String updateVer; | ||
| 23 | + private String ver; | ||
| 24 | + private String wifiName; | ||
| 25 | + | ||
| 26 | + public String getDeviceName() { | ||
| 27 | + return deviceName; | ||
| 28 | + } | ||
| 29 | + | ||
| 30 | + public void setDeviceName(String deviceName) { | ||
| 31 | + this.deviceName = deviceName; | ||
| 32 | + } | ||
| 33 | + | ||
| 34 | + public String getIP() { | ||
| 35 | + return iP; | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + public void setIP(String iP) { | ||
| 39 | + this.iP = iP; | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | + public String getMAC() { | ||
| 43 | + return mAC; | ||
| 44 | + } | ||
| 45 | + | ||
| 46 | + public void setMAC(String mAC) { | ||
| 47 | + this.mAC = mAC; | ||
| 48 | + } | ||
| 49 | + | ||
| 50 | + public String getSN() { | ||
| 51 | + return sN; | ||
| 52 | + } | ||
| 53 | + | ||
| 54 | + public void setSN(String sN) { | ||
| 55 | + this.sN = sN; | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | + public String getUpdateVer() { | ||
| 59 | + return updateVer; | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + public void setUpdateVer(String updateVer) { | ||
| 63 | + this.updateVer = updateVer; | ||
| 64 | + } | ||
| 65 | + | ||
| 66 | + public String getVer() { | ||
| 67 | + return ver; | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + public void setVer(String ver) { | ||
| 71 | + this.ver = ver; | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + public String getWifiName() { | ||
| 75 | + return wifiName; | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + public void setWifiName(String wifiName) { | ||
| 79 | + this.wifiName = wifiName; | ||
| 80 | + } | ||
| 81 | +} |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/netWork/bean/FamilyListBean.java
| @@ -162,6 +162,15 @@ public class FamilyListBean implements Serializable { | @@ -162,6 +162,15 @@ public class FamilyListBean implements Serializable { | ||
| 162 | private boolean power; | 162 | private boolean power; |
| 163 | private boolean isdefense; | 163 | private boolean isdefense; |
| 164 | private String mcid; | 164 | private String mcid; |
| 165 | + private int parentPosition; | ||
| 166 | + | ||
| 167 | + public int getParentPosition() { | ||
| 168 | + return parentPosition; | ||
| 169 | + } | ||
| 170 | + | ||
| 171 | + public void setParentPosition(int parentPosition) { | ||
| 172 | + this.parentPosition = parentPosition; | ||
| 173 | + } | ||
| 165 | 174 | ||
| 166 | public DetailBean getDetail() { | 175 | public DetailBean getDetail() { |
| 167 | return detail; | 176 | return detail; |
| @@ -315,7 +324,7 @@ public class FamilyListBean implements Serializable { | @@ -315,7 +324,7 @@ public class FamilyListBean implements Serializable { | ||
| 315 | this.mcid = mcid; | 324 | this.mcid = mcid; |
| 316 | } | 325 | } |
| 317 | 326 | ||
| 318 | - public static class DetailBean implements Serializable { | 327 | + public static class DetailBean implements Serializable { |
| 319 | /** | 328 | /** |
| 320 | * insurance : -1 | 329 | * insurance : -1 |
| 321 | * users : [{"inrange":false,"manager":true,"headimg":"","name":"135****4805","userid":"12:3f2e8e64833ebee51a49a0d0000616d2"}] | 330 | * users : [{"inrange":false,"manager":true,"headimg":"","name":"135****4805","userid":"12:3f2e8e64833ebee51a49a0d0000616d2"}] |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/netWork/result/SubscriptionRequest.java
| @@ -9,7 +9,7 @@ import com.cnlive.libs.data.network.Subscriber; | @@ -9,7 +9,7 @@ import com.cnlive.libs.data.network.Subscriber; | ||
| 9 | import com.cnlive.libs.data.network.interceptor.NetPPEncryptInterceptor; | 9 | import com.cnlive.libs.data.network.interceptor.NetPPEncryptInterceptor; |
| 10 | import com.cnlive.libs.data.network.interceptor.NetPPPayEncryptInterceptor; | 10 | import com.cnlive.libs.data.network.interceptor.NetPPPayEncryptInterceptor; |
| 11 | import com.cnlive.libs.data.network.interceptor.SignEncryptInterceptor; | 11 | import com.cnlive.libs.data.network.interceptor.SignEncryptInterceptor; |
| 12 | -import com.cnlive.strike.xiaojiaspeaker.netWork.bean.SubscriptionBaseInfo; | 12 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.APIBaseInfo; |
| 13 | 13 | ||
| 14 | import io.reactivex.android.schedulers.AndroidSchedulers; | 14 | import io.reactivex.android.schedulers.AndroidSchedulers; |
| 15 | import io.reactivex.disposables.Disposable; | 15 | import io.reactivex.disposables.Disposable; |
| @@ -22,7 +22,7 @@ import static com.cnlive.libs.base.logic.Config.SUCCESS; | @@ -22,7 +22,7 @@ import static com.cnlive.libs.base.logic.Config.SUCCESS; | ||
| 22 | /** | 22 | /** |
| 23 | * Created by Lynn on 2019/3/27. | 23 | * Created by Lynn on 2019/3/27. |
| 24 | */ | 24 | */ |
| 25 | -public class SubscriptionRequest<Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends SubscriptionBaseInfo> { | 25 | +public class SubscriptionRequest<Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends APIBaseInfo> { |
| 26 | private static final String SP_CMS_URL_DEBUT = "http://cmstest.cnlive.com:8768/"; | 26 | private static final String SP_CMS_URL_DEBUT = "http://cmstest.cnlive.com:8768/"; |
| 27 | private static final String SP_CMS_URL = "http://cms.cnlive.com:8768/"; | 27 | private static final String SP_CMS_URL = "http://cms.cnlive.com:8768/"; |
| 28 | 28 | ||
| @@ -51,22 +51,22 @@ public class SubscriptionRequest<Observable extends io.reactivex.Observable<Resu | @@ -51,22 +51,22 @@ public class SubscriptionRequest<Observable extends io.reactivex.Observable<Resu | ||
| 51 | return baseEndpoint(); | 51 | return baseEndpoint(); |
| 52 | } | 52 | } |
| 53 | 53 | ||
| 54 | - public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends SubscriptionBaseInfo> | 54 | + public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends APIBaseInfo> |
| 55 | SubscriptionRequest<Observable, BaseData> service(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api) { | 55 | SubscriptionRequest<Observable, BaseData> service(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api) { |
| 56 | return service(clazz, api, new SignEncryptInterceptor()); | 56 | return service(clazz, api, new SignEncryptInterceptor()); |
| 57 | } | 57 | } |
| 58 | 58 | ||
| 59 | - public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends SubscriptionBaseInfo> | 59 | + public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends APIBaseInfo> |
| 60 | SubscriptionRequest<Observable, BaseData> serviceEncrypt(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api) { | 60 | SubscriptionRequest<Observable, BaseData> serviceEncrypt(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api) { |
| 61 | return service(clazz, api, new NetPPEncryptInterceptor()); | 61 | return service(clazz, api, new NetPPEncryptInterceptor()); |
| 62 | } | 62 | } |
| 63 | 63 | ||
| 64 | - public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends SubscriptionBaseInfo> | 64 | + public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends APIBaseInfo> |
| 65 | SubscriptionRequest<Observable, BaseData> servicePayEncrypt(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api) { | 65 | SubscriptionRequest<Observable, BaseData> servicePayEncrypt(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api) { |
| 66 | return service(clazz, api, new NetPPPayEncryptInterceptor()); | 66 | return service(clazz, api, new NetPPPayEncryptInterceptor()); |
| 67 | } | 67 | } |
| 68 | 68 | ||
| 69 | - private static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends SubscriptionBaseInfo> | 69 | + private static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends APIBaseInfo> |
| 70 | SubscriptionRequest<Observable, BaseData> service(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api, Interceptor... interceptor) { | 70 | SubscriptionRequest<Observable, BaseData> service(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api, Interceptor... interceptor) { |
| 71 | 71 | ||
| 72 | SubscriptionRequest<Observable, BaseData> request = new SubscriptionRequest<Observable, BaseData>(); | 72 | SubscriptionRequest<Observable, BaseData> request = new SubscriptionRequest<Observable, BaseData>(); |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/ui/activity/ChangeDeviceNameActivity.java
| @@ -15,6 +15,8 @@ import com.cnlive.libs.base.util.StatusBarUtil2; | @@ -15,6 +15,8 @@ import com.cnlive.libs.base.util.StatusBarUtil2; | ||
| 15 | import com.cnlive.strike.xiaojiaspeaker.R; | 15 | import com.cnlive.strike.xiaojiaspeaker.R; |
| 16 | import com.cnlive.strike.xiaojiaspeaker.databinding.ActivityChangeDeviceNameBinding; | 16 | import com.cnlive.strike.xiaojiaspeaker.databinding.ActivityChangeDeviceNameBinding; |
| 17 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyListBean; | 17 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyListBean; |
| 18 | +import com.cnlive.strike.xiaojiaspeaker.ui.fragment.ChangeDeviceNameFragment; | ||
| 19 | +import com.cnlive.strike.xiaojiaspeaker.ui.fragment.DeviceManagerFragment; | ||
| 18 | 20 | ||
| 19 | import java.io.Serializable; | 21 | import java.io.Serializable; |
| 20 | 22 | ||
| @@ -28,56 +30,8 @@ public class ChangeDeviceNameActivity extends AppCompatActivity { | @@ -28,56 +30,8 @@ public class ChangeDeviceNameActivity extends AppCompatActivity { | ||
| 28 | protected void onCreate(Bundle savedInstanceState) { | 30 | protected void onCreate(Bundle savedInstanceState) { |
| 29 | super.onCreate(savedInstanceState); | 31 | super.onCreate(savedInstanceState); |
| 30 | binding = DataBindingUtil.setContentView(this, R.layout.activity_change_device_name); | 32 | binding = DataBindingUtil.setContentView(this, R.layout.activity_change_device_name); |
| 31 | - initTopBar(); | ||
| 32 | - initView(); | ||
| 33 | - } | ||
| 34 | - | ||
| 35 | - private void initView() { | ||
| 36 | - //编辑框 | ||
| 37 | - binding.etName.addTextChangedListener(new TextWatcher() { | ||
| 38 | - @Override | ||
| 39 | - public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { | ||
| 40 | - | ||
| 41 | - } | ||
| 42 | - | ||
| 43 | - @Override | ||
| 44 | - public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { | ||
| 45 | - if (null != charSequence && charSequence.length() > 0) { | ||
| 46 | - binding.ivClose.setVisibility(View.VISIBLE); | ||
| 47 | - setBtnClick(); | ||
| 48 | - } else { | ||
| 49 | - binding.ivClose.setVisibility(View.GONE); | ||
| 50 | - setBtnCantClick(); | ||
| 51 | - } | ||
| 52 | - } | ||
| 53 | - | ||
| 54 | - @Override | ||
| 55 | - public void afterTextChanged(Editable editable) { | 33 | + getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, ChangeDeviceNameFragment.newInstance()).commitAllowingStateLoss(); |
| 56 | 34 | ||
| 57 | - } | ||
| 58 | - }); | ||
| 59 | - //清除按钮点击事件 | ||
| 60 | - binding.ivClose.setOnClickListener(new View.OnClickListener() { | ||
| 61 | - @Override | ||
| 62 | - public void onClick(View view) { | ||
| 63 | - binding.etName.setText(""); | ||
| 64 | - } | ||
| 65 | - }); | ||
| 66 | - } | ||
| 67 | - | ||
| 68 | - private void initTopBar() { | ||
| 69 | - StatusBarUtil.setStatusBarWrite(this); | ||
| 70 | - StatusBarUtil2.setColor(this, ContextCompat.getColor(this, R.color.white), 0); | ||
| 71 | - if (null != binding) { | ||
| 72 | - binding.topbar.setTitle("更改音箱名称"); | ||
| 73 | - //设置返回按钮 | ||
| 74 | - binding.topbar.addLeftImageButton(R.drawable.icon_back, R.id.left_back).setOnClickListener(new View.OnClickListener() { | ||
| 75 | - @Override | ||
| 76 | - public void onClick(View view) { | ||
| 77 | - finish(); | ||
| 78 | - } | ||
| 79 | - }); | ||
| 80 | - } | ||
| 81 | } | 35 | } |
| 82 | 36 | ||
| 83 | public static void startActivity(Activity activity) { | 37 | public static void startActivity(Activity activity) { |
| @@ -85,23 +39,5 @@ public class ChangeDeviceNameActivity extends AppCompatActivity { | @@ -85,23 +39,5 @@ public class ChangeDeviceNameActivity extends AppCompatActivity { | ||
| 85 | activity.startActivity(intent); | 39 | activity.startActivity(intent); |
| 86 | } | 40 | } |
| 87 | 41 | ||
| 88 | - /** | ||
| 89 | - * 设置绑定按钮不可点击 | ||
| 90 | - */ | ||
| 91 | - private void setBtnCantClick() { | ||
| 92 | - if (binding.btnNext.isClickable()) { | ||
| 93 | - binding.btnNext.setClickable(false); | ||
| 94 | - binding.btnNext.setBackground(ContextCompat.getDrawable(ChangeDeviceNameActivity.this, R.drawable.shape_btn_press)); | ||
| 95 | - } | ||
| 96 | - } | ||
| 97 | 42 | ||
| 98 | - /** | ||
| 99 | - * 设置绑定按钮可点击 | ||
| 100 | - */ | ||
| 101 | - private void setBtnClick() { | ||
| 102 | - if (!binding.btnNext.isClickable()) { | ||
| 103 | - binding.btnNext.setClickable(true); | ||
| 104 | - binding.btnNext.setBackground(ContextCompat.getDrawable(ChangeDeviceNameActivity.this, R.drawable.selector_btn_green)); | ||
| 105 | - } | ||
| 106 | - } | ||
| 107 | } | 43 | } |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/ui/activity/DeviceDetailActivity.java
| @@ -6,6 +6,7 @@ import android.databinding.DataBindingUtil; | @@ -6,6 +6,7 @@ import android.databinding.DataBindingUtil; | ||
| 6 | import android.support.v4.content.ContextCompat; | 6 | import android.support.v4.content.ContextCompat; |
| 7 | import android.support.v7.app.AppCompatActivity; | 7 | import android.support.v7.app.AppCompatActivity; |
| 8 | import android.os.Bundle; | 8 | import android.os.Bundle; |
| 9 | +import android.text.TextUtils; | ||
| 9 | import android.view.View; | 10 | import android.view.View; |
| 10 | 11 | ||
| 11 | import com.cnlive.libs.base.util.StatusBarUtil; | 12 | import com.cnlive.libs.base.util.StatusBarUtil; |
| @@ -33,23 +34,29 @@ public class DeviceDetailActivity extends AppCompatActivity { | @@ -33,23 +34,29 @@ public class DeviceDetailActivity extends AppCompatActivity { | ||
| 33 | initTopBar(allDeviceInfo.getName()); | 34 | initTopBar(allDeviceInfo.getName()); |
| 34 | } | 35 | } |
| 35 | } | 36 | } |
| 36 | - initView(); | ||
| 37 | - | 37 | + if (null != getIntent().getExtras()) { |
| 38 | + String currentSelectFamilyId = getIntent().getExtras().getString("currentSelectFamilyId"); | ||
| 39 | + if (!TextUtils.isEmpty(currentSelectFamilyId)) { | ||
| 40 | + initView(currentSelectFamilyId); | ||
| 41 | + } | ||
| 42 | + } | ||
| 38 | } | 43 | } |
| 39 | 44 | ||
| 40 | - private void initView() { | 45 | + private void initView(String currentSelectFamilyId) { |
| 41 | //使用者管理 | 46 | //使用者管理 |
| 42 | binding.rlUserManager.setOnClickListener(new View.OnClickListener() { | 47 | binding.rlUserManager.setOnClickListener(new View.OnClickListener() { |
| 43 | @Override | 48 | @Override |
| 44 | public void onClick(View view) { | 49 | public void onClick(View view) { |
| 45 | - UserManagerActivity.StartActivity(DeviceDetailActivity.this); | 50 | + if (!TextUtils.isEmpty(currentSelectFamilyId)) { |
| 51 | + UserManagerActivity.StartActivity(DeviceDetailActivity.this, currentSelectFamilyId); | ||
| 52 | + } | ||
| 46 | } | 53 | } |
| 47 | }); | 54 | }); |
| 48 | //设备管理 | 55 | //设备管理 |
| 49 | binding.rlDeviceManager.setOnClickListener(new View.OnClickListener() { | 56 | binding.rlDeviceManager.setOnClickListener(new View.OnClickListener() { |
| 50 | @Override | 57 | @Override |
| 51 | public void onClick(View view) { | 58 | public void onClick(View view) { |
| 52 | - DeviceManagerActivity.startActivity(DeviceDetailActivity.this); | 59 | + DeviceManagerActivity.startActivity(DeviceDetailActivity.this,allDeviceInfo); |
| 53 | } | 60 | } |
| 54 | }); | 61 | }); |
| 55 | //设备说明 | 62 | //设备说明 |
| @@ -76,9 +83,10 @@ public class DeviceDetailActivity extends AppCompatActivity { | @@ -76,9 +83,10 @@ public class DeviceDetailActivity extends AppCompatActivity { | ||
| 76 | } | 83 | } |
| 77 | } | 84 | } |
| 78 | 85 | ||
| 79 | - public static void startActivity(Activity activity, FamilyListBean.UsersBeanX.DeviceListBean allDeviceInfo) { | 86 | + public static void startActivity(Activity activity, FamilyListBean.UsersBeanX.DeviceListBean allDeviceInfo, String currentSelectFamilyId) { |
| 80 | Intent intent = new Intent(activity, DeviceDetailActivity.class); | 87 | Intent intent = new Intent(activity, DeviceDetailActivity.class); |
| 81 | intent.putExtra("allDeviceInfo", (Serializable) allDeviceInfo); | 88 | intent.putExtra("allDeviceInfo", (Serializable) allDeviceInfo); |
| 89 | + intent.putExtra("currentSelectFamilyId", currentSelectFamilyId); | ||
| 82 | activity.startActivity(intent); | 90 | activity.startActivity(intent); |
| 83 | } | 91 | } |
| 84 | } | 92 | } |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/ui/activity/DeviceManagerActivity.java
| @@ -6,12 +6,14 @@ import android.databinding.DataBindingUtil; | @@ -6,12 +6,14 @@ import android.databinding.DataBindingUtil; | ||
| 6 | import android.support.v4.content.ContextCompat; | 6 | import android.support.v4.content.ContextCompat; |
| 7 | import android.support.v7.app.AppCompatActivity; | 7 | import android.support.v7.app.AppCompatActivity; |
| 8 | import android.os.Bundle; | 8 | import android.os.Bundle; |
| 9 | +import android.text.TextUtils; | ||
| 9 | import android.view.View; | 10 | import android.view.View; |
| 10 | 11 | ||
| 11 | import com.cnlive.libs.base.util.StatusBarUtil; | 12 | import com.cnlive.libs.base.util.StatusBarUtil; |
| 12 | import com.cnlive.libs.base.util.StatusBarUtil2; | 13 | import com.cnlive.libs.base.util.StatusBarUtil2; |
| 13 | import com.cnlive.strike.xiaojiaspeaker.R; | 14 | import com.cnlive.strike.xiaojiaspeaker.R; |
| 14 | import com.cnlive.strike.xiaojiaspeaker.databinding.ActivityDeviceManagerBinding; | 15 | import com.cnlive.strike.xiaojiaspeaker.databinding.ActivityDeviceManagerBinding; |
| 16 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyListBean; | ||
| 15 | import com.cnlive.strike.xiaojiaspeaker.ui.fragment.DeviceManagerFragment; | 17 | import com.cnlive.strike.xiaojiaspeaker.ui.fragment.DeviceManagerFragment; |
| 16 | import com.cnlive.strike.xiaojiaspeaker.ui.fragment.SelectWifiFragment; | 18 | import com.cnlive.strike.xiaojiaspeaker.ui.fragment.SelectWifiFragment; |
| 17 | 19 | ||
| @@ -27,58 +29,65 @@ public class DeviceManagerActivity extends AppCompatActivity { | @@ -27,58 +29,65 @@ public class DeviceManagerActivity extends AppCompatActivity { | ||
| 27 | protected void onCreate(Bundle savedInstanceState) { | 29 | protected void onCreate(Bundle savedInstanceState) { |
| 28 | super.onCreate(savedInstanceState); | 30 | super.onCreate(savedInstanceState); |
| 29 | binding = DataBindingUtil.setContentView(this, R.layout.activity_device_manager); | 31 | binding = DataBindingUtil.setContentView(this, R.layout.activity_device_manager); |
| 30 | -// getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, DeviceManagerFragment.newInstance()).commitAllowingStateLoss(); | ||
| 31 | - initTopBar(); | ||
| 32 | - initView(); | ||
| 33 | - } | ||
| 34 | - | ||
| 35 | - private void initView() { | ||
| 36 | - //音箱名称 | ||
| 37 | - binding.llDeviceName.setOnClickListener(new View.OnClickListener() { | ||
| 38 | - @Override | ||
| 39 | - public void onClick(View view) { | ||
| 40 | - ChangeDeviceNameActivity.startActivity(DeviceManagerActivity.this); | ||
| 41 | - } | ||
| 42 | - }); | ||
| 43 | - //wifi设置 | ||
| 44 | - binding.llWifiSetting.setOnClickListener(new View.OnClickListener() { | ||
| 45 | - @Override | ||
| 46 | - public void onClick(View view) { | ||
| 47 | - | ||
| 48 | - } | ||
| 49 | - }); | ||
| 50 | - //设备信息 | ||
| 51 | - binding.llDeviceInfo.setOnClickListener(new View.OnClickListener() { | ||
| 52 | - @Override | ||
| 53 | - public void onClick(View view) { | ||
| 54 | - | ||
| 55 | - } | ||
| 56 | - }); | ||
| 57 | - //固件升级 | ||
| 58 | - binding.llDeviceUpdate.setOnClickListener(new View.OnClickListener() { | ||
| 59 | - @Override | ||
| 60 | - public void onClick(View view) { | ||
| 61 | - FirmwareUpdateActivity.startActivity(DeviceManagerActivity.this); | 32 | + if (null!=getIntent().getExtras()){ |
| 33 | + FamilyListBean.UsersBeanX.DeviceListBean currentDeviceInfo= (FamilyListBean.UsersBeanX.DeviceListBean) getIntent().getExtras().getSerializable("currentDeviceInfo"); | ||
| 34 | + if (null!=currentDeviceInfo){ | ||
| 35 | + getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, DeviceManagerFragment.newInstance(currentDeviceInfo)).commitAllowingStateLoss(); | ||
| 62 | } | 36 | } |
| 63 | - }); | ||
| 64 | - } | ||
| 65 | - | ||
| 66 | - private void initTopBar() { | ||
| 67 | - StatusBarUtil.setStatusBarWrite(this); | ||
| 68 | - StatusBarUtil2.setColor(this, ContextCompat.getColor(this, R.color.white), 0); | ||
| 69 | - if (null != binding) { | ||
| 70 | - binding.topbar.setTitle("设备管理"); | ||
| 71 | - //设置返回按钮 | ||
| 72 | - binding.topbar.addLeftImageButton(R.drawable.icon_back, R.id.left_back).setOnClickListener(new View.OnClickListener() { | ||
| 73 | - @Override | ||
| 74 | - public void onClick(View view) { | ||
| 75 | - finish(); | ||
| 76 | - } | ||
| 77 | - }); | ||
| 78 | } | 37 | } |
| 38 | +// initTopBar(); | ||
| 39 | +// initView(); | ||
| 79 | } | 40 | } |
| 80 | 41 | ||
| 81 | - public static void startActivity(Activity activity) { | ||
| 82 | - activity.startActivity(new Intent(activity, DeviceManagerActivity.class)); | 42 | +// private void initView() { |
| 43 | +// //音箱名称 | ||
| 44 | +// binding.llDeviceName.setOnClickListener(new View.OnClickListener() { | ||
| 45 | +// @Override | ||
| 46 | +// public void onClick(View view) { | ||
| 47 | +// ChangeDeviceNameActivity.startActivity(DeviceManagerActivity.this); | ||
| 48 | +// } | ||
| 49 | +// }); | ||
| 50 | +// //wifi设置 | ||
| 51 | +// binding.llWifiSetting.setOnClickListener(new View.OnClickListener() { | ||
| 52 | +// @Override | ||
| 53 | +// public void onClick(View view) { | ||
| 54 | +// | ||
| 55 | +// } | ||
| 56 | +// }); | ||
| 57 | +// //设备信息 | ||
| 58 | +// binding.llDeviceInfo.setOnClickListener(new View.OnClickListener() { | ||
| 59 | +// @Override | ||
| 60 | +// public void onClick(View view) { | ||
| 61 | +// | ||
| 62 | +// } | ||
| 63 | +// }); | ||
| 64 | +// //固件升级 | ||
| 65 | +// binding.llDeviceUpdate.setOnClickListener(new View.OnClickListener() { | ||
| 66 | +// @Override | ||
| 67 | +// public void onClick(View view) { | ||
| 68 | +// FirmwareUpdateActivity.startActivity(DeviceManagerActivity.this); | ||
| 69 | +// } | ||
| 70 | +// }); | ||
| 71 | +// } | ||
| 72 | +// | ||
| 73 | +// private void initTopBar() { | ||
| 74 | +// StatusBarUtil.setStatusBarWrite(this); | ||
| 75 | +// StatusBarUtil2.setColor(this, ContextCompat.getColor(this, R.color.white), 0); | ||
| 76 | +// if (null != binding) { | ||
| 77 | +// binding.topbar.setTitle("设备管理"); | ||
| 78 | +// //设置返回按钮 | ||
| 79 | +// binding.topbar.addLeftImageButton(R.drawable.icon_back, R.id.left_back).setOnClickListener(new View.OnClickListener() { | ||
| 80 | +// @Override | ||
| 81 | +// public void onClick(View view) { | ||
| 82 | +// finish(); | ||
| 83 | +// } | ||
| 84 | +// }); | ||
| 85 | +// } | ||
| 86 | +// } | ||
| 87 | + | ||
| 88 | + public static void startActivity(Activity activity, FamilyListBean.UsersBeanX.DeviceListBean currentDeviceInfo) { | ||
| 89 | + Intent intent=new Intent(activity, DeviceManagerActivity.class); | ||
| 90 | + intent.putExtra("currentDeviceInfo",currentDeviceInfo); | ||
| 91 | + activity.startActivity(intent); | ||
| 83 | } | 92 | } |
| 84 | } | 93 | } |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/ui/activity/UserManagerActivity.java
| @@ -4,6 +4,7 @@ import android.app.Activity; | @@ -4,6 +4,7 @@ import android.app.Activity; | ||
| 4 | import android.content.Intent; | 4 | import android.content.Intent; |
| 5 | import android.support.v7.app.AppCompatActivity; | 5 | import android.support.v7.app.AppCompatActivity; |
| 6 | import android.os.Bundle; | 6 | import android.os.Bundle; |
| 7 | +import android.text.TextUtils; | ||
| 7 | 8 | ||
| 8 | import com.clj.fastble.data.BleDevice; | 9 | import com.clj.fastble.data.BleDevice; |
| 9 | import com.cnlive.strike.xiaojiaspeaker.R; | 10 | import com.cnlive.strike.xiaojiaspeaker.R; |
| @@ -16,12 +17,17 @@ public class UserManagerActivity extends AppCompatActivity { | @@ -16,12 +17,17 @@ public class UserManagerActivity extends AppCompatActivity { | ||
| 16 | protected void onCreate(Bundle savedInstanceState) { | 17 | protected void onCreate(Bundle savedInstanceState) { |
| 17 | super.onCreate(savedInstanceState); | 18 | super.onCreate(savedInstanceState); |
| 18 | setContentView(R.layout.activity_user_manager); | 19 | setContentView(R.layout.activity_user_manager); |
| 19 | - getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, UserManagerFragment.newInstance()).commitAllowingStateLoss(); | ||
| 20 | - | 20 | + if (null != getIntent().getExtras()) { |
| 21 | + String currentSelectFamilyId = getIntent().getExtras().getString("currentSelectFamilyId"); | ||
| 22 | + if (!TextUtils.isEmpty(currentSelectFamilyId)) { | ||
| 23 | + getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, UserManagerFragment.newInstance(currentSelectFamilyId)).commitAllowingStateLoss(); | ||
| 24 | + } | ||
| 25 | + } | ||
| 21 | } | 26 | } |
| 22 | 27 | ||
| 23 | - public static void StartActivity(Activity activity) { | 28 | + public static void StartActivity(Activity activity, String currentSelectFamilyId) { |
| 24 | Intent intent = new Intent(activity, UserManagerActivity.class); | 29 | Intent intent = new Intent(activity, UserManagerActivity.class); |
| 30 | + intent.putExtra("currentSelectFamilyId", currentSelectFamilyId); | ||
| 25 | activity.startActivity(intent); | 31 | activity.startActivity(intent); |
| 26 | } | 32 | } |
| 27 | } | 33 | } |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/ui/adapter/AllRoleDetailAdapter.java
| @@ -29,6 +29,11 @@ public class AllRoleDetailAdapter extends RecyclerView.Adapter { | @@ -29,6 +29,11 @@ public class AllRoleDetailAdapter extends RecyclerView.Adapter { | ||
| 29 | private Map<String, Boolean> allowSelectMap; | 29 | private Map<String, Boolean> allowSelectMap; |
| 30 | private String TAG = "AllRoleDetailAdapter"; | 30 | private String TAG = "AllRoleDetailAdapter"; |
| 31 | private OnAllRoleClickListener onAllRoleClickListener; | 31 | private OnAllRoleClickListener onAllRoleClickListener; |
| 32 | + private OnDialogRoleClickListener onDialogRoleClickListener; | ||
| 33 | + | ||
| 34 | + public void setOnDialogRoleClickListener(OnDialogRoleClickListener onDialogRoleClickListener) { | ||
| 35 | + this.onDialogRoleClickListener = onDialogRoleClickListener; | ||
| 36 | + } | ||
| 32 | 37 | ||
| 33 | public void setOnAllRoleClickListener(OnAllRoleClickListener onAllRoleClickListener) { | 38 | public void setOnAllRoleClickListener(OnAllRoleClickListener onAllRoleClickListener) { |
| 34 | this.onAllRoleClickListener = onAllRoleClickListener; | 39 | this.onAllRoleClickListener = onAllRoleClickListener; |
| @@ -118,9 +123,12 @@ public class AllRoleDetailAdapter extends RecyclerView.Adapter { | @@ -118,9 +123,12 @@ public class AllRoleDetailAdapter extends RecyclerView.Adapter { | ||
| 118 | binding.checkBox.toggle(); | 123 | binding.checkBox.toggle(); |
| 119 | //开始设置全局状态 | 124 | //开始设置全局状态 |
| 120 | if (binding.checkBox.isChecked()) { | 125 | if (binding.checkBox.isChecked()) { |
| 121 | - if (null!=onAllRoleClickListener){ | 126 | + if (null != onAllRoleClickListener) { |
| 122 | onAllRoleClickListener.onSelect(allRoleList.get(position).getId()); | 127 | onAllRoleClickListener.onSelect(allRoleList.get(position).getId()); |
| 123 | } | 128 | } |
| 129 | + if (null != onDialogRoleClickListener) { | ||
| 130 | + onDialogRoleClickListener.onSelect(allRoleList.get(position)); | ||
| 131 | + } | ||
| 124 | //添加到选中的集合 | 132 | //添加到选中的集合 |
| 125 | if (!selectId.equals(currentRoleId)) { | 133 | if (!selectId.equals(currentRoleId)) { |
| 126 | //重置状态 | 134 | //重置状态 |
| @@ -128,9 +136,12 @@ public class AllRoleDetailAdapter extends RecyclerView.Adapter { | @@ -128,9 +136,12 @@ public class AllRoleDetailAdapter extends RecyclerView.Adapter { | ||
| 128 | setRoleAdapter.getRoleInfoList().get(allRoleList.get(position).getParentPosition()).setSelectId(currentRoleId); | 136 | setRoleAdapter.getRoleInfoList().get(allRoleList.get(position).getParentPosition()).setSelectId(currentRoleId); |
| 129 | } | 137 | } |
| 130 | } else { | 138 | } else { |
| 131 | - if (null!=onAllRoleClickListener){ | 139 | + if (null != onAllRoleClickListener) { |
| 132 | onAllRoleClickListener.onCancel(); | 140 | onAllRoleClickListener.onCancel(); |
| 133 | } | 141 | } |
| 142 | + if (null != onDialogRoleClickListener) { | ||
| 143 | + onDialogRoleClickListener.onCancel(); | ||
| 144 | + } | ||
| 134 | setRoleAdapter.getRoleInfoList().get(allRoleList.get(position).getParentPosition()).setSelectId(""); | 145 | setRoleAdapter.getRoleInfoList().get(allRoleList.get(position).getParentPosition()).setSelectId(""); |
| 135 | } | 146 | } |
| 136 | //设置全局不允许选择 | 147 | //设置全局不允许选择 |
| @@ -145,4 +156,10 @@ public class AllRoleDetailAdapter extends RecyclerView.Adapter { | @@ -145,4 +156,10 @@ public class AllRoleDetailAdapter extends RecyclerView.Adapter { | ||
| 145 | 156 | ||
| 146 | void onSelect(int roleId); | 157 | void onSelect(int roleId); |
| 147 | } | 158 | } |
| 159 | + | ||
| 160 | + public interface OnDialogRoleClickListener { | ||
| 161 | + void onCancel(); | ||
| 162 | + | ||
| 163 | + void onSelect(RoleNetBean.RoleListBean bean); | ||
| 164 | + } | ||
| 148 | } | 165 | } |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/ui/adapter/SetRoleAdapter.java
| @@ -13,6 +13,7 @@ import com.cnlive.strike.application.GlideApp; | @@ -13,6 +13,7 @@ import com.cnlive.strike.application.GlideApp; | ||
| 13 | import com.cnlive.strike.xiaojiaspeaker.R; | 13 | import com.cnlive.strike.xiaojiaspeaker.R; |
| 14 | import com.cnlive.strike.xiaojiaspeaker.databinding.ItemListSetRoleBinding; | 14 | import com.cnlive.strike.xiaojiaspeaker.databinding.ItemListSetRoleBinding; |
| 15 | import com.cnlive.strike.xiaojiaspeaker.model.RoleInfo; | 15 | import com.cnlive.strike.xiaojiaspeaker.model.RoleInfo; |
| 16 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.RoleNetBean; | ||
| 16 | 17 | ||
| 17 | import java.util.ArrayList; | 18 | import java.util.ArrayList; |
| 18 | import java.util.HashMap; | 19 | import java.util.HashMap; |
| @@ -28,6 +29,11 @@ public class SetRoleAdapter extends RecyclerView.Adapter { | @@ -28,6 +29,11 @@ public class SetRoleAdapter extends RecyclerView.Adapter { | ||
| 28 | private int gridCount = -1; | 29 | private int gridCount = -1; |
| 29 | private int isShowItemUserInfo = View.VISIBLE; | 30 | private int isShowItemUserInfo = View.VISIBLE; |
| 30 | private OnSelectListener onSelectListener; | 31 | private OnSelectListener onSelectListener; |
| 32 | + private OnDialogRoleClickListener onDialogRoleClickListener; | ||
| 33 | + | ||
| 34 | + public void setOnDialogRoleClickListener(OnDialogRoleClickListener onDialogRoleClickListener) { | ||
| 35 | + this.onDialogRoleClickListener = onDialogRoleClickListener; | ||
| 36 | + } | ||
| 31 | 37 | ||
| 32 | public void setOnSelectListener(OnSelectListener onSelectListener) { | 38 | public void setOnSelectListener(OnSelectListener onSelectListener) { |
| 33 | this.onSelectListener = onSelectListener; | 39 | this.onSelectListener = onSelectListener; |
| @@ -95,18 +101,34 @@ public class SetRoleAdapter extends RecyclerView.Adapter { | @@ -95,18 +101,34 @@ public class SetRoleAdapter extends RecyclerView.Adapter { | ||
| 95 | adapter.setOnAllRoleClickListener(new AllRoleDetailAdapter.OnAllRoleClickListener() { | 101 | adapter.setOnAllRoleClickListener(new AllRoleDetailAdapter.OnAllRoleClickListener() { |
| 96 | @Override | 102 | @Override |
| 97 | public void onCancel() { | 103 | public void onCancel() { |
| 98 | - if (null!=onSelectListener){ | 104 | + if (null != onSelectListener) { |
| 99 | onSelectListener.onCancel(); | 105 | onSelectListener.onCancel(); |
| 100 | } | 106 | } |
| 101 | } | 107 | } |
| 102 | 108 | ||
| 103 | @Override | 109 | @Override |
| 104 | public void onSelect(int roleId) { | 110 | public void onSelect(int roleId) { |
| 105 | - if (null!=onSelectListener){ | 111 | + if (null != onSelectListener) { |
| 106 | onSelectListener.onSelect(roleId); | 112 | onSelectListener.onSelect(roleId); |
| 107 | } | 113 | } |
| 108 | } | 114 | } |
| 109 | }); | 115 | }); |
| 116 | + //对话框 | ||
| 117 | + adapter.setOnDialogRoleClickListener(new AllRoleDetailAdapter.OnDialogRoleClickListener() { | ||
| 118 | + @Override | ||
| 119 | + public void onCancel() { | ||
| 120 | + if (null!=onDialogRoleClickListener){ | ||
| 121 | + onDialogRoleClickListener.onCancel(); | ||
| 122 | + } | ||
| 123 | + } | ||
| 124 | + | ||
| 125 | + @Override | ||
| 126 | + public void onSelect(RoleNetBean.RoleListBean bean) { | ||
| 127 | + if (null!=onDialogRoleClickListener){ | ||
| 128 | + onDialogRoleClickListener.onSelect(bean); | ||
| 129 | + } | ||
| 130 | + } | ||
| 131 | + }); | ||
| 110 | } | 132 | } |
| 111 | 133 | ||
| 112 | @Override | 134 | @Override |
| @@ -133,4 +155,10 @@ public class SetRoleAdapter extends RecyclerView.Adapter { | @@ -133,4 +155,10 @@ public class SetRoleAdapter extends RecyclerView.Adapter { | ||
| 133 | 155 | ||
| 134 | void onCancel(); | 156 | void onCancel(); |
| 135 | } | 157 | } |
| 158 | + | ||
| 159 | + public interface OnDialogRoleClickListener { | ||
| 160 | + void onCancel(); | ||
| 161 | + | ||
| 162 | + void onSelect(RoleNetBean.RoleListBean bean); | ||
| 163 | + } | ||
| 136 | } | 164 | } |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/ui/fragment/AllDeviceFragment.java
| @@ -11,9 +11,11 @@ import com.cnlive.libs.base.util.StatusBarUtil; | @@ -11,9 +11,11 @@ import com.cnlive.libs.base.util.StatusBarUtil; | ||
| 11 | import com.cnlive.libs.base.util.StatusBarUtil2; | 11 | import com.cnlive.libs.base.util.StatusBarUtil2; |
| 12 | import com.cnlive.strike.ui.widget.UIPopup; | 12 | import com.cnlive.strike.ui.widget.UIPopup; |
| 13 | import com.cnlive.strike.xiaojiaspeaker.R; | 13 | import com.cnlive.strike.xiaojiaspeaker.R; |
| 14 | +import com.cnlive.strike.xiaojiaspeaker.commonInfo.XiaoJIaCommInfo; | ||
| 14 | import com.cnlive.strike.xiaojiaspeaker.databinding.FragmentAllDeviceBinding; | 15 | import com.cnlive.strike.xiaojiaspeaker.databinding.FragmentAllDeviceBinding; |
| 15 | import com.cnlive.strike.xiaojiaspeaker.frame.presenter.AllDeviceFragmentPresenter; | 16 | import com.cnlive.strike.xiaojiaspeaker.frame.presenter.AllDeviceFragmentPresenter; |
| 16 | import com.cnlive.strike.xiaojiaspeaker.frame.view.AllDeviceFragmentView; | 17 | import com.cnlive.strike.xiaojiaspeaker.frame.view.AllDeviceFragmentView; |
| 18 | +import com.cnlive.strike.xiaojiaspeaker.ui.activity.BlueToothStep1Activity; | ||
| 17 | import com.cnlive.strike.xiaojiaspeaker.ui.widget.popmenu.PopMenuInfo; | 19 | import com.cnlive.strike.xiaojiaspeaker.ui.widget.popmenu.PopMenuInfo; |
| 18 | import com.cnlive.strike.xiaojiaspeaker.ui.widget.popmenu.PopMenu; | 20 | import com.cnlive.strike.xiaojiaspeaker.ui.widget.popmenu.PopMenu; |
| 19 | import com.qmuiteam.qmui.alpha.QMUIAlphaImageButton; | 21 | import com.qmuiteam.qmui.alpha.QMUIAlphaImageButton; |
| @@ -47,7 +49,7 @@ public class AllDeviceFragment extends MvpBindingFragment<AllDeviceFragmentView, | @@ -47,7 +49,7 @@ public class AllDeviceFragment extends MvpBindingFragment<AllDeviceFragmentView, | ||
| 47 | initTopBar(); | 49 | initTopBar(); |
| 48 | if (null != getMvpView()) { | 50 | if (null != getMvpView()) { |
| 49 | getMvpView().initView(); | 51 | getMvpView().initView(); |
| 50 | - getPresenter().getFamilyList(getActivity(),"123456","13585544805"); | 52 | + getPresenter().getFamilyList(getActivity(), XiaoJIaCommInfo.getUserId(getActivity()), XiaoJIaCommInfo.getUserPhone(getActivity())); |
| 51 | } | 53 | } |
| 52 | } | 54 | } |
| 53 | 55 | ||
| @@ -68,8 +70,10 @@ public class AllDeviceFragment extends MvpBindingFragment<AllDeviceFragmentView, | @@ -68,8 +70,10 @@ public class AllDeviceFragment extends MvpBindingFragment<AllDeviceFragmentView, | ||
| 68 | addButton.setOnClickListener(new View.OnClickListener() { | 70 | addButton.setOnClickListener(new View.OnClickListener() { |
| 69 | @Override | 71 | @Override |
| 70 | public void onClick(View view) { | 72 | public void onClick(View view) { |
| 71 | - if (null!=getMvpView()){ | ||
| 72 | - getMvpView().showPop(addButton); | 73 | + if (null != getMvpView()) { |
| 74 | +// getMvpView().showPop(addButton); | ||
| 75 | + BlueToothStep1Activity.startActivity(getActivity()); | ||
| 76 | + | ||
| 73 | } | 77 | } |
| 74 | } | 78 | } |
| 75 | }); | 79 | }); |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/ui/fragment/ChangeDeviceNameFragment.java
0 → 100644
| 1 | +package com.cnlive.strike.xiaojiaspeaker.ui.fragment; | ||
| 2 | + | ||
| 3 | +import android.os.Bundle; | ||
| 4 | +import android.support.annotation.Nullable; | ||
| 5 | +import android.support.v4.content.ContextCompat; | ||
| 6 | +import android.view.View; | ||
| 7 | + | ||
| 8 | +import com.cnlive.libs.base.frame.fragment.MvpBindingFragment; | ||
| 9 | +import com.cnlive.libs.base.util.StatusBarUtil; | ||
| 10 | +import com.cnlive.libs.base.util.StatusBarUtil2; | ||
| 11 | +import com.cnlive.strike.xiaojiaspeaker.R; | ||
| 12 | +import com.cnlive.strike.xiaojiaspeaker.databinding.FragmentChangeDeviceNameBinding; | ||
| 13 | +import com.cnlive.strike.xiaojiaspeaker.frame.presenter.ChangeDeviceNamePresenter; | ||
| 14 | +import com.cnlive.strike.xiaojiaspeaker.frame.view.ChangeDeviceNameView; | ||
| 15 | + | ||
| 16 | +public class ChangeDeviceNameFragment extends MvpBindingFragment<ChangeDeviceNameView, ChangeDeviceNamePresenter, Object, FragmentChangeDeviceNameBinding> { | ||
| 17 | + public static ChangeDeviceNameFragment newInstance() { | ||
| 18 | + ChangeDeviceNameFragment fragment = new ChangeDeviceNameFragment(); | ||
| 19 | + return fragment; | ||
| 20 | + } | ||
| 21 | + | ||
| 22 | + @Override | ||
| 23 | + protected int getLayoutId() { | ||
| 24 | + return R.layout.fragment_change_device_name; | ||
| 25 | + } | ||
| 26 | + | ||
| 27 | + @Override | ||
| 28 | + public void onActivityCreated(@Nullable Bundle savedInstanceState) { | ||
| 29 | + super.onActivityCreated(savedInstanceState); | ||
| 30 | + | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + @Override | ||
| 34 | + public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { | ||
| 35 | + super.onViewCreated(view, savedInstanceState); | ||
| 36 | + initTopBar(); | ||
| 37 | + if (null != getMvpView()) { | ||
| 38 | + getMvpView().initView(); | ||
| 39 | + } | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | + private void initTopBar() { | ||
| 43 | + StatusBarUtil.setStatusBarWrite(getActivity()); | ||
| 44 | + StatusBarUtil2.setColor(getActivity(), ContextCompat.getColor(getActivity(), R.color.white), 0); | ||
| 45 | + if (null != binding) { | ||
| 46 | + binding.topbar.setTitle("更改音箱名称"); | ||
| 47 | + //设置返回按钮 | ||
| 48 | + binding.topbar.addLeftImageButton(R.drawable.icon_back, R.id.left_back).setOnClickListener(new View.OnClickListener() { | ||
| 49 | + @Override | ||
| 50 | + public void onClick(View view) { | ||
| 51 | + getActivity().finish(); | ||
| 52 | + } | ||
| 53 | + }); | ||
| 54 | + } | ||
| 55 | + } | ||
| 56 | +} |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/ui/fragment/DeviceManagerFragment.java
| @@ -3,6 +3,7 @@ package com.cnlive.strike.xiaojiaspeaker.ui.fragment; | @@ -3,6 +3,7 @@ package com.cnlive.strike.xiaojiaspeaker.ui.fragment; | ||
| 3 | import android.os.Bundle; | 3 | import android.os.Bundle; |
| 4 | import android.support.annotation.Nullable; | 4 | import android.support.annotation.Nullable; |
| 5 | import android.support.v4.content.ContextCompat; | 5 | import android.support.v4.content.ContextCompat; |
| 6 | +import android.text.TextUtils; | ||
| 6 | import android.view.View; | 7 | import android.view.View; |
| 7 | 8 | ||
| 8 | import com.cnlive.libs.base.frame.fragment.MvpBindingFragment; | 9 | import com.cnlive.libs.base.frame.fragment.MvpBindingFragment; |
| @@ -12,6 +13,7 @@ import com.cnlive.strike.xiaojiaspeaker.R; | @@ -12,6 +13,7 @@ import com.cnlive.strike.xiaojiaspeaker.R; | ||
| 12 | import com.cnlive.strike.xiaojiaspeaker.databinding.FragmentDeviceManagerBinding; | 13 | import com.cnlive.strike.xiaojiaspeaker.databinding.FragmentDeviceManagerBinding; |
| 13 | import com.cnlive.strike.xiaojiaspeaker.frame.presenter.DeviceManagerFragmentPresenter; | 14 | import com.cnlive.strike.xiaojiaspeaker.frame.presenter.DeviceManagerFragmentPresenter; |
| 14 | import com.cnlive.strike.xiaojiaspeaker.frame.view.DeviceManagerFragmentView; | 15 | import com.cnlive.strike.xiaojiaspeaker.frame.view.DeviceManagerFragmentView; |
| 16 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyListBean; | ||
| 15 | 17 | ||
| 16 | /** | 18 | /** |
| 17 | * 设备管理 | 19 | * 设备管理 |
| @@ -19,8 +21,12 @@ import com.cnlive.strike.xiaojiaspeaker.frame.view.DeviceManagerFragmentView; | @@ -19,8 +21,12 @@ import com.cnlive.strike.xiaojiaspeaker.frame.view.DeviceManagerFragmentView; | ||
| 19 | * @author ys | 21 | * @author ys |
| 20 | */ | 22 | */ |
| 21 | public class DeviceManagerFragment extends MvpBindingFragment<DeviceManagerFragmentView, DeviceManagerFragmentPresenter, Object, FragmentDeviceManagerBinding> { | 23 | public class DeviceManagerFragment extends MvpBindingFragment<DeviceManagerFragmentView, DeviceManagerFragmentPresenter, Object, FragmentDeviceManagerBinding> { |
| 22 | - public static DeviceManagerFragment newInstance() { | 24 | + |
| 25 | + public static DeviceManagerFragment newInstance(FamilyListBean.UsersBeanX.DeviceListBean currentDeviceInfo) { | ||
| 23 | DeviceManagerFragment fragment = new DeviceManagerFragment(); | 26 | DeviceManagerFragment fragment = new DeviceManagerFragment(); |
| 27 | + Bundle bundle=new Bundle(); | ||
| 28 | + bundle.putSerializable("currentDeviceInfo",currentDeviceInfo); | ||
| 29 | + fragment.setArguments(bundle); | ||
| 24 | return fragment; | 30 | return fragment; |
| 25 | } | 31 | } |
| 26 | 32 | ||
| @@ -41,7 +47,13 @@ public class DeviceManagerFragment extends MvpBindingFragment<DeviceManagerFragm | @@ -41,7 +47,13 @@ public class DeviceManagerFragment extends MvpBindingFragment<DeviceManagerFragm | ||
| 41 | super.onViewCreated(view, savedInstanceState); | 47 | super.onViewCreated(view, savedInstanceState); |
| 42 | initTopBar(); | 48 | initTopBar(); |
| 43 | if (null != getMvpView()) { | 49 | if (null != getMvpView()) { |
| 44 | - getMvpView().initView(); | 50 | + if (null!=getArguments()){ |
| 51 | + FamilyListBean.UsersBeanX.DeviceListBean currentDeviceInfo= (FamilyListBean.UsersBeanX.DeviceListBean) getArguments().getSerializable("currentDeviceInfo"); | ||
| 52 | + if (null!=currentDeviceInfo&&!TextUtils.isEmpty(currentDeviceInfo.getMcid())){ | ||
| 53 | + getMvpView().initView(currentDeviceInfo); | ||
| 54 | + getPresenter().getDeviceDetailMsg(getActivity(),currentDeviceInfo.getMcid()); | ||
| 55 | + } | ||
| 56 | + } | ||
| 45 | } | 57 | } |
| 46 | } | 58 | } |
| 47 | 59 |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/ui/fragment/UserManagerFragment.java
| @@ -10,6 +10,7 @@ import com.cnlive.libs.base.frame.fragment.MvpBindingFragment; | @@ -10,6 +10,7 @@ import com.cnlive.libs.base.frame.fragment.MvpBindingFragment; | ||
| 10 | import com.cnlive.libs.base.util.StatusBarUtil; | 10 | import com.cnlive.libs.base.util.StatusBarUtil; |
| 11 | import com.cnlive.libs.base.util.StatusBarUtil2; | 11 | import com.cnlive.libs.base.util.StatusBarUtil2; |
| 12 | import com.cnlive.strike.xiaojiaspeaker.R; | 12 | import com.cnlive.strike.xiaojiaspeaker.R; |
| 13 | +import com.cnlive.strike.xiaojiaspeaker.commonInfo.XiaoJIaCommInfo; | ||
| 13 | import com.cnlive.strike.xiaojiaspeaker.databinding.FragmentUserManagerBinding; | 14 | import com.cnlive.strike.xiaojiaspeaker.databinding.FragmentUserManagerBinding; |
| 14 | import com.cnlive.strike.xiaojiaspeaker.frame.presenter.UserManagerPresenter; | 15 | import com.cnlive.strike.xiaojiaspeaker.frame.presenter.UserManagerPresenter; |
| 15 | import com.cnlive.strike.xiaojiaspeaker.frame.view.UserManagerView; | 16 | import com.cnlive.strike.xiaojiaspeaker.frame.view.UserManagerView; |
| @@ -18,10 +19,13 @@ import com.cnlive.strike.xiaojiaspeaker.frame.view.UserManagerView; | @@ -18,10 +19,13 @@ import com.cnlive.strike.xiaojiaspeaker.frame.view.UserManagerView; | ||
| 18 | * 使用者管理 | 19 | * 使用者管理 |
| 19 | */ | 20 | */ |
| 20 | public class UserManagerFragment extends MvpBindingFragment<UserManagerView, UserManagerPresenter, Object, FragmentUserManagerBinding> { | 21 | public class UserManagerFragment extends MvpBindingFragment<UserManagerView, UserManagerPresenter, Object, FragmentUserManagerBinding> { |
| 21 | - private Button btn_invit; | ||
| 22 | 22 | ||
| 23 | - public static UserManagerFragment newInstance() { | 23 | + |
| 24 | + public static UserManagerFragment newInstance(String currentSelectFamilyId) { | ||
| 24 | UserManagerFragment fragment = new UserManagerFragment(); | 25 | UserManagerFragment fragment = new UserManagerFragment(); |
| 26 | + Bundle bundle = new Bundle(); | ||
| 27 | + bundle.putString("currentSelectFamilyId", currentSelectFamilyId); | ||
| 28 | + fragment.setArguments(bundle); | ||
| 25 | return fragment; | 29 | return fragment; |
| 26 | } | 30 | } |
| 27 | 31 | ||
| @@ -41,11 +45,18 @@ public class UserManagerFragment extends MvpBindingFragment<UserManagerView, Use | @@ -41,11 +45,18 @@ public class UserManagerFragment extends MvpBindingFragment<UserManagerView, Use | ||
| 41 | public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { | 45 | public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { |
| 42 | super.onViewCreated(view, savedInstanceState); | 46 | super.onViewCreated(view, savedInstanceState); |
| 43 | initTopBar(); | 47 | initTopBar(); |
| 44 | -// getPresenter().getFamilyRole(getActivity(), "123456", XiaoJIaCommInfo.getFamilyId(getActivity())); | ||
| 45 | - if (null != getMvpView()) { | ||
| 46 | - getMvpView().initPopView(); | ||
| 47 | - getMvpView().initView(null); | 48 | + if (null != getArguments()) { |
| 49 | + String currentSelectFamilyId = getArguments().getString("currentSelectFamilyId"); | ||
| 50 | + if (null != getMvpView()) { | ||
| 51 | + if (null != currentSelectFamilyId) { | ||
| 52 | + getMvpView().setCurrentSelectFamily(currentSelectFamilyId); | ||
| 53 | + } | ||
| 54 | + getMvpView().initPopView(); | ||
| 55 | +// getMvpView().initView(null); | ||
| 56 | + } | ||
| 48 | } | 57 | } |
| 58 | + getPresenter().getFamilyRole(getActivity(), XiaoJIaCommInfo.getUserId(getActivity()), XiaoJIaCommInfo.getFamilyId(getActivity()), XiaoJIaCommInfo.getUserPhone(getActivity())); | ||
| 59 | + | ||
| 49 | } | 60 | } |
| 50 | 61 | ||
| 51 | private void initTopBar() { | 62 | private void initTopBar() { |
| @@ -60,18 +71,7 @@ public class UserManagerFragment extends MvpBindingFragment<UserManagerView, Use | @@ -60,18 +71,7 @@ public class UserManagerFragment extends MvpBindingFragment<UserManagerView, Use | ||
| 60 | } | 71 | } |
| 61 | } | 72 | } |
| 62 | }); | 73 | }); |
| 63 | - //添加邀请者按钮 | ||
| 64 | - btn_invit = binding.topbar.addRightTextButton("邀请使用者", R.id.rightBtn); | ||
| 65 | - btn_invit.setTextSize(15); | ||
| 66 | - btn_invit.setTextColor(ContextCompat.getColor(getContext(),R.color.color_282828)); | ||
| 67 | - btn_invit.setOnClickListener(new View.OnClickListener() { | ||
| 68 | - @Override | ||
| 69 | - public void onClick(View view) { | ||
| 70 | - if (null != getMvpView()) { | ||
| 71 | - getMvpView().showPop(btn_invit); | ||
| 72 | - } | ||
| 73 | - } | ||
| 74 | - }); | 74 | + |
| 75 | } | 75 | } |
| 76 | } | 76 | } |
| 77 | } | 77 | } |
module_xiaojiaSoundBox/src/main/java/com/cnlive/strike/xiaojiaspeaker/ui/widget/EditRoleDialog.java
| @@ -19,6 +19,7 @@ import com.cnlive.strike.application.GlideApp; | @@ -19,6 +19,7 @@ import com.cnlive.strike.application.GlideApp; | ||
| 19 | import com.cnlive.strike.xiaojiaspeaker.R; | 19 | import com.cnlive.strike.xiaojiaspeaker.R; |
| 20 | import com.cnlive.strike.xiaojiaspeaker.model.RoleInfo; | 20 | import com.cnlive.strike.xiaojiaspeaker.model.RoleInfo; |
| 21 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyRoleBean; | 21 | import com.cnlive.strike.xiaojiaspeaker.netWork.bean.FamilyRoleBean; |
| 22 | +import com.cnlive.strike.xiaojiaspeaker.netWork.bean.RoleNetBean; | ||
| 22 | import com.cnlive.strike.xiaojiaspeaker.ui.adapter.SetRoleAdapter; | 23 | import com.cnlive.strike.xiaojiaspeaker.ui.adapter.SetRoleAdapter; |
| 23 | 24 | ||
| 24 | import java.util.List; | 25 | import java.util.List; |
| @@ -45,11 +46,17 @@ public class EditRoleDialog extends Dialog { | @@ -45,11 +46,17 @@ public class EditRoleDialog extends Dialog { | ||
| 45 | private List<RoleInfo> roleInfoList; | 46 | private List<RoleInfo> roleInfoList; |
| 46 | private SetRoleAdapter setRoleAdapter; | 47 | private SetRoleAdapter setRoleAdapter; |
| 47 | private OnClickListener onClickListener; | 48 | private OnClickListener onClickListener; |
| 48 | - | 49 | + private String selectRole; |
| 50 | + private String selectSid; | ||
| 51 | + private String selectRoleName; | ||
| 49 | public void setOnClickListener(OnClickListener onClickListener) { | 52 | public void setOnClickListener(OnClickListener onClickListener) { |
| 50 | this.onClickListener = onClickListener; | 53 | this.onClickListener = onClickListener; |
| 51 | } | 54 | } |
| 52 | 55 | ||
| 56 | + public SetRoleAdapter getSetRoleAdapter() { | ||
| 57 | + return setRoleAdapter; | ||
| 58 | + } | ||
| 59 | + | ||
| 53 | public void setData(List<RoleInfo> roleInfoList, FamilyRoleBean.FamilyRoleListBean bean) { | 60 | public void setData(List<RoleInfo> roleInfoList, FamilyRoleBean.FamilyRoleListBean bean) { |
| 54 | setRoleAdapter = new SetRoleAdapter(context, roleInfoList); | 61 | setRoleAdapter = new SetRoleAdapter(context, roleInfoList); |
| 55 | setRoleAdapter.setGridCount(3); | 62 | setRoleAdapter.setGridCount(3); |
| @@ -58,6 +65,19 @@ public class EditRoleDialog extends Dialog { | @@ -58,6 +65,19 @@ public class EditRoleDialog extends Dialog { | ||
| 58 | rv_role.setAdapter(setRoleAdapter); | 65 | rv_role.setAdapter(setRoleAdapter); |
| 59 | GlideApp.with(context).load(bean.getUserMsg().getImage()).placeholder(R.drawable.xiaojia_touxiang).into(iv_icon); | 66 | GlideApp.with(context).load(bean.getUserMsg().getImage()).placeholder(R.drawable.xiaojia_touxiang).into(iv_icon); |
| 60 | tv_user_name.setText(bean.getUserMsg().getNickName()); | 67 | tv_user_name.setText(bean.getUserMsg().getNickName()); |
| 68 | + setRoleAdapter.setOnDialogRoleClickListener(new SetRoleAdapter.OnDialogRoleClickListener() { | ||
| 69 | + @Override | ||
| 70 | + public void onCancel() { | ||
| 71 | + | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + @Override | ||
| 75 | + public void onSelect(RoleNetBean.RoleListBean bean) { | ||
| 76 | + selectSid = roleInfoList.get(bean.getParentPosition()).getUid(); | ||
| 77 | + selectRole = bean.getId() + ""; | ||
| 78 | + selectRoleName=bean.getRoleName(); | ||
| 79 | + } | ||
| 80 | + }); | ||
| 61 | } | 81 | } |
| 62 | 82 | ||
| 63 | public EditRoleDialog(@NonNull Context context) { | 83 | public EditRoleDialog(@NonNull Context context) { |
| @@ -93,7 +113,7 @@ public class EditRoleDialog extends Dialog { | @@ -93,7 +113,7 @@ public class EditRoleDialog extends Dialog { | ||
| 93 | btn_cancel.setOnClickListener(new View.OnClickListener() { | 113 | btn_cancel.setOnClickListener(new View.OnClickListener() { |
| 94 | @Override | 114 | @Override |
| 95 | public void onClick(View view) { | 115 | public void onClick(View view) { |
| 96 | - if (null!=onClickListener){ | 116 | + if (null != onClickListener) { |
| 97 | onClickListener.onCancelClick(EditRoleDialog.this); | 117 | onClickListener.onCancelClick(EditRoleDialog.this); |
| 98 | } | 118 | } |
| 99 | } | 119 | } |
| @@ -101,8 +121,8 @@ public class EditRoleDialog extends Dialog { | @@ -101,8 +121,8 @@ public class EditRoleDialog extends Dialog { | ||
| 101 | btn_ok.setOnClickListener(new View.OnClickListener() { | 121 | btn_ok.setOnClickListener(new View.OnClickListener() { |
| 102 | @Override | 122 | @Override |
| 103 | public void onClick(View view) { | 123 | public void onClick(View view) { |
| 104 | - if (null!=onClickListener){ | ||
| 105 | - onClickListener.onSaveClick(EditRoleDialog.this); | 124 | + if (null != onClickListener && null != setRoleAdapter) { |
| 125 | + onClickListener.onSaveClick(EditRoleDialog.this, selectSid, selectRole,selectRoleName); | ||
| 106 | } | 126 | } |
| 107 | } | 127 | } |
| 108 | }); | 128 | }); |
| @@ -111,7 +131,7 @@ public class EditRoleDialog extends Dialog { | @@ -111,7 +131,7 @@ public class EditRoleDialog extends Dialog { | ||
| 111 | public interface OnClickListener { | 131 | public interface OnClickListener { |
| 112 | void onCancelClick(EditRoleDialog dialog); | 132 | void onCancelClick(EditRoleDialog dialog); |
| 113 | 133 | ||
| 114 | - void onSaveClick(EditRoleDialog dialog); | 134 | + void onSaveClick(EditRoleDialog dialog,String selectSid, String selectRole, String selectRoleName); |
| 115 | 135 | ||
| 116 | } | 136 | } |
| 117 | 137 |
module_xiaojiaSoundBox/src/main/res/layout/activity_change_device_name.xml
| @@ -3,85 +3,16 @@ | @@ -3,85 +3,16 @@ | ||
| 3 | xmlns:app="http://schemas.android.com/apk/res-auto" | 3 | xmlns:app="http://schemas.android.com/apk/res-auto" |
| 4 | xmlns:tools="http://schemas.android.com/tools"> | 4 | xmlns:tools="http://schemas.android.com/tools"> |
| 5 | 5 | ||
| 6 | - <LinearLayout | 6 | + <RelativeLayout |
| 7 | android:layout_width="match_parent" | 7 | android:layout_width="match_parent" |
| 8 | android:layout_height="match_parent" | 8 | android:layout_height="match_parent" |
| 9 | android:orientation="vertical" | 9 | android:orientation="vertical" |
| 10 | - tools:context=".ui.activity.ChangeDeviceNameActivity"> | 10 | + tools:context=".ui.activity.AllDeviceActivity"> |
| 11 | 11 | ||
| 12 | - <com.qmuiteam.qmui.widget.QMUITopBar | ||
| 13 | - android:id="@+id/topbar" | 12 | + <RelativeLayout |
| 13 | + android:id="@+id/fragment_container" | ||
| 14 | android:layout_width="match_parent" | 14 | android:layout_width="match_parent" |
| 15 | - android:layout_height="?attr/qmui_topbar_height" | ||
| 16 | - android:background="@color/white" /> | 15 | + android:layout_height="match_parent"></RelativeLayout> |
| 17 | 16 | ||
| 18 | - <LinearLayout | ||
| 19 | - android:layout_width="match_parent" | ||
| 20 | - android:layout_height="50dp" | ||
| 21 | - android:layout_marginLeft="10dp" | ||
| 22 | - android:layout_marginTop="20dp" | ||
| 23 | - android:gravity="center_vertical"> | ||
| 24 | - | ||
| 25 | - <TextView | ||
| 26 | - android:layout_width="wrap_content" | ||
| 27 | - android:layout_height="wrap_content" | ||
| 28 | - android:text="音箱名称" | ||
| 29 | - android:textColor="@color/color_282828" | ||
| 30 | - android:textSize="15sp" | ||
| 31 | - android:textStyle="bold" /> | ||
| 32 | - | ||
| 33 | - <EditText | ||
| 34 | - android:id="@+id/et_name" | ||
| 35 | - android:layout_width="0dp" | ||
| 36 | - android:layout_height="match_parent" | ||
| 37 | - android:layout_marginLeft="10dp" | ||
| 38 | - android:layout_marginRight="10dp" | ||
| 39 | - android:layout_weight="1" | ||
| 40 | - android:background="@null" | ||
| 41 | - android:maxLength="40" | ||
| 42 | - android:hint="请输入要修改的名称" | ||
| 43 | - android:textColor="@color/color_282828" | ||
| 44 | - android:textSize="14sp" /> | ||
| 45 | - | ||
| 46 | - <ImageView | ||
| 47 | - android:id="@+id/iv_close" | ||
| 48 | - android:layout_width="wrap_content" | ||
| 49 | - android:layout_height="wrap_content" | ||
| 50 | - android:layout_marginRight="20dp" | ||
| 51 | - android:background="@drawable/icon_gray_close" | ||
| 52 | - android:visibility="invisible" /> | ||
| 53 | - </LinearLayout> | ||
| 54 | - | ||
| 55 | - <View | ||
| 56 | - android:layout_width="match_parent" | ||
| 57 | - android:layout_height="1dp" | ||
| 58 | - android:layout_marginLeft="10dp" | ||
| 59 | - android:layout_marginRight="10dp" | ||
| 60 | - android:background="@color/line" /> | ||
| 61 | - | ||
| 62 | - <TextView | ||
| 63 | - android:layout_width="wrap_content" | ||
| 64 | - android:layout_height="wrap_content" | ||
| 65 | - android:layout_marginLeft="10dp" | ||
| 66 | - android:layout_marginTop="10dp" | ||
| 67 | - android:text="40个字符以内,支持汉字、字母、数字或下划线" | ||
| 68 | - android:textColor="@color/color_999999" | ||
| 69 | - android:textSize="12sp" /> | ||
| 70 | - | ||
| 71 | - <Button | ||
| 72 | - android:id="@+id/btn_next" | ||
| 73 | - android:layout_width="match_parent" | ||
| 74 | - android:layout_height="40dp" | ||
| 75 | - android:layout_alignParentBottom="true" | ||
| 76 | - android:layout_centerHorizontal="true" | ||
| 77 | - android:layout_marginLeft="30dp" | ||
| 78 | - android:layout_marginTop="20dp" | ||
| 79 | - android:layout_marginRight="30dp" | ||
| 80 | - android:background="@drawable/shape_xiaojia_btn_gray" | ||
| 81 | - android:clickable="false" | ||
| 82 | - android:text="保存" | ||
| 83 | - android:textColor="@color/white" | ||
| 84 | - android:textSize="16sp" | ||
| 85 | - android:textStyle="bold" /> | ||
| 86 | - </LinearLayout> | 17 | + </RelativeLayout> |
| 87 | </layout> | 18 | </layout> |
| 88 | \ No newline at end of file | 19 | \ No newline at end of file |
module_xiaojiaSoundBox/src/main/res/layout/activity_device_manager.xml
| 1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <layout> | 2 | <layout> |
| 3 | 3 | ||
| 4 | - <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 5 | - xmlns:app="http://schemas.android.com/apk/res-auto" | ||
| 6 | - xmlns:tools="http://schemas.android.com/tools" | ||
| 7 | - android:layout_width="match_parent" | ||
| 8 | - android:layout_height="match_parent" | ||
| 9 | - android:background="@color/color_F2F2F2" | ||
| 10 | - android:orientation="vertical" | ||
| 11 | - tools:context=".ui.activity.SearchDeviceActivity"> | ||
| 12 | - | ||
| 13 | - <com.qmuiteam.qmui.widget.QMUITopBar | ||
| 14 | - android:id="@+id/topbar" | 4 | +<!-- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"--> |
| 5 | +<!-- xmlns:app="http://schemas.android.com/apk/res-auto"--> | ||
| 6 | +<!-- xmlns:tools="http://schemas.android.com/tools"--> | ||
| 7 | +<!-- android:layout_width="match_parent"--> | ||
| 8 | +<!-- android:layout_height="match_parent"--> | ||
| 9 | +<!-- android:background="@color/color_F2F2F2"--> | ||
| 10 | +<!-- android:orientation="vertical"--> | ||
| 11 | +<!-- tools:context=".ui.activity.SearchDeviceActivity">--> | ||
| 12 | + | ||
| 13 | +<!-- <com.qmuiteam.qmui.widget.QMUITopBar--> | ||
| 14 | +<!-- android:id="@+id/topbar"--> | ||
| 15 | +<!-- android:layout_width="match_parent"--> | ||
| 16 | +<!-- android:layout_height="?attr/qmui_topbar_height" />--> | ||
| 17 | + | ||
| 18 | +<!-- <ScrollView--> | ||
| 19 | +<!-- android:layout_width="match_parent"--> | ||
| 20 | +<!-- android:layout_height="wrap_content"--> | ||
| 21 | +<!-- android:layout_below="@id/topbar">--> | ||
| 22 | + | ||
| 23 | +<!-- <LinearLayout--> | ||
| 24 | +<!-- android:layout_width="match_parent"--> | ||
| 25 | +<!-- android:layout_height="wrap_content"--> | ||
| 26 | +<!-- android:orientation="vertical">--> | ||
| 27 | +<!-- <!–音箱名称–>--> | ||
| 28 | +<!-- <LinearLayout--> | ||
| 29 | +<!-- android:id="@+id/ll_device_name"--> | ||
| 30 | +<!-- android:layout_width="match_parent"--> | ||
| 31 | +<!-- android:layout_height="50dp"--> | ||
| 32 | +<!-- android:layout_marginTop="10dp"--> | ||
| 33 | +<!-- android:layout_marginBottom="10dp"--> | ||
| 34 | +<!-- android:background="@drawable/selectable_item_white"--> | ||
| 35 | +<!-- android:clickable="true">--> | ||
| 36 | + | ||
| 37 | +<!-- <LinearLayout--> | ||
| 38 | +<!-- android:layout_width="wrap_content"--> | ||
| 39 | +<!-- android:layout_height="match_parent"--> | ||
| 40 | +<!-- android:gravity="center|left">--> | ||
| 41 | + | ||
| 42 | +<!-- <TextView--> | ||
| 43 | +<!-- android:id="@+id/tv_menu_title"--> | ||
| 44 | +<!-- android:layout_width="wrap_content"--> | ||
| 45 | +<!-- android:layout_height="wrap_content"--> | ||
| 46 | +<!-- android:layout_centerVertical="true"--> | ||
| 47 | +<!-- android:layout_marginLeft="10dp"--> | ||
| 48 | +<!-- android:layout_marginRight="10dp"--> | ||
| 49 | +<!-- android:maxLines="1"--> | ||
| 50 | +<!-- android:text="音箱名称"--> | ||
| 51 | +<!-- android:textColor="@color/color_282828"--> | ||
| 52 | +<!-- android:textSize="16sp" />--> | ||
| 53 | +<!-- </LinearLayout>--> | ||
| 54 | + | ||
| 55 | +<!-- <LinearLayout--> | ||
| 56 | +<!-- android:layout_width="0dp"--> | ||
| 57 | +<!-- android:layout_height="match_parent"--> | ||
| 58 | +<!-- android:layout_weight="1"--> | ||
| 59 | +<!-- android:gravity="center|right">--> | ||
| 60 | + | ||
| 61 | +<!-- <TextView--> | ||
| 62 | +<!-- android:id="@+id/tv_menu_detail"--> | ||
| 63 | +<!-- android:layout_width="wrap_content"--> | ||
| 64 | +<!-- android:layout_height="wrap_content"--> | ||
| 65 | +<!-- android:layout_centerVertical="true"--> | ||
| 66 | +<!-- android:layout_marginLeft="10dp"--> | ||
| 67 | +<!-- android:layout_marginRight="10dp"--> | ||
| 68 | +<!-- android:layout_toEndOf="@id/iv_right"--> | ||
| 69 | +<!-- android:layout_toRightOf="@id/tv_menu_title"--> | ||
| 70 | +<!-- android:gravity="center|right"--> | ||
| 71 | +<!-- android:maxLines="1"--> | ||
| 72 | +<!-- android:textColor="@color/color_C3C3C3"--> | ||
| 73 | +<!-- android:textSize="14sp" />--> | ||
| 74 | + | ||
| 75 | +<!-- <ImageView--> | ||
| 76 | +<!-- android:id="@+id/iv_right"--> | ||
| 77 | +<!-- android:layout_width="7dp"--> | ||
| 78 | +<!-- android:layout_height="13dp"--> | ||
| 79 | +<!-- android:layout_marginRight="10dp"--> | ||
| 80 | +<!-- android:background="@drawable/icon_item_right_arrow" />--> | ||
| 81 | + | ||
| 82 | +<!-- </LinearLayout>--> | ||
| 83 | + | ||
| 84 | +<!-- </LinearLayout>--> | ||
| 85 | +<!-- <!– WIFI设置–>--> | ||
| 86 | +<!-- <LinearLayout--> | ||
| 87 | +<!-- android:id="@+id/ll_wifi_setting"--> | ||
| 88 | +<!-- android:layout_width="match_parent"--> | ||
| 89 | +<!-- android:layout_height="50dp"--> | ||
| 90 | +<!-- android:layout_marginTop="10dp"--> | ||
| 91 | +<!-- android:layout_marginBottom="10dp"--> | ||
| 92 | +<!-- android:background="@drawable/selectable_item_white"--> | ||
| 93 | +<!-- android:clickable="true">--> | ||
| 94 | + | ||
| 95 | +<!-- <LinearLayout--> | ||
| 96 | +<!-- android:layout_width="wrap_content"--> | ||
| 97 | +<!-- android:layout_height="match_parent"--> | ||
| 98 | +<!-- android:gravity="center|left">--> | ||
| 99 | + | ||
| 100 | +<!-- <TextView--> | ||
| 101 | +<!-- android:id="@+id/tv_wifi_title"--> | ||
| 102 | +<!-- android:layout_width="wrap_content"--> | ||
| 103 | +<!-- android:layout_height="wrap_content"--> | ||
| 104 | +<!-- android:layout_centerVertical="true"--> | ||
| 105 | +<!-- android:layout_marginLeft="10dp"--> | ||
| 106 | +<!-- android:layout_marginRight="10dp"--> | ||
| 107 | +<!-- android:maxLines="1"--> | ||
| 108 | +<!-- android:text="WIFI设置"--> | ||
| 109 | +<!-- android:textColor="@color/color_282828"--> | ||
| 110 | +<!-- android:textSize="16sp" />--> | ||
| 111 | +<!-- </LinearLayout>--> | ||
| 112 | + | ||
| 113 | +<!-- <LinearLayout--> | ||
| 114 | +<!-- android:layout_width="0dp"--> | ||
| 115 | +<!-- android:layout_height="match_parent"--> | ||
| 116 | +<!-- android:layout_weight="1"--> | ||
| 117 | +<!-- android:gravity="center|right">--> | ||
| 118 | + | ||
| 119 | +<!-- <TextView--> | ||
| 120 | +<!-- android:id="@+id/tv_wifi_detail"--> | ||
| 121 | +<!-- android:layout_width="wrap_content"--> | ||
| 122 | +<!-- android:layout_height="wrap_content"--> | ||
| 123 | +<!-- android:layout_centerVertical="true"--> | ||
| 124 | +<!-- android:layout_marginLeft="10dp"--> | ||
| 125 | +<!-- android:layout_marginRight="10dp"--> | ||
| 126 | +<!-- android:layout_toEndOf="@id/iv_right"--> | ||
| 127 | +<!-- android:layout_toRightOf="@id/tv_menu_title"--> | ||
| 128 | +<!-- android:gravity="center|right"--> | ||
| 129 | +<!-- android:maxLines="1"--> | ||
| 130 | +<!-- android:textColor="@color/color_C3C3C3"--> | ||
| 131 | +<!-- android:textSize="14sp" />--> | ||
| 132 | + | ||
| 133 | +<!-- <ImageView--> | ||
| 134 | +<!-- android:layout_width="7dp"--> | ||
| 135 | +<!-- android:layout_height="13dp"--> | ||
| 136 | +<!-- android:layout_marginRight="10dp"--> | ||
| 137 | +<!-- android:background="@drawable/icon_item_right_arrow" />--> | ||
| 138 | + | ||
| 139 | +<!-- </LinearLayout>--> | ||
| 140 | + | ||
| 141 | +<!-- </LinearLayout>--> | ||
| 142 | +<!-- <!– 设备信息–>--> | ||
| 143 | +<!-- <LinearLayout--> | ||
| 144 | +<!-- android:id="@+id/ll_device_info"--> | ||
| 145 | +<!-- android:layout_width="match_parent"--> | ||
| 146 | +<!-- android:layout_height="50dp"--> | ||
| 147 | +<!-- android:layout_marginTop="10dp"--> | ||
| 148 | +<!-- android:layout_marginBottom="10dp"--> | ||
| 149 | +<!-- android:background="@drawable/selectable_item_white"--> | ||
| 150 | +<!-- android:clickable="true">--> | ||
| 151 | + | ||
| 152 | +<!-- <LinearLayout--> | ||
| 153 | +<!-- android:layout_width="wrap_content"--> | ||
| 154 | +<!-- android:layout_height="match_parent"--> | ||
| 155 | +<!-- android:gravity="center|left">--> | ||
| 156 | + | ||
| 157 | +<!-- <TextView--> | ||
| 158 | +<!-- android:id="@+id/tv_device_info"--> | ||
| 159 | +<!-- android:layout_width="wrap_content"--> | ||
| 160 | +<!-- android:layout_height="wrap_content"--> | ||
| 161 | +<!-- android:layout_centerVertical="true"--> | ||
| 162 | +<!-- android:layout_marginLeft="10dp"--> | ||
| 163 | +<!-- android:layout_marginRight="10dp"--> | ||
| 164 | +<!-- android:maxLines="1"--> | ||
| 165 | +<!-- android:text="设备信息"--> | ||
| 166 | +<!-- android:textColor="@color/color_282828"--> | ||
| 167 | +<!-- android:textSize="16sp" />--> | ||
| 168 | +<!-- </LinearLayout>--> | ||
| 169 | + | ||
| 170 | +<!-- <LinearLayout--> | ||
| 171 | +<!-- android:layout_width="0dp"--> | ||
| 172 | +<!-- android:layout_height="match_parent"--> | ||
| 173 | +<!-- android:layout_weight="1"--> | ||
| 174 | +<!-- android:gravity="center|right">--> | ||
| 175 | + | ||
| 176 | +<!-- <TextView--> | ||
| 177 | +<!-- android:id="@+id/tv_device_info_detail"--> | ||
| 178 | +<!-- android:layout_width="wrap_content"--> | ||
| 179 | +<!-- android:layout_height="wrap_content"--> | ||
| 180 | +<!-- android:layout_centerVertical="true"--> | ||
| 181 | +<!-- android:layout_marginLeft="10dp"--> | ||
| 182 | +<!-- android:layout_marginRight="10dp"--> | ||
| 183 | +<!-- android:layout_toEndOf="@id/iv_right"--> | ||
| 184 | +<!-- android:layout_toRightOf="@id/tv_menu_title"--> | ||
| 185 | +<!-- android:gravity="center|right"--> | ||
| 186 | +<!-- android:maxLines="1"--> | ||
| 187 | +<!-- android:textColor="@color/color_C3C3C3"--> | ||
| 188 | +<!-- android:textSize="14sp" />--> | ||
| 189 | + | ||
| 190 | +<!-- <ImageView--> | ||
| 191 | +<!-- android:layout_width="7dp"--> | ||
| 192 | +<!-- android:layout_height="13dp"--> | ||
| 193 | +<!-- android:layout_marginRight="10dp"--> | ||
| 194 | +<!-- android:background="@drawable/icon_item_right_arrow" />--> | ||
| 195 | + | ||
| 196 | +<!-- </LinearLayout>--> | ||
| 197 | + | ||
| 198 | +<!-- </LinearLayout>--> | ||
| 199 | +<!-- <!– 固件升级–>--> | ||
| 200 | +<!-- <LinearLayout--> | ||
| 201 | +<!-- android:id="@+id/ll_device_update"--> | ||
| 202 | +<!-- android:layout_width="match_parent"--> | ||
| 203 | +<!-- android:layout_height="50dp"--> | ||
| 204 | +<!-- android:layout_marginTop="10dp"--> | ||
| 205 | +<!-- android:layout_marginBottom="10dp"--> | ||
| 206 | +<!-- android:background="@drawable/selectable_item_white"--> | ||
| 207 | +<!-- android:clickable="true">--> | ||
| 208 | + | ||
| 209 | +<!-- <LinearLayout--> | ||
| 210 | +<!-- android:layout_width="wrap_content"--> | ||
| 211 | +<!-- android:layout_height="match_parent"--> | ||
| 212 | +<!-- android:gravity="center|left">--> | ||
| 213 | + | ||
| 214 | +<!-- <TextView--> | ||
| 215 | +<!-- android:id="@+id/tv_device_update"--> | ||
| 216 | +<!-- android:layout_width="wrap_content"--> | ||
| 217 | +<!-- android:layout_height="wrap_content"--> | ||
| 218 | +<!-- android:layout_centerVertical="true"--> | ||
| 219 | +<!-- android:layout_marginLeft="10dp"--> | ||
| 220 | +<!-- android:layout_marginRight="10dp"--> | ||
| 221 | +<!-- android:maxLines="1"--> | ||
| 222 | +<!-- android:text="固件升级"--> | ||
| 223 | +<!-- android:textColor="@color/color_282828"--> | ||
| 224 | +<!-- android:textSize="16sp" />--> | ||
| 225 | +<!-- </LinearLayout>--> | ||
| 226 | + | ||
| 227 | +<!-- <LinearLayout--> | ||
| 228 | +<!-- android:layout_width="0dp"--> | ||
| 229 | +<!-- android:layout_height="match_parent"--> | ||
| 230 | +<!-- android:layout_weight="1"--> | ||
| 231 | +<!-- android:gravity="center|right">--> | ||
| 232 | + | ||
| 233 | +<!-- <TextView--> | ||
| 234 | +<!-- android:id="@+id/tv_device_update_detail"--> | ||
| 235 | +<!-- android:layout_width="wrap_content"--> | ||
| 236 | +<!-- android:layout_height="wrap_content"--> | ||
| 237 | +<!-- android:layout_centerVertical="true"--> | ||
| 238 | +<!-- android:layout_marginLeft="10dp"--> | ||
| 239 | +<!-- android:layout_marginRight="10dp"--> | ||
| 240 | +<!-- android:layout_toEndOf="@id/iv_right"--> | ||
| 241 | +<!-- android:layout_toRightOf="@id/tv_menu_title"--> | ||
| 242 | +<!-- android:gravity="center|right"--> | ||
| 243 | +<!-- android:maxLines="1"--> | ||
| 244 | +<!-- android:textColor="@color/color_C3C3C3"--> | ||
| 245 | +<!-- android:textSize="14sp" />--> | ||
| 246 | + | ||
| 247 | +<!-- <ImageView--> | ||
| 248 | +<!-- android:layout_width="7dp"--> | ||
| 249 | +<!-- android:layout_height="13dp"--> | ||
| 250 | +<!-- android:layout_marginRight="10dp"--> | ||
| 251 | +<!-- android:background="@drawable/icon_item_right_arrow" />--> | ||
| 252 | + | ||
| 253 | +<!-- </LinearLayout>--> | ||
| 254 | + | ||
| 255 | +<!-- </LinearLayout>--> | ||
| 256 | +<!-- </LinearLayout>--> | ||
| 257 | +<!-- </ScrollView>--> | ||
| 258 | + | ||
| 259 | +<!-- <TextView--> | ||
| 260 | +<!-- android:layout_width="match_parent"--> | ||
| 261 | +<!-- android:layout_height="60dp"--> | ||
| 262 | +<!-- android:layout_alignParentBottom="true"--> | ||
| 263 | +<!-- android:background="@drawable/selectable_item_white"--> | ||
| 264 | +<!-- android:clickable="true"--> | ||
| 265 | +<!-- android:gravity="center"--> | ||
| 266 | +<!-- android:text="删除设备"--> | ||
| 267 | +<!-- android:textColor="@color/color_EB3D3F"--> | ||
| 268 | +<!-- android:textSize="15sp" />--> | ||
| 269 | +<!-- <!– <RelativeLayout–>--> | ||
| 270 | +<!-- <!– android:id="@+id/fragment_container"–>--> | ||
| 271 | +<!-- <!– android:layout_width="match_parent"–>--> | ||
| 272 | +<!-- <!– android:layout_height="match_parent"></RelativeLayout>–>--> | ||
| 273 | +<!-- </RelativeLayout>--> | ||
| 274 | + <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 275 | + xmlns:app="http://schemas.android.com/apk/res-auto" | ||
| 276 | + xmlns:tools="http://schemas.android.com/tools" | ||
| 15 | android:layout_width="match_parent" | 277 | android:layout_width="match_parent" |
| 16 | - android:layout_height="?attr/qmui_topbar_height" /> | 278 | + android:layout_height="match_parent" |
| 279 | + android:orientation="vertical" | ||
| 280 | + tools:context=".ui.activity.AllDeviceActivity"> | ||
| 17 | 281 | ||
| 18 | - <ScrollView | ||
| 19 | - android:layout_width="match_parent" | ||
| 20 | - android:layout_height="wrap_content" | ||
| 21 | - android:layout_below="@id/topbar"> | ||
| 22 | - | ||
| 23 | - <LinearLayout | 282 | + <RelativeLayout |
| 283 | + android:id="@+id/fragment_container" | ||
| 24 | android:layout_width="match_parent" | 284 | android:layout_width="match_parent" |
| 25 | - android:layout_height="wrap_content" | ||
| 26 | - android:orientation="vertical"> | ||
| 27 | - <!--音箱名称--> | ||
| 28 | - <LinearLayout | ||
| 29 | - android:id="@+id/ll_device_name" | ||
| 30 | - android:layout_width="match_parent" | ||
| 31 | - android:layout_height="50dp" | ||
| 32 | - android:layout_marginTop="10dp" | ||
| 33 | - android:layout_marginBottom="10dp" | ||
| 34 | - android:background="@drawable/selectable_item_white" | ||
| 35 | - android:clickable="true"> | ||
| 36 | - | ||
| 37 | - <LinearLayout | ||
| 38 | - android:layout_width="wrap_content" | ||
| 39 | - android:layout_height="match_parent" | ||
| 40 | - android:gravity="center|left"> | ||
| 41 | - | ||
| 42 | - <TextView | ||
| 43 | - android:id="@+id/tv_menu_title" | ||
| 44 | - android:layout_width="wrap_content" | ||
| 45 | - android:layout_height="wrap_content" | ||
| 46 | - android:layout_centerVertical="true" | ||
| 47 | - android:layout_marginLeft="10dp" | ||
| 48 | - android:layout_marginRight="10dp" | ||
| 49 | - android:maxLines="1" | ||
| 50 | - android:text="音箱名称" | ||
| 51 | - android:textColor="@color/color_282828" | ||
| 52 | - android:textSize="16sp" /> | ||
| 53 | - </LinearLayout> | ||
| 54 | - | ||
| 55 | - <LinearLayout | ||
| 56 | - android:layout_width="0dp" | ||
| 57 | - android:layout_height="match_parent" | ||
| 58 | - android:layout_weight="1" | ||
| 59 | - android:gravity="center|right"> | ||
| 60 | - | ||
| 61 | - <TextView | ||
| 62 | - android:id="@+id/tv_menu_detail" | ||
| 63 | - android:layout_width="wrap_content" | ||
| 64 | - android:layout_height="wrap_content" | ||
| 65 | - android:layout_centerVertical="true" | ||
| 66 | - android:layout_marginLeft="10dp" | ||
| 67 | - android:layout_marginRight="10dp" | ||
| 68 | - android:layout_toEndOf="@id/iv_right" | ||
| 69 | - android:layout_toRightOf="@id/tv_menu_title" | ||
| 70 | - android:gravity="center|right" | ||
| 71 | - android:maxLines="1" | ||
| 72 | - android:textColor="@color/color_C3C3C3" | ||
| 73 | - android:textSize="14sp" /> | ||
| 74 | - | ||
| 75 | - <ImageView | ||
| 76 | - android:id="@+id/iv_right" | ||
| 77 | - android:layout_width="7dp" | ||
| 78 | - android:layout_height="13dp" | ||
| 79 | - android:layout_marginRight="10dp" | ||
| 80 | - android:background="@drawable/icon_item_right_arrow" /> | ||
| 81 | - | ||
| 82 | - </LinearLayout> | ||
| 83 | - | ||
| 84 | - </LinearLayout> | ||
| 85 | - <!-- WIFI设置--> | ||
| 86 | - <LinearLayout | ||
| 87 | - android:id="@+id/ll_wifi_setting" | ||
| 88 | - android:layout_width="match_parent" | ||
| 89 | - android:layout_height="50dp" | ||
| 90 | - android:layout_marginTop="10dp" | ||
| 91 | - android:layout_marginBottom="10dp" | ||
| 92 | - android:background="@drawable/selectable_item_white" | ||
| 93 | - android:clickable="true"> | ||
| 94 | - | ||
| 95 | - <LinearLayout | ||
| 96 | - android:layout_width="wrap_content" | ||
| 97 | - android:layout_height="match_parent" | ||
| 98 | - android:gravity="center|left"> | ||
| 99 | - | ||
| 100 | - <TextView | ||
| 101 | - android:id="@+id/tv_wifi_title" | ||
| 102 | - android:layout_width="wrap_content" | ||
| 103 | - android:layout_height="wrap_content" | ||
| 104 | - android:layout_centerVertical="true" | ||
| 105 | - android:layout_marginLeft="10dp" | ||
| 106 | - android:layout_marginRight="10dp" | ||
| 107 | - android:maxLines="1" | ||
| 108 | - android:text="WIFI设置" | ||
| 109 | - android:textColor="@color/color_282828" | ||
| 110 | - android:textSize="16sp" /> | ||
| 111 | - </LinearLayout> | ||
| 112 | - | ||
| 113 | - <LinearLayout | ||
| 114 | - android:layout_width="0dp" | ||
| 115 | - android:layout_height="match_parent" | ||
| 116 | - android:layout_weight="1" | ||
| 117 | - android:gravity="center|right"> | ||
| 118 | - | ||
| 119 | - <TextView | ||
| 120 | - android:id="@+id/tv_wifi_detail" | ||
| 121 | - android:layout_width="wrap_content" | ||
| 122 | - android:layout_height="wrap_content" | ||
| 123 | - android:layout_centerVertical="true" | ||
| 124 | - android:layout_marginLeft="10dp" | ||
| 125 | - android:layout_marginRight="10dp" | ||
| 126 | - android:layout_toEndOf="@id/iv_right" | ||
| 127 | - android:layout_toRightOf="@id/tv_menu_title" | ||
| 128 | - android:gravity="center|right" | ||
| 129 | - android:maxLines="1" | ||
| 130 | - android:textColor="@color/color_C3C3C3" | ||
| 131 | - android:textSize="14sp" /> | ||
| 132 | - | ||
| 133 | - <ImageView | ||
| 134 | - android:layout_width="7dp" | ||
| 135 | - android:layout_height="13dp" | ||
| 136 | - android:layout_marginRight="10dp" | ||
| 137 | - android:background="@drawable/icon_item_right_arrow" /> | ||
| 138 | - | ||
| 139 | - </LinearLayout> | ||
| 140 | - | ||
| 141 | - </LinearLayout> | ||
| 142 | - <!-- 设备信息--> | ||
| 143 | - <LinearLayout | ||
| 144 | - android:id="@+id/ll_device_info" | ||
| 145 | - android:layout_width="match_parent" | ||
| 146 | - android:layout_height="50dp" | ||
| 147 | - android:layout_marginTop="10dp" | ||
| 148 | - android:layout_marginBottom="10dp" | ||
| 149 | - android:background="@drawable/selectable_item_white" | ||
| 150 | - android:clickable="true"> | ||
| 151 | - | ||
| 152 | - <LinearLayout | ||
| 153 | - android:layout_width="wrap_content" | ||
| 154 | - android:layout_height="match_parent" | ||
| 155 | - android:gravity="center|left"> | ||
| 156 | - | ||
| 157 | - <TextView | ||
| 158 | - android:id="@+id/tv_device_info" | ||
| 159 | - android:layout_width="wrap_content" | ||
| 160 | - android:layout_height="wrap_content" | ||
| 161 | - android:layout_centerVertical="true" | ||
| 162 | - android:layout_marginLeft="10dp" | ||
| 163 | - android:layout_marginRight="10dp" | ||
| 164 | - android:maxLines="1" | ||
| 165 | - android:text="设备信息" | ||
| 166 | - android:textColor="@color/color_282828" | ||
| 167 | - android:textSize="16sp" /> | ||
| 168 | - </LinearLayout> | ||
| 169 | - | ||
| 170 | - <LinearLayout | ||
| 171 | - android:layout_width="0dp" | ||
| 172 | - android:layout_height="match_parent" | ||
| 173 | - android:layout_weight="1" | ||
| 174 | - android:gravity="center|right"> | ||
| 175 | - | ||
| 176 | - <TextView | ||
| 177 | - android:id="@+id/tv_device_info_detail" | ||
| 178 | - android:layout_width="wrap_content" | ||
| 179 | - android:layout_height="wrap_content" | ||
| 180 | - android:layout_centerVertical="true" | ||
| 181 | - android:layout_marginLeft="10dp" | ||
| 182 | - android:layout_marginRight="10dp" | ||
| 183 | - android:layout_toEndOf="@id/iv_right" | ||
| 184 | - android:layout_toRightOf="@id/tv_menu_title" | ||
| 185 | - android:gravity="center|right" | ||
| 186 | - android:maxLines="1" | ||
| 187 | - android:textColor="@color/color_C3C3C3" | ||
| 188 | - android:textSize="14sp" /> | ||
| 189 | - | ||
| 190 | - <ImageView | ||
| 191 | - android:layout_width="7dp" | ||
| 192 | - android:layout_height="13dp" | ||
| 193 | - android:layout_marginRight="10dp" | ||
| 194 | - android:background="@drawable/icon_item_right_arrow" /> | ||
| 195 | - | ||
| 196 | - </LinearLayout> | ||
| 197 | - | ||
| 198 | - </LinearLayout> | ||
| 199 | - <!-- 固件升级--> | ||
| 200 | - <LinearLayout | ||
| 201 | - android:id="@+id/ll_device_update" | ||
| 202 | - android:layout_width="match_parent" | ||
| 203 | - android:layout_height="50dp" | ||
| 204 | - android:layout_marginTop="10dp" | ||
| 205 | - android:layout_marginBottom="10dp" | ||
| 206 | - android:background="@drawable/selectable_item_white" | ||
| 207 | - android:clickable="true"> | ||
| 208 | - | ||
| 209 | - <LinearLayout | ||
| 210 | - android:layout_width="wrap_content" | ||
| 211 | - android:layout_height="match_parent" | ||
| 212 | - android:gravity="center|left"> | ||
| 213 | - | ||
| 214 | - <TextView | ||
| 215 | - android:id="@+id/tv_device_update" | ||
| 216 | - android:layout_width="wrap_content" | ||
| 217 | - android:layout_height="wrap_content" | ||
| 218 | - android:layout_centerVertical="true" | ||
| 219 | - android:layout_marginLeft="10dp" | ||
| 220 | - android:layout_marginRight="10dp" | ||
| 221 | - android:maxLines="1" | ||
| 222 | - android:text="固件升级" | ||
| 223 | - android:textColor="@color/color_282828" | ||
| 224 | - android:textSize="16sp" /> | ||
| 225 | - </LinearLayout> | ||
| 226 | - | ||
| 227 | - <LinearLayout | ||
| 228 | - android:layout_width="0dp" | ||
| 229 | - android:layout_height="match_parent" | ||
| 230 | - android:layout_weight="1" | ||
| 231 | - android:gravity="center|right"> | ||
| 232 | - | ||
| 233 | - <TextView | ||
| 234 | - android:id="@+id/tv_device_update_detail" | ||
| 235 | - android:layout_width="wrap_content" | ||
| 236 | - android:layout_height="wrap_content" | ||
| 237 | - android:layout_centerVertical="true" | ||
| 238 | - android:layout_marginLeft="10dp" | ||
| 239 | - android:layout_marginRight="10dp" | ||
| 240 | - android:layout_toEndOf="@id/iv_right" | ||
| 241 | - android:layout_toRightOf="@id/tv_menu_title" | ||
| 242 | - android:gravity="center|right" | ||
| 243 | - android:maxLines="1" | ||
| 244 | - android:textColor="@color/color_C3C3C3" | ||
| 245 | - android:textSize="14sp" /> | ||
| 246 | - | ||
| 247 | - <ImageView | ||
| 248 | - android:layout_width="7dp" | ||
| 249 | - android:layout_height="13dp" | ||
| 250 | - android:layout_marginRight="10dp" | ||
| 251 | - android:background="@drawable/icon_item_right_arrow" /> | ||
| 252 | - | ||
| 253 | - </LinearLayout> | ||
| 254 | - | ||
| 255 | - </LinearLayout> | ||
| 256 | - </LinearLayout> | ||
| 257 | - </ScrollView> | ||
| 258 | - | ||
| 259 | - <TextView | ||
| 260 | - android:layout_width="match_parent" | ||
| 261 | - android:layout_height="60dp" | ||
| 262 | - android:layout_alignParentBottom="true" | ||
| 263 | - android:background="@drawable/selectable_item_white" | ||
| 264 | - android:clickable="true" | ||
| 265 | - android:gravity="center" | ||
| 266 | - android:text="删除设备" | ||
| 267 | - android:textColor="@color/color_EB3D3F" | ||
| 268 | - android:textSize="15sp" /> | ||
| 269 | - <!-- <RelativeLayout--> | ||
| 270 | - <!-- android:id="@+id/fragment_container"--> | ||
| 271 | - <!-- android:layout_width="match_parent"--> | ||
| 272 | - <!-- android:layout_height="match_parent"></RelativeLayout>--> | ||
| 273 | - </RelativeLayout> | 285 | + android:layout_height="match_parent"></RelativeLayout> |
| 286 | + | ||
| 287 | + </RelativeLayout> | ||
| 274 | </layout> | 288 | </layout> |
| 275 | \ No newline at end of file | 289 | \ No newline at end of file |
module_xiaojiaSoundBox/src/main/res/layout/fragment_change_device_name.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<layout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 3 | + xmlns:app="http://schemas.android.com/apk/res-auto" | ||
| 4 | + xmlns:tools="http://schemas.android.com/tools"> | ||
| 5 | + | ||
| 6 | + <LinearLayout | ||
| 7 | + android:layout_width="match_parent" | ||
| 8 | + android:layout_height="match_parent" | ||
| 9 | + android:orientation="vertical" | ||
| 10 | + tools:context=".ui.activity.ChangeDeviceNameActivity"> | ||
| 11 | + | ||
| 12 | + <com.qmuiteam.qmui.widget.QMUITopBar | ||
| 13 | + android:id="@+id/topbar" | ||
| 14 | + android:layout_width="match_parent" | ||
| 15 | + android:layout_height="?attr/qmui_topbar_height" | ||
| 16 | + android:background="@color/white" /> | ||
| 17 | + | ||
| 18 | + <LinearLayout | ||
| 19 | + android:layout_width="match_parent" | ||
| 20 | + android:layout_height="50dp" | ||
| 21 | + android:layout_marginLeft="10dp" | ||
| 22 | + android:layout_marginTop="20dp" | ||
| 23 | + android:gravity="center_vertical"> | ||
| 24 | + | ||
| 25 | + <TextView | ||
| 26 | + android:layout_width="wrap_content" | ||
| 27 | + android:layout_height="wrap_content" | ||
| 28 | + android:text="音箱名称" | ||
| 29 | + android:textColor="@color/color_282828" | ||
| 30 | + android:textSize="15sp" | ||
| 31 | + android:textStyle="bold" /> | ||
| 32 | + | ||
| 33 | + <EditText | ||
| 34 | + android:id="@+id/et_name" | ||
| 35 | + android:layout_width="0dp" | ||
| 36 | + android:layout_height="match_parent" | ||
| 37 | + android:layout_marginLeft="10dp" | ||
| 38 | + android:layout_marginRight="10dp" | ||
| 39 | + android:layout_weight="1" | ||
| 40 | + android:background="@null" | ||
| 41 | + android:maxLength="40" | ||
| 42 | + android:hint="请输入要修改的名称" | ||
| 43 | + android:textColor="@color/color_282828" | ||
| 44 | + android:textSize="14sp" /> | ||
| 45 | + | ||
| 46 | + <ImageView | ||
| 47 | + android:id="@+id/iv_close" | ||
| 48 | + android:layout_width="wrap_content" | ||
| 49 | + android:layout_height="wrap_content" | ||
| 50 | + android:layout_marginRight="20dp" | ||
| 51 | + android:background="@drawable/icon_gray_close" | ||
| 52 | + android:visibility="invisible" /> | ||
| 53 | + </LinearLayout> | ||
| 54 | + | ||
| 55 | + <View | ||
| 56 | + android:layout_width="match_parent" | ||
| 57 | + android:layout_height="1dp" | ||
| 58 | + android:layout_marginLeft="10dp" | ||
| 59 | + android:layout_marginRight="10dp" | ||
| 60 | + android:background="@color/line" /> | ||
| 61 | + | ||
| 62 | + <TextView | ||
| 63 | + android:layout_width="wrap_content" | ||
| 64 | + android:layout_height="wrap_content" | ||
| 65 | + android:layout_marginLeft="10dp" | ||
| 66 | + android:layout_marginTop="10dp" | ||
| 67 | + android:text="40个字符以内,支持汉字、字母、数字或下划线" | ||
| 68 | + android:textColor="@color/color_999999" | ||
| 69 | + android:textSize="12sp" /> | ||
| 70 | + | ||
| 71 | + <Button | ||
| 72 | + android:id="@+id/btn_next" | ||
| 73 | + android:layout_width="match_parent" | ||
| 74 | + android:layout_height="40dp" | ||
| 75 | + android:layout_alignParentBottom="true" | ||
| 76 | + android:layout_centerHorizontal="true" | ||
| 77 | + android:layout_marginLeft="30dp" | ||
| 78 | + android:layout_marginTop="20dp" | ||
| 79 | + android:layout_marginRight="30dp" | ||
| 80 | + android:background="@drawable/shape_xiaojia_btn_gray" | ||
| 81 | + android:clickable="false" | ||
| 82 | + android:text="保存" | ||
| 83 | + android:textColor="@color/white" | ||
| 84 | + android:textSize="16sp" | ||
| 85 | + android:textStyle="bold" /> | ||
| 86 | + </LinearLayout> | ||
| 87 | +</layout> | ||
| 0 | \ No newline at end of file | 88 | \ No newline at end of file |
module_xiaojiaSoundBox/src/main/res/layout/fragment_device_manager.xml
| 1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <layout xmlns:android="http://schemas.android.com/apk/res/android" | 2 | <layout xmlns:android="http://schemas.android.com/apk/res/android" |
| 3 | - xmlns:app="http://schemas.android.com/apk/res-auto"> | 3 | + xmlns:app="http://schemas.android.com/apk/res-auto" |
| 4 | + xmlns:tools="http://schemas.android.com/tools"> | ||
| 4 | 5 | ||
| 5 | <LinearLayout | 6 | <LinearLayout |
| 6 | android:layout_width="match_parent" | 7 | android:layout_width="match_parent" |
| 7 | android:layout_height="match_parent" | 8 | android:layout_height="match_parent" |
| 8 | - android:background="@color/color_F2F2F2" | ||
| 9 | android:orientation="vertical"> | 9 | android:orientation="vertical"> |
| 10 | 10 | ||
| 11 | <com.qmuiteam.qmui.widget.QMUITopBar | 11 | <com.qmuiteam.qmui.widget.QMUITopBar |
| 12 | android:id="@+id/topbar" | 12 | android:id="@+id/topbar" |
| 13 | android:layout_width="match_parent" | 13 | android:layout_width="match_parent" |
| 14 | android:layout_height="?attr/qmui_topbar_height" /> | 14 | android:layout_height="?attr/qmui_topbar_height" /> |
| 15 | + <!-- <LinearLayout--> | ||
| 16 | + <!-- android:layout_width="match_parent"--> | ||
| 17 | + <!-- android:layout_height="match_parent"--> | ||
| 18 | + <!-- android:background="@color/color_F2F2F2"--> | ||
| 19 | + <!-- android:orientation="vertical">--> | ||
| 15 | 20 | ||
| 16 | - <android.support.v7.widget.RecyclerView | ||
| 17 | - android:id="@+id/rv_menu" | ||
| 18 | - android:layout_width="match_parent" | ||
| 19 | - android:layout_height="0dp" | ||
| 20 | - android:layout_weight="1" | ||
| 21 | - android:overScrollMode="never" /> | 21 | + <!-- <com.qmuiteam.qmui.widget.QMUITopBar--> |
| 22 | + <!-- android:id="@+id/topbar"--> | ||
| 23 | + <!-- android:layout_width="match_parent"--> | ||
| 24 | + <!-- android:layout_height="?attr/qmui_topbar_height" />--> | ||
| 22 | 25 | ||
| 23 | - <View | ||
| 24 | - android:layout_width="match_parent" | ||
| 25 | - android:layout_height="1dp" | ||
| 26 | - android:background="@color/line_15" /> | 26 | + <!-- <android.support.v7.widget.RecyclerView--> |
| 27 | + <!-- android:id="@+id/rv_menu"--> | ||
| 28 | + <!-- android:layout_width="match_parent"--> | ||
| 29 | + <!-- android:layout_height="0dp"--> | ||
| 30 | + <!-- android:layout_weight="1"--> | ||
| 31 | + <!-- android:overScrollMode="never" />--> | ||
| 32 | + | ||
| 33 | + <!-- <View--> | ||
| 34 | + <!-- android:layout_width="match_parent"--> | ||
| 35 | + <!-- android:layout_height="1dp"--> | ||
| 36 | + <!-- android:background="@color/line_15" />--> | ||
| 37 | + | ||
| 38 | + <!-- <TextView--> | ||
| 39 | + <!-- android:layout_width="match_parent"--> | ||
| 40 | + <!-- android:layout_height="60dp"--> | ||
| 41 | + <!-- android:background="@drawable/selectable_item_white"--> | ||
| 42 | + <!-- android:gravity="center"--> | ||
| 43 | + <!-- android:text="删除设备"--> | ||
| 44 | + <!-- android:clickable="true"--> | ||
| 45 | + <!-- android:textColor="@color/color_EB3D3F"--> | ||
| 46 | + <!-- android:textSize="15sp" />--> | ||
| 47 | + | ||
| 48 | + <!-- </LinearLayout>--> | ||
| 27 | 49 | ||
| 28 | - <TextView | 50 | + <FrameLayout |
| 29 | android:layout_width="match_parent" | 51 | android:layout_width="match_parent" |
| 30 | - android:layout_height="60dp" | ||
| 31 | - android:background="@drawable/selectable_item_white" | ||
| 32 | - android:gravity="center" | ||
| 33 | - android:text="删除设备" | ||
| 34 | - android:clickable="true" | ||
| 35 | - android:textColor="@color/color_EB3D3F" | ||
| 36 | - android:textSize="15sp" /> | 52 | + android:layout_height="match_parent"> |
| 53 | + | ||
| 54 | + <RelativeLayout | ||
| 55 | + android:layout_width="match_parent" | ||
| 56 | + android:layout_height="match_parent" | ||
| 57 | + android:background="@color/color_F2F2F2" | ||
| 58 | + android:orientation="vertical" | ||
| 59 | + tools:context=".ui.activity.SearchDeviceActivity"> | ||
| 60 | + | ||
| 61 | + | ||
| 62 | + <ScrollView | ||
| 63 | + android:layout_width="match_parent" | ||
| 64 | + android:layout_height="wrap_content"> | ||
| 65 | + | ||
| 66 | + <LinearLayout | ||
| 67 | + android:layout_width="match_parent" | ||
| 68 | + android:layout_height="wrap_content" | ||
| 69 | + android:orientation="vertical"> | ||
| 70 | + <!--音箱名称--> | ||
| 71 | + <LinearLayout | ||
| 72 | + android:id="@+id/ll_device_name" | ||
| 73 | + android:layout_width="match_parent" | ||
| 74 | + android:layout_height="50dp" | ||
| 75 | + android:layout_marginTop="10dp" | ||
| 76 | + android:layout_marginBottom="10dp" | ||
| 77 | + android:background="@drawable/selectable_item_white" | ||
| 78 | + android:clickable="true"> | ||
| 79 | + | ||
| 80 | + <LinearLayout | ||
| 81 | + android:layout_width="wrap_content" | ||
| 82 | + android:layout_height="match_parent" | ||
| 83 | + android:gravity="center|left"> | ||
| 84 | + | ||
| 85 | + <TextView | ||
| 86 | + android:id="@+id/tv_menu_title" | ||
| 87 | + android:layout_width="wrap_content" | ||
| 88 | + android:layout_height="wrap_content" | ||
| 89 | + android:layout_centerVertical="true" | ||
| 90 | + android:layout_marginLeft="10dp" | ||
| 91 | + android:layout_marginRight="10dp" | ||
| 92 | + android:maxLines="1" | ||
| 93 | + android:text="音箱名称" | ||
| 94 | + android:textColor="@color/color_282828" | ||
| 95 | + android:textSize="16sp" /> | ||
| 96 | + </LinearLayout> | ||
| 97 | + | ||
| 98 | + <LinearLayout | ||
| 99 | + android:layout_width="0dp" | ||
| 100 | + android:layout_height="match_parent" | ||
| 101 | + android:layout_weight="1" | ||
| 102 | + android:gravity="center|right"> | ||
| 103 | + | ||
| 104 | + <TextView | ||
| 105 | + android:id="@+id/tv_device_name" | ||
| 106 | + android:layout_width="wrap_content" | ||
| 107 | + android:layout_height="wrap_content" | ||
| 108 | + android:layout_centerVertical="true" | ||
| 109 | + android:layout_marginLeft="10dp" | ||
| 110 | + android:layout_marginRight="10dp" | ||
| 111 | + android:layout_toEndOf="@id/iv_right" | ||
| 112 | + android:layout_toRightOf="@id/tv_menu_title" | ||
| 113 | + android:gravity="center|right" | ||
| 114 | + android:maxLines="1" | ||
| 115 | + android:textColor="@color/color_C3C3C3" | ||
| 116 | + android:textSize="14sp" /> | ||
| 117 | + | ||
| 118 | + <ImageView | ||
| 119 | + android:id="@+id/iv_right" | ||
| 120 | + android:layout_width="7dp" | ||
| 121 | + android:layout_height="13dp" | ||
| 122 | + android:layout_marginRight="10dp" | ||
| 123 | + android:background="@drawable/icon_item_right_arrow" /> | ||
| 124 | + | ||
| 125 | + </LinearLayout> | ||
| 126 | + | ||
| 127 | + </LinearLayout> | ||
| 128 | + <!-- WIFI设置--> | ||
| 129 | + <LinearLayout | ||
| 130 | + android:id="@+id/ll_wifi_setting" | ||
| 131 | + android:layout_width="match_parent" | ||
| 132 | + android:layout_height="50dp" | ||
| 133 | + android:layout_marginTop="10dp" | ||
| 134 | + android:layout_marginBottom="10dp" | ||
| 135 | + android:background="@drawable/selectable_item_white" | ||
| 136 | + android:clickable="true"> | ||
| 137 | + | ||
| 138 | + <LinearLayout | ||
| 139 | + android:layout_width="wrap_content" | ||
| 140 | + android:layout_height="match_parent" | ||
| 141 | + android:gravity="center|left"> | ||
| 142 | + | ||
| 143 | + <TextView | ||
| 144 | + android:layout_width="wrap_content" | ||
| 145 | + android:layout_height="wrap_content" | ||
| 146 | + android:layout_centerVertical="true" | ||
| 147 | + android:layout_marginLeft="10dp" | ||
| 148 | + android:layout_marginRight="10dp" | ||
| 149 | + android:maxLines="1" | ||
| 150 | + android:text="WIFI设置" | ||
| 151 | + android:textColor="@color/color_282828" | ||
| 152 | + android:textSize="16sp" /> | ||
| 153 | + </LinearLayout> | ||
| 154 | + | ||
| 155 | + <LinearLayout | ||
| 156 | + android:layout_width="0dp" | ||
| 157 | + android:layout_height="match_parent" | ||
| 158 | + android:layout_weight="1" | ||
| 159 | + android:gravity="center|right"> | ||
| 160 | + | ||
| 161 | + <TextView | ||
| 162 | + android:id="@+id/tv_wifi_name" | ||
| 163 | + android:layout_width="wrap_content" | ||
| 164 | + android:layout_height="wrap_content" | ||
| 165 | + android:layout_centerVertical="true" | ||
| 166 | + android:layout_marginLeft="10dp" | ||
| 167 | + android:layout_marginRight="10dp" | ||
| 168 | + android:layout_toEndOf="@id/iv_right" | ||
| 169 | + android:layout_toRightOf="@id/tv_menu_title" | ||
| 170 | + android:gravity="center|right" | ||
| 171 | + android:maxLines="1" | ||
| 172 | + android:textColor="@color/color_C3C3C3" | ||
| 173 | + android:textSize="14sp" /> | ||
| 174 | + | ||
| 175 | + <ImageView | ||
| 176 | + android:layout_width="7dp" | ||
| 177 | + android:layout_height="13dp" | ||
| 178 | + android:layout_marginRight="10dp" | ||
| 179 | + android:background="@drawable/icon_item_right_arrow" /> | ||
| 180 | + | ||
| 181 | + </LinearLayout> | ||
| 182 | + | ||
| 183 | + </LinearLayout> | ||
| 184 | + <!-- 设备信息--> | ||
| 185 | + <LinearLayout | ||
| 186 | + android:id="@+id/ll_device_info" | ||
| 187 | + android:layout_width="match_parent" | ||
| 188 | + android:layout_height="50dp" | ||
| 189 | + android:layout_marginTop="10dp" | ||
| 190 | + android:layout_marginBottom="10dp" | ||
| 191 | + android:background="@drawable/selectable_item_white" | ||
| 192 | + android:clickable="true"> | ||
| 193 | + | ||
| 194 | + <LinearLayout | ||
| 195 | + android:layout_width="wrap_content" | ||
| 196 | + android:layout_height="match_parent" | ||
| 197 | + android:gravity="center|left"> | ||
| 198 | + | ||
| 199 | + <TextView | ||
| 200 | + android:id="@+id/tv_device_info" | ||
| 201 | + android:layout_width="wrap_content" | ||
| 202 | + android:layout_height="wrap_content" | ||
| 203 | + android:layout_centerVertical="true" | ||
| 204 | + android:layout_marginLeft="10dp" | ||
| 205 | + android:layout_marginRight="10dp" | ||
| 206 | + android:maxLines="1" | ||
| 207 | + android:text="设备信息" | ||
| 208 | + android:textColor="@color/color_282828" | ||
| 209 | + android:textSize="16sp" /> | ||
| 210 | + </LinearLayout> | ||
| 211 | + | ||
| 212 | + <LinearLayout | ||
| 213 | + android:layout_width="0dp" | ||
| 214 | + android:layout_height="match_parent" | ||
| 215 | + android:layout_weight="1" | ||
| 216 | + android:gravity="center|right"> | ||
| 217 | + | ||
| 218 | + <TextView | ||
| 219 | + android:id="@+id/tv_device_info_detail" | ||
| 220 | + android:layout_width="wrap_content" | ||
| 221 | + android:layout_height="wrap_content" | ||
| 222 | + android:layout_centerVertical="true" | ||
| 223 | + android:layout_marginLeft="10dp" | ||
| 224 | + android:layout_marginRight="10dp" | ||
| 225 | + android:layout_toEndOf="@id/iv_right" | ||
| 226 | + android:layout_toRightOf="@id/tv_menu_title" | ||
| 227 | + android:gravity="center|right" | ||
| 228 | + android:maxLines="1" | ||
| 229 | + android:textColor="@color/color_C3C3C3" | ||
| 230 | + android:textSize="14sp" /> | ||
| 231 | + | ||
| 232 | + <ImageView | ||
| 233 | + android:layout_width="7dp" | ||
| 234 | + android:layout_height="13dp" | ||
| 235 | + android:layout_marginRight="10dp" | ||
| 236 | + android:background="@drawable/icon_item_right_arrow" /> | ||
| 237 | + | ||
| 238 | + </LinearLayout> | ||
| 239 | + | ||
| 240 | + </LinearLayout> | ||
| 241 | + <!-- 固件升级--> | ||
| 242 | + <LinearLayout | ||
| 243 | + android:id="@+id/ll_device_update" | ||
| 244 | + android:layout_width="match_parent" | ||
| 245 | + android:layout_height="50dp" | ||
| 246 | + android:layout_marginTop="10dp" | ||
| 247 | + android:layout_marginBottom="10dp" | ||
| 248 | + android:background="@drawable/selectable_item_white" | ||
| 249 | + android:clickable="true"> | ||
| 250 | + | ||
| 251 | + <LinearLayout | ||
| 252 | + android:layout_width="wrap_content" | ||
| 253 | + android:layout_height="match_parent" | ||
| 254 | + android:gravity="center|left"> | ||
| 255 | + | ||
| 256 | + <TextView | ||
| 257 | + android:id="@+id/tv_device_update" | ||
| 258 | + android:layout_width="wrap_content" | ||
| 259 | + android:layout_height="wrap_content" | ||
| 260 | + android:layout_centerVertical="true" | ||
| 261 | + android:layout_marginLeft="10dp" | ||
| 262 | + android:layout_marginRight="10dp" | ||
| 263 | + android:maxLines="1" | ||
| 264 | + android:text="固件升级" | ||
| 265 | + android:textColor="@color/color_282828" | ||
| 266 | + android:textSize="16sp" /> | ||
| 267 | + </LinearLayout> | ||
| 268 | + | ||
| 269 | + <LinearLayout | ||
| 270 | + android:layout_width="0dp" | ||
| 271 | + android:layout_height="match_parent" | ||
| 272 | + android:layout_weight="1" | ||
| 273 | + android:gravity="center|right"> | ||
| 274 | + | ||
| 275 | + <TextView | ||
| 276 | + android:id="@+id/tv_current_version" | ||
| 277 | + android:layout_width="wrap_content" | ||
| 278 | + android:layout_height="wrap_content" | ||
| 279 | + android:layout_centerVertical="true" | ||
| 280 | + android:layout_marginLeft="10dp" | ||
| 281 | + android:layout_marginRight="10dp" | ||
| 282 | + android:layout_toEndOf="@id/iv_right" | ||
| 283 | + android:layout_toRightOf="@id/tv_menu_title" | ||
| 284 | + android:gravity="center|right" | ||
| 285 | + android:maxLines="1" | ||
| 286 | + android:textColor="@color/color_C3C3C3" | ||
| 287 | + android:textSize="14sp" /> | ||
| 288 | + | ||
| 289 | + <ImageView | ||
| 290 | + android:layout_width="7dp" | ||
| 291 | + android:layout_height="13dp" | ||
| 292 | + android:layout_marginRight="10dp" | ||
| 293 | + android:background="@drawable/icon_item_right_arrow" /> | ||
| 294 | + | ||
| 295 | + </LinearLayout> | ||
| 296 | + | ||
| 297 | + </LinearLayout> | ||
| 298 | + </LinearLayout> | ||
| 299 | + </ScrollView> | ||
| 300 | + | ||
| 301 | + <TextView | ||
| 302 | + android:layout_width="match_parent" | ||
| 303 | + android:layout_height="60dp" | ||
| 304 | + android:layout_alignParentBottom="true" | ||
| 305 | + android:background="@drawable/selectable_item_white" | ||
| 306 | + android:clickable="true" | ||
| 307 | + android:gravity="center" | ||
| 308 | + android:text="删除设备" | ||
| 309 | + android:textColor="@color/color_EB3D3F" | ||
| 310 | + android:textSize="15sp" /> | ||
| 311 | + <!-- <RelativeLayout--> | ||
| 312 | + <!-- android:id="@+id/fragment_container"--> | ||
| 313 | + <!-- android:layout_width="match_parent"--> | ||
| 314 | + <!-- android:layout_height="match_parent"></RelativeLayout>--> | ||
| 315 | + </RelativeLayout> | ||
| 316 | + | ||
| 317 | + <com.cnlive.strike.ui.widget.UIEmptyView | ||
| 318 | + android:id="@+id/empty_layout" | ||
| 319 | + android:layout_width="match_parent" | ||
| 320 | + android:layout_height="match_parent" | ||
| 321 | + android:background="@color/color_fff" | ||
| 322 | + android:visibility="gone" /> | ||
| 323 | + </FrameLayout> | ||
| 37 | 324 | ||
| 38 | </LinearLayout> | 325 | </LinearLayout> |
| 39 | </layout> | 326 | </layout> |
| 40 | \ No newline at end of file | 327 | \ No newline at end of file |
module_xiaojiaSoundBox/src/main/res/layout/fragment_user_manager.xml
| @@ -55,10 +55,12 @@ | @@ -55,10 +55,12 @@ | ||
| 55 | android:layout_weight="1" /> | 55 | android:layout_weight="1" /> |
| 56 | 56 | ||
| 57 | <LinearLayout | 57 | <LinearLayout |
| 58 | + android:id="@+id/ll_btn" | ||
| 58 | android:layout_width="match_parent" | 59 | android:layout_width="match_parent" |
| 59 | android:layout_height="wrap_content" | 60 | android:layout_height="wrap_content" |
| 60 | android:gravity="center" | 61 | android:gravity="center" |
| 61 | - android:orientation="vertical"> | 62 | + android:orientation="vertical" |
| 63 | + android:visibility="gone"> | ||
| 62 | 64 | ||
| 63 | <Button | 65 | <Button |
| 64 | android:id="@+id/btn_invit_friend" | 66 | android:id="@+id/btn_invit_friend" |