package com.pandocloud.freeiot.ui.device; import org.apache.http.Header; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.view.View.OnClickListener; import android.widget.RadioButton; import com.pandocloud.freeiot.R; import com.pandocloud.freeiot.api.DevicesApi; import com.pandocloud.freeiot.api.WrapperBaseJsonHttpResponseHandler; import com.pandocloud.freeiot.ui.app.UserState; import com.pandocloud.freeiot.ui.base.BaseActivity; import com.pandocloud.freeiot.ui.bean.http.BaseResponse; import com.pandocloud.freeiot.utils.ActivityUtils; import com.pandocloud.freeiot.utils.CommonUtils; import com.pandocloud.freeiot.utils.GsonUtils; import com.pandocloud.freeiot.utils.LogUtils; public class DevicePermissionModifyActivity extends BaseActivity implements OnClickListener { private String identifier; int permissionId; private RadioButton readBtn, readWriteBtn; @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); setContentView(R.layout.activity_permission_modify); identifier = getIntent().getStringExtra("identifier"); permissionId = getIntent().getIntExtra("permissionId", 0); int privilege = getIntent().getIntExtra("privilege", 0); readBtn = (RadioButton)findViewById(R.id.radio_read_only); readWriteBtn = (RadioButton)findViewById(R.id.radio_read_write); if (privilege == 1) { readBtn.setChecked(true); } else { readWriteBtn.setChecked(true); } findViewById(R.id.back).setOnClickListener(this); findViewById(R.id.btn_ok).setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.back: onBackPressed(); break; case R.id.btn_ok: devicePermissionModify(); break; default: break; } } public void devicePermissionModify() { int privilege = readBtn.isChecked() ? DeviceAuthActivity.PERMISSION_READ_NOTIFICATION : DeviceAuthActivity.PERMISSION_CONTROL; DevicesApi.deivcePermissionModify(this, UserState.getInstances(this).getAccessToken(""), identifier, permissionId, privilege, new WrapperBaseJsonHttpResponseHandler<BaseResponse>(this) { @Override public void onStart() { CommonUtils.showingProgressDialog(); } @Override protected BaseResponse parseResponse2(String rawJsonData, boolean isFailure) throws Throwable { LogUtils.e(DevicePermissionModifyActivity.class.getSimpleName() + " rawJsonData->" + rawJsonData); if (isFailure || TextUtils.isEmpty(rawJsonData)) { return null; } return GsonUtils.getInstance().getGson().fromJson(rawJsonData, BaseResponse.class); } @Override public void onSuccess(int statusCode, Header[] headers, String rawJsonData, BaseResponse response) { if (response.isSuccess()) { CommonUtils.ToastMsg(DevicePermissionModifyActivity.this, R.string.device_permission_modify_success); setResult(RESULT_OK); ActivityUtils.animFinish(DevicePermissionModifyActivity.this, R.anim.slide_in_from_left, R.anim.slide_out_to_right); } else { super.onSuccess(statusCode, headers, rawJsonData, response); } } @Override public void onFinish() { CommonUtils.dismissDialog(); } }); } @Override protected void onDestroy() { super.onDestroy(); DevicesApi.cancel(this, true); } }