diff --git a/app/build.gradle b/app/build.gradle index fbb603c..00f20d8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -94,4 +94,6 @@ implementation 'com.googlecode.mp4parser:isoparser:1.1.22' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' + //ZBar扫一扫(综合Java和C++扫码) + implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2' } diff --git a/app/build.gradle b/app/build.gradle index fbb603c..00f20d8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -94,4 +94,6 @@ implementation 'com.googlecode.mp4parser:isoparser:1.1.22' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' + //ZBar扫一扫(综合Java和C++扫码) + implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 76a3477..f62ba66 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -82,6 +82,7 @@ + + overlayGraphics = mGraphicsOverlay.getGraphics(); + ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); + overlayGraphics.add(graphic); + graphicsOverlays.add(mGraphicsOverlay); + } + + @OnClick({R.id.removeToLocalView, R.id.startScanView, R.id.takePictureView}) + @Override + public void onClick(View v) { + if (v.getId() == R.id.removeToLocalView) { + LocationHelper.obtainCurrentLocation(this, new ILocationListener() { + @Override + public void onLocationGet(Location location) { + if (location != null) { + mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude())); + } + } + }); + } else if (v.getId() == R.id.startScanView) { + QrConfig qrConfig = new QrConfig.Builder().setTitleText("扫一扫") //设置Title文字 + .setShowLight(true) //显示手电筒按钮 + .setShowTitle(true) //显示Title + .setScanType(QrConfig.TYPE_ALL)//识别二维码和条形码 + .setShowAlbum(false) //显示从相册选择按钮 + .setCornerColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) //设置扫描框颜色 + .setLineColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) //设置扫描线颜色 + .setLineSpeed(QrConfig.LINE_MEDIUM) //设置扫描线速度 + .setDesText(null) //扫描框下文字 + .setShowDes(true) //是否显示扫描框下面文字 + .setPlaySound(true) //是否扫描成功后bi~的声音 + .setIsOnlyCenter(true) //是否只识别框中内容(默认为全屏识别) + .setTitleBackgroudColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) + .setTitleTextColor(Color.WHITE) //设置Title文字颜色 + .setScreenOrientation(QrConfig.SCREEN_PORTRAIT) //设置屏幕方式 + .setScanLineStyle(ScanLineView.style_hybrid) //扫描线样式 + .setShowVibrator(true) //是否震动提醒 + .create(); + QrManager.getInstance().init(qrConfig).startScan(this, new QrManager.OnScanResultCallback() { + @Override + public void onScanSuccess(ScanResult result) { + toiletIdView.setText(result.content); + } + }); + } else if (v.getId() == R.id.takePictureView) { + PictureSelector.create(this) + .openCamera(PictureMimeType.ofImage()) + .imageEngine(GlideLoadEngine.createGlideEngine()) + .maxSelectNum(1) + .isCompress(true) + .compressQuality(80) + .compressSavePath(FileUtils.getImageCompressPath()) + .forResult(PictureConfig.REQUEST_CAMERA); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + if (requestCode == PictureConfig.REQUEST_CAMERA) { + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + } + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + String url = resultBean.getData(); + this.imagePath = url; + String realPath = StringHelper.appendCompleteURL(url); + + Glide.with(context) + .load(realPath) + .apply(new RequestOptions().error(R.drawable.ic_load_error)) + .into(pictureView); + pictureView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + new BigPictureDialog.Builder() + .setContext(context) + .setImageIndex(0) + .setImageList(Collections.singletonList(realPath)) + .build().show(); + } + }); + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/build.gradle b/app/build.gradle index fbb603c..00f20d8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -94,4 +94,6 @@ implementation 'com.googlecode.mp4parser:isoparser:1.1.22' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' + //ZBar扫一扫(综合Java和C++扫码) + implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 76a3477..f62ba66 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -82,6 +82,7 @@ + overlayGraphics = mGraphicsOverlay.getGraphics(); + ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); + overlayGraphics.add(graphic); + graphicsOverlays.add(mGraphicsOverlay); + } + + @OnClick({R.id.removeToLocalView, R.id.startScanView, R.id.takePictureView}) + @Override + public void onClick(View v) { + if (v.getId() == R.id.removeToLocalView) { + LocationHelper.obtainCurrentLocation(this, new ILocationListener() { + @Override + public void onLocationGet(Location location) { + if (location != null) { + mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude())); + } + } + }); + } else if (v.getId() == R.id.startScanView) { + QrConfig qrConfig = new QrConfig.Builder().setTitleText("扫一扫") //设置Title文字 + .setShowLight(true) //显示手电筒按钮 + .setShowTitle(true) //显示Title + .setScanType(QrConfig.TYPE_ALL)//识别二维码和条形码 + .setShowAlbum(false) //显示从相册选择按钮 + .setCornerColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) //设置扫描框颜色 + .setLineColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) //设置扫描线颜色 + .setLineSpeed(QrConfig.LINE_MEDIUM) //设置扫描线速度 + .setDesText(null) //扫描框下文字 + .setShowDes(true) //是否显示扫描框下面文字 + .setPlaySound(true) //是否扫描成功后bi~的声音 + .setIsOnlyCenter(true) //是否只识别框中内容(默认为全屏识别) + .setTitleBackgroudColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) + .setTitleTextColor(Color.WHITE) //设置Title文字颜色 + .setScreenOrientation(QrConfig.SCREEN_PORTRAIT) //设置屏幕方式 + .setScanLineStyle(ScanLineView.style_hybrid) //扫描线样式 + .setShowVibrator(true) //是否震动提醒 + .create(); + QrManager.getInstance().init(qrConfig).startScan(this, new QrManager.OnScanResultCallback() { + @Override + public void onScanSuccess(ScanResult result) { + toiletIdView.setText(result.content); + } + }); + } else if (v.getId() == R.id.takePictureView) { + PictureSelector.create(this) + .openCamera(PictureMimeType.ofImage()) + .imageEngine(GlideLoadEngine.createGlideEngine()) + .maxSelectNum(1) + .isCompress(true) + .compressQuality(80) + .compressSavePath(FileUtils.getImageCompressPath()) + .forResult(PictureConfig.REQUEST_CAMERA); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + if (requestCode == PictureConfig.REQUEST_CAMERA) { + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + } + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + String url = resultBean.getData(); + this.imagePath = url; + String realPath = StringHelper.appendCompleteURL(url); + + Glide.with(context) + .load(realPath) + .apply(new RequestOptions().error(R.drawable.ic_load_error)) + .into(pictureView); + pictureView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + new BigPictureDialog.Builder() + .setContext(context) + .setImageIndex(0) + .setImageList(Collections.singletonList(realPath)) + .build().show(); + } + }); + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index 4688fe6..2a855ba 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -29,6 +29,7 @@ import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.ui.OvertimeCaseActivity; import com.casic.dcms.ui.PersonOnlineActivity; +import com.casic.dcms.ui.PublicToiletActivity; import com.casic.dcms.ui.ThreePackageUploadActivity; import com.casic.dcms.ui.UrgentCaseActivity; import com.casic.dcms.utils.StringHelper; @@ -146,6 +147,9 @@ case "案卷分布": intent.setClass(context, CaseOnMapActivity.class); break; + case "公厕保洁": + intent.setClass(context, PublicToiletActivity.class); + break; default: break; } diff --git a/app/build.gradle b/app/build.gradle index fbb603c..00f20d8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -94,4 +94,6 @@ implementation 'com.googlecode.mp4parser:isoparser:1.1.22' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' + //ZBar扫一扫(综合Java和C++扫码) + implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 76a3477..f62ba66 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -82,6 +82,7 @@ + overlayGraphics = mGraphicsOverlay.getGraphics(); + ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); + overlayGraphics.add(graphic); + graphicsOverlays.add(mGraphicsOverlay); + } + + @OnClick({R.id.removeToLocalView, R.id.startScanView, R.id.takePictureView}) + @Override + public void onClick(View v) { + if (v.getId() == R.id.removeToLocalView) { + LocationHelper.obtainCurrentLocation(this, new ILocationListener() { + @Override + public void onLocationGet(Location location) { + if (location != null) { + mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude())); + } + } + }); + } else if (v.getId() == R.id.startScanView) { + QrConfig qrConfig = new QrConfig.Builder().setTitleText("扫一扫") //设置Title文字 + .setShowLight(true) //显示手电筒按钮 + .setShowTitle(true) //显示Title + .setScanType(QrConfig.TYPE_ALL)//识别二维码和条形码 + .setShowAlbum(false) //显示从相册选择按钮 + .setCornerColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) //设置扫描框颜色 + .setLineColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) //设置扫描线颜色 + .setLineSpeed(QrConfig.LINE_MEDIUM) //设置扫描线速度 + .setDesText(null) //扫描框下文字 + .setShowDes(true) //是否显示扫描框下面文字 + .setPlaySound(true) //是否扫描成功后bi~的声音 + .setIsOnlyCenter(true) //是否只识别框中内容(默认为全屏识别) + .setTitleBackgroudColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) + .setTitleTextColor(Color.WHITE) //设置Title文字颜色 + .setScreenOrientation(QrConfig.SCREEN_PORTRAIT) //设置屏幕方式 + .setScanLineStyle(ScanLineView.style_hybrid) //扫描线样式 + .setShowVibrator(true) //是否震动提醒 + .create(); + QrManager.getInstance().init(qrConfig).startScan(this, new QrManager.OnScanResultCallback() { + @Override + public void onScanSuccess(ScanResult result) { + toiletIdView.setText(result.content); + } + }); + } else if (v.getId() == R.id.takePictureView) { + PictureSelector.create(this) + .openCamera(PictureMimeType.ofImage()) + .imageEngine(GlideLoadEngine.createGlideEngine()) + .maxSelectNum(1) + .isCompress(true) + .compressQuality(80) + .compressSavePath(FileUtils.getImageCompressPath()) + .forResult(PictureConfig.REQUEST_CAMERA); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + if (requestCode == PictureConfig.REQUEST_CAMERA) { + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + } + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + String url = resultBean.getData(); + this.imagePath = url; + String realPath = StringHelper.appendCompleteURL(url); + + Glide.with(context) + .load(realPath) + .apply(new RequestOptions().error(R.drawable.ic_load_error)) + .into(pictureView); + pictureView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + new BigPictureDialog.Builder() + .setContext(context) + .setImageIndex(0) + .setImageList(Collections.singletonList(realPath)) + .build().show(); + } + }); + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index 4688fe6..2a855ba 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -29,6 +29,7 @@ import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.ui.OvertimeCaseActivity; import com.casic.dcms.ui.PersonOnlineActivity; +import com.casic.dcms.ui.PublicToiletActivity; import com.casic.dcms.ui.ThreePackageUploadActivity; import com.casic.dcms.ui.UrgentCaseActivity; import com.casic.dcms.utils.StringHelper; @@ -146,6 +147,9 @@ case "案卷分布": intent.setClass(context, CaseOnMapActivity.class); break; + case "公厕保洁": + intent.setClass(context, PublicToiletActivity.class); + break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java index 2171a0f..a1e8ea0 100644 --- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java @@ -171,6 +171,8 @@ return R.mipmap.ajcx; case "案卷分布": return R.mipmap.dtck; + case "公厕保洁": + return R.drawable.ic_toilet; default: return R.mipmap.app_logo; } diff --git a/app/build.gradle b/app/build.gradle index fbb603c..00f20d8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -94,4 +94,6 @@ implementation 'com.googlecode.mp4parser:isoparser:1.1.22' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' + //ZBar扫一扫(综合Java和C++扫码) + implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 76a3477..f62ba66 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -82,6 +82,7 @@ + overlayGraphics = mGraphicsOverlay.getGraphics(); + ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); + overlayGraphics.add(graphic); + graphicsOverlays.add(mGraphicsOverlay); + } + + @OnClick({R.id.removeToLocalView, R.id.startScanView, R.id.takePictureView}) + @Override + public void onClick(View v) { + if (v.getId() == R.id.removeToLocalView) { + LocationHelper.obtainCurrentLocation(this, new ILocationListener() { + @Override + public void onLocationGet(Location location) { + if (location != null) { + mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude())); + } + } + }); + } else if (v.getId() == R.id.startScanView) { + QrConfig qrConfig = new QrConfig.Builder().setTitleText("扫一扫") //设置Title文字 + .setShowLight(true) //显示手电筒按钮 + .setShowTitle(true) //显示Title + .setScanType(QrConfig.TYPE_ALL)//识别二维码和条形码 + .setShowAlbum(false) //显示从相册选择按钮 + .setCornerColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) //设置扫描框颜色 + .setLineColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) //设置扫描线颜色 + .setLineSpeed(QrConfig.LINE_MEDIUM) //设置扫描线速度 + .setDesText(null) //扫描框下文字 + .setShowDes(true) //是否显示扫描框下面文字 + .setPlaySound(true) //是否扫描成功后bi~的声音 + .setIsOnlyCenter(true) //是否只识别框中内容(默认为全屏识别) + .setTitleBackgroudColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) + .setTitleTextColor(Color.WHITE) //设置Title文字颜色 + .setScreenOrientation(QrConfig.SCREEN_PORTRAIT) //设置屏幕方式 + .setScanLineStyle(ScanLineView.style_hybrid) //扫描线样式 + .setShowVibrator(true) //是否震动提醒 + .create(); + QrManager.getInstance().init(qrConfig).startScan(this, new QrManager.OnScanResultCallback() { + @Override + public void onScanSuccess(ScanResult result) { + toiletIdView.setText(result.content); + } + }); + } else if (v.getId() == R.id.takePictureView) { + PictureSelector.create(this) + .openCamera(PictureMimeType.ofImage()) + .imageEngine(GlideLoadEngine.createGlideEngine()) + .maxSelectNum(1) + .isCompress(true) + .compressQuality(80) + .compressSavePath(FileUtils.getImageCompressPath()) + .forResult(PictureConfig.REQUEST_CAMERA); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + if (requestCode == PictureConfig.REQUEST_CAMERA) { + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + } + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + String url = resultBean.getData(); + this.imagePath = url; + String realPath = StringHelper.appendCompleteURL(url); + + Glide.with(context) + .load(realPath) + .apply(new RequestOptions().error(R.drawable.ic_load_error)) + .into(pictureView); + pictureView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + new BigPictureDialog.Builder() + .setContext(context) + .setImageIndex(0) + .setImageList(Collections.singletonList(realPath)) + .build().show(); + } + }); + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index 4688fe6..2a855ba 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -29,6 +29,7 @@ import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.ui.OvertimeCaseActivity; import com.casic.dcms.ui.PersonOnlineActivity; +import com.casic.dcms.ui.PublicToiletActivity; import com.casic.dcms.ui.ThreePackageUploadActivity; import com.casic.dcms.ui.UrgentCaseActivity; import com.casic.dcms.utils.StringHelper; @@ -146,6 +147,9 @@ case "案卷分布": intent.setClass(context, CaseOnMapActivity.class); break; + case "公厕保洁": + intent.setClass(context, PublicToiletActivity.class); + break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java index 2171a0f..a1e8ea0 100644 --- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java @@ -171,6 +171,8 @@ return R.mipmap.ajcx; case "案卷分布": return R.mipmap.dtck; + case "公厕保洁": + return R.drawable.ic_toilet; default: return R.mipmap.app_logo; } diff --git a/app/src/main/res/drawable/ic_camera.xml b/app/src/main/res/drawable/ic_camera.xml new file mode 100644 index 0000000..84b2857 --- /dev/null +++ b/app/src/main/res/drawable/ic_camera.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/build.gradle b/app/build.gradle index fbb603c..00f20d8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -94,4 +94,6 @@ implementation 'com.googlecode.mp4parser:isoparser:1.1.22' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' + //ZBar扫一扫(综合Java和C++扫码) + implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 76a3477..f62ba66 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -82,6 +82,7 @@ + overlayGraphics = mGraphicsOverlay.getGraphics(); + ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); + overlayGraphics.add(graphic); + graphicsOverlays.add(mGraphicsOverlay); + } + + @OnClick({R.id.removeToLocalView, R.id.startScanView, R.id.takePictureView}) + @Override + public void onClick(View v) { + if (v.getId() == R.id.removeToLocalView) { + LocationHelper.obtainCurrentLocation(this, new ILocationListener() { + @Override + public void onLocationGet(Location location) { + if (location != null) { + mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude())); + } + } + }); + } else if (v.getId() == R.id.startScanView) { + QrConfig qrConfig = new QrConfig.Builder().setTitleText("扫一扫") //设置Title文字 + .setShowLight(true) //显示手电筒按钮 + .setShowTitle(true) //显示Title + .setScanType(QrConfig.TYPE_ALL)//识别二维码和条形码 + .setShowAlbum(false) //显示从相册选择按钮 + .setCornerColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) //设置扫描框颜色 + .setLineColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) //设置扫描线颜色 + .setLineSpeed(QrConfig.LINE_MEDIUM) //设置扫描线速度 + .setDesText(null) //扫描框下文字 + .setShowDes(true) //是否显示扫描框下面文字 + .setPlaySound(true) //是否扫描成功后bi~的声音 + .setIsOnlyCenter(true) //是否只识别框中内容(默认为全屏识别) + .setTitleBackgroudColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) + .setTitleTextColor(Color.WHITE) //设置Title文字颜色 + .setScreenOrientation(QrConfig.SCREEN_PORTRAIT) //设置屏幕方式 + .setScanLineStyle(ScanLineView.style_hybrid) //扫描线样式 + .setShowVibrator(true) //是否震动提醒 + .create(); + QrManager.getInstance().init(qrConfig).startScan(this, new QrManager.OnScanResultCallback() { + @Override + public void onScanSuccess(ScanResult result) { + toiletIdView.setText(result.content); + } + }); + } else if (v.getId() == R.id.takePictureView) { + PictureSelector.create(this) + .openCamera(PictureMimeType.ofImage()) + .imageEngine(GlideLoadEngine.createGlideEngine()) + .maxSelectNum(1) + .isCompress(true) + .compressQuality(80) + .compressSavePath(FileUtils.getImageCompressPath()) + .forResult(PictureConfig.REQUEST_CAMERA); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + if (requestCode == PictureConfig.REQUEST_CAMERA) { + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + } + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + String url = resultBean.getData(); + this.imagePath = url; + String realPath = StringHelper.appendCompleteURL(url); + + Glide.with(context) + .load(realPath) + .apply(new RequestOptions().error(R.drawable.ic_load_error)) + .into(pictureView); + pictureView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + new BigPictureDialog.Builder() + .setContext(context) + .setImageIndex(0) + .setImageList(Collections.singletonList(realPath)) + .build().show(); + } + }); + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index 4688fe6..2a855ba 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -29,6 +29,7 @@ import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.ui.OvertimeCaseActivity; import com.casic.dcms.ui.PersonOnlineActivity; +import com.casic.dcms.ui.PublicToiletActivity; import com.casic.dcms.ui.ThreePackageUploadActivity; import com.casic.dcms.ui.UrgentCaseActivity; import com.casic.dcms.utils.StringHelper; @@ -146,6 +147,9 @@ case "案卷分布": intent.setClass(context, CaseOnMapActivity.class); break; + case "公厕保洁": + intent.setClass(context, PublicToiletActivity.class); + break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java index 2171a0f..a1e8ea0 100644 --- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java @@ -171,6 +171,8 @@ return R.mipmap.ajcx; case "案卷分布": return R.mipmap.dtck; + case "公厕保洁": + return R.drawable.ic_toilet; default: return R.mipmap.app_logo; } diff --git a/app/src/main/res/drawable/ic_camera.xml b/app/src/main/res/drawable/ic_camera.xml new file mode 100644 index 0000000..84b2857 --- /dev/null +++ b/app/src/main/res/drawable/ic_camera.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_scan.xml b/app/src/main/res/drawable/ic_scan.xml new file mode 100644 index 0000000..694165b --- /dev/null +++ b/app/src/main/res/drawable/ic_scan.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/build.gradle b/app/build.gradle index fbb603c..00f20d8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -94,4 +94,6 @@ implementation 'com.googlecode.mp4parser:isoparser:1.1.22' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' + //ZBar扫一扫(综合Java和C++扫码) + implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 76a3477..f62ba66 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -82,6 +82,7 @@ + overlayGraphics = mGraphicsOverlay.getGraphics(); + ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); + overlayGraphics.add(graphic); + graphicsOverlays.add(mGraphicsOverlay); + } + + @OnClick({R.id.removeToLocalView, R.id.startScanView, R.id.takePictureView}) + @Override + public void onClick(View v) { + if (v.getId() == R.id.removeToLocalView) { + LocationHelper.obtainCurrentLocation(this, new ILocationListener() { + @Override + public void onLocationGet(Location location) { + if (location != null) { + mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude())); + } + } + }); + } else if (v.getId() == R.id.startScanView) { + QrConfig qrConfig = new QrConfig.Builder().setTitleText("扫一扫") //设置Title文字 + .setShowLight(true) //显示手电筒按钮 + .setShowTitle(true) //显示Title + .setScanType(QrConfig.TYPE_ALL)//识别二维码和条形码 + .setShowAlbum(false) //显示从相册选择按钮 + .setCornerColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) //设置扫描框颜色 + .setLineColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) //设置扫描线颜色 + .setLineSpeed(QrConfig.LINE_MEDIUM) //设置扫描线速度 + .setDesText(null) //扫描框下文字 + .setShowDes(true) //是否显示扫描框下面文字 + .setPlaySound(true) //是否扫描成功后bi~的声音 + .setIsOnlyCenter(true) //是否只识别框中内容(默认为全屏识别) + .setTitleBackgroudColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) + .setTitleTextColor(Color.WHITE) //设置Title文字颜色 + .setScreenOrientation(QrConfig.SCREEN_PORTRAIT) //设置屏幕方式 + .setScanLineStyle(ScanLineView.style_hybrid) //扫描线样式 + .setShowVibrator(true) //是否震动提醒 + .create(); + QrManager.getInstance().init(qrConfig).startScan(this, new QrManager.OnScanResultCallback() { + @Override + public void onScanSuccess(ScanResult result) { + toiletIdView.setText(result.content); + } + }); + } else if (v.getId() == R.id.takePictureView) { + PictureSelector.create(this) + .openCamera(PictureMimeType.ofImage()) + .imageEngine(GlideLoadEngine.createGlideEngine()) + .maxSelectNum(1) + .isCompress(true) + .compressQuality(80) + .compressSavePath(FileUtils.getImageCompressPath()) + .forResult(PictureConfig.REQUEST_CAMERA); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + if (requestCode == PictureConfig.REQUEST_CAMERA) { + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + } + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + String url = resultBean.getData(); + this.imagePath = url; + String realPath = StringHelper.appendCompleteURL(url); + + Glide.with(context) + .load(realPath) + .apply(new RequestOptions().error(R.drawable.ic_load_error)) + .into(pictureView); + pictureView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + new BigPictureDialog.Builder() + .setContext(context) + .setImageIndex(0) + .setImageList(Collections.singletonList(realPath)) + .build().show(); + } + }); + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index 4688fe6..2a855ba 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -29,6 +29,7 @@ import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.ui.OvertimeCaseActivity; import com.casic.dcms.ui.PersonOnlineActivity; +import com.casic.dcms.ui.PublicToiletActivity; import com.casic.dcms.ui.ThreePackageUploadActivity; import com.casic.dcms.ui.UrgentCaseActivity; import com.casic.dcms.utils.StringHelper; @@ -146,6 +147,9 @@ case "案卷分布": intent.setClass(context, CaseOnMapActivity.class); break; + case "公厕保洁": + intent.setClass(context, PublicToiletActivity.class); + break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java index 2171a0f..a1e8ea0 100644 --- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java @@ -171,6 +171,8 @@ return R.mipmap.ajcx; case "案卷分布": return R.mipmap.dtck; + case "公厕保洁": + return R.drawable.ic_toilet; default: return R.mipmap.app_logo; } diff --git a/app/src/main/res/drawable/ic_camera.xml b/app/src/main/res/drawable/ic_camera.xml new file mode 100644 index 0000000..84b2857 --- /dev/null +++ b/app/src/main/res/drawable/ic_camera.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_scan.xml b/app/src/main/res/drawable/ic_scan.xml new file mode 100644 index 0000000..694165b --- /dev/null +++ b/app/src/main/res/drawable/ic_scan.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_toilet.xml b/app/src/main/res/drawable/ic_toilet.xml new file mode 100644 index 0000000..0297e00 --- /dev/null +++ b/app/src/main/res/drawable/ic_toilet.xml @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/app/build.gradle b/app/build.gradle index fbb603c..00f20d8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -94,4 +94,6 @@ implementation 'com.googlecode.mp4parser:isoparser:1.1.22' //问题跟踪 implementation 'com.tencent.bugly:crashreport:3.3.92' + //ZBar扫一扫(综合Java和C++扫码) + implementation 'cn.bertsir.zbarLibary:zbarlibary:1.4.2' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 76a3477..f62ba66 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -82,6 +82,7 @@ + overlayGraphics = mGraphicsOverlay.getGraphics(); + ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); + overlayGraphics.add(graphic); + graphicsOverlays.add(mGraphicsOverlay); + } + + @OnClick({R.id.removeToLocalView, R.id.startScanView, R.id.takePictureView}) + @Override + public void onClick(View v) { + if (v.getId() == R.id.removeToLocalView) { + LocationHelper.obtainCurrentLocation(this, new ILocationListener() { + @Override + public void onLocationGet(Location location) { + if (location != null) { + mapView.setViewpointCenterAsync(new Point(location.getLongitude(), location.getLatitude())); + } + } + }); + } else if (v.getId() == R.id.startScanView) { + QrConfig qrConfig = new QrConfig.Builder().setTitleText("扫一扫") //设置Title文字 + .setShowLight(true) //显示手电筒按钮 + .setShowTitle(true) //显示Title + .setScanType(QrConfig.TYPE_ALL)//识别二维码和条形码 + .setShowAlbum(false) //显示从相册选择按钮 + .setCornerColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) //设置扫描框颜色 + .setLineColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) //设置扫描线颜色 + .setLineSpeed(QrConfig.LINE_MEDIUM) //设置扫描线速度 + .setDesText(null) //扫描框下文字 + .setShowDes(true) //是否显示扫描框下面文字 + .setPlaySound(true) //是否扫描成功后bi~的声音 + .setIsOnlyCenter(true) //是否只识别框中内容(默认为全屏识别) + .setTitleBackgroudColor(ColorHelper.getResourcesColor(this, R.color.mainThemeColor)) + .setTitleTextColor(Color.WHITE) //设置Title文字颜色 + .setScreenOrientation(QrConfig.SCREEN_PORTRAIT) //设置屏幕方式 + .setScanLineStyle(ScanLineView.style_hybrid) //扫描线样式 + .setShowVibrator(true) //是否震动提醒 + .create(); + QrManager.getInstance().init(qrConfig).startScan(this, new QrManager.OnScanResultCallback() { + @Override + public void onScanSuccess(ScanResult result) { + toiletIdView.setText(result.content); + } + }); + } else if (v.getId() == R.id.takePictureView) { + PictureSelector.create(this) + .openCamera(PictureMimeType.ofImage()) + .imageEngine(GlideLoadEngine.createGlideEngine()) + .maxSelectNum(1) + .isCompress(true) + .compressQuality(80) + .compressSavePath(FileUtils.getImageCompressPath()) + .forResult(PictureConfig.REQUEST_CAMERA); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (resultCode == RESULT_OK) { + if (requestCode == PictureConfig.REQUEST_CAMERA) { + LocalMedia localMedia = PictureSelector.obtainMultipleResult(data).get(0); + uploadImagePresenter.onReadyRetrofitRequest(new File(localMedia.getCompressPath())); + } + } + } + + @Override + public void showProgress() { + submitDialog.show(); + } + + @Override + public void hideProgress() { + submitDialog.dismiss(); + } + + @Override + public void obtainUploadAudioResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainUploadImageResult(ActionResultBean resultBean) { + if (resultBean.isSuccess()) { + /** + * 系统路径static拼接图片返回路径 + * http://111.198.10.15:11409/static/2021-04/000bcf78345f4c1c86484efa3f9d68a2.jpeg + */ + //2021-04\\000bcf78345f4c1c86484efa3f9d68a2.jpeg + String url = resultBean.getData(); + this.imagePath = url; + String realPath = StringHelper.appendCompleteURL(url); + + Glide.with(context) + .load(realPath) + .apply(new RequestOptions().error(R.drawable.ic_load_error)) + .into(pictureView); + pictureView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + new BigPictureDialog.Builder() + .setContext(context) + .setImageIndex(0) + .setImageList(Collections.singletonList(realPath)) + .build().show(); + } + }); + } + } + + @Override + public void obtainUploadVideoResult(ActionResultBean resultBean) { + + } + + @Override + public void obtainDataFail() { + ToastHelper.showToast("操作失败", ToastHelper.ERROR); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + if (uploadImagePresenter != null) { + uploadImagePresenter.disposeRetrofitRequest(); + } + } +} diff --git a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java index 4688fe6..2a855ba 100644 --- a/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/ui/fragment/HomePageFragment.java @@ -29,6 +29,7 @@ import com.casic.dcms.ui.DataAnalysisActivity; import com.casic.dcms.ui.OvertimeCaseActivity; import com.casic.dcms.ui.PersonOnlineActivity; +import com.casic.dcms.ui.PublicToiletActivity; import com.casic.dcms.ui.ThreePackageUploadActivity; import com.casic.dcms.ui.UrgentCaseActivity; import com.casic.dcms.utils.StringHelper; @@ -146,6 +147,9 @@ case "案卷分布": intent.setClass(context, CaseOnMapActivity.class); break; + case "公厕保洁": + intent.setClass(context, PublicToiletActivity.class); + break; default: break; } diff --git a/app/src/main/java/com/casic/dcms/utils/StringHelper.java b/app/src/main/java/com/casic/dcms/utils/StringHelper.java index 2171a0f..a1e8ea0 100644 --- a/app/src/main/java/com/casic/dcms/utils/StringHelper.java +++ b/app/src/main/java/com/casic/dcms/utils/StringHelper.java @@ -171,6 +171,8 @@ return R.mipmap.ajcx; case "案卷分布": return R.mipmap.dtck; + case "公厕保洁": + return R.drawable.ic_toilet; default: return R.mipmap.app_logo; } diff --git a/app/src/main/res/drawable/ic_camera.xml b/app/src/main/res/drawable/ic_camera.xml new file mode 100644 index 0000000..84b2857 --- /dev/null +++ b/app/src/main/res/drawable/ic_camera.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_scan.xml b/app/src/main/res/drawable/ic_scan.xml new file mode 100644 index 0000000..694165b --- /dev/null +++ b/app/src/main/res/drawable/ic_scan.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_toilet.xml b/app/src/main/res/drawable/ic_toilet.xml new file mode 100644 index 0000000..0297e00 --- /dev/null +++ b/app/src/main/res/drawable/ic_toilet.xml @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/app/src/main/res/layout/activity_toilet.xml b/app/src/main/res/layout/activity_toilet.xml new file mode 100644 index 0000000..7386088 --- /dev/null +++ b/app/src/main/res/layout/activity_toilet.xml @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file