From f4a6d4f0996238f9c85e4986deffe69a1c8256e6 Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期三, 04 九月 2024 20:47:58 +0800 Subject: [PATCH] 员工流程 --- app/src/main/res/layout/item_box_new.xml | 26 + app/src/main/AndroidManifest.xml | 1 app/src/main/java/com/lotaai/canguiayw/StartSaveActivity.java | 84 ++- app/src/main/java/com/lotaai/canguiayw/CunOjbActivity.java | 20 + app/src/main/java/com/lotaai/canguiayw/TakeActivity.java | 77 --- app/src/main/java/com/lotaai/canguiayw/LoginActivity.java | 9 app/src/main/res/layout/framgment_opendoor.xml | 20 app/release/cangui-1.0-2024-09-04.apk | 0 app/src/main/java/com/lotaai/canguiayw/view/TipDialog.java | 28 + app/cangui.jks | 0 app/release/output.json | 2 app/src/main/java/com/lotaai/canguiayw/common/HttpUrlDefine.java | 6 app/src/main/res/layout/item_code.xml | 23 + app/src/main/java/com/lotaai/canguiayw/PickCodeListActivity.java | 114 ++++++ app/src/main/java/com/lotaai/canguiayw/view/GridTableAdapterNew.java | 76 ++++ app/src/main/res/drawable/bg_oragne_line_6.xml | 6 app/src/main/res/layout/activity_code_list.xml | 39 ++ app/src/main/java/com/lotaai/canguiayw/OpenDoorFragment.java | 101 +++++ app/src/main/res/drawable/bg_box.xml | 6 app/build.gradle | 39 ++ app/src/main/res/layout/activity_startsave.xml | 377 +++++++++++--------- 21 files changed, 769 insertions(+), 285 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index cf39fb2..08c49ad 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,20 +1,55 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 32 + compileSdkVersion 30 /* buildToolsVersion "33.0.0"*/ defaultConfig { applicationId "com.lotaai.canguiayw" minSdkVersion 22 - targetSdkVersion 33 + targetSdkVersion 30 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } + + //签名 + signingConfigs { + release { + storeFile file("cangui.jks") + storePassword "sinata" + keyAlias "cangui" + keyPassword "sinata" + } + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + + applicationVariants.all { variant -> + // 更新至Android Studio 3.3 gradle 4.10.1 + variant.outputs.all { + outputFileName = "cangui-${defaultConfig.versionName}-${new Date().format("yyyy-MM-dd" , TimeZone.getTimeZone("GMT+08")) }.apk" + } + } +// ndk { +// abiFilters "armeabi-v7a","arm64-v8a" // 保留这种架构的CPU +// } + } + + debug { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + signingConfig signingConfigs.release +// ndk { +// abiFilters "armeabi-v7a" ,"arm64-v8a" // 保留这种架构的CPU +// } } } diff --git a/app/cangui.jks b/app/cangui.jks new file mode 100644 index 0000000..1b8a43c --- /dev/null +++ b/app/cangui.jks Binary files differ diff --git a/app/release/cangui-1.0-2024-09-04.apk b/app/release/cangui-1.0-2024-09-04.apk new file mode 100644 index 0000000..f75d26a --- /dev/null +++ b/app/release/cangui-1.0-2024-09-04.apk Binary files differ diff --git a/app/release/output.json b/app/release/output.json index 965521f..0e709bc 100644 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":2,"versionName":"1.2","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0","enabled":true,"outputFile":"cangui-1.0-2024-09-04.apk","fullName":"release","baseName":"release","dirName":""},"path":"cangui-1.0-2024-09-04.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 96635be..356a6dc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -47,6 +47,7 @@ <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> + <activity android:name=".PickCodeListActivity" /> <service android:name=".device.service.CanGuiService" diff --git a/app/src/main/java/com/lotaai/canguiayw/CunOjbActivity.java b/app/src/main/java/com/lotaai/canguiayw/CunOjbActivity.java index 37cbda9..9685dcd 100644 --- a/app/src/main/java/com/lotaai/canguiayw/CunOjbActivity.java +++ b/app/src/main/java/com/lotaai/canguiayw/CunOjbActivity.java @@ -1,6 +1,5 @@ package com.lotaai.canguiayw; -import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.os.Handler; @@ -24,6 +23,7 @@ import com.lotaai.canguiayw.device.CanguiStatus; import com.lotaai.canguiayw.device.DeviceMessage; import com.lotaai.canguiayw.device.MessageType; +import com.lotaai.canguiayw.view.TipDialog; import com.pranavpandey.android.dynamic.toasts.DynamicToast; import org.greenrobot.eventbus.EventBus; @@ -41,11 +41,15 @@ public class CunOjbActivity extends AppCompatActivity { OpenDoorFragment openDoorFragment; + public String pickupCode; + public int isHand; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_cunobj); + pickupCode = getIntent().getStringExtra("code"); + isHand = getIntent().getIntExtra("isHand",0); openDoorFragment = new OpenDoorFragment(); getSupportFragmentManager().beginTransaction().replace(R.id.mframe, openDoorFragment).commitAllowingStateLoss(); } @@ -58,4 +62,18 @@ } + + public void showResult(String msg){ + TipDialog tipDialog = new TipDialog(); + Bundle bundle = new Bundle(); + bundle.putString("msg",msg); + tipDialog.setArguments(bundle); + tipDialog.show(getSupportFragmentManager(),"res"); + tipDialog.callback = new TipDialog.ExitCallback() { + @Override + public void onExit() { + finish(); + } + }; + } } diff --git a/app/src/main/java/com/lotaai/canguiayw/LoginActivity.java b/app/src/main/java/com/lotaai/canguiayw/LoginActivity.java index 37f3b53..fd48908 100644 --- a/app/src/main/java/com/lotaai/canguiayw/LoginActivity.java +++ b/app/src/main/java/com/lotaai/canguiayw/LoginActivity.java @@ -20,7 +20,6 @@ import com.lotaai.canguiayw.common.HttpLoggerInterceptor; import com.lotaai.canguiayw.common.HttpUrlDefine; import com.lotaai.canguiayw.common.SettingConfig; -import com.lotaai.canguiayw.device.service.CanGuiService; import com.pranavpandey.android.dynamic.toasts.DynamicToast; import java.io.IOException; @@ -58,7 +57,9 @@ intent.setClass(LoginActivity.this, TakeActivity.class); startActivity(intent); }else if (_side.equals("2")){ - + Intent intent = new Intent(); + intent.setClass(LoginActivity.this, StartSaveActivity.class); + startActivity(intent); } LogUtils.i("VERSION.SDK_INT:" + VERSION.SDK_INT); context = LoginActivity.this; @@ -181,7 +182,9 @@ intent.setClass(LoginActivity.this, TakeActivity.class); startActivity(intent); }else if (side.equals("2")){ - + Intent intent = new Intent(); + intent.setClass(LoginActivity.this, StartSaveActivity.class); + startActivity(intent); } } else { Message msg = new Message(); diff --git a/app/src/main/java/com/lotaai/canguiayw/OpenDoorFragment.java b/app/src/main/java/com/lotaai/canguiayw/OpenDoorFragment.java index 028d614..6ec4fde 100644 --- a/app/src/main/java/com/lotaai/canguiayw/OpenDoorFragment.java +++ b/app/src/main/java/com/lotaai/canguiayw/OpenDoorFragment.java @@ -12,28 +12,46 @@ import android.widget.AdapterView; import android.widget.Button; import android.widget.GridView; +import android.widget.TextView; import android.widget.ThemedSpinnerAdapter; import androidx.fragment.app.Fragment; +import com.blankj.utilcode.util.CacheDiskUtils; +import com.blankj.utilcode.util.GsonUtils; import com.blankj.utilcode.util.LogUtils; import com.liys.lswitch.BaseSwitch; import com.liys.lswitch.LSwitch; +import com.lotaai.canguiayw.common.HttpLoggerInterceptor; +import com.lotaai.canguiayw.common.HttpUrlDefine; import com.lotaai.canguiayw.common.SettingConfig; +import com.lotaai.canguiayw.data.BaseDto; import com.lotaai.canguiayw.device.CanGuiCommand; import com.lotaai.canguiayw.device.CanguiStatus; import com.lotaai.canguiayw.device.DeviceMessage; import com.lotaai.canguiayw.device.DeviceType; import com.lotaai.canguiayw.device.MessageType; import com.lotaai.canguiayw.view.GridTableAdapter; +import com.lotaai.canguiayw.view.GridTableAdapterNew; +import com.pranavpandey.android.dynamic.toasts.DynamicToast; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; +import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.concurrent.TimeUnit; + +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.FormBody; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; public class OpenDoorFragment extends Fragment { @@ -53,6 +71,7 @@ private Button fugui003; private Button fugui004; private Button fugui005; + private TextView tv_close; private int cureentSelectGui = 0; private boolean isCanRun = false; @@ -119,6 +138,7 @@ fugui003 = root.findViewById(R.id.gui003); fugui004 = root.findViewById(R.id.gui004); fugui005 = root.findViewById(R.id.gui005); + tv_close = root.findViewById(R.id.tv_close); for (int g = 0; g < SettingConfig.getInstance().statusList.size(); g++) { if (SettingConfig.getInstance().statusList.get(g).getGuiHao() == 0) { if (zhugui.getVisibility() != View.VISIBLE) { @@ -222,6 +242,13 @@ cureentSelectGui = 5; initView(); + } + }); + + tv_close.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + requireActivity().finish(); } }); } @@ -352,15 +379,23 @@ } } Collections.sort(gridStatusList); - GridTableAdapter adapter = new GridTableAdapter(context, gridStatusList, R.layout.framgment_tablegrid_item); + if (gridStatusList.size() == 8){ + CanguiStatus e = new CanguiStatus(); + e.setGridNo(-1); + gridStatusList.add(4, e); + } + GridTableAdapterNew adapter = new GridTableAdapterNew(context, gridStatusList, R.layout.item_box_new); gridtable = root.findViewById(R.id.gridtable); gridtable.setAdapter(adapter); gridtable.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { CanguiStatus cangui = gridStatusList.get(i); - ((CunOjbActivity) getActivity()).setData(cangui); - + if (cangui.getGridNo()!=-1){ + //存餐 + takeCheckCode(((CunOjbActivity) getActivity()).pickupCode,0,cangui.getGridNo(),((CunOjbActivity) getActivity()).isHand); + } +// ((CunOjbActivity) getActivity()).setData(cangui); /* View item = gridtable.getChildAt(i).findViewById(R.id.gridLineLayout); if (checkIsSelectedAndOrRemove(cangui,true)) { item.setBackgroundColor(Color.GRAY); @@ -371,6 +406,66 @@ }); } + public void takeCheckCode(String code, final int guino, final int gridno, int isHand) { + HttpLoggerInterceptor loggingInterceptor = new HttpLoggerInterceptor(true); + OkHttpClient client = new OkHttpClient.Builder() + .connectTimeout(20, TimeUnit.SECONDS)//响应时间,读取时间 + .readTimeout(20, TimeUnit.SECONDS) + .callTimeout(20, TimeUnit.SECONDS) + .addInterceptor(loggingInterceptor)//添加日志拦截器 + .build(); + + LogUtils.i(CacheDiskUtils.getInstance().getString(SettingConfig.getInstance().Cache_Device_Code), code); + RequestBody body = new FormBody.Builder() + .build(); + + final Request request = new Request.Builder() + .url(HttpUrlDefine.checkStatus + "?pickNum=" + code + "&boxNum=" + guino + "&cartNum=" + gridno+ "&isHand=" + isHand+ "&sn=" + CacheDiskUtils.getInstance().getString(SettingConfig.getInstance().Cache_Device_Code)) + /* .addHeader("language", "zh-CN")*/ + .post(body) + .build(); + client.newCall(request).enqueue(new Callback() { + @Override + public void onFailure(Call call, IOException e) { + requireActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + DynamicToast.makeError(context, "Request error!", 3).show(); + } + }); + + } + + @Override + public void onResponse(Call call, Response response) throws IOException { + String result = response.body().string(); + LogUtils.i("获取到的数据:" + result); + final BaseDto baseDto = GsonUtils.fromJson(result, BaseDto.class); + requireActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + if (baseDto.getCode() == 200) { + byte[] command = CanGuiCommand.getInstance().controlGridCommand(guino, + gridno, 1, 255, 0, 0, 0, 0); + DeviceMessage message = new DeviceMessage(); + message.setMessageType(MessageType.SENDMESSAGE.ordinal()); + message.setDeviceType(DeviceType.CANGUI.ordinal()); + message.setMessageByte(command); + EventBus.getDefault().post(message); + // new Handler(Looper.getMainLooper()).postDelayed(() -> finish(), 3000); + ((CunOjbActivity)requireActivity()).showResult("Place meal into the box."); + } else { + DynamicToast.makeError(context, baseDto.getMsg(), 3).show(); + } + } + }); + + + } + }); + } + + /** * @param status * @param isControl 是否从控制删除和添加,选中变不选,不选变选 diff --git a/app/src/main/java/com/lotaai/canguiayw/PickCodeListActivity.java b/app/src/main/java/com/lotaai/canguiayw/PickCodeListActivity.java new file mode 100644 index 0000000..e279859 --- /dev/null +++ b/app/src/main/java/com/lotaai/canguiayw/PickCodeListActivity.java @@ -0,0 +1,114 @@ +package com.lotaai.canguiayw; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.view.View; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; + +import com.alibaba.fastjson.JSONObject; +import com.blankj.utilcode.util.CacheDiskUtils; +import com.blankj.utilcode.util.LogUtils; +import com.lotaai.canguiayw.common.HttpLoggerInterceptor; +import com.lotaai.canguiayw.common.HttpUrlDefine; +import com.lotaai.canguiayw.common.SettingConfig; +import com.pranavpandey.android.dynamic.toasts.DynamicToast; + +import java.io.IOException; +import java.util.concurrent.TimeUnit; + +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.FormBody; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; + +public class PickCodeListActivity extends AppCompatActivity { + private LinearLayout llCode; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_code_list); + findViewById(R.id.tv_close).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + finish(); + } + }); + llCode = findViewById(R.id.ll_code); + getCode(); + } + + public void getCode() { + HttpLoggerInterceptor loggingInterceptor = new HttpLoggerInterceptor(true); + OkHttpClient client = new OkHttpClient.Builder() + .connectTimeout(20, TimeUnit.SECONDS)//响应时间,读取时间 + .readTimeout(20, TimeUnit.SECONDS) + .callTimeout(20, TimeUnit.SECONDS) + .addInterceptor(loggingInterceptor)//添加日志拦截器 + .build(); + + RequestBody body = new FormBody.Builder() + .build(); + final Request request = new Request.Builder() + .url(HttpUrlDefine.list + "?sn=" + CacheDiskUtils.getInstance().getString(SettingConfig.getInstance().Cache_Device_Code)) + .post(body) + .build(); + client.newCall(request).enqueue(new Callback() { + @Override + public void onFailure(Call call, IOException e) { + Message msg = new Message(); + msg.what = 0; + msg.obj = "Request failed"; + showHandler.sendMessage(msg); + LogUtils.e(e); + } + + @Override + public void onResponse(Call call, Response response) throws IOException { + String result = response.body().string(); + LogUtils.i("获取到的数据:" + result); + final JSONObject obj = JSONObject.parseObject(result); + if ("200".equals(obj.getString("code"))) { + runOnUiThread(new Runnable() { + @Override + public void run() { + String[] data = obj.getString("data").split(","); + for (int i =0;i<data.length;i++){ + View view = getLayoutInflater().inflate(R.layout.item_code, llCode, false); + ((TextView)view.findViewById(R.id.tv_code)).setText(data[i]); + llCode.addView(view); + } + } + }); + } else { + Message msg = new Message(); + msg.what = 0; + msg.obj = obj.getString("msg"); + showHandler.sendMessage(msg); + } + } + }); + } + + private Handler showHandler = new Handler() { + @Override + public void handleMessage(Message msg) { + if (msg.what == 0) { + DynamicToast.makeError(PickCodeListActivity.this, msg.obj.toString(), 3).show(); + } else if (msg.what == 1) { + DynamicToast.makeSuccess(PickCodeListActivity.this, msg.obj.toString(), 3).show(); + } else { + DynamicToast.makeWarning(PickCodeListActivity.this, msg.obj.toString(), 3).show(); + } + } + }; +} diff --git a/app/src/main/java/com/lotaai/canguiayw/StartSaveActivity.java b/app/src/main/java/com/lotaai/canguiayw/StartSaveActivity.java index 454a29f..583418a 100644 --- a/app/src/main/java/com/lotaai/canguiayw/StartSaveActivity.java +++ b/app/src/main/java/com/lotaai/canguiayw/StartSaveActivity.java @@ -1,6 +1,7 @@ package com.lotaai.canguiayw; import android.content.Context; +import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Looper; @@ -26,7 +27,9 @@ import com.lotaai.canguiayw.device.DeviceMessage; import com.lotaai.canguiayw.device.DeviceType; import com.lotaai.canguiayw.device.MessageType; +import com.lotaai.canguiayw.device.service.CanGuiService; import com.lotaai.canguiayw.device.service.CrontrolGridModel; +import com.lotaai.canguiayw.view.TipDialog; import com.pranavpandey.android.dynamic.toasts.DynamicToast; import org.greenrobot.eventbus.EventBus; @@ -45,20 +48,22 @@ public class StartSaveActivity extends AppCompatActivity { private Context context; private EditText editText; - CanguiStatus canguidata; - private TextView titleinfo; + private TextView tv_see_code; +// CanguiStatus canguidata; String ss; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_startsave); - canguidata = (CanguiStatus) getIntent().getSerializableExtra("info"); initView(); - ss = CrontrolGridModel.getGridNoStr(canguidata.getGuiHao(), canguidata.getGridNo()); - titleinfo.setText("选择的格子号:" + ss); +// canguidata = (CanguiStatus) getIntent().getSerializableExtra("info"); +// ss = CrontrolGridModel.getGridNoStr(canguidata.getGuiHao(), canguidata.getGridNo()); context = StartSaveActivity.this; + Intent startIntent = new Intent(context, CanGuiService.class); + startService(startIntent); editText = (EditText) findViewById(R.id.edt_borrow_case_number); + tv_see_code = (TextView) findViewById(R.id.tv_see_code); editText.setInputType(InputType.TYPE_NULL); // 屏蔽软键盘 DynamicToast.Config.getInstance().setTextSize(30).apply(); // 软键盘设置统一按钮监听方法,数字键直接将text内容填充到edittext中,删除和确认才设置事件 @@ -76,20 +81,31 @@ // 调用后台 String gridNo = editable.toString(); if (null == gridNo || "".equals(gridNo.trim())) { - DynamicToast.makeError(context, "取餐码不能为空。", 3).show(); + showResult("Please enter pickup code."); return; } else { if (gridNo.length() != 6) { editText.setText(""); - DynamicToast.makeError(context, "取餐码输入错误,请重试。", 3).show(); + showResult("The pickup code input is incorrect,\nplease try again."); return; } //调用判断是否可以取餐 editText.setText(""); - takeCheckCode(gridNo, canguidata.getGuiHao(), canguidata.getGridNo()); +// takeCheckCode(gridNo, canguidata.getGuiHao(), canguidata.getGridNo()); + checkCode(gridNo,0); } - - + } else if (key == R.id.tv_by_hand) { + // 调用后台 + String gridNo = editable.toString(); + if (null == gridNo || "".equals(gridNo.trim())) { + showResult("Please enter pickup code."); + return; + } else { + //调用判断是否可以取餐 + editText.setText(""); +// takeCheckCode(gridNo, canguidata.getGuiHao(), canguidata.getGridNo()); + checkCode(gridNo,1); + } } else { Button button = (Button) v; editable.insert(index, button.getText()); @@ -108,6 +124,7 @@ View view0 = findViewById(R.id.borrow_bt0); View view11 = findViewById(R.id.borrow_bt_delete); View view12 = findViewById(R.id.borrow_bt_confirm); + View view13 = findViewById(R.id.tv_by_hand); view1.setOnClickListener(clickListener); view2.setOnClickListener(clickListener); view3.setOnClickListener(clickListener); @@ -120,7 +137,15 @@ view0.setOnClickListener(clickListener); view11.setOnClickListener(clickListener); view12.setOnClickListener(clickListener); + view13.setOnClickListener(clickListener); + tv_see_code.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(StartSaveActivity.this, PickCodeListActivity.class); + startActivity(intent); + } + }); } public void backMian(View view) { @@ -130,7 +155,7 @@ finish(); } - public void takeCheckCode(String code, int guino, int gridno) { + public void checkCode(final String code, final int isHand) { HttpLoggerInterceptor loggingInterceptor = new HttpLoggerInterceptor(true); OkHttpClient client = new OkHttpClient.Builder() .connectTimeout(20, TimeUnit.SECONDS)//响应时间,读取时间 @@ -138,13 +163,12 @@ .callTimeout(20, TimeUnit.SECONDS) .addInterceptor(loggingInterceptor)//添加日志拦截器 .build(); - - LogUtils.i(CacheDiskUtils.getInstance().getString(SettingConfig.getInstance().Cache_Device_Code), code); + String sn = CacheDiskUtils.getInstance().getString(SettingConfig.getInstance().Cache_Device_Code); RequestBody body = new FormBody.Builder() .build(); final Request request = new Request.Builder() - .url(HttpUrlDefine.checkStatus + "?pickNum=" + code + "&boxNum=" + guino + "&cartNum=" + gridno) + .url(HttpUrlDefine.check + "?pickNum=" + code + "&sn=" + sn+ "&isHand=" + isHand) /* .addHeader("language", "zh-CN")*/ .post(body) .build(); @@ -154,7 +178,7 @@ runOnUiThread(new Runnable() { @Override public void run() { - DynamicToast.makeError(context, "请求失败!", 3).show(); + DynamicToast.makeError(context, "Request error!", 3).show(); } }); @@ -169,25 +193,16 @@ @Override public void run() { if (baseDto.getCode() == 200) { - /* byte[] command = CanGuiCommand.getInstance().controlGridCommand(guino, - gridno, 1, 255, 0, 0, 0, 0); - DeviceMessage message = new DeviceMessage(); - message.setMessageType(MessageType.SENDMESSAGE.ordinal()); - message.setDeviceType(DeviceType.CANGUI.ordinal()); - message.setMessageByte(command); - EventBus.getDefault().post(message);*/ - DynamicToast.makeSuccess(context, "订单已创建,请将餐食放入" + ss + "柜中", 3).show(); - // new Handler(Looper.getMainLooper()).postDelayed(() -> finish(), 3000); - - finish(); - + //取餐码可用,去选柜子 + Intent intent = new Intent(StartSaveActivity.this, CunOjbActivity.class); + intent.putExtra("code",code); + intent.putExtra("isHand",isHand); + startActivity(intent); } else { - DynamicToast.makeError(context, baseDto.getMsg(), 3).show(); + showResult(baseDto.getMsg()); } } }); - - } }); } @@ -258,6 +273,13 @@ }; private void initView() { - titleinfo = (TextView) findViewById(R.id.titleinfo); + } + + public void showResult(String msg){ + TipDialog tipDialog = new TipDialog(); + Bundle bundle = new Bundle(); + bundle.putString("msg",msg); + tipDialog.setArguments(bundle); + tipDialog.show(getSupportFragmentManager(),"res"); } } diff --git a/app/src/main/java/com/lotaai/canguiayw/TakeActivity.java b/app/src/main/java/com/lotaai/canguiayw/TakeActivity.java index 9d1c59d..c69f33a 100644 --- a/app/src/main/java/com/lotaai/canguiayw/TakeActivity.java +++ b/app/src/main/java/com/lotaai/canguiayw/TakeActivity.java @@ -97,14 +97,14 @@ // 调用后台 String gridNo = editable.toString(); if (null == gridNo || "".equals(gridNo.trim())) { - showResult("Please enter pickup code."); + showResult("Please enter pickup code.",false); return; } else { - if (gridNo.length() !=6) { - editText.setText(""); - showResult("The pickup code input is incorrect,\nplease try again."); - return; - } +// if (gridNo.length() !=6) { +// editText.setText(""); +// showResult("The pickup code input is incorrect,\nplease try again."); +// return; +// } //调用判断是否可以取餐 editText.setText(""); takeCheckCode(gridNo); @@ -156,13 +156,11 @@ .callTimeout(20, TimeUnit.SECONDS) .addInterceptor(loggingInterceptor)//添加日志拦截器 .build(); - - LogUtils.i(CacheDiskUtils.getInstance().getString(SettingConfig.getInstance().Cache_Device_Code), code); + String sn = CacheDiskUtils.getInstance().getString(SettingConfig.getInstance().Cache_Device_Code); RequestBody body = new FormBody.Builder() .build(); - final Request request = new Request.Builder() - .url(HttpUrlDefine.pickOrder+"?pickNum="+code) + .url(HttpUrlDefine.pickOrder+"?pickNum="+code+"&sn="+sn) /* .addHeader("language", "zh-CN")*/ .post(body) .build(); @@ -196,9 +194,9 @@ message.setMessageByte(command); EventBus.getDefault().post(message); showResult("Door opened succcessfully! \n" + - "Please pickup your meal."); + "Please pickup your meal.",true); }else{ - showResult(baseDto.getMsg()); + showResult(baseDto.getMsg(),false); } } }); @@ -206,64 +204,13 @@ }); } - public void showResult(String msg){ + public void showResult(String msg,boolean isCountdown){ TipDialog tipDialog = new TipDialog(); Bundle bundle = new Bundle(); bundle.putString("msg",msg); + bundle.putBoolean("isCountdown",isCountdown); tipDialog.setArguments(bundle); tipDialog.show(getSupportFragmentManager(),"res"); - } - - - public void pickOrder(String code) { - HttpLoggerInterceptor loggingInterceptor = new HttpLoggerInterceptor(true); - OkHttpClient client = new OkHttpClient.Builder() - .connectTimeout(20, TimeUnit.SECONDS)//响应时间,读取时间 - .readTimeout(20, TimeUnit.SECONDS) - .callTimeout(20, TimeUnit.SECONDS) - .addInterceptor(loggingInterceptor)//添加日志拦截器 - .build(); - - LogUtils.i(CacheDiskUtils.getInstance().getString(SettingConfig.getInstance().Cache_Device_Code), code); - RequestBody body = new FormBody.Builder() - .build(); - - final Request request = new Request.Builder() - .url(HttpUrlDefine.pickOrder+"?pickNum="+code) - /* .addHeader("language", "zh-CN")*/ - .post(body) - .build(); - client.newCall(request).enqueue(new Callback() { - @Override - public void onFailure(Call call, IOException e) { - runOnUiThread(new Runnable() { - @Override - public void run() { - DynamicToast.makeError(context, "请求失败!", 3).show(); - } - }); - - } - - @Override - public void onResponse(Call call, Response response) throws IOException { - String result = response.body().string(); - LogUtils.i("获取到的数据:" + result); - final BaseDto baseDto = GsonUtils.fromJson(result, BaseDto.class); - runOnUiThread(new Runnable() { - @Override - public void run() { - if (baseDto.isData()) { - DynamicToast.makeSuccess(context, "验证成功!", 3).show(); - }else{ - DynamicToast.makeError(context, "验证失败!", 3).show(); - } - } - }); - - - } - }); } diff --git a/app/src/main/java/com/lotaai/canguiayw/common/HttpUrlDefine.java b/app/src/main/java/com/lotaai/canguiayw/common/HttpUrlDefine.java index f0ca8c3..955a38d 100644 --- a/app/src/main/java/com/lotaai/canguiayw/common/HttpUrlDefine.java +++ b/app/src/main/java/com/lotaai/canguiayw/common/HttpUrlDefine.java @@ -1,11 +1,11 @@ package com.lotaai.canguiayw.common; public class HttpUrlDefine { - private static String rootHost = "http://192.168.110.111:8080/"; +// private static String rootHost = "http://192.168.110.111:8080/"; //private static String rootHost = "http://221.182.45.100:8081/"; // private static String rootHost = " http://18.130.221.37:8080/"; -// private static String rootHost = "http://13.42.24.196:8080/"; + private static String rootHost = "http://13.42.24.196:8080/"; public static String equipmentBind = rootHost + "/lotaai-api/api/eq/equipmentBind"; public static String equipmentLogin = rootHost + "/lotaai-api/api/eq/equipmentLogin"; public static String equipmentCunCan = rootHost + "/lotaai-api/api/eq/putInFood"; @@ -20,5 +20,7 @@ public static String login = rootHost + "equipment/equipment/deviceBlind1"; public static String adver = rootHost + "order/order/get/adver"; + public static String check = rootHost + "order/order/check"; + public static String list = rootHost + "order/order/get/list"; } diff --git a/app/src/main/java/com/lotaai/canguiayw/view/GridTableAdapterNew.java b/app/src/main/java/com/lotaai/canguiayw/view/GridTableAdapterNew.java new file mode 100644 index 0000000..410ab87 --- /dev/null +++ b/app/src/main/java/com/lotaai/canguiayw/view/GridTableAdapterNew.java @@ -0,0 +1,76 @@ +package com.lotaai.canguiayw.view; + +import android.content.Context; +import android.graphics.Color; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import androidx.annotation.LayoutRes; + +import com.lotaai.canguiayw.R; +import com.lotaai.canguiayw.device.CanguiStatus; +import com.lotaai.canguiayw.device.service.CrontrolGridModel; + +import java.util.List; + +public class GridTableAdapterNew extends BaseAdapter { + private List<CanguiStatus> mData; + private int mResource; + private Context mContext; + + public GridTableAdapterNew(Context context, List<CanguiStatus> data, @LayoutRes int resource ){ + this.mContext = context; + this.mResource = resource; + this.mData = data; + } + + @Override + public int getCount() { + return mData.size(); + } + + @Override + public Object getItem(int i) { + return mData.get(i); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + ViewHolder vh = null; + if (convertView == null) { + convertView = LayoutInflater.from(mContext).inflate(mResource, null); + vh = new ViewHolder(); + vh.gridNo= (TextView) convertView.findViewById(R.id.gridNo); + vh.gridLineLayout = (LinearLayout)convertView.findViewById(R.id.gridLineLayout); + convertView.setTag(vh); + } + vh = (ViewHolder) convertView.getTag(); + + if (mData != null && mData.size() > 0) { + CanguiStatus status = mData.get(position); + if (status.getGridNo() == -1){ + vh.gridNo.setText(""); + vh.gridLineLayout.setBackgroundResource(0); + } + String ss = CrontrolGridModel.getGridNoStr(status.getGuiHao(),status.getGridNo()); + vh.gridNo.setText(ss); + // vh.gridNo.setText(Integer.toString(status.getGridNo())); + } + return convertView; + } + + class ViewHolder { + TextView gridNo; + LinearLayout gridLineLayout; + } +} diff --git a/app/src/main/java/com/lotaai/canguiayw/view/TipDialog.java b/app/src/main/java/com/lotaai/canguiayw/view/TipDialog.java index b728e89..12fd73b 100644 --- a/app/src/main/java/com/lotaai/canguiayw/view/TipDialog.java +++ b/app/src/main/java/com/lotaai/canguiayw/view/TipDialog.java @@ -1,6 +1,8 @@ package com.lotaai.canguiayw.view; +import android.content.DialogInterface; import android.os.Bundle; +import android.os.CountDownTimer; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; @@ -14,6 +16,7 @@ import com.lotaai.canguiayw.R; public class TipDialog extends DialogFragment { + private CountDownTimer timer; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { @@ -41,7 +44,8 @@ super.onViewCreated(view, savedInstanceState); TextView tvMsg = view.findViewById(R.id.tv_msg); tvMsg.setText(getArguments().getString("msg")); - view.findViewById(R.id.tv_action).setOnClickListener(new View.OnClickListener() { + final TextView tvAction = view.findViewById(R.id.tv_action); + tvAction.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (callback!=null) @@ -49,6 +53,28 @@ dismissAllowingStateLoss(); } }); + boolean isCountdown = getArguments().getBoolean("isCountdown", false); + if (isCountdown){ + timer = new CountDownTimer(5000,1000){ + @Override + public void onTick(long l) { + tvAction.setText(((l/1000)+1)+"S"); + } + + @Override + public void onFinish() { + dismissAllowingStateLoss(); + } + }; + timer.start(); + } + } + + @Override + public void onDismiss(@NonNull DialogInterface dialog) { + super.onDismiss(dialog); + if (timer!=null) + timer.cancel(); } public interface ExitCallback { diff --git a/app/src/main/res/drawable/bg_box.xml b/app/src/main/res/drawable/bg_box.xml new file mode 100644 index 0000000..50dd6dd --- /dev/null +++ b/app/src/main/res/drawable/bg_box.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android"> + <solid android:color="#29FFFFFF"/> + <corners android:radius="3dp"/> + <stroke android:color="@color/white" android:width="1dp"/> +</shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_oragne_line_6.xml b/app/src/main/res/drawable/bg_oragne_line_6.xml new file mode 100644 index 0000000..298ca24 --- /dev/null +++ b/app/src/main/res/drawable/bg_oragne_line_6.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android"> + <corners android:radius="6dp"/> + <solid android:color="@color/white"/> + <stroke android:color="@color/colorPrimary" android:width="1dp"/> +</shape> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_code_list.xml b/app/src/main/res/layout/activity_code_list.xml new file mode 100644 index 0000000..60ad0ac --- /dev/null +++ b/app/src/main/res/layout/activity_code_list.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:background="@color/black"> + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:background="@drawable/bg_white_3" + android:layout_marginHorizontal="90dp" + android:layout_marginVertical="70dp" + android:layout_height="match_parent"> + <TextView + android:id="@+id/tv_close" + android:layout_width="120dp" + android:layout_height="40dp" + android:textSize="18sp" + android:gravity="center" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + android:textColor="@color/colorPrimary" + android:layout_marginBottom="28dp" + app:layout_constraintBottom_toBottomOf="parent" + android:textStyle="bold" + android:text="Close" + android:background="@drawable/bg_oragne_line_6"/> + <ScrollView + android:layout_width="match_parent" + android:layout_height="0dp" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toTopOf="@id/tv_close"> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:id="@+id/ll_code" + android:orientation="vertical"/> + </ScrollView> + </androidx.constraintlayout.widget.ConstraintLayout> +</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_startsave.xml b/app/src/main/res/layout/activity_startsave.xml index 0576fe7..072c81e 100644 --- a/app/src/main/res/layout/activity_startsave.xml +++ b/app/src/main/res/layout/activity_startsave.xml @@ -10,200 +10,231 @@ android:orientation="vertical" tools:context=".TakeActivity"> - <RelativeLayout + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/tv_see_code" + android:layout_gravity="end" + android:layout_marginTop="50dp" + android:layout_marginEnd="15dp" + android:text="Manual pickuo code" + android:textSize="13sp" + android:background="@drawable/bg_white_3" + android:padding="10dp" + /> + + <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="5"> + android:layout_height="match_parent"> - <ImageButton - android:layout_width="80dp" - android:layout_height="80dp" - android:layout_alignParentRight="true" - android:layout_centerVertical="true" - android:layout_gravity="center" - android:alpha="1" - android:background="@drawable/back_go_button" - android:onClick="backMian" - android:scaleType="centerCrop" - android:src="@mipmap/fanhui" /> + <TextView + android:id="@+id/titleinfo" + android:layout_width="wrap_content" + android:layout_height="0dp" + android:layout_marginTop="19dp" + android:background="@null" + android:gravity="center" + android:text="Please enter pickup code and place meal" + android:textAlignment="center" + android:textColor="@color/white" + android:textColorHint="@color/white" + android:textSize="25sp" + android:textStyle="bold" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toTopOf="parent"/> + <EditText + android:id="@+id/edt_borrow_case_number" + android:layout_width="0dp" + android:layout_height="65dp" + android:background="@drawable/bg_white_3" + android:layout_marginTop="29dp" + android:gravity="center" + android:inputType="number" + android:textAlignment="center" + android:textColor="@color/black" + android:textColorHint="@color/white" + android:textSize="24sp" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintStart_toStartOf="@id/keyboard" + app:layout_constraintEnd_toEndOf="@id/keyboard" + app:layout_constraintTop_toBottomOf="@id/titleinfo" /> - <androidx.constraintlayout.widget.ConstraintLayout - android:layout_width="match_parent" - android:layout_height="match_parent"> + <TableLayout + android:id="@+id/keyboard" + android:layout_width="390dp" + android:layout_height="219dp" + android:stretchColumns="*" + app:layout_constraintTop_toBottomOf="@id/edt_borrow_case_number" + android:layout_marginTop="15dp" + android:paddingVertical="6dp" + android:paddingHorizontal="4dp" + android:layout_marginHorizontal="29dp" + android:background="@drawable/bg_grey_6dp" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent"> - <TextView - android:id="@+id/titleinfo" - android:layout_width="wrap_content" - android:layout_height="0dp" - android:layout_marginTop="16dp" - android:background="@null" - android:gravity="center" - android:text="选择的柜子号:" - android:textAlignment="center" - android:textColor="@color/white" - android:textColorHint="@color/white" - android:textSize="30dp" - app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintRight_toRightOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintWidth_percent="0.5" /> - - <EditText - app:layout_constraintTop_toBottomOf="@+id/titleinfo" - android:id="@+id/edt_borrow_case_number" + <TableRow android:layout_width="0dp" - app:layout_constraintWidth_percent="0.5" android:layout_height="0dp" - android:background="@null" - android:layout_marginTop="10dp" - android:gravity="center" - android:hint="请输入取餐码" - android:inputType="number" - android:textAlignment="center" - android:textColor="@color/white" - android:textColorHint="@color/white" - android:textSize="30dp" - app:layout_constraintHeight_percent="0.15" - app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintRight_toRightOf="parent" - /> + android:layout_weight="2"> - <TableLayout + <Button + android:id="@+id/borrow_bt1" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:background="@drawable/number_button_left" + android:text="1" + android:textSize="24sp" /> + + <Button + android:id="@+id/borrow_bt2" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_marginStart="8dp" + android:background="@drawable/number_button_mid" + android:text="2" + android:textSize="24sp" /> + + <Button + android:id="@+id/borrow_bt3" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_marginStart="8dp" + android:background="@drawable/number_button_right" + android:text="3" + android:textSize="24sp" /> + </TableRow> + + <TableRow android:layout_width="0dp" - app:layout_constraintDimensionRatio="2:1" android:layout_height="0dp" - android:layout_alignParentBottom="true" - android:layout_centerHorizontal="true" - android:stretchColumns="*" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintHeight_percent="0.6" - app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintRight_toRightOf="parent"> + android:layout_marginTop="6dp" + android:layout_weight="2"> - <TableRow - android:layout_width="0dp" - android:layout_height="0dp" - android:layout_weight="2"> + <Button + android:id="@+id/borrow_bt4" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:background="@drawable/number_button_left" + android:text="4" + android:textSize="24sp" /> - <Button - android:id="@+id/borrow_bt1" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:background="@drawable/number_button_left" - android:text="1" - android:textSize="30sp" /> + <Button + android:id="@+id/borrow_bt5" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:background="@drawable/number_button_mid" + android:text="5" + android:layout_marginStart="8dp" + android:textSize="24sp" /> - <Button - android:id="@+id/borrow_bt2" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:background="@drawable/number_button_mid" - android:text="2" - android:textSize="30sp" /> + <Button + android:id="@+id/borrow_bt6" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:background="@drawable/number_button_right" + android:text="6" + android:layout_marginStart="8dp" + android:textSize="24sp" /> + </TableRow> - <Button - android:id="@+id/borrow_bt3" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:background="@drawable/number_button_right" - android:text="3" - android:textSize="30sp" /> - </TableRow> + <TableRow + android:layout_width="0dp" + android:layout_height="0dp" + android:layout_marginTop="6dp" + android:layout_weight="2"> - <TableRow - android:layout_width="0dp" - android:layout_height="0dp" - android:layout_weight="2"> + <Button + android:id="@+id/borrow_bt7" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:background="@drawable/number_button_left" + android:text="7" + android:textSize="24sp" /> - <Button - android:id="@+id/borrow_bt4" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:background="@drawable/number_button_left" - android:text="4" - android:textSize="30sp" /> + <Button + android:id="@+id/borrow_bt8" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:background="@drawable/number_button_mid" + android:text="8" + android:layout_marginStart="8dp" + android:textSize="24sp" /> - <Button - android:id="@+id/borrow_bt5" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:background="@drawable/number_button_mid" - android:text="5" - android:textSize="30sp" /> + <Button + android:id="@+id/borrow_bt9" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:background="@drawable/number_button_right" + android:text="9" + android:layout_marginStart="8dp" + android:textSize="24sp" /> + </TableRow> - <Button - android:id="@+id/borrow_bt6" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:background="@drawable/number_button_right" - android:text="6" - android:textSize="30sp" /> - </TableRow> + <TableRow + android:layout_width="0dp" + android:layout_height="0dp" + android:layout_marginTop="6dp" + android:layout_weight="2"> - <TableRow - android:layout_width="0dp" - android:layout_height="0dp" - android:layout_weight="2"> + <Button + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:background="@null" + android:textSize="24sp" /> - <Button - android:id="@+id/borrow_bt7" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:background="@drawable/number_button_left" - android:text="7" - android:textSize="30sp" /> + <Button + android:id="@+id/borrow_bt0" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:background="@drawable/number_button_mid" + android:text="0" + android:layout_marginStart="8dp" + android:textSize="24sp" /> - <Button - android:id="@+id/borrow_bt8" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:background="@drawable/number_button_mid" - android:text="8" - android:textSize="30sp" /> + <ImageView + android:id="@+id/borrow_bt_delete" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:gravity="center" + android:src="@mipmap/delete" + android:scaleType="center" + android:layout_marginStart="8dp" + android:textSize="24sp" /> + </TableRow> + </TableLayout> + <TextView + android:id="@+id/borrow_bt_confirm" + android:layout_width="150dp" + android:layout_height="40dp" + app:layout_constraintTop_toBottomOf="@id/keyboard" + app:layout_constraintEnd_toEndOf="@id/keyboard" + android:textSize="18sp" + android:gravity="center" + android:layout_marginEnd="23dp" + android:layout_marginTop="30dp" + android:textColor="@color/white" + android:textStyle="bold" + android:text="Order setup" + android:background="@drawable/bg_oragne_6"/> + <TextView + android:id="@+id/tv_by_hand" + android:layout_width="150dp" + android:layout_height="40dp" + app:layout_constraintTop_toBottomOf="@id/keyboard" + app:layout_constraintStart_toStartOf="@id/keyboard" + android:textSize="18sp" + android:gravity="center" + android:layout_marginStart="23dp" + android:layout_marginTop="30dp" + android:textColor="@color/colorPrimary" + android:textStyle="bold" + android:text="Maual setup" + android:background="@drawable/bg_oragne_line_6"/> + </androidx.constraintlayout.widget.ConstraintLayout> - <Button - android:id="@+id/borrow_bt9" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:background="@drawable/number_button_right" - android:text="9" - android:textSize="30sp" /> - </TableRow> - - <TableRow - android:layout_width="0dp" - android:layout_height="0dp" - android:layout_weight="2"> - - <Button - android:id="@+id/borrow_bt_delete" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:background="@drawable/number_button_left" - android:text="DEL" - android:textSize="30sp" /> - - <Button - android:id="@+id/borrow_bt0" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:background="@drawable/number_button_mid" - android:text="0" - android:textSize="30sp" /> - - <Button - android:id="@+id/borrow_bt_confirm" - android:layout_width="wrap_content" - android:layout_height="match_parent" - android:background="@drawable/number_button_right" - android:gravity="center" - android:text="OK" - android:textSize="30sp" /> - </TableRow> - </TableLayout> - </androidx.constraintlayout.widget.ConstraintLayout> - - </RelativeLayout> </LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/framgment_opendoor.xml b/app/src/main/res/layout/framgment_opendoor.xml index 4e25186..2d6b41a 100644 --- a/app/src/main/res/layout/framgment_opendoor.xml +++ b/app/src/main/res/layout/framgment_opendoor.xml @@ -16,6 +16,7 @@ android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" + android:visibility="gone" android:orientation="vertical"> <Button @@ -93,10 +94,10 @@ android:id="@+id/gridtable" android:layout_width="match_parent" android:layout_height="match_parent" - android:columnWidth="80dp" - android:horizontalSpacing="10dp" + android:columnWidth="130dp" + android:horizontalSpacing="18dp" android:numColumns="3" - android:verticalSpacing="10dp"></GridView> + android:verticalSpacing="18dp"></GridView> </LinearLayout> </LinearLayout> @@ -160,4 +161,17 @@ app:track_color_off="@color/cheng" app:track_color_on="@color/DarkGray" /> </LinearLayout> + <TextView + android:id="@+id/tv_close" + android:layout_width="120dp" + android:layout_height="40dp" + android:textSize="18sp" + android:gravity="center" + android:layout_gravity="center" + android:layout_marginTop="20dp" + android:textColor="@color/colorPrimary" + android:layout_marginBottom="28dp" + android:textStyle="bold" + android:text="Close" + android:background="@drawable/bg_oragne_line_6"/> </LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/item_box_new.xml b/app/src/main/res/layout/item_box_new.xml new file mode 100644 index 0000000..541403c --- /dev/null +++ b/app/src/main/res/layout/item_box_new.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:gravity="center" + android:background="@color/black" + android:orientation="vertical"> + <RelativeLayout + android:id="@+id/gridLineLayout" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@drawable/bg_box" + android:orientation="vertical"> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerInParent="true" + android:id="@+id/gridNo" + android:textStyle="bold" + android:textColor="@color/white" + android:textSize="17sp" + android:text="A1"/> + </RelativeLayout> +</LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/item_code.xml b/app/src/main/res/layout/item_code.xml new file mode 100644 index 0000000..2501914 --- /dev/null +++ b/app/src/main/res/layout/item_code.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="wrap_content" + xmlns:app="http://schemas.android.com/apk/res-auto"> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/tv_code" + android:paddingVertical="18dp" + android:paddingHorizontal="16dp" + android:text="Pickup code" + android:textSize="16sp" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + android:textStyle="bold" + android:textColor="@color/black"/> + <View + android:layout_width="match_parent" + android:layout_height="1px" + android:background="#F0F0F0" + app:layout_constraintTop_toBottomOf="@id/tv_code"/> +</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file -- Gitblit v1.7.1