Commit 39fccf6e by llxqb

擎朗机器人第一个版本提交

parent 5de9c7a8
......@@ -27,7 +27,7 @@
<application
android:name=".RobotApp"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:icon="@mipmap/logo_ql"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
......
......@@ -21,7 +21,8 @@ import peanut.keenon.com.network.WebApiRequest;
public class RobotServiceAction extends BaseAction<WebResponse> {
private static final String O2O_URL_ADDRESS = "http://111.231.64.247/api";
private static final String O2O_URL_ADDRESS = "http://waimaiapitest.freemudorder.com/api";
// private static final String O2O_URL_ADDRESS = "http://111.231.64.247/api";
@Override
public void startLoad() throws JSONException {
......
......@@ -68,7 +68,7 @@ public class BaseAction<T> implements Response.Listener<T>, Response.ErrorListen
this.mErrorListener = mErrorListener;
}
public void setSucceedListener(NetworkListener.Succeed<T> mSucceedListener) {
public void setSucceedListener(NetworkListener.Succeed<T> mSucceedListener, NetworkListener.Error<String> error) {
this.mSucceedListener = mSucceedListener;
}
......
......@@ -9,7 +9,7 @@ public class NetworkListener<T> {
void onRequestSucceed(T data, int index);
}
public interface Error {
public interface Error<T> {
void onErrorHappened(String errorCode, String errorMessage);
}
......
package peanut.keenon.com.peanutsample;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
......@@ -61,7 +63,7 @@ import peanut.keenon.com.util.DinnerUtil;
import peanut.keenon.com.util.SystemUtils;
public class DinnerActivity extends Activity implements View.OnClickListener {
public static final int ROBOT_START_TARGET = 1;
public static final int ROBOT_START_TARGET = AppConstant.INIT_POINT;
public static final int ROBOT_INITIALIZED = 0xFFFF;
public static final int LOGIN = 0x100;
public static final int QUERY = 0x101;
......@@ -80,7 +82,8 @@ public class DinnerActivity extends Activity implements View.OnClickListener {
private enum RobotStatus {
NORMAL,
WALKING
WALKING,
CANCEL
}
//xunfei appid = 5af25aee
......@@ -110,7 +113,7 @@ public class DinnerActivity extends Activity implements View.OnClickListener {
/**
* 当前机器人状态 默认0 送餐中 为1 返回2
*/
private int currentRobotStatus;
private int currentRobotStatus = 0;
/**
* 当前选择的CheckBox
......@@ -162,9 +165,8 @@ public class DinnerActivity extends Activity implements View.OnClickListener {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dinner);
SystemUtils.getMinDp(this);
SystemUtils.getPixelSize(this);
// SystemUtils.getMinDp(this);
// SystemUtils.getPixelSize(this);
mContext = this;
//initialize robot relative interface
initXunfei();
......@@ -202,12 +204,13 @@ public class DinnerActivity extends Activity implements View.OnClickListener {
mPickup = findViewById(R.id.btn_pickup);
mPickup.setOnClickListener(this);
initCheckChange();
mDinnerStatusValue.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
setRobotStatus(RobotStatus.NORMAL);
}
});
// mDinnerStatusValue.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View view) {
// setRobotStatus(RobotStatus.NORMAL);
//
// }
// });
//startLoginThread();
startRobotThread();
merchant = findViewById(R.id.merchantLogo);
......@@ -265,8 +268,30 @@ public class DinnerActivity extends Activity implements View.OnClickListener {
case R.id.btn_cancel:
//取消返回起点
currentRobotStatus = 2;
dispatching(targetData.size());
// dispatching(targetData.size());
// autoPilotManager.autoPilotToPoint(AppConstant.INIT_POINT);
// 通过AlertDialog.Builder这个类来实例化我们的一个AlertDialog的对象
AlertDialog.Builder builder = new AlertDialog.Builder(DinnerActivity.this);
// 设置Title的内容
builder.setTitle("取消送餐");
// 设置Content来显示一个信息
builder.setMessage("确定取消送餐吗?");
// 设置一个PositiveButton
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// setRobotStatus(RobotStatus.CANCEL);
dispatching(targetData.size());
}
});
// 设置一个NegativeButton
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
// 显示出该对话框
builder.show();
break;
}
}
......@@ -385,7 +410,7 @@ public class DinnerActivity extends Activity implements View.OnClickListener {
*/
private void dispatching(int current) {
if (current < targetData.size()) {//仍然有未送达的餐,这里继续进行送餐
mDinnerStatusValue.setText("送餐中" + DinnerUtil.tranPointName(targetData.get(current)));
mDinnerStatusValue.setText(DinnerUtil.tranPointName(targetData.get(current)));
btnCancel.setVisibility(View.VISIBLE);
mPickup.setVisibility(View.GONE);
int target = Integer.valueOf(targetData.get(current).toString());
......@@ -431,7 +456,7 @@ public class DinnerActivity extends Activity implements View.OnClickListener {
e.printStackTrace();
}
setRobotStatus(RobotStatus.WALKING);
Log.e("ddd","targetData:"+targetData.toString());
// Log.e("ddd", "targetData:" + targetData.toString());
int target = Integer.valueOf(targetData.get(mCurrentPath).toString());
int ret = autoPilotManager.autoPilotToPoint(target);
if (ret != PeanutErrorCode.SUCCESS) {
......@@ -492,6 +517,13 @@ public class DinnerActivity extends Activity implements View.OnClickListener {
log.d(TAG, "login fail" + data.statusCode);
}
}
}, new NetworkListener.Error<String>() {
@Override
public void onErrorHappened(String errorCode, String errorMessage) {
Log.e("ddd", "errorCode:" + errorCode + " errorMessage:" + errorMessage);
}
});
mAction.setErrorListener(new NetworkListener.Error() {
......@@ -550,7 +582,7 @@ public class DinnerActivity extends Activity implements View.OnClickListener {
case LOGIN:
try {
mAction.setIndex(WebApiRequest.USER_LOGIN_INDEX);
mAction.login("mcdkiosk_99998", "posoperator@freemud.cn");
mAction.login(AppConstant.LOGIN_USERNAME, AppConstant.LOGIN_PASSWORD);
} catch (JSONException e) {
e.printStackTrace();
}
......@@ -842,13 +874,16 @@ public class DinnerActivity extends Activity implements View.OnClickListener {
mCurrentIndex = 0;
mCurrentPlate = null;
mTableGroup.clearCheck();
dinnerPath[0] = 0;
dinnerPath[1] = 0;
dinnerPath[2] = 0;
top.setChecked(false);
left.setChecked(false);
right.setChecked(false);
top.setText("");
left.setText("");
right.setText("");
} else {//送餐状态
} else if(status==RobotStatus.WALKING){//送餐状态
currentRobotStatus = 1;
mTts.startSpeaking("出发啦!", mTtsListener);
robotParams.weight = 0;
......@@ -861,8 +896,7 @@ public class DinnerActivity extends Activity implements View.OnClickListener {
btnCancel.setVisibility(View.VISIBLE);
mDinnerStatus.setVisibility(View.VISIBLE);
mDinnerStatusValue.setVisibility(View.VISIBLE);
mDinnerStatusValue.setText("送餐中," + DinnerUtil.tranPointName(targetData.get(0)));
mDinnerStatusValue.setText(DinnerUtil.tranPointName(targetData.get(0)));
mLoading.setVisibility(View.VISIBLE);
if (mLoading.isAnimating()) {
mLoading.stop();
......@@ -881,6 +915,41 @@ public class DinnerActivity extends Activity implements View.OnClickListener {
mediaPlayer.seekTo(0);
mediaPlayer.start();//开始播放
}
}else {
currentRobotStatus = 0;
if (mediaPlayer != null) {
mediaPlayer.pause();
//mediaPlayer = null;
}
robotParams.weight = 2;
robotLayout.setLayoutParams(robotParams);
mGo.setVisibility(View.VISIBLE);
btnScan.setVisibility(View.VISIBLE);
mPickup.setVisibility(View.GONE);
mRobot.setVisibility(View.GONE);
mDinnerStatus.setVisibility(View.GONE);
mDinnerStatusValue.setVisibility(View.GONE);
btnReset.setVisibility(View.VISIBLE);
mLoading.setVisibility(View.INVISIBLE);
btnCancel.setVisibility(View.GONE);
if (mLoading.isAnimating()) {
mLoading.stop();
}
mDinnerStatus.clearAnimation();
robotPlate.setVisibility(View.VISIBLE);
dinnerLayout.setBackgroundColor(this.getResources().getColor(R.color.colorRobot));
mCurrentIndex = 0;
mCurrentPlate = null;
mTableGroup.clearCheck();
dinnerPath[0] = 0;
dinnerPath[1] = 0;
dinnerPath[2] = 0;
top.setChecked(false);
left.setChecked(false);
right.setChecked(false);
top.setText("");
left.setText("");
right.setText("");
}
}
......@@ -904,7 +973,6 @@ public class DinnerActivity extends Activity implements View.OnClickListener {
//table 1 = 108721692882240290
//table 2 = 108730605004391217
String orderNumber = mAuthCode;
if (mUserToken != null && !mUserToken.isEmpty()) {//already login
try {
mAction.setIndex(WebApiRequest.ORDER_QUERY_INDEX);
......@@ -931,7 +999,7 @@ public class DinnerActivity extends Activity implements View.OnClickListener {
@Override
protected void onDestroy() {
//robot sdk release
if(sdk!=null){
if (sdk != null) {
sdk.release();
}
//xunfei sdk release
......@@ -952,7 +1020,10 @@ public class DinnerActivity extends Activity implements View.OnClickListener {
@Override
public void onBackPressed() {
if (currentRobotStatus != 1) {//送餐中
/**
* 禁用返回键
*/
if (currentRobotStatus == 0) {
super.onBackPressed();
}
}
......
......@@ -123,6 +123,10 @@ public class FaceActivity extends AppCompatActivity implements CameraBridgeViewB
//mFaceSerialCount = -5000;
}
}
}, new NetworkListener.Error<String>() {
@Override
public void onErrorHappened(String errorCode, String errorMessage) {
}
});
setWebRequestLoding(imageService);
}
......
......@@ -211,6 +211,10 @@ public class MainActivity extends Activity {
public void onRequestSucceed(WebResponse data, int index) {
}
}, new NetworkListener.Error<String>() {
@Override
public void onErrorHappened(String errorCode, String errorMessage) {
}
});
mAction.setErrorListener(new NetworkListener.Error() {
......
......@@ -10,5 +10,12 @@ public class AppConstant {
/**
* 机器人初始点位
*/
public static final int INIT_POINT = 0;
public static final int INIT_POINT = 60006;
/**
* 登陆信息
*/
public static final String LOGIN_USERNAME = "ql_pos_Keenon001";
public static final String LOGIN_PASSWORD = "posoperator@freemud.cn";
}
......@@ -7,22 +7,18 @@ package peanut.keenon.com.util;
public class DinnerUtil {
public static String tranPointName(int point){
String pointName =null;
if(point== 1){
pointName = "一号餐桌";
}else if(point== 2){
pointName = "二号餐桌";
}else if(point== 3){
pointName = "三号餐桌";
}else if(point== 4){
pointName = "四号餐桌";
}else if(point== 5){
pointName = "五号餐桌";
}else if(point== 6){
pointName = "六号餐桌";
}else if(point== 7){
pointName = "七号餐桌";
}else if(point== 8){
pointName = "八号餐桌";
if(point== 60006){
pointName = "返回中";
}else if(point== 81){
pointName = "送餐中:一号餐桌";
}else if(point== 82){
pointName = "送餐中:二号餐桌";
}else if(point== 83){
pointName = "送餐中:三号餐桌";
}else if(point== 84){
pointName = "送餐中:四号餐桌";
}else if(point== 85){
pointName = "送餐中:五号餐桌";
}
return pointName;
}
......
......@@ -22,9 +22,9 @@
<ImageView
android:id="@+id/merchantLogo"
android:layout_width="@dimen/dp_50"
android:layout_height="@dimen/dp_50"
android:src="@drawable/md" />
android:layout_width="@dimen/dp_60"
android:layout_height="@dimen/dp_60"
android:src="@mipmap/logo_ql" />
<LinearLayout
android:layout_width="match_parent"
......@@ -54,7 +54,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="bottom"
android:text="机器人壹号 - 可可小爱"
android:text="机器人 - 可可小爱"
android:textColor="@color/colorNormal"
android:textSize="@dimen/sp_14" />
</LinearLayout>
......@@ -82,7 +82,7 @@
android:paddingBottom="@dimen/dp_10">
<RadioButton
android:id="@+id/btn1"
android:id="@+id/start_point_rb"
android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_35"
android:layout_marginStart="@dimen/dp_10"
......@@ -90,27 +90,13 @@
android:background="@drawable/radiobutton_background"
android:button="@null"
android:gravity="center"
android:tag="1"
android:text="一号餐桌"
android:tag="60006"
android:text="服务台"
android:textColor="@color/radiobutton_textcolor"
android:textSize="@dimen/sp_14" />
<RadioButton
android:id="@+id/btn2"
android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_35"
android:layout_marginStart="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_10"
android:background="@drawable/radiobutton_background"
android:button="@null"
android:gravity="center"
android:tag="2"
android:text="二号餐桌"
android:textColor="@color/radiobutton_textcolor"
android:textSize="@dimen/sp_14" />
<RadioButton
android:id="@+id/btn3"
android:id="@+id/btn1"
android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_35"
android:layout_marginStart="@dimen/dp_10"
......@@ -118,13 +104,13 @@
android:background="@drawable/radiobutton_background"
android:button="@null"
android:gravity="center"
android:tag="3"
android:text="号餐桌"
android:tag="81"
android:text="号餐桌"
android:textColor="@color/radiobutton_textcolor"
android:textSize="@dimen/sp_14" />
<RadioButton
android:id="@+id/btn4"
android:id="@+id/btn2"
android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_35"
android:layout_marginStart="@dimen/dp_10"
......@@ -132,13 +118,13 @@
android:background="@drawable/radiobutton_background"
android:button="@null"
android:gravity="center"
android:tag="4"
android:text="号餐桌"
android:tag="82"
android:text="号餐桌"
android:textColor="@color/radiobutton_textcolor"
android:textSize="@dimen/sp_14" />
<RadioButton
android:id="@+id/btn5"
android:id="@+id/btn3"
android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_35"
android:layout_marginStart="@dimen/dp_10"
......@@ -146,13 +132,13 @@
android:background="@drawable/radiobutton_background"
android:button="@null"
android:gravity="center"
android:tag="5"
android:text="号餐桌"
android:tag="83"
android:text="号餐桌"
android:textColor="@color/radiobutton_textcolor"
android:textSize="@dimen/sp_14" />
<RadioButton
android:id="@+id/btn6"
android:id="@+id/btn4"
android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_35"
android:layout_marginStart="@dimen/dp_10"
......@@ -160,13 +146,13 @@
android:background="@drawable/radiobutton_background"
android:button="@null"
android:gravity="center"
android:tag="6"
android:text="号餐桌"
android:tag="84"
android:text="号餐桌"
android:textColor="@color/radiobutton_textcolor"
android:textSize="@dimen/sp_14" />
<RadioButton
android:id="@+id/bt7"
android:id="@+id/btn5"
android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_35"
android:layout_marginStart="@dimen/dp_10"
......@@ -174,24 +160,11 @@
android:background="@drawable/radiobutton_background"
android:button="@null"
android:gravity="center"
android:tag="7"
android:text="号餐桌"
android:tag="85"
android:text="号餐桌"
android:textColor="@color/radiobutton_textcolor"
android:textSize="@dimen/sp_14" />
<RadioButton
android:id="@+id/btn8"
android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_35"
android:layout_marginStart="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_10"
android:background="@drawable/radiobutton_background"
android:button="@null"
android:gravity="center"
android:tag="8"
android:text="八号餐桌"
android:textColor="@color/radiobutton_textcolor"
android:textSize="@dimen/sp_14" />
</peanut.keenon.com.control.RadioGroupEx>
......@@ -202,7 +175,7 @@
android:padding="@dimen/dp_10"
android:text="@string/dinner_table_hint"
android:textColor="@color/colorNormal"
android:textSize="@dimen/sp_11" />
android:textSize="@dimen/sp_12" />
</LinearLayout>
......
<resources>
<string name="app_id">5af25aee</string>
<string name="app_name">PeanutSample</string>
<string name="app_name">擎朗机器人</string>
<string name="auto_pilot_pause">暂停导航</string>
<string name="auto_pilot">自动导航</string>
<string name="auto_pilot_resume">继续导航</string>
......@@ -18,5 +18,5 @@
<string name="dinner_left_table">2</string>
<string name="dinner_right_table">3</string>
<string name="dinner_table_have_check">已经被选择,请选择其它餐桌</string>
<string name="dinner_table_hint">机器人会按右侧餐桌顺序送餐</string>
<string name="dinner_table_hint">请选择餐桌号,机器人会按右侧餐桌顺序送餐</string>
</resources>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment