mirror of
https://github.com/freeedcom/ai-codereviewer.git
synced 2025-06-30 21:04:16 +00:00
add project adins
This commit is contained in:
parent
ad06ac5505
commit
f8f85d679d
5299 changed files with 625430 additions and 0 deletions
|
@ -0,0 +1,7 @@
|
|||
package com.adins.mss.base.models;
|
||||
|
||||
import com.adins.mss.foundation.http.MssResponseType;
|
||||
|
||||
public class SyncParamSuccessResponse extends MssResponseType {
|
||||
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.adins.mss.foundation.questiongenerator.form.QuestionView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/questionRadioLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="0. label"
|
||||
android:id="@+id/questionRadioLabel" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/questionRadioEmpty"
|
||||
android:layout_width="match_parent"
|
||||
android:text="@string/lookup_not_found"
|
||||
android:visibility="gone"
|
||||
android:layout_height="wrap_content" />
|
||||
<RadioGroup
|
||||
android:id="@+id/radioQuestionList"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"/>
|
||||
<EditText
|
||||
android:id="@+id/questionRadioDescription"
|
||||
android:layout_width="match_parent"
|
||||
android:visibility="gone"
|
||||
android:layout_height="wrap_content" />
|
||||
</com.adins.mss.foundation.questiongenerator.form.QuestionView>
|
|
@ -0,0 +1,206 @@
|
|||
package com.adins.mss.coll.closingtask.senders;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.ProgressDialog;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
import android.view.View;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.NewMainActivity;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.util.EventBusHelper;
|
||||
import com.adins.mss.base.util.GsonHelper;
|
||||
import com.adins.mss.coll.R;
|
||||
import com.adins.mss.coll.closingtask.ClosingTaskAdapter;
|
||||
import com.adins.mss.coll.closingtask.ClosingTaskFragment;
|
||||
import com.adins.mss.coll.closingtask.models.ClosingTaskListResponse;
|
||||
import com.adins.mss.coll.closingtask.models.ClosingTaskRequest;
|
||||
import com.adins.mss.dao.Lookup;
|
||||
import com.adins.mss.dao.TaskH;
|
||||
import com.adins.mss.foundation.db.dataaccess.LookupDataAccess;
|
||||
import com.adins.mss.foundation.db.dataaccess.ReceiptVoucherDataAccess;
|
||||
import com.adins.mss.foundation.db.dataaccess.TaskHDataAccess;
|
||||
import com.adins.mss.foundation.dialog.NiftyDialogBuilder;
|
||||
import com.adins.mss.foundation.http.HttpConnectionResult;
|
||||
import com.adins.mss.foundation.http.MssResponseType;
|
||||
import com.google.gson.JsonParseException;
|
||||
import com.services.MainServices;
|
||||
|
||||
import java.lang.reflect.Array;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by angga.permadi on 3/3/2016.
|
||||
*/
|
||||
public class ClosingTaskSender<Response extends MssResponseType> extends DataTask<Void, Void, Response> {
|
||||
private Activity context;
|
||||
private ProgressDialog progressDialog;
|
||||
private Class<Response> responseClazz;
|
||||
private String flag;
|
||||
private ClosingTaskListener listener;
|
||||
private boolean isClosingTaskSuccess = false;
|
||||
|
||||
public ClosingTaskSender(Activity context, ClosingTaskRequest request, Class<Response> responseClazz) {
|
||||
super(context, request);
|
||||
this.context = context;
|
||||
this.flag = request.getFlag();
|
||||
this.responseClazz = responseClazz;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
super.onPreExecute();
|
||||
progressDialog = ProgressDialog.show(context, "", context.getString(R.string.please_wait), true, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Response onBackgroundResult(HttpConnectionResult serverResult) {
|
||||
Response resultBean = null;
|
||||
|
||||
if (serverResult != null) {
|
||||
log(serverResult.getResult());
|
||||
if (serverResult.isOK()) {
|
||||
try {
|
||||
resultBean = GsonHelper.fromJson(serverResult.getResult(), responseClazz);
|
||||
} catch (JsonParseException e) {
|
||||
errorMessage = context.getString(R.string.jsonParseFailed);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
errorMessage = context.getString(R.string.jsonParseFailed);
|
||||
}
|
||||
} else {
|
||||
errorMessage = context.getString(R.string.jsonParseFailed);
|
||||
}
|
||||
}
|
||||
|
||||
return resultBean;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(Response response) {
|
||||
super.onPostExecute(response);
|
||||
boolean isShowDialog = false;
|
||||
|
||||
if (progressDialog != null) {
|
||||
if (progressDialog.isShowing()) {
|
||||
progressDialog.dismiss();
|
||||
}
|
||||
progressDialog = null;
|
||||
}
|
||||
|
||||
final NiftyDialogBuilder dialogBuilder = NiftyDialogBuilder.getInstance(context);
|
||||
|
||||
if (!GlobalData.isRequireRelogin()) {
|
||||
if (errorMessage != null) {
|
||||
dialogBuilder.withTitle(context.getString(R.string.error_capital))
|
||||
.withMessage(errorMessage);
|
||||
isShowDialog = true;
|
||||
} else if (response == null) {
|
||||
dialogBuilder.withTitle(context.getString(R.string.error_capital))
|
||||
.withMessage(context.getString(R.string.empty_data));
|
||||
isShowDialog = true;
|
||||
} else {
|
||||
if (response.getStatus().getCode() == 0) {
|
||||
if (flag.equals(ClosingTaskRequest.CLOSING_TASK)) {
|
||||
dialogBuilder.withTitle(context.getString(R.string.info_capital))
|
||||
.withMessage(response.getStatus().getMessage());
|
||||
|
||||
// delete all rv number
|
||||
ReceiptVoucherDataAccess.clean(context);
|
||||
LookupDataAccess.deleteByLovGroup(context, "RV NUMBER");
|
||||
|
||||
// List<TaskH> processedTask = new ArrayList<>();
|
||||
String uuidUser = GlobalData.getSharedGlobalData().getUser().getUuid_user();
|
||||
TaskHDataAccess.updateStatusClosingTask(context , TaskHDataAccess.STATUS_SEND_DELETED, uuidUser);
|
||||
|
||||
// processedTask = TaskHDataAccess.getAllTaskByStatusNewAndDownload(context, uuidUser);
|
||||
// for (int x = 0; x < processedTask.size(); x++){
|
||||
// TaskHDataAccess.updateStatus(context, processedTask.get(x), TaskHDataAccess.STATUS_SEND_DELETED);
|
||||
// }
|
||||
|
||||
if (listener != null) {
|
||||
listener.onClosingTaskSuccess();
|
||||
}
|
||||
//EventBusHelper.post(response);
|
||||
|
||||
isShowDialog = true;
|
||||
isClosingTaskSuccess = true;
|
||||
EventBusHelper.post(MainServices.ACTION_GET_NOTIFICATION_THREAD);
|
||||
} else if (flag.equals(ClosingTaskRequest.CLOSING_TASK_LIST)) {
|
||||
ClosingTaskListResponse response1 = (ClosingTaskListResponse) response;
|
||||
|
||||
if (response1.getTaskList() == null || response1.getTaskList().size() == 0) {
|
||||
String message = response1.getStatus().getMessage();
|
||||
if (message == null || message.isEmpty()) {
|
||||
message = context.getString(R.string.msgNoSurvey);
|
||||
}
|
||||
|
||||
dialogBuilder.withTitle(context.getString(R.string.info_capital)).withMessage(message);
|
||||
isShowDialog = true;
|
||||
} else {
|
||||
ClosingTaskAdapter.getInstance().clear();
|
||||
ClosingTaskAdapter.getInstance().notifyDataSetChanged();
|
||||
ClosingTaskAdapter.getInstance().processData(response1.getTaskList());
|
||||
|
||||
if (!context.isFinishing()) {
|
||||
Fragment fragment = ClosingTaskFragment.newInstance();
|
||||
FragmentTransaction transaction = NewMainActivity.fragmentManager.beginTransaction();
|
||||
transaction.setCustomAnimations(R.anim.activity_open_translate, R.anim.activity_close_scale, R.anim.activity_open_scale, R.anim.activity_close_translate);
|
||||
transaction.replace(R.id.content_frame, fragment);
|
||||
transaction.addToBackStack(null);
|
||||
transaction.commit();
|
||||
isShowDialog = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
dialogBuilder.withTitle(context.getString(R.string.error_capital))
|
||||
.withMessage(response.getStatus().getMessage());
|
||||
isShowDialog = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (flag.equals(ClosingTaskRequest.CLOSING_TASK) || isShowDialog) {
|
||||
dialogBuilder.isCancelable(false);
|
||||
dialogBuilder.isCancelableOnTouchOutside(false);
|
||||
dialogBuilder.withButton1Text(context.getString(R.string.btnClose)).
|
||||
setButton1Click(new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View paramView) {
|
||||
dialogBuilder.dismiss();
|
||||
|
||||
if (isClosingTaskSuccess) {
|
||||
context.onBackPressed();
|
||||
}
|
||||
}
|
||||
});
|
||||
dialogBuilder.show();
|
||||
}
|
||||
//Fix Me
|
||||
// if (flag.equals(ClosingTaskRequest.CLOSING_TASK_LIST)) {
|
||||
// if (context instanceof MainMenuActivity) {
|
||||
// try {
|
||||
// Global.positionStack.remove(Global.positionStack.lastElement());
|
||||
// ((MainMenuActivity) context).mDrawerListLeft.
|
||||
// setItemChecked(Global.positionStack.lastElement(), true);
|
||||
// MainMenuActivity.tempPosition = Global.positionStack.lastElement();
|
||||
// } catch (Exception ex) {
|
||||
// // empty
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
public void setListener(ClosingTaskListener listener) {
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getUrl() {
|
||||
return GlobalData.getSharedGlobalData().getURL_CLOSING_TASK();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,144 @@
|
|||
package com.services;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.util.GsonHelper;
|
||||
import com.adins.mss.base.util.Utility;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.dao.GeneralParameter;
|
||||
import com.adins.mss.dao.ReceiptVoucher;
|
||||
import com.adins.mss.dao.TaskH;
|
||||
import com.adins.mss.foundation.db.dataaccess.GeneralParameterDataAccess;
|
||||
import com.adins.mss.foundation.db.dataaccess.ReceiptVoucherDataAccess;
|
||||
import com.adins.mss.foundation.db.dataaccess.TaskHDataAccess;
|
||||
import com.adins.mss.foundation.formatter.Tool;
|
||||
import com.adins.mss.foundation.http.HttpConnectionResult;
|
||||
import com.adins.mss.foundation.http.HttpCryptedConnection;
|
||||
import com.adins.mss.foundation.print.rv.RVEntity;
|
||||
import com.adins.mss.foundation.print.rv.RVNumberRequest;
|
||||
import com.adins.mss.foundation.print.rv.RVNumberResponse;
|
||||
import com.adins.mss.logger.Logger;
|
||||
import com.google.firebase.perf.FirebasePerformance;
|
||||
import com.google.firebase.perf.metrics.HttpMetric;
|
||||
import com.google.gson.JsonParseException;
|
||||
|
||||
/**
|
||||
* Created by angga.permadi on 4/20/2016.
|
||||
*/
|
||||
public class AutoSendRVNumberThread extends Thread {
|
||||
private Context context;
|
||||
private volatile boolean keepRunning;
|
||||
private int interval;
|
||||
|
||||
public AutoSendRVNumberThread(Context context) {
|
||||
this.context = context;
|
||||
|
||||
try {
|
||||
GeneralParameter gp = GeneralParameterDataAccess.getOne(context,
|
||||
GlobalData.getSharedGlobalData().getUser().getUuid_user(),
|
||||
Global.GS_INTERVAL_AUTOSEND);
|
||||
if (gp != null) {
|
||||
interval = Global.SECOND * Integer.parseInt(gp.getGs_value());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
interval = Global.MINUTE * 2;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
super.run();
|
||||
keepRunning = true;
|
||||
|
||||
while (keepRunning) {
|
||||
RVNumberResponse resultBean = null;
|
||||
boolean isError = false;
|
||||
|
||||
String uuidUser = GlobalData.getSharedGlobalData().getUser()
|
||||
.getUuid_user();
|
||||
TaskH taskH = TaskHDataAccess.getOneTaskByStatusRV(context, uuidUser, TaskHDataAccess.STATUS_RV_PENDING);
|
||||
|
||||
if (taskH != null) {
|
||||
System.gc();
|
||||
|
||||
if (Tool.isInternetconnected(context)) {
|
||||
RVEntity rv = new RVEntity();
|
||||
rv.setUuid_task_h(taskH.getUuid_task_h());
|
||||
|
||||
ReceiptVoucher rvNumber = ReceiptVoucherDataAccess.getOne(context, uuidUser, taskH.getRv_number());
|
||||
if (rvNumber != null) {
|
||||
rv.setRv_number(rvNumber.getRv_number());
|
||||
rv.setDtm_use(rvNumber.getDtm_use());
|
||||
}
|
||||
|
||||
RVNumberRequest entity = new RVNumberRequest();
|
||||
entity.setRvBlank(rv);
|
||||
entity.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
|
||||
HttpCryptedConnection httpConn = new HttpCryptedConnection(context,
|
||||
GlobalData.getSharedGlobalData().isEncrypt(), GlobalData.getSharedGlobalData().isDecrypt());
|
||||
HttpConnectionResult serverResult = null;
|
||||
String url = GlobalData.getSharedGlobalData().getURL_RV_NUMBER();
|
||||
|
||||
HttpMetric networkMetric =
|
||||
FirebasePerformance.getInstance().newHttpMetric(url, FirebasePerformance.HttpMethod.POST);
|
||||
Utility.metricStart(networkMetric, GsonHelper.toJson(entity));
|
||||
|
||||
try {
|
||||
serverResult = httpConn.requestToServer(url,
|
||||
GsonHelper.toJson(entity), Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
Utility.metricStop(networkMetric, serverResult);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
isError = true;
|
||||
}
|
||||
|
||||
if (serverResult != null) {
|
||||
Logger.d(this, serverResult.getResult());
|
||||
if (serverResult.isOK()) {
|
||||
try {
|
||||
resultBean = GsonHelper.fromJson(serverResult.getResult(), RVNumberResponse.class);
|
||||
} catch (JsonParseException e) {
|
||||
e.printStackTrace();
|
||||
isError = true;
|
||||
}
|
||||
|
||||
if (resultBean != null) {
|
||||
if (resultBean.getStatus() != null &&
|
||||
resultBean.getStatus().getCode() == 0) {
|
||||
taskH.setStatus_rv(TaskHDataAccess.STATUS_RV_SENT);
|
||||
TaskHDataAccess.addOrReplace(context, taskH);
|
||||
} else {
|
||||
isError = true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
isError = true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
isError = true;
|
||||
}
|
||||
} else {
|
||||
keepRunning = false;
|
||||
}
|
||||
|
||||
int interval2 = isError ? interval : 1000;
|
||||
try {
|
||||
sleep(interval2);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isRunning() {
|
||||
return keepRunning;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_pressed="true" >
|
||||
<shape>
|
||||
<solid
|
||||
android:color="#ffffff" />
|
||||
<padding
|
||||
android:left="10dp"
|
||||
android:top="10dp"
|
||||
android:right="10dp"
|
||||
android:bottom="10dp" />
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<shape>
|
||||
<gradient
|
||||
android:startColor="#1e55c3"
|
||||
android:endColor="#0ba0e9"
|
||||
android:angle="270"
|
||||
/>
|
||||
<padding
|
||||
android:left="10dp"
|
||||
android:top="10dp"
|
||||
android:right="10dp"
|
||||
android:bottom="10dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
|
@ -0,0 +1,127 @@
|
|||
package com.adins.mss.odr.accounts;
|
||||
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Intent;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.util.GsonHelper;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.dao.Account;
|
||||
import com.adins.mss.dao.Product;
|
||||
import com.adins.mss.foundation.dialog.NiftyDialogBuilder;
|
||||
import com.adins.mss.foundation.formatter.Tool;
|
||||
import com.adins.mss.foundation.http.HttpConnectionResult;
|
||||
import com.adins.mss.foundation.http.HttpCryptedConnection;
|
||||
import com.adins.mss.odr.R;
|
||||
import com.adins.mss.odr.accounts.api.LoadProductContactRequest;
|
||||
import com.adins.mss.odr.accounts.api.LoadProductContactResponse;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by olivia.dg on 12/19/2017.
|
||||
*/
|
||||
|
||||
public class LoadProductContact extends AsyncTask<Void, Void, ArrayList<String>> {
|
||||
private FragmentActivity activity;
|
||||
private Account account;
|
||||
private String uuidAccount;
|
||||
private ProgressDialog progressDialog;
|
||||
private String errMessage;
|
||||
private ArrayList<String> result = new ArrayList<String>();
|
||||
|
||||
public LoadProductContact(FragmentActivity activity, Account account) {
|
||||
this.activity = activity;
|
||||
this.account = account;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
super.onPreExecute();
|
||||
progressDialog = ProgressDialog.show(activity, "", activity.getString(R.string.contact_server), true);
|
||||
}
|
||||
@Override
|
||||
protected ArrayList<String> doInBackground(Void... params) {
|
||||
if (Tool.isInternetconnected(activity)) {
|
||||
uuidAccount = account.getUuid_account();
|
||||
LoadProductContactRequest request = new LoadProductContactRequest();
|
||||
request.setUuid_account(uuidAccount);
|
||||
request.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
|
||||
String json = GsonHelper.toJson(request);
|
||||
|
||||
String url = GlobalData.getSharedGlobalData().getURL_GET_PRODUCT_CONTACT();
|
||||
boolean encrypt = GlobalData.getSharedGlobalData().isEncrypt();
|
||||
boolean decrypt = GlobalData.getSharedGlobalData().isDecrypt();
|
||||
HttpCryptedConnection httpConn = new HttpCryptedConnection(activity, encrypt, decrypt);
|
||||
HttpConnectionResult serverResult = null;
|
||||
try {
|
||||
serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
LoadProductContactResponse response = null;
|
||||
if (serverResult != null && serverResult.isOK()) {
|
||||
try {
|
||||
String responseBody = serverResult.getResult();
|
||||
response = GsonHelper.fromJson(responseBody, LoadProductContactResponse.class);
|
||||
} catch (Exception e) {
|
||||
if(Global.IS_DEV) {
|
||||
e.printStackTrace();
|
||||
errMessage=e.getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
List<Product> productList = response.getListProduct();
|
||||
|
||||
if (productList != null && productList.size() != 0) {
|
||||
for (Product product : productList) {
|
||||
result.add(product.getUuid_product());
|
||||
}
|
||||
} else {
|
||||
errMessage = activity.getString(R.string.no_data_from_server);
|
||||
}
|
||||
} else {
|
||||
errMessage = activity.getString(R.string.server_down);
|
||||
}
|
||||
} else {
|
||||
errMessage = activity.getString(R.string.no_internet_connection);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(ArrayList<String> products) {
|
||||
super.onPostExecute(products);
|
||||
|
||||
if (progressDialog != null && progressDialog.isShowing()) {
|
||||
progressDialog.dismiss();
|
||||
}
|
||||
|
||||
if (errMessage != null) {
|
||||
if (errMessage.equals(activity.getString(R.string.no_data_from_server))) {
|
||||
NiftyDialogBuilder builder = NiftyDialogBuilder.getInstance(activity);
|
||||
builder.withTitle("INFO")
|
||||
.withMessage(errMessage)
|
||||
.show();
|
||||
} else {
|
||||
Toast.makeText(activity, errMessage, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
} else {
|
||||
String accountId = account.getUuid_account();
|
||||
Intent intent = new Intent(activity, AccountResultActivity.class);
|
||||
Bundle extra = new Bundle();
|
||||
extra.putString(Global.BUND_KEY_ACCOUNT_ID, accountId);
|
||||
extra.putStringArrayList(Global.BUND_KEY_PRODUCT_ID, products);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
intent.putExtras(extra);
|
||||
activity.startActivity(intent);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue