JAVA air,AirActivity.java

package com.dtston.nvwarobot.activitys;

import android.view.View;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.RelativeLayout;

import android.widget.TextView;

import com.dtston.nvwarobot.Constant;

import com.dtston.nvwarobot.R;

import com.dtston.nvwarobot.constant.Constants;

import com.dtston.nvwarobot.retrofit.AccessRequestService;

import com.dtston.nvwarobot.retrofit.ParamsHelper;

import com.dtston.nvwarobot.retrofit.ServiceGenerator2;

import com.dtston.nvwarobot.utils.L;

import com.dtston.nvwarobot.utils.SPUtils;

import com.dtston.nvwarobot.utils.T;

import com.yaokantv.yk.YKTools;

import org.json.JSONException;

import org.json.JSONObject;

import butterknife.BindView;

import butterknife.OnClick;

import rx.Observable;

import rx.android.schedulers.AndroidSchedulers;

import rx.schedulers.Schedulers;

public class AirActivity extends BaseActivity {

JSONObject comObject;

@BindView(R.id.iv_bac)

ImageView mIvBac;

@BindView(R.id.tv_name)

TextView mTvName;

@BindView(R.id.btn_power)

RelativeLayout mBtnPower;

@BindView(R.id.iv_reduce)

RelativeLayout mIvReduce;

@BindView(R.id.iv_plus)

RelativeLayout mIvPlus;

@BindView(R.id.btn_wind_speed)

Button mBtnWindSpeed;

@BindView(R.id.btn_updown)

Button mBtnUpdown;

@BindView(R.id.btn_leftright)

Button mBtnLeftright;

@BindView(R.id.btn_energy)

Button mBtnEnergy;

@BindView(R.id.btn_powerer)

Button mBtnPowerer;

@BindView(R.id.btn_old)

Button mBtnOld;

String mode="r";//模式,默认制冷,a自动,d抽湿,w送风,h制热,r制冷

String wind="s0";//风量,默认自动档

String updown="u0";//上下扫风,默认关

String leftright="l0";//上下扫风,默认关

String power="off";//开关,默认开

int temp=26;//默认温度。16-30,自动,抽湿模式不支持温度调节

YKTools ykTools;

@Override

public int getLayoutId() {

return R.layout.activity_air;

}

@Override

public void initListener() {

}

@Override

public void initView() {

ykTools = new YKTools();

}

@Override

public void loadData() {

String rid = getIntent().getStringExtra("rid");

getCode((String) SPUtils.get(this, Constant.deviceId, ""), rid);

}

private void getCode(String hongwaiId, String rid) {

long time = System.currentTimeMillis() / 1000;

String beforeMD5 = (String) SPUtils.get(this, Constant.deviceId, "") + "none" + rid + time;

String client = getFive(time, beforeMD5);

AccessRequestService accessRequestService = ServiceGenerator2.getRequestService();

Observable Observable = accessRequestService.getYaokanCode(client, Constants.HONGWAI_URL, ParamsHelper.getYaokanCode(rid, hongwaiId));

addSubscription(Observable.observeOn(AndroidSchedulers.mainThread())

.subscribeOn(Schedulers.io())

.subscribe(this::getResult, throwable -> netFailure()));

}

private void getResult(String hongwaiCodeResult) {

L.e("hongwaiCodeResult:" + hongwaiCodeResult);

try {

JSONObject jsonObject = new JSONObject(hongwaiCodeResult.substring(1, hongwaiCodeResult.length() - 1));

comObject = jsonObject.getJSONObject("rc_command");

int size = comObject.length();

} catch (JSONException e) {

e.printStackTrace();

}

}

@OnClick({R.id.iv_bac, R.id.btn_power, R.id.iv_reduce, R.id.iv_plus, R.id.btn_wind_speed, R.id.btn_updown, R.id.btn_leftright, R.id.btn_energy, R.id.btn_powerer, R.id.btn_old})

public void onViewClicked(View view) {

switch (view.getId()) {

case R.id.iv_bac:

finish();

break;

case R.id.btn_power:

if (power.equals("on")){

power="off";

}else {

power="on";

}

control(power);

break;

case R.id.iv_reduce:

if (temp>16){

temp--;

control(format());

}

break;

case R.id.iv_plus:

if (temp<30){

temp++;

control(format());

}

break;

case R.id.btn_wind_speed:

if (wind.equals("s0")){

wind="s1";

}else if (wind.equals("s1")){

wind="s2";

}else if (wind.equals("s2")){

wind="s3";

}else {

wind="s0";

}

control(format());

break;

case R.id.btn_updown:

if (updown.equals("uo")){

updown="u1";

}else {

updown="u0";

}

control(format());

break;

case R.id.btn_leftright:

if (leftright.equals("lo")){

leftright="l1";

}else {

leftright="l0";

}

control(format());

break;

case R.id.btn_energy:

control("r_s0_26_u0_l0_p0");

break;

case R.id.btn_powerer:

control(" r_s3_"+temp+"_u1_l1_p0");

break;

case R.id.btn_old:

mode="h";

control(format());

break;

}

}

private String format() {

return mode+"_"+wind+"_"+temp+"_"+updown+"_"+leftright+"_p0";

}

private boolean sendControl(String code) {

try {

if (comObject.getJSONObject(code) != null) {

String data=comObject.getJSONObject(code).getString("src");

int r = ykTools.irSendData((String) SPUtils.get(this, Constant.activeYaokan, ""), "01" + data + "/n");

if (r == 0) {

return true;

}

}

} catch (JSONException e) {

e.printStackTrace();

}

return false;

}

private void control(String code){

if (!sendControl(code)){

T.showShort(this,"发送失败");

}

}

}

一键复制

编辑

Web IDE

原始数据

按行查看

历史

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值