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,91 @@
|
|||
package com.adins.mss.base;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Intent;
|
||||
import android.os.AsyncTask;
|
||||
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.dao.PrintResult;
|
||||
import com.adins.mss.dao.TaskH;
|
||||
import com.adins.mss.foundation.db.dataaccess.PrintResultDataAccess;
|
||||
import com.adins.mss.foundation.db.dataaccess.TaskHDataAccess;
|
||||
import com.adins.mss.foundation.dialog.DialogManager;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by winy.firdasari on 30/01/2015.
|
||||
*/
|
||||
|
||||
public class PrintTask extends AsyncTask<String, Void, List<PrintResult>> {
|
||||
private ProgressDialog progressDialog;
|
||||
private String errMessage = null;
|
||||
private Activity activity;
|
||||
private String messageWait;
|
||||
private String messageEmpty;
|
||||
private String taskId;
|
||||
|
||||
//inijiniunnij dasfasfs
|
||||
|
||||
public PrintTask(Activity activity) {
|
||||
this.activity = activity;
|
||||
this.messageWait = activity.getString(R.string.progressWait);
|
||||
this.messageEmpty = activity.getString(R.string.msgNoPrintItem);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
progressDialog = ProgressDialog.show(this.activity, "", this.messageWait, true);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected List<PrintResult> doInBackground(String... params) {
|
||||
List<PrintResult> result = null;
|
||||
|
||||
try {
|
||||
String taskId = params[0];
|
||||
this.taskId = taskId;
|
||||
|
||||
//bong 7 may 15 - asumsi data print result di lokal sudah siap untuk di-print
|
||||
TaskH taskH = TaskHDataAccess.getOneTaskHeader(activity, taskId);
|
||||
result = PrintResultDataAccess.getAll(activity, taskH.getUuid_task_h());
|
||||
// FormManager formManager = new FormManager();
|
||||
// result = formManager.getReadyPrintItem(activity, taskId);
|
||||
} catch (Exception ex) {
|
||||
if (Global.IS_DEV)
|
||||
ex.printStackTrace();
|
||||
try {
|
||||
progressDialog.dismiss();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
errMessage = ex.getMessage();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(List<PrintResult> result) {
|
||||
if (progressDialog.isShowing()) {
|
||||
try {
|
||||
progressDialog.dismiss();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
if (errMessage != null) {
|
||||
DialogManager.showAlert(activity, DialogManager.TYPE_ERROR, errMessage, activity.getString(R.string.test_label));
|
||||
} else if (result == null || result.size() == 0) {
|
||||
DialogManager.showAlert(activity, DialogManager.TYPE_INFO, messageEmpty, activity.getString(R.string.test_label));
|
||||
} else {
|
||||
PrintActivity.setListOfPrint(result);
|
||||
Intent i = new Intent(this.activity, PrintActivity.class);
|
||||
this.activity.startActivity(i);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 2.3 KiB |
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ImageView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="200dp"
|
||||
android:src="@drawable/sample"/>
|
Binary file not shown.
After Width: | Height: | Size: 6.6 KiB |
|
@ -0,0 +1,47 @@
|
|||
package com.adins.mss.foundation.operators;
|
||||
|
||||
import androidx.annotation.Keep;
|
||||
|
||||
import com.gadberry.utility.expression.Argument;
|
||||
import com.gadberry.utility.expression.Expression;
|
||||
import com.gadberry.utility.expression.Function;
|
||||
import com.gadberry.utility.expression.InvalidArgumentsException;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by gigin.ginanjar on 14/09/2016.
|
||||
*/
|
||||
public class IfElseFunctionDummy extends Function {
|
||||
|
||||
@Keep
|
||||
public IfElseFunctionDummy(Expression expression) {
|
||||
super(expression);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void checkArgs(List<Argument> args) throws InvalidArgumentsException {
|
||||
if (args.size() < 3) {
|
||||
throw new InvalidArgumentsException(
|
||||
"IfElseOperator requires a minimum of three arguments."
|
||||
);
|
||||
}
|
||||
if (!args.get(0).isBoolean()) {
|
||||
throw new InvalidArgumentsException(
|
||||
"IfElseOperator only accepts boolean. Wrong type of arguments provided. Arg: "
|
||||
+ args.get(0).toString());
|
||||
}
|
||||
for (Argument arg : args) {
|
||||
if (arg.isNull()) {
|
||||
throw new InvalidArgumentsException(
|
||||
"IfElseOperator cannot accept null arguments. At least one argument provided was null.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Argument resolve() {
|
||||
Argument condArgument = new Argument(getArgument(0).toBoolean(), getResolver());
|
||||
return condArgument;
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
|
@ -0,0 +1,37 @@
|
|||
<?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="@color/gradient_start" />
|
||||
<stroke
|
||||
android:width="2dp"
|
||||
android:color="@android:color/transparent" />
|
||||
<corners
|
||||
android:radius="5dp" />
|
||||
<padding
|
||||
android:left="10dp"
|
||||
android:top="10dp"
|
||||
android:right="10dp"
|
||||
android:bottom="10dp" />
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<shape>
|
||||
<gradient
|
||||
android:startColor="@color/gradient_start"
|
||||
android:endColor="@color/gradient_end"
|
||||
android:angle="270" />
|
||||
<stroke
|
||||
android:width="2dp"
|
||||
android:color="@android:color/transparent" />
|
||||
<corners
|
||||
android:radius="5dp" />
|
||||
<padding
|
||||
android:left="10dp"
|
||||
android:top="10dp"
|
||||
android:right="10dp"
|
||||
android:bottom="10dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
|
@ -0,0 +1,210 @@
|
|||
package com.adins.mss.base;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.ActionBar;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.adins.mss.base.api.ChangePasswordApi;
|
||||
import com.adins.mss.base.api.ChangePasswordApiCallback;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.dynamicform.form.questions.QuestionsValidator;
|
||||
import com.adins.mss.base.errorhandler.ErrorMessageHandler;
|
||||
import com.adins.mss.base.errorhandler.IShowError;
|
||||
import com.adins.mss.base.login.DefaultLoginModel;
|
||||
import com.adins.mss.base.mainmenu.MainMenuHelper;
|
||||
import com.adins.mss.base.models.ChangePasswordRequestModel;
|
||||
import com.adins.mss.base.util.Utility;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.dao.User;
|
||||
import com.adins.mss.foundation.db.dataaccess.UserDataAccess;
|
||||
|
||||
import org.acra.ACRA;
|
||||
|
||||
/**
|
||||
* Created by adityapurwa on 30/03/15.
|
||||
*/
|
||||
public class ChangePasswordFragment extends Fragment implements IShowError {
|
||||
public static final String AS_ACTIVITY = "ChangePasswordActivity.AS_ACTIVITY";
|
||||
private EditText currentPassword;
|
||||
private EditText newPassword;
|
||||
private EditText retypePassword;
|
||||
private Button changePassword;
|
||||
ErrorMessageHandler errorMessageHandler;
|
||||
|
||||
//bong 7 apr 15 not override
|
||||
public static void onBackPressed() {
|
||||
//EMPTY
|
||||
}
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
@Override
|
||||
public void onAttach(Context activity) {
|
||||
super.onAttach(activity);
|
||||
ACRA.getErrorReporter().putCustomData("LAST_CLASS_ACCESSED", getClass().getSimpleName());
|
||||
getActivity().getActionBar().setTitle(getString(R.string.title_mn_changepassword));
|
||||
getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
|
||||
errorMessageHandler = new ErrorMessageHandler(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
Utility.freeMemory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
getActivity().getActionBar().setTitle(getString(R.string.title_mn_changepassword));
|
||||
getActivity().getActionBar().removeAllTabs();
|
||||
getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
|
||||
|
||||
View actionBar = view.findViewById(R.id.actionbar);
|
||||
final boolean asActivity = getArguments().getBoolean(AS_ACTIVITY);
|
||||
if (actionBar != null && asActivity) {
|
||||
actionBar.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
String pwdExp = getActivity().getIntent().getStringExtra(DefaultLoginModel.PWD_EXP);
|
||||
try {
|
||||
if (pwdExp.equals("1")) {
|
||||
errorMessageHandler.processError("",getActivity().getString(R.string.password_expired), ErrorMessageHandler.TOAST_TYPE);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
|
||||
|
||||
currentPassword = (EditText) view.findViewById(R.id.currentPassword);
|
||||
newPassword = (EditText) view.findViewById(R.id.newPassword);
|
||||
retypePassword = (EditText) view.findViewById(R.id.retypePassword);
|
||||
changePassword = (Button) view.findViewById(R.id.changePassword);
|
||||
|
||||
changePassword.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (currentPassword.getText() == null || currentPassword.getText().toString().equals("")) {
|
||||
currentPassword.setError(getActivity().getString(R.string.current_password_mandatory));
|
||||
}
|
||||
if (newPassword.getText() == null ||
|
||||
newPassword.getText().toString().equals("")) {
|
||||
newPassword.setError(getActivity().getString(R.string.new_password_mandatory));
|
||||
return;
|
||||
}
|
||||
if (!newPassword.getText().toString().equals(retypePassword.getText().toString())) {
|
||||
errorMessageHandler.processError(""
|
||||
,getActivity().getString(R.string.new_password_equal),
|
||||
ErrorMessageHandler.TOAST_TYPE);
|
||||
return;
|
||||
}
|
||||
if (newPassword.getText().toString().equals(currentPassword.getText().toString())) {
|
||||
errorMessageHandler.processError(""
|
||||
,getActivity().getString(R.string.new_password_different)
|
||||
, ErrorMessageHandler.TOAST_TYPE);
|
||||
}
|
||||
|
||||
ChangePasswordRequestModel request = new ChangePasswordRequestModel();
|
||||
request.setUuid_user(GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
request.setOld_password(currentPassword.getText().toString());
|
||||
request.setNew_password(newPassword.getText().toString());
|
||||
request.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
|
||||
ChangePasswordApi api = new ChangePasswordApi(getActivity());
|
||||
api.setCallback(new ChangePasswordApiCallback() {
|
||||
@Override
|
||||
public void onFailed(String message) {
|
||||
try {
|
||||
errorMessageHandler.processError(getActivity().getString(R.string.warning_capital)
|
||||
,message
|
||||
, ErrorMessageHandler.TOAST_TYPE);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
errorMessageHandler.processError("","Change Password Error", ErrorMessageHandler.TOAST_TYPE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
Toast.makeText(getActivity(), getActivity().getString(R.string.password_changed), Toast.LENGTH_LONG).show();
|
||||
if (!asActivity) {
|
||||
User user = GlobalData.getSharedGlobalData().getUser();
|
||||
user.setPassword(newPassword.getText().toString());
|
||||
UserDataAccess.addOrReplace(getActivity(), user);
|
||||
MainMenuHelper.doBackFragment(getActivity());
|
||||
} else {
|
||||
User user = GlobalData.getSharedGlobalData().getUser();
|
||||
user.setPassword(newPassword.getText().toString());
|
||||
UserDataAccess.addOrReplace(getActivity(), user);
|
||||
goToSynchronize();
|
||||
Global.syncIntent = null;
|
||||
getActivity().finish();
|
||||
|
||||
}
|
||||
clear();
|
||||
}
|
||||
});
|
||||
|
||||
api.execute(request);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void clear() {
|
||||
currentPassword.setText("");
|
||||
newPassword.setText("");
|
||||
retypePassword.setText("");
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
return inflater.inflate(R.layout.fragment_change_password, container, false);
|
||||
}
|
||||
|
||||
public boolean checkRegex(EditText editText) {
|
||||
String regex = "^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$";
|
||||
String answer = editText.getText().toString().trim();
|
||||
if ( !answer.isEmpty()) {
|
||||
if (QuestionsValidator.regexIsMatch(answer, regex)) {
|
||||
return true;
|
||||
} else {
|
||||
editText.setError(getActivity().getString(R.string.alpha_numeric_warning));
|
||||
Toast.makeText(getActivity(), getActivity().getString(R.string.input_not_valid), Toast.LENGTH_SHORT).show();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private void goToSynchronize() {
|
||||
if (Global.syncIntent != null) {
|
||||
Intent syncIntent = Global.syncIntent;
|
||||
startActivity(syncIntent);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showError(String errorSubject, String errorMsg, int notifType) {
|
||||
if(notifType == ErrorMessageHandler.TOAST_TYPE){
|
||||
if(errorSubject == null || errorSubject.equals(""))
|
||||
Toast.makeText(getActivity(), errorMsg, Toast.LENGTH_SHORT).show();
|
||||
else {
|
||||
Toast.makeText(getActivity(), errorSubject+": "+errorMsg, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
|
@ -0,0 +1,76 @@
|
|||
package com.adins.mss.coll.networks.senders;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.AsyncTask;
|
||||
import android.util.Log;
|
||||
|
||||
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.foundation.camerainapp.helper.Logger;
|
||||
import com.adins.mss.foundation.http.HttpConnectionResult;
|
||||
import com.adins.mss.foundation.http.HttpCryptedConnection;
|
||||
import com.adins.mss.foundation.http.MssRequestType;
|
||||
import com.google.firebase.perf.FirebasePerformance;
|
||||
import com.google.firebase.perf.metrics.HttpMetric;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
|
||||
/**
|
||||
* Created by angga.permadi on 3/3/2016.
|
||||
*/
|
||||
public abstract class DataTask<Params, Progress, Result> extends AsyncTask<Params, Progress, Result>
|
||||
{
|
||||
protected String errorMessage;
|
||||
private MssRequestType entity;
|
||||
private WeakReference<Context> context;
|
||||
|
||||
public DataTask(Context context, MssRequestType entity)
|
||||
{
|
||||
this.context = new WeakReference<Context>(context);
|
||||
this.entity = entity;
|
||||
}
|
||||
|
||||
@SafeVarargs
|
||||
@Override
|
||||
protected final Result doInBackground(Params... params)
|
||||
{
|
||||
entity.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
HttpCryptedConnection httpConn = new HttpCryptedConnection(context.get(),
|
||||
GlobalData.getSharedGlobalData().isEncrypt(), GlobalData.getSharedGlobalData().isDecrypt());
|
||||
HttpConnectionResult serverResult;
|
||||
|
||||
HttpMetric networkMetric =
|
||||
FirebasePerformance.getInstance().newHttpMetric(getUrl(), FirebasePerformance.HttpMethod.POST);
|
||||
Utility.metricStart(networkMetric,GsonHelper.toJson(entity));
|
||||
|
||||
try {
|
||||
serverResult = httpConn.requestToServer(getUrl(), GsonHelper.toJson(entity), Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
Utility.metricStop(networkMetric, serverResult);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
errorMessage = e.getMessage();
|
||||
return null;
|
||||
}
|
||||
|
||||
return onBackgroundResult(serverResult);
|
||||
}
|
||||
|
||||
protected void onDestroy()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void log(String message)
|
||||
{
|
||||
Logger.d(getClass().getSimpleName(), message);
|
||||
}
|
||||
|
||||
protected abstract Result onBackgroundResult(HttpConnectionResult serverResult);
|
||||
|
||||
protected abstract String getUrl();
|
||||
}
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 3.5 KiB |
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
|
@ -0,0 +1,202 @@
|
|||
package com.adins.mss.odr.accounts;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import com.adins.mss.base.dynamicform.form.ScrollingLinearLayoutManager;
|
||||
import com.adins.mss.base.dynamicform.form.questions.viewholder.ExpandableRecyclerView;
|
||||
import com.adins.mss.base.todo.form.GetSchemeTask;
|
||||
import com.adins.mss.base.util.Utility;
|
||||
import com.adins.mss.dao.Account;
|
||||
import com.adins.mss.foundation.db.dataaccess.AccountDataAccess;
|
||||
import com.adins.mss.odr.MONewTaskActivity;
|
||||
import com.adins.mss.odr.R;
|
||||
import com.adins.mss.odr.accounts.adapter.AccountButtonAdapter;
|
||||
import com.adins.mss.odr.accounts.adapter.AccountButtonOpportunitiesAdapter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* Created by muhammad.aap on 11/27/2018.
|
||||
*/
|
||||
|
||||
public class AccountDetailFragment extends Fragment {
|
||||
private String uuidAccount;
|
||||
private Account account;
|
||||
private EditText txtAddress;
|
||||
private EditText txtPhone1;
|
||||
private EditText txtPhone2;
|
||||
private EditText txtPhone3;
|
||||
private Button btnNewProspect;
|
||||
ExpandableRecyclerView qRecyclerView;
|
||||
public static AccountButtonAdapter buttonOppAdapter;
|
||||
//private ExpandableListView btnRecyclerViewOpportunities;
|
||||
List<String> listDataHeader;
|
||||
HashMap<String, List<String>> listDataChild;
|
||||
AccountButtonOpportunitiesAdapter listAdapter;
|
||||
// public static AdapterBaru questionAdapter;
|
||||
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
setHasOptionsMenu(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
Utility.freeMemory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.fragment_account_detail, container, false);
|
||||
Bundle bundle = getArguments();
|
||||
|
||||
String uuidAccount = bundle.getString("uuidAccount");
|
||||
account = AccountDataAccess.getOne(getActivity(), uuidAccount);
|
||||
|
||||
txtAddress = (EditText) view.findViewById(R.id.txtAddressAccDetail);
|
||||
txtPhone1 = (EditText) view.findViewById(R.id.txtNumber1Acc);
|
||||
txtPhone2 = (EditText) view.findViewById(R.id.txtNumber2Acc);
|
||||
txtPhone3 = (EditText) view.findViewById(R.id.txtNumber3Acc);
|
||||
btnNewProspect = (Button) view.findViewById(R.id.btnNewProspectAcc);
|
||||
// btnRecyclerViewOpportunities = (ExpandableListView) view.findViewById(R.id.btnRecyclerViewOpportunitiesAcc);
|
||||
|
||||
txtAddress.setText(account.getAccount_address());
|
||||
txtPhone1.setText(account.getAccount_phone_1());
|
||||
|
||||
if (account.getAccount_phone_2() != null && !account.getAccount_phone_2().isEmpty())
|
||||
txtPhone2.setText(account.getAccount_phone_2());
|
||||
|
||||
//if (account.getAccount_phone_3() != null && !account.getAccount_phone_3().isEmpty())
|
||||
// txtPhone3.setText(account.getAccount_phone_3());
|
||||
|
||||
btnNewProspect.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
GetSchemeTask task = new GetSchemeTask(getActivity(), new MONewTaskActivity(), true);
|
||||
task.execute();
|
||||
}
|
||||
});
|
||||
|
||||
// questionAdapter = new QuestionViewAdapter(getActivity(), qRecyclerView, listOfQuestionGroup, listOfQuestionBean, this);
|
||||
// btnRecyclerViewOpportunities.setAdapter(questionAdapter);
|
||||
|
||||
// preparing list data
|
||||
prepareListData();
|
||||
|
||||
listAdapter = new AccountButtonOpportunitiesAdapter(getActivity(), listDataHeader, listDataChild);
|
||||
|
||||
// setting list adapter
|
||||
// btnRecyclerViewOpportunities.setAdapter(listAdapter);
|
||||
//
|
||||
// // Listview Group click listener
|
||||
// btnRecyclerViewOpportunities.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
|
||||
//
|
||||
// @Override
|
||||
// public boolean onGroupClick(ExpandableListView parent, View v,
|
||||
// int groupPosition, long id) {
|
||||
// // Toast.makeText(getApplicationContext(),
|
||||
// // "Group Clicked " + listDataHeader.get(groupPosition),
|
||||
// // Toast.LENGTH_SHORT).show();
|
||||
// return false;
|
||||
// }
|
||||
// });
|
||||
//
|
||||
// // Listview Group expanded listener
|
||||
// btnRecyclerViewOpportunities.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {
|
||||
//
|
||||
// @Override
|
||||
// public void onGroupExpand(int groupPosition) {
|
||||
// Toast.makeText(getActivity(),
|
||||
// listDataHeader.get(groupPosition) + " Expanded",
|
||||
// Toast.LENGTH_SHORT).show();
|
||||
// }
|
||||
// });
|
||||
//
|
||||
// // Listview Group collasped listener
|
||||
// btnRecyclerViewOpportunities.setOnGroupCollapseListener(new ExpandableListView.OnGroupCollapseListener() {
|
||||
//
|
||||
// @Override
|
||||
// public void onGroupCollapse(int groupPosition) {
|
||||
// Toast.makeText(getActivity(),
|
||||
// listDataHeader.get(groupPosition) + " Collapsed",
|
||||
// Toast.LENGTH_SHORT).show();
|
||||
//
|
||||
// }
|
||||
// });
|
||||
//
|
||||
// // Listview on child click listener
|
||||
// btnRecyclerViewOpportunities.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
|
||||
//
|
||||
// @Override
|
||||
// public boolean onChildClick(ExpandableListView parent, View v,
|
||||
// int groupPosition, int childPosition, long id) {
|
||||
// // TODO Auto-generated method stub
|
||||
// Toast.makeText(
|
||||
// getActivity(),
|
||||
// listDataHeader.get(groupPosition)
|
||||
// + " : "
|
||||
// + listDataChild.get(
|
||||
// listDataHeader.get(groupPosition)).get(
|
||||
// childPosition), Toast.LENGTH_SHORT)
|
||||
// .show();
|
||||
// return false;
|
||||
// }
|
||||
// });
|
||||
|
||||
if (view instanceof RelativeLayout) {
|
||||
Context context = view.getContext();
|
||||
qRecyclerView = (ExpandableRecyclerView) view.findViewById(R.id.btnOpportunities);
|
||||
|
||||
int duration = getResources().getInteger(com.adins.mss.base.R.integer.scroll_duration);
|
||||
qRecyclerView.setLayoutManager(new ScrollingLinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false, duration));
|
||||
|
||||
|
||||
// buttonOppAdapter = new AccountButtonAdapter(getActivity(), qRecyclerView, listOfQuestionBean, this);
|
||||
qRecyclerView.setAdapter(buttonOppAdapter);
|
||||
}
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
private void prepareListData() {
|
||||
listDataHeader = new ArrayList<String>();
|
||||
listDataChild = new HashMap<String, List<String>>();
|
||||
listDataHeader.add("Opportunities");
|
||||
|
||||
List<String> nowShowing = new ArrayList<String>();
|
||||
nowShowing.add("The Conjuring");
|
||||
nowShowing.add("Despicable Me 2");
|
||||
nowShowing.add("Turbo");
|
||||
nowShowing.add("Grown Ups 2");
|
||||
nowShowing.add("Red 2");
|
||||
nowShowing.add("The Wolverine");
|
||||
|
||||
listDataChild.put(listDataHeader.get(0), nowShowing);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
getActivity().setTitle(getString(com.adins.mss.base.R.string.header_mn_account_detail));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
package com.adins.mss.coll;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.adins.mss.base.SynchronizeActivity;
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
import com.google.firebase.perf.FirebasePerformance;
|
||||
import com.google.firebase.perf.metrics.Trace;
|
||||
|
||||
public class MCSynchronizeActivity extends SynchronizeActivity{
|
||||
|
||||
private Trace synchronizeCollTrace;
|
||||
private FirebaseAnalytics screenName;
|
||||
|
||||
@Override
|
||||
protected Intent getIntentMainMenu() {
|
||||
// TODO Auto-generated method stub
|
||||
return new Intent(this, NewMCMainActivity.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
screenName = FirebaseAnalytics.getInstance(this);
|
||||
//Firebase custome trace
|
||||
synchronizeCollTrace = FirebasePerformance.getInstance().newTrace(getString(R.string.synchronize_trace_coll));
|
||||
activity = this;
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
synchronizeCollTrace.start();
|
||||
//Set Firebase screen name
|
||||
screenName.setCurrentScreen(this, getString(R.string.screen_name_coll_synchronize), null);
|
||||
super.onResume();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
synchronizeCollTrace.stop();
|
||||
super.onPause();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/tv_white">
|
||||
<ScrollView android:layout_width="match_parent" android:layout_height="fill_parent">
|
||||
<LinearLayout android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:padding="8dp">
|
||||
<TextView android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/installment_schedule_detail"
|
||||
android:textStyle="bold"
|
||||
android:textSize="24sp"/>
|
||||
|
||||
<HorizontalScrollView
|
||||
android:id="@+id/horizontalScrollView1"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fillViewport="true">
|
||||
<TableLayout android:layout_width="match_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:paddingTop="8dp"
|
||||
android:stretchColumns="2"
|
||||
android:id="@+id/tablePaymentDetails">
|
||||
<TableRow android:layout_width="match_parent" android:layout_height="wrap_content"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:background="@drawable/spinner_background">
|
||||
<TextView android:text="@string/label_no"
|
||||
android:textSize="12sp"
|
||||
android:paddingRight="6dp"
|
||||
android:paddingLeft="6dp"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/tv_white"
|
||||
android:textStyle="bold"/>
|
||||
<TextView android:text="@string/label_field"
|
||||
android:textSize="12sp"
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingRight="6dp"
|
||||
android:minWidth="150dp"
|
||||
android:textColor="@color/tv_white"
|
||||
android:textStyle="bold"/>
|
||||
<TextView android:text="@string/label_value"
|
||||
android:textSize="12sp"
|
||||
android:paddingLeft="6dp"
|
||||
android:paddingRight="6dp"
|
||||
android:textColor="@color/tv_white"
|
||||
android:textStyle="bold"/>
|
||||
</TableRow>
|
||||
</TableLayout>
|
||||
</HorizontalScrollView>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
</LinearLayout>
|
|
@ -0,0 +1,538 @@
|
|||
package com.adins.mss.coll.dashboardcollection;
|
||||
|
||||
import android.app.Application;
|
||||
import android.database.Cursor;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.util.GsonHelper;
|
||||
import com.adins.mss.base.util.Utility;
|
||||
import com.adins.mss.coll.dashboardcollection.model.CollResultDetail;
|
||||
import com.adins.mss.coll.models.ReportSummaryResponse;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.foundation.db.DaoOpenHelper;
|
||||
import com.adins.mss.foundation.http.HttpConnectionResult;
|
||||
import com.adins.mss.foundation.http.HttpCryptedConnection;
|
||||
import com.adins.mss.foundation.http.MssRequestType;
|
||||
import com.google.firebase.perf.FirebasePerformance;
|
||||
import com.google.firebase.perf.metrics.HttpMetric;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonParseException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import de.greenrobot.dao.database.Database;
|
||||
|
||||
public class DashboardCollDataSource implements IDashboardCollDataSource {
|
||||
|
||||
private Application context;
|
||||
|
||||
private String uuidUser;
|
||||
private Database database;
|
||||
private Handler handler;
|
||||
|
||||
public DashboardCollDataSource(Application application) {
|
||||
context = application;
|
||||
handler = new Handler(Looper.getMainLooper());
|
||||
database = DaoOpenHelper.getDb(context);
|
||||
uuidUser = GlobalData.getSharedGlobalData().getUser().getUuid_user();
|
||||
}
|
||||
|
||||
private void postToUIThread(Runnable runnable){
|
||||
handler.post(runnable);
|
||||
}
|
||||
|
||||
public int getTotalOutstandingTask() {
|
||||
int total = 0;
|
||||
String rawQuery;
|
||||
if(!Global.PLAN_TASK_ENABLED){
|
||||
rawQuery = "SELECT COUNT(STATUS) FROM TR_TASK_H " +
|
||||
"WHERE UUID_USER = ? "+
|
||||
"AND ( STATUS = 'New' OR STATUS = 'Download')";
|
||||
}
|
||||
else {
|
||||
rawQuery = "SELECT count(taskh.STATUS) FROM TR_TASK_H taskh " +
|
||||
" inner join tr_plan_task planTask on planTask.UUID_TASK_H = taskh.UUID_TASK_H " +
|
||||
" WHERE taskh.UUID_USER = ? " +
|
||||
" AND taskh.STATUS in ('New','Download') " +
|
||||
" AND planTask.PLAN_STATUS in ('Started','Planned')";
|
||||
|
||||
}
|
||||
|
||||
Cursor cursor = database.rawQuery(rawQuery,new String[]{uuidUser});
|
||||
if(cursor == null)
|
||||
return total;
|
||||
|
||||
if(cursor.moveToFirst()){
|
||||
total = cursor.getInt(0);
|
||||
}
|
||||
cursor.close();
|
||||
|
||||
return total;
|
||||
}
|
||||
|
||||
public double getOutstandingAmount() {
|
||||
double total = 0;
|
||||
String rawQuery;
|
||||
if(!Global.PLAN_TASK_ENABLED){
|
||||
rawQuery = "SELECT sum(tr_task_d.TEXT_ANSWER) FROM (" +
|
||||
" select *,max(assignment_date) from tr_task_h" +
|
||||
" group by appl_no" +
|
||||
") TR_TASK_H " +
|
||||
" INNER JOIN TR_TASK_D ON TR_TASK_H.UUID_TASK_H = TR_TASK_D.UUID_TASK_H " +
|
||||
" INNER JOIN MS_QUESTIONSET ON MS_QUESTIONSET.QUESTION_ID = TR_TASK_D.QUESTION_ID " +
|
||||
" WHERE " +
|
||||
" TR_TASK_H.UUID_USER = ? "+
|
||||
" AND tr_task_h.FORM_VERSION = ms_questionset.FORM_VERSION" +
|
||||
" AND tr_task_h.STATUS in ('New','Download')" +
|
||||
" AND MS_QUESTIONSET.TAG = 'TOTAL TAGIHAN' ";
|
||||
}
|
||||
else {
|
||||
rawQuery = "SELECT sum(tr_task_d.TEXT_ANSWER) FROM (" +
|
||||
" select *,max(assignment_date) from tr_task_h" +
|
||||
" group by appl_no" +
|
||||
") TR_TASK_H " +
|
||||
" INNER JOIN TR_TASK_D ON TR_TASK_H.UUID_TASK_H = TR_TASK_D.UUID_TASK_H " +
|
||||
" INNER JOIN TR_PLAN_TASK ON TR_TASK_H.UUID_TASK_H = TR_PLAN_TASK.UUID_TASK_H " +
|
||||
" INNER JOIN MS_QUESTIONSET ON MS_QUESTIONSET.QUESTION_ID = TR_TASK_D.QUESTION_ID " +
|
||||
" WHERE " +
|
||||
" TR_TASK_H.UUID_USER = ? "+
|
||||
" AND tr_task_h.FORM_VERSION = ms_questionset.FORM_VERSION" +
|
||||
" AND tr_task_h.STATUS in ('New','Download')" +
|
||||
" AND MS_QUESTIONSET.TAG = 'TOTAL TAGIHAN' " +
|
||||
" AND TR_PLAN_TASK.PLAN_STATUS in ('Started','Planned')";
|
||||
}
|
||||
Cursor cursor = database.rawQuery(rawQuery,new String[]{uuidUser});
|
||||
if(cursor == null)
|
||||
return total;
|
||||
|
||||
if(cursor.moveToFirst()){
|
||||
total = cursor.getDouble(0);
|
||||
}
|
||||
cursor.close();
|
||||
|
||||
return total;
|
||||
}
|
||||
|
||||
public double getTotalAmountCollected() {
|
||||
double totalCollected = 0;
|
||||
String rawQuery = "SELECT sum(tr_task_d.TEXT_ANSWER) FROM (" +
|
||||
" select *,max(assignment_date) from tr_task_h " +
|
||||
" group by appl_no" +
|
||||
" ) TR_TASK_H " +
|
||||
" INNER JOIN TR_TASK_D ON TR_TASK_H.UUID_TASK_H = TR_TASK_D.UUID_TASK_H " +
|
||||
" INNER JOIN MS_QUESTIONSET ON MS_QUESTIONSET.QUESTION_ID = TR_TASK_D.QUESTION_ID " +
|
||||
" WHERE " +
|
||||
" TR_TASK_H.UUID_USER = ? "+
|
||||
" and TR_TASK_H.STATUS = 'Sent' " +
|
||||
" and tr_task_h.FORM_VERSION = ms_questionset.FORM_VERSION " +
|
||||
" AND MS_QUESTIONSET.TAG = 'TOTAL BAYAR' ";
|
||||
Cursor cursor = database.rawQuery(rawQuery,new String[]{uuidUser});
|
||||
if(cursor == null)
|
||||
return totalCollected;
|
||||
|
||||
if(cursor.moveToFirst()){
|
||||
totalCollected = cursor.getDouble(0);
|
||||
}
|
||||
cursor.close();
|
||||
|
||||
return totalCollected;
|
||||
}
|
||||
|
||||
public double getTotalAmountToCollect() {
|
||||
double collectedAmount = getTotalAmountCollected();
|
||||
double toCollectAmount = 0;
|
||||
|
||||
double total = 0;
|
||||
String rawQuery = "SELECT sum(tr_task_d.TEXT_ANSWER) FROM (" +
|
||||
" select *,max(assignment_date) from tr_task_h" +
|
||||
" group by appl_no" +
|
||||
") TR_TASK_H " +
|
||||
" INNER JOIN TR_TASK_D ON TR_TASK_H.UUID_TASK_H = TR_TASK_D.UUID_TASK_H " +
|
||||
" INNER JOIN MS_QUESTIONSET ON MS_QUESTIONSET.QUESTION_ID = TR_TASK_D.QUESTION_ID " +
|
||||
" WHERE " +
|
||||
" TR_TASK_H.UUID_USER = ? "+
|
||||
" AND tr_task_h.FORM_VERSION = ms_questionset.FORM_VERSION" +
|
||||
" AND MS_QUESTIONSET.TAG = 'TOTAL TAGIHAN' ";
|
||||
Cursor cursor = database.rawQuery(rawQuery,new String[]{uuidUser});
|
||||
if(cursor == null)
|
||||
return toCollectAmount;
|
||||
|
||||
if(cursor.moveToFirst()){
|
||||
total = cursor.getDouble(0);
|
||||
toCollectAmount = total - collectedAmount;
|
||||
}
|
||||
cursor.close();
|
||||
|
||||
return toCollectAmount;
|
||||
}
|
||||
|
||||
public List<CollResultDetail> getTaskCollectedDetails(){
|
||||
List<CollResultDetail> results = new ArrayList<>();
|
||||
|
||||
String rawQuery = "select tr_task_h.APPL_NO agrNo,tr_task_h.CUSTOMER_NAME custName,tr_task_d.TEXT_ANSWER " +
|
||||
"from (" +
|
||||
" select *,max(assignment_date) from tr_task_h" +
|
||||
" group by appl_no" +
|
||||
") tr_task_h " +
|
||||
"inner join tr_task_d on tr_task_h.UUID_TASK_H = tr_task_d.UUID_TASK_H " +
|
||||
"inner join ms_questionset on ms_questionset.QUESTION_ID = tr_task_d.QUESTION_ID " +
|
||||
"where tr_task_h.STATUS = 'Sent' " +
|
||||
" and TR_TASK_H.UUID_USER = ? "+
|
||||
" and tr_task_h.FORM_VERSION = ms_questionset.FORM_VERSION " +
|
||||
" and ms_questionset.TAG = 'TOTAL BAYAR' ";
|
||||
Cursor cursor = database.rawQuery(rawQuery,new String[]{uuidUser});
|
||||
if(cursor == null)
|
||||
return results;
|
||||
|
||||
while (cursor.moveToNext() && cursor.getCount() > 0){
|
||||
String agrNo = cursor.getString(0);
|
||||
String custName = cursor.getString(1);
|
||||
String result = cursor.getString(2);
|
||||
results.add(new CollResultDetail(CollResultDetail.COLLECTED_TYPE,agrNo,custName,result));
|
||||
}
|
||||
cursor.close();
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
public List<CollResultDetail> getTaskPTPDetails(){
|
||||
List<CollResultDetail> results = new ArrayList<>();
|
||||
|
||||
String rawQuery = "select tr_task_h.APPL_NO,tr_task_h.CUSTOMER_NAME,tr_task_d.TEXT_ANSWER " +
|
||||
"from (" +
|
||||
" select *,max(assignment_date) from tr_task_h" +
|
||||
" group by appl_no" +
|
||||
") tr_task_h " +
|
||||
"inner join tr_task_d on tr_task_h.UUID_TASK_H = tr_task_d.UUID_TASK_H " +
|
||||
"inner join ms_questionset on ms_questionset.QUESTION_ID = tr_task_d.QUESTION_ID " +
|
||||
"where tr_task_h.STATUS = 'Sent' " +
|
||||
" and TR_TASK_H.UUID_USER = ? "+
|
||||
" and tr_task_h.FORM_VERSION = ms_questionset.FORM_VERSION " +
|
||||
" and ms_questionset.TAG = 'PTP DATE' ";
|
||||
Cursor cursor = database.rawQuery(rawQuery,new String[]{uuidUser});
|
||||
if(cursor == null)
|
||||
return results;
|
||||
|
||||
while (cursor.moveToNext() && cursor.getCount() > 0){
|
||||
String agrNo = cursor.getString(0);
|
||||
String custName = cursor.getString(1);
|
||||
String result = cursor.getString(2);
|
||||
results.add(new CollResultDetail(CollResultDetail.PTP_TYPE,agrNo,custName,result));
|
||||
}
|
||||
cursor.close();
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
public List<CollResultDetail> getTaskFailedDetails(){
|
||||
List<CollResultDetail> results = new ArrayList<>();
|
||||
|
||||
String rawQuery = "select th.appl_no,th.customer_name,lov.value " +
|
||||
"from (" +
|
||||
" select *,max(assignment_date) from tr_task_h" +
|
||||
" group by appl_no" +
|
||||
") th " +
|
||||
"inner join tr_task_d td on th.UUID_TASK_H = td.UUID_TASK_H " +
|
||||
"inner join ms_questionset qs on qs.QUESTION_ID = td.QUESTION_ID " +
|
||||
"inner join ms_lookup lov on lov.code = td.lov " +
|
||||
"where th.STATUS = 'Sent'" +
|
||||
" and th.UUID_USER = ? "+
|
||||
" and th.FORM_VERSION = qs.FORM_VERSION " +
|
||||
" and qs.TAG = 'COLLECTION RESULT' " +
|
||||
" and td.lov not in ('PAID','PTP','CRSIT01','CRSIT001','CRSIT002') ";
|
||||
Cursor cursor = database.rawQuery(rawQuery,new String[]{uuidUser});
|
||||
if(cursor == null)
|
||||
return results;
|
||||
|
||||
while (cursor.moveToNext() && cursor.getCount() > 0){
|
||||
String agrNo = cursor.getString(0);
|
||||
String custName = cursor.getString(1);
|
||||
String result = cursor.getString(2);
|
||||
results.add(new CollResultDetail(CollResultDetail.FAILED_TYPE,agrNo,custName,result));
|
||||
}
|
||||
cursor.close();
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getTotalOutstandingTaskAsync(final DashboardResultListener<Integer> listener) {
|
||||
Thread thread = new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
if(listener == null)
|
||||
return;
|
||||
|
||||
final int result = getTotalOutstandingTask();
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onResult(result);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (final Exception e){
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onError(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
thread.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getOutstandingAmountAsync(final DashboardResultListener<Double> listener) {
|
||||
Thread thread = new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
if(listener == null)
|
||||
return;
|
||||
|
||||
final double result = getOutstandingAmount();
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onResult(result);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (final Exception e){
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onError(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
thread.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getTotalAmountCollectedAsync(final DashboardResultListener<Double> listener) {
|
||||
Thread thread = new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
if(listener == null)
|
||||
return;
|
||||
|
||||
final double result = getTotalAmountCollected();
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onResult(result);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (final Exception e){
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onError(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
thread.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getTotalAmountToCollectAsync(final DashboardResultListener<Double> listener) {
|
||||
Thread thread = new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
if(listener == null)
|
||||
return;
|
||||
|
||||
final double result = getTotalAmountToCollect();
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onResult(result);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (final Exception e){
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onError(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
thread.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getTaskCollectedDetailsAsync(final DashboardResultListener<List<CollResultDetail>> listener) {
|
||||
Thread thread = new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
if(listener == null)
|
||||
return;
|
||||
|
||||
final List<CollResultDetail> result = getTaskCollectedDetails();
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onResult(result);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (final Exception e){
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onError(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
thread.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getTaskPTPDetailsAsync(final DashboardResultListener<List<CollResultDetail>> listener) {
|
||||
Thread thread = new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
if(listener == null)
|
||||
return;
|
||||
|
||||
final List<CollResultDetail> result = getTaskPTPDetails();
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onResult(result);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (final Exception e){
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onError(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
thread.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getTaskFailedDetailsAsync(final DashboardResultListener<List<CollResultDetail>> listener) {
|
||||
Thread thread = new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
if(listener == null)
|
||||
return;
|
||||
|
||||
final List<CollResultDetail> result = getTaskFailedDetails();
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onResult(result);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (final Exception e){
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onError(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
thread.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void requestDashboardData(final DashboardResultListener<ReportSummaryResponse> listener) {
|
||||
Thread thread = new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
boolean encrypt = GlobalData.getSharedGlobalData().isEncrypt();
|
||||
boolean decrypt = GlobalData.getSharedGlobalData().isDecrypt();
|
||||
HttpCryptedConnection httpConn = new HttpCryptedConnection(context, encrypt, decrypt);
|
||||
Gson gson = new Gson();
|
||||
MssRequestType request = new MssRequestType();
|
||||
request.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
|
||||
String data = gson.toJson(request);
|
||||
|
||||
//Firebase Performance Trace HTTP Request
|
||||
HttpMetric networkMetric =
|
||||
FirebasePerformance.getInstance().newHttpMetric(GlobalData.getSharedGlobalData().getURL_GET_REPORTSUMMARY(), FirebasePerformance.HttpMethod.POST);
|
||||
Utility.metricStart(networkMetric, data);
|
||||
|
||||
try {
|
||||
final HttpConnectionResult result = httpConn.requestToServer(
|
||||
GlobalData.getSharedGlobalData().getURL_GET_REPORTSUMMARY(),
|
||||
data, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
Utility.metricStop(networkMetric, result);
|
||||
|
||||
if(result.getStatusCode() != 200){
|
||||
handler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onError(new Exception(result.getResult()));
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
final ReportSummaryResponse response = GsonHelper.fromJson(result.getResult(),ReportSummaryResponse.class);
|
||||
if(response.getStatus().getCode() != 0){
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onError(new Exception(response.getStatus().getMessage()));
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
//success
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onResult(response);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (final Exception e){
|
||||
e.printStackTrace();
|
||||
postToUIThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onError(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
thread.start();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,433 @@
|
|||
package com.adins.mss.odr;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.DatePickerDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewTreeObserver;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.AdapterView.OnItemSelectedListener;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.Button;
|
||||
import android.widget.DatePicker;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.adins.mss.base.util.Utility;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.foundation.UserHelp.UserHelp;
|
||||
import com.adins.mss.foundation.formatter.Formatter;
|
||||
import com.adins.mss.foundation.formatter.Tool;
|
||||
import com.adins.mss.odr.tool.Constants;
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
|
||||
import org.acra.ACRA;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
import static com.adins.mss.constant.Global.SHOW_USERHELP_DELAY_DEFAULT;
|
||||
|
||||
|
||||
public class CheckOrderActivity extends Fragment implements OnClickListener, OnItemSelectedListener{
|
||||
|
||||
class DateClickListener implements View.OnClickListener {
|
||||
private final EditText mTarget;
|
||||
private final Context mContext;
|
||||
|
||||
public DateClickListener(Context context, EditText target) {
|
||||
mContext = context;
|
||||
mTarget = target;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Calendar cal = Calendar.getInstance();
|
||||
DatePickerDialog dialog = new DatePickerDialog(mContext, new DatePickerDialog.OnDateSetListener() {
|
||||
@Override
|
||||
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
|
||||
mTarget.setText(dayOfMonth + "/" + Tool.appendZeroForDateTime(monthOfYear, true) + "/" + year);
|
||||
}
|
||||
}, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
|
||||
dialog.show();
|
||||
}
|
||||
}
|
||||
|
||||
public static final String keyCustName = "EXTRA_CUST_NAME_KEY";
|
||||
protected EditText txtStartDate;
|
||||
protected EditText txtEndDate;
|
||||
protected EditText txtNomorOrder;
|
||||
protected Spinner spinnerSearch;
|
||||
private EditText txtNamaCustomer;
|
||||
private String[] isiSearchBy;
|
||||
private Button btnSearch;
|
||||
private ImageView btnStartDate;
|
||||
private ImageView btnEndDate;
|
||||
private RelativeLayout byDateLayout;
|
||||
private LinearLayout byNomorLayout;
|
||||
protected View view;
|
||||
private LinearLayout byNamaLayout, container;
|
||||
private FirebaseAnalytics screenName;
|
||||
private com.google.android.material.bottomnavigation.BottomNavigationView bottomNav;
|
||||
|
||||
@Override
|
||||
public void onAttach(Context activity) {
|
||||
super.onAttach(activity);
|
||||
setHasOptionsMenu(true);
|
||||
}
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
bottomNav.getMenu().findItem(com.adins.mss.odr.R.id.taskListNav).setEnabled(true);
|
||||
Utility.freeMemory();
|
||||
}
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
super.onCreateView(inflater, container, savedInstanceState);
|
||||
screenName = FirebaseAnalytics.getInstance(getActivity());
|
||||
ACRA.getErrorReporter().putCustomData("LAST_CLASS_ACCESSED", getClass().getSimpleName());
|
||||
view = inflater.inflate(R.layout.check_order, container, false);
|
||||
getActivity().setTitle(R.string.title_mn_checkorder);
|
||||
txtStartDate = (EditText)view.findViewById(R.id.txtStartDate);
|
||||
txtEndDate = (EditText)view.findViewById(R.id.txtEndDate);
|
||||
txtNomorOrder = (EditText)view.findViewById(R.id.txtNomorOrder);
|
||||
txtNamaCustomer = (EditText) view.findViewById(R.id.txtCustomerName);
|
||||
btnSearch = (Button)view.findViewById(R.id.btnSearchOrder);
|
||||
btnStartDate =(ImageView)view.findViewById(R.id.btnStartDate);
|
||||
btnEndDate=(ImageView)view.findViewById(R.id.btnEndDate);
|
||||
spinnerSearch=(Spinner)view.findViewById(R.id.cbSearchBy);
|
||||
byDateLayout=(RelativeLayout) view.findViewById(R.id.byDate);
|
||||
byNomorLayout=(LinearLayout) view.findViewById(R.id.byNoOrder);
|
||||
byNamaLayout = (LinearLayout) view.findViewById(R.id.byCustName);
|
||||
bottomNav = getActivity().findViewById(com.adins.mss.odr.R.id.bottomNav);
|
||||
|
||||
btnStartDate.setOnClickListener(new DateClickListener(getActivity(), txtStartDate));
|
||||
btnEndDate.setOnClickListener(new DateClickListener(getActivity(), txtEndDate));
|
||||
|
||||
btnSearch.setOnClickListener(this);
|
||||
|
||||
this.container = view.findViewById(R.id.container);
|
||||
this.container.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
|
||||
@Override
|
||||
public void onGlobalLayout() {
|
||||
Handler handler = new Handler();
|
||||
handler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if(!UserHelp.isActive)
|
||||
UserHelp.showAllUserHelp(CheckOrderActivity.this.getActivity(),CheckOrderActivity.this.getClass().getSimpleName());
|
||||
}
|
||||
}, SHOW_USERHELP_DELAY_DEFAULT);
|
||||
}
|
||||
});
|
||||
isiSearchBy = this.getResources().getStringArray(R.array.cbSearchBy);
|
||||
// ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource(
|
||||
// getActivity(), R.array.cbSearchBy,
|
||||
// R.layout.spinner_style);
|
||||
ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(getActivity(), R.layout.spinner_style, R.id.text_spin, getResources().getStringArray(R.array.cbSearchBy)) {
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
TextView textView = (TextView) super.getView(position, convertView, parent);
|
||||
|
||||
textView.setTextColor(Color.WHITE);
|
||||
|
||||
return textView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getDropDownView(int position, View convertView, ViewGroup parent) {
|
||||
TextView textView = (TextView) super.getView(position, convertView, parent);
|
||||
|
||||
textView.setTextColor(Color.BLACK);
|
||||
|
||||
return textView;
|
||||
}
|
||||
};
|
||||
|
||||
// ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(getActivity(), R.layout.spinner_style, R.id.text_spin, R.array.cbSearchBy){
|
||||
//
|
||||
// @Override
|
||||
// public View getView(int position, View convertView, ViewGroup parent) {
|
||||
// TextView textView = (TextView) super.getView(position, convertView, parent);
|
||||
//
|
||||
// textView.setTextColor(Color.WHITE);
|
||||
//
|
||||
// return textView;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public View getDropDownView(int position, View convertView, ViewGroup parent){
|
||||
// // Cast the drop down items (popup items) as text view
|
||||
// TextView tv = (TextView) super.getDropDownView(position,convertView,parent);
|
||||
//
|
||||
// // Set the text color of drop down items
|
||||
// tv.setTextColor(Color.RED);
|
||||
//
|
||||
// // If this item is selected item
|
||||
//// if(position == mSelectedIndex){
|
||||
//// // Set spinner selected popup item's text color
|
||||
//// tv.setTextColor(Color.BLUE);
|
||||
//// }
|
||||
//
|
||||
// // Return the modified view
|
||||
// return tv;
|
||||
// }
|
||||
// };
|
||||
|
||||
spinnerSearch.setAdapter(adapter);
|
||||
spinnerSearch.setOnItemSelectedListener(this);
|
||||
|
||||
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume(){
|
||||
super.onResume();
|
||||
//Set Firebase screen name
|
||||
screenName.setCurrentScreen(getActivity(), getString(R.string.screen_name_check_order), null);
|
||||
bottomNav.getMenu().findItem(com.adins.mss.odr.R.id.taskListNav).setEnabled(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
Global.haveLogin = 1;
|
||||
}
|
||||
|
||||
protected void disableCheckOrderBtn(){
|
||||
bottomNav.getMenu().findItem(com.adins.mss.odr.R.id.taskListNav).setEnabled(true);
|
||||
}
|
||||
|
||||
protected Intent getNextActivityIntent(){
|
||||
// return new Intent(getActivity().getApplicationContext(), ResultActivity.class);
|
||||
bottomNav.getMenu().findItem(com.adins.mss.odr.R.id.taskListNav).setEnabled(true);
|
||||
return new Intent(getActivity().getApplicationContext(), ResultOrderActivity.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
// TODO Auto-generated method stub
|
||||
int id = v.getId();
|
||||
if(id==R.id.btnSearchOrder){
|
||||
StringBuffer errorMessage = new StringBuffer();
|
||||
if (spinnerSearch.getSelectedItemPosition()==0) {
|
||||
if (txtStartDate.getText().toString().length()==0){
|
||||
errorMessage.append(getString(R.string.start_date_required));
|
||||
}
|
||||
if(txtEndDate.getText().toString().length()==0){
|
||||
errorMessage.append(getString(R.string.end_date_required));
|
||||
}
|
||||
try {
|
||||
SimpleDateFormat f = new SimpleDateFormat(Global.DATE_STR_FORMAT);
|
||||
Date sDate,eDate;
|
||||
long sLong = 0;
|
||||
long eLong=0;
|
||||
try {
|
||||
sDate = f.parse(txtStartDate.getText().toString());
|
||||
eDate = f.parse(txtEndDate.getText().toString());
|
||||
eDate.setHours(23);
|
||||
eDate.setMinutes(59);
|
||||
eDate.setSeconds(59);
|
||||
sLong = sDate.getTime();
|
||||
eLong = eDate.getTime();
|
||||
} catch (ParseException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
long milisecond=eLong-sLong;
|
||||
if(milisecond>604799000){
|
||||
errorMessage.append(getString(R.string.data_range_not_allowed));
|
||||
}
|
||||
else if(milisecond<0){
|
||||
errorMessage.append(getString(R.string.input_not_valid));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
} else if (spinnerSearch.getSelectedItemPosition() == 1) {
|
||||
if(txtNomorOrder.getText().toString().length()==0){
|
||||
errorMessage.append(getString(R.string.nomor_order_rewuired));
|
||||
}
|
||||
} else if (spinnerSearch.getSelectedItemPosition() == 2) {
|
||||
if(txtNamaCustomer.getText().toString().length() == 0) {
|
||||
errorMessage.append(getString(R.string.cust_name_required));
|
||||
} else if (txtNamaCustomer.getText().toString().length() < 3){
|
||||
errorMessage.append(getString(R.string.cust_name_minimun_required));
|
||||
}
|
||||
}
|
||||
if(errorMessage!=null&&errorMessage.length()>0){
|
||||
Toast.makeText(getActivity(), errorMessage, Toast.LENGTH_SHORT).show();
|
||||
}else{
|
||||
Intent nextActivity = getNextActivityIntent();
|
||||
|
||||
nextActivity.putExtra("startDate", txtStartDate.getText().toString());
|
||||
nextActivity.putExtra("endDate", txtEndDate.getText().toString());
|
||||
nextActivity.putExtra("nomorOrder", txtNomorOrder.getText().toString());
|
||||
nextActivity.putExtra(keyCustName, txtNamaCustomer.getText().toString());
|
||||
|
||||
startActivity(nextActivity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemSelected(AdapterView<?> parent, View v, int position,
|
||||
long id) {
|
||||
long itemSearchBy = spinnerSearch.getItemIdAtPosition(position);
|
||||
if (itemSearchBy == 1){
|
||||
byDateLayout.setVisibility(View.GONE);
|
||||
byNomorLayout.setVisibility(View.VISIBLE);
|
||||
byNamaLayout.setVisibility(View.GONE);
|
||||
} else if (itemSearchBy == 0){
|
||||
byDateLayout.setVisibility(View.VISIBLE);
|
||||
byNomorLayout.setVisibility(View.GONE);
|
||||
byNamaLayout.setVisibility(View.GONE);
|
||||
} else if (itemSearchBy == 2) {
|
||||
byDateLayout.setVisibility(View.GONE);
|
||||
byNomorLayout.setVisibility(View.GONE);
|
||||
byNamaLayout.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
txtStartDate.setText("");
|
||||
txtEndDate.setText("");
|
||||
txtNamaCustomer.setText("");
|
||||
txtNomorOrder.setText("");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNothingSelected(AdapterView<?> arg0) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if(item.getItemId() == R.id.mnGuide){
|
||||
if(!Global.BACKPRESS_RESTRICTION) {
|
||||
|
||||
Handler handler = new Handler();
|
||||
handler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (!UserHelp.isActive)
|
||||
UserHelp.showAllUserHelp(CheckOrderActivity.this.getActivity(), CheckOrderActivity.this.getClass().getSimpleName());
|
||||
}
|
||||
}, SHOW_USERHELP_DELAY_DEFAULT);
|
||||
container.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
|
||||
@Override
|
||||
public void onGlobalLayout() {
|
||||
if (!UserHelp.isActive)
|
||||
UserHelp.showAllUserHelp(CheckOrderActivity.this.getActivity(), CheckOrderActivity.this.getClass().getSimpleName());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
@SuppressLint("ValidFragment")
|
||||
public class DatePickerDialogCustom extends DialogFragment{
|
||||
|
||||
int id;
|
||||
String startDate ="";
|
||||
String endDate ="";
|
||||
private DatePickerDialog.OnDateSetListener mStartDateSetListener =
|
||||
new DatePickerDialog.OnDateSetListener() {
|
||||
|
||||
@Override
|
||||
public void onDateSet(DatePicker view, int year, int monthOfYear,
|
||||
int dayOfMonth) {
|
||||
String month = Tool.appendZeroForDateTime(monthOfYear, true);
|
||||
startDate = dayOfMonth + "/" + month + "/" + year;
|
||||
txtStartDate.setText(startDate);
|
||||
|
||||
}
|
||||
};
|
||||
private DatePickerDialog.OnDateSetListener mEndDateSetListener =
|
||||
new DatePickerDialog.OnDateSetListener() {
|
||||
|
||||
@Override
|
||||
public void onDateSet(DatePicker view, int year, int monthOfYear,
|
||||
int dayOfMonth) {
|
||||
String month = Tool.appendZeroForDateTime(monthOfYear, true);
|
||||
endDate = dayOfMonth + "/" + month + "/" + year;
|
||||
txtEndDate.setText(endDate);
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
String key = getArguments().getString(Constants.KEY_DATE);
|
||||
int id=0;
|
||||
if(key.equals(Constants.KEY_START_DATE))
|
||||
id = getArguments().getInt(Constants.KEY_START_DATE);
|
||||
else if(key.equals(Constants.KEY_END_DATE))
|
||||
id = getArguments().getInt(Constants.KEY_END_DATE);
|
||||
|
||||
return DatePickerDialog(id);
|
||||
}
|
||||
|
||||
public Dialog DatePickerDialog(int id){
|
||||
Date sysdate =new Date(System.currentTimeMillis());
|
||||
DatePickerDialog datePicker = null;
|
||||
String sdt = Formatter.formatDate(sysdate, "dd/MM/yyyy");
|
||||
String[] temp1 = sdt.split("/");
|
||||
final int DayOfMonth = Integer.parseInt(temp1[0]);
|
||||
final int Month = Integer.parseInt((temp1[1])) - 1;
|
||||
final int Year = Integer.parseInt(temp1[2]);
|
||||
if (id==Constants.START_DATE_DIALOG_ID) {
|
||||
datePicker = new DatePickerDialog(getActivity(), mStartDateSetListener, Year, Month, DayOfMonth)
|
||||
{
|
||||
@Override
|
||||
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth)
|
||||
{
|
||||
if (year > Year)
|
||||
view.updateDate(Year, Month, DayOfMonth);
|
||||
if (monthOfYear > Month && year == Year)
|
||||
view.updateDate(Year, Month, DayOfMonth);
|
||||
if (dayOfMonth > DayOfMonth && year == Year && monthOfYear == Month)
|
||||
view.updateDate(Year, Month, DayOfMonth);
|
||||
}
|
||||
};
|
||||
}
|
||||
else if (id==Constants.END_DATE_DIALOG_ID) {
|
||||
|
||||
datePicker = new DatePickerDialog(getActivity(), mEndDateSetListener, Year, Month, DayOfMonth)
|
||||
{
|
||||
@Override
|
||||
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth)
|
||||
{
|
||||
|
||||
if (year > Year)
|
||||
view.updateDate(Year, Month, DayOfMonth);
|
||||
if (monthOfYear > Month && year == Year)
|
||||
view.updateDate(Year, Month, DayOfMonth);
|
||||
if (dayOfMonth > DayOfMonth && year == Year && monthOfYear == Month)
|
||||
view.updateDate(Year, Month, DayOfMonth);
|
||||
}
|
||||
};
|
||||
}
|
||||
return datePicker;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue