add project adins

This commit is contained in:
Alfrid Sanjaya Leo Putra 2024-07-25 14:44:22 +07:00
commit f8f85d679d
5299 changed files with 625430 additions and 0 deletions

View file

@ -0,0 +1,139 @@
package com.adins.mss.base.dynamicform.form.questions.viewholder;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.adins.mss.base.R;
import com.adins.mss.base.dynamicform.form.models.LookupAnswerBean;
import com.adins.mss.base.dynamicform.form.questions.OnQuestionClickListener;
import com.adins.mss.base.dynamicform.form.questions.QuestionViewAdapter;
import java.util.List;
import static com.adins.mss.base.dynamicform.form.questions.QuestionViewAdapter.IsRvMobileQuestion;
import static com.adins.mss.base.dynamicform.form.questions.QuestionViewAdapter.isTextOnlineQuestion;
/**
* Created by gigin.ginanjar on 11/10/2016.
*/
public class LookupCriteriaViewAdapter extends RecyclerView.Adapter {
FragmentActivity mActivity;
List<LookupAnswerBean> beanList;
OnQuestionClickListener mListener;
public LookupCriteriaViewAdapter(FragmentActivity activity, List<LookupAnswerBean> beanList, OnQuestionClickListener listener) {
this.mActivity = activity;
this.beanList = beanList;
mListener = listener;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
if (QuestionViewAdapter.IsTextQuestion(viewType)) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_text_layout, parent, false);
return new TextQuestionViewHolder(view);
} else if (QuestionViewAdapter.IsDropdownQuestion(viewType)) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_dropdown_layout, parent, false);
return new DropdownQuestionViewHolder(view, mActivity);
} else if (QuestionViewAdapter.IsMultipleQuestion(viewType)) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_multiple_layout, parent, false);
return new MultipleQuestionViewHolder(view, mActivity);
} else if (QuestionViewAdapter.IsRadioQuestion(viewType)) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_radio_layout, parent, false);
return new RadioQuestionViewHolder(view, mActivity);
} else if (QuestionViewAdapter.IsDateTimeQuestion(viewType)) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_datetime_layout, parent, false);
return new DateTimeQuestionViewHolder(mActivity, view);
} else if (QuestionViewAdapter.IsTextWithSuggestionQuestion(viewType)) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_textwithsuggestion_layout, parent, false);
return new TextWithSuggestionQuestionViewHolder(view, mActivity);
} else if (QuestionViewAdapter.IsLookupQuestion(viewType)) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_lookup_layout, parent, false);
return new LookupQuestionViewHolder(view, mActivity, mListener);
} else if (QuestionViewAdapter.IsImageQuestion(viewType)) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_image_layout, parent, false);
return new ImageQuestionViewHolder(view, mActivity, mListener);
} else if (QuestionViewAdapter.IsLocationQuestion(viewType)) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_location_layout, parent, false);
return new LocationQuestionViewHolder(view, mActivity, mListener);
} else if (QuestionViewAdapter.IsDrawingQuestion(viewType)) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_drawing_layout, parent, false);
return new DrawingQuestionViewHolder(view, mActivity, mListener);
} else if (QuestionViewAdapter.IsValidationQuestion(viewType)) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_validation_layout, parent, false);
return new ValidationQuestionViewHolder(view, mActivity);
} else if (IsRvMobileQuestion(viewType)) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_digitalreceipt_layout, parent, false);
return new DigitalReceiptQuestionViewHolder(view, mActivity);
} else if(isTextOnlineQuestion(viewType)) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_text_online_layout, parent, false);
return new TextOnlineViewHolder(view, mActivity);
} else if (QuestionViewAdapter.IsLuOnlineQuestion(viewType)) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.question_lu_online_layout, parent, false);
return new LuOnlineQuestionViewHolder(view, mActivity);
}
return null;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder mHolder, int position) {
if (mHolder instanceof TextQuestionViewHolder) {
final TextQuestionViewHolder holder = (TextQuestionViewHolder) mHolder;
holder.bind(beanList.get(position), position + 1);
} else if (mHolder instanceof DropdownQuestionViewHolder) {
final DropdownQuestionViewHolder holder = (DropdownQuestionViewHolder) mHolder;
holder.bind(beanList.get(position), position + 1);
} else if (mHolder instanceof RadioQuestionViewHolder) {
final RadioQuestionViewHolder holder = (RadioQuestionViewHolder) mHolder;
holder.bind(beanList.get(position), position + 1);
} else if (mHolder instanceof MultipleQuestionViewHolder) {
final MultipleQuestionViewHolder holder = (MultipleQuestionViewHolder) mHolder;
holder.bind(beanList.get(position), position + 1);
} else if (mHolder instanceof TextWithSuggestionQuestionViewHolder) {
final TextWithSuggestionQuestionViewHolder holder = (TextWithSuggestionQuestionViewHolder) mHolder;
holder.bind(beanList.get(position), position + 1);
} else if (mHolder instanceof DateTimeQuestionViewHolder) {
final DateTimeQuestionViewHolder holder = (DateTimeQuestionViewHolder) mHolder;
holder.bind(beanList.get(position), position + 1);
} else if (mHolder instanceof LookupQuestionViewHolder) {
final LookupQuestionViewHolder holder = (LookupQuestionViewHolder) mHolder;
holder.bind(beanList.get(position), 0, position + 1);
} else if (mHolder instanceof LocationQuestionViewHolder) {
final LocationQuestionViewHolder holder = (LocationQuestionViewHolder) mHolder;
holder.bind(beanList.get(position), 0, position + 1);
} else if (mHolder instanceof ImageQuestionViewHolder) {
final ImageQuestionViewHolder holder = (ImageQuestionViewHolder) mHolder;
holder.bind(beanList.get(position), 0, position + 1);
} else if (mHolder instanceof DrawingQuestionViewHolder) {
final DrawingQuestionViewHolder holder = (DrawingQuestionViewHolder) mHolder;
holder.bind(beanList.get(position), 0, position + 1);
} else if (mHolder instanceof ValidationQuestionViewHolder) {
final ValidationQuestionViewHolder holder = (ValidationQuestionViewHolder) mHolder;
holder.bind(beanList.get(position), position + 1);
} else if(mHolder instanceof DigitalReceiptQuestionViewHolder) {
final DigitalReceiptQuestionViewHolder holder = (DigitalReceiptQuestionViewHolder) mHolder;
holder.bind(beanList.get(position), position + 1);
} else if (mHolder instanceof TextOnlineViewHolder) {
final TextOnlineViewHolder holder = (TextOnlineViewHolder) mHolder;
holder.bind(beanList.get(position), position + 1);
} else if (mHolder instanceof LuOnlineQuestionViewHolder) {
final LuOnlineQuestionViewHolder holder = (LuOnlineQuestionViewHolder) mHolder;
holder.bind(beanList.get(position), position + 1);
}
}
@Override
public int getItemCount() {
return beanList.size();
}
@Override
public int getItemViewType(int position) {
int viewType = Integer.valueOf(beanList.get(position).getAnswer_type());
return viewType;
}
}

View file

@ -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="#0ba0e9" />
<stroke
android:width="2dp"
android:color="@android:color/transparent" />
<corners
android:radius="0dp" />
<padding
android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="#0ba0e9"
android:endColor="#1e55c3"
android:angle="270" />
<stroke
android:width="2dp"
android:color="@android:color/transparent" />
<corners
android:radius="0dp" />
<padding
android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp" />
</shape>
</item>
</selector>

View file

@ -0,0 +1,141 @@
# Target URL
#url_main=http://app.ad-ins.com/adimobile/msswebservicessit/services/m/
#url_main=http://app.ad-ins.com/adimobile/msswebservicesdemo/services/m/
#url_main=http://mss-sit-svr.ad-ins.com:8080/msswebservicessit/services/m/
url_main=https://app.ad-ins.com/adimobile/bafmcsv3.cr.ws/services/m/
#url_main=https://app.ad-ins.com/adimobile/bafmcsv3.dev.ws/services/m/
url_serv_sync=user/sync
url_serv_tracking=tracking
url_serv_personalization=person
url_serv_location_history=user/updatelocationhistory
url_upload_avatar=user/updateavatar
url_loyalty_detail_point=user/detailpoint
#-------------------------
url_login=user/login
url_update_fcm=user/updatefcm
url_changepassword=user/changepassword
url_get_absensi=user/absensi
url_syncparam=sync/syncParam
url_sync_file=sync/datafiles
url_submitlastsync=sync/submitLastSync
url_syncparam_constraint=sync/syncParamConstraint
url_sync_param_success=sync/submitSyncParamSuccess
url_get_tasklist=task/retrievetasklist
url_refreshtask=task/refreshtask
url_submittask=task/submittask
url_submitopenreadtask=task/updatereadopentask
url_get_detailkompetisi=user/getdetailcompetition
url_get_logo=user/geticoncompetition
url_get_questionset=form/questionset
url_get_verification=form/retrieveVerificationForm
url_get_image=form/getimages
url_get_scheme=form/retrieveForm
url_get_svyperformance=task/surveyperformance
url_get_lookup=task/getUserAssign
url_get_list_reassignment=task/getHeaderTaskList
url_get_detail_reassignment=task/getDetailTask
url_get_list_assignment=task/getHeaderTaskList
url_get_detail_assignment=task/getDetailTask
url_get_detail_order=task/getDetailTask
url_get_detail_task=task/getDetailTask
url_submit_assign=task/submitTaskChange
url_get_list_verification=task/getverificationtasklist
url_get_list_approval=task/getapprovaltasklist
url_senddepositreport=task/depositreport
url_senddepositreportAC=task/depositreportac
url_get_paymenthistory=collection/paymenthistory/retrievepaymenthistory
url_get_installmentschedule=collection/installschedule/retrieveinsschedule
url_get_collectionhistory=collection/getCollectionHistory
url_submitverificationtask=task/submitverificationtask
url_submitapprovaltask=task/submitappprovaltask
url_retriececollectiontask=collection/collectionhistory/retrievecollectionhistory
url_get_reportsummary=task/reportsummary
url_get_batchid_list=task/getListBatchID
url_deposit_paymentchannel=task/depositreportpc
url_get_receipt_history=task/getReceiptHistory
url_get_receipt_history_pdf=task/getReceiptHistoryPDF
url_get_contentnews=getContentNews
url_checkorder=task/checkorder
url_get_task=gettask
url_get_newsheader=task/contentnews
url_get_newscontent=task/contentnews
url_get_list_cancelorder=task/cancelorder
url_get_detail_cancelorder=task/cancelorder
url_get_cancelorder=task/cancelorder
url_get_code_transaction=task/getNoTransaction
url_get_lookup_answer=task/luOnline
url_submit_track=user/updatelocationhistory
url_check_update=user/checkupdate
url_get_recapitulate=task/getRecapitulation
url_get_closing_task=collection/task/closingtask
url_submit_print_count=collection/task/SubmitPrintCount
url_submit_rv_number=collection/task/submitrvnumber
url_check_validationquestion=collection/task/phoneValidation
url_sync_rv_numbers=sync/syncRV
url_get_digitalreceipt=sync/getRvNumberMobile
url_sync_paymentchannel=sync/syncPaymentChannel
url_updatecashonhand=task/updatecashonhand
url_get_task_log=collection/task/getTaskLog
url_check_resubmit =collection/task/checkResubmit
url_bank_account_branch=task/getListBankAccountBranch
url_get_pdf_document=task/getPdfDocument
url_get_document_list=task/guideline
url_get_follow_up_list=task/retrieveFollowUpTask
url_submit_follow_up=task/submitFollowUpTask
url_get_lu_online=task/getDMSDocument
url_get_Data_question_button_text=task/getDataQuestionButtonText
url_emergency = user/emergencynotification
url_startvisit=collection/task/startactivity
url_changeplan=collection/task/changeactivity
url_send_update_notification=user/sendupdatenotification
#-------------------------
#CR external db
save_path=/aitmss/data/
use_external_storage=false
#-------------------------
encrypt=false
decrypt=false
is_developer=true
is_developer_mode=false
is_bypass_developer=false
can_access_developer_mode=true
is_secure_connection=false
is_required_access_token=true
client_id=android
use_own_camera=true
is_bypassroot=true
enable_user_help=true
enable_loc_permission_ui=true
disable_acra=true
application=MC
max_log=10
log_age=0
default_max_lenght=100
thumb_width=240
thumb_height=360
camera_quality=1
interval_tracking=6000
interval_autosend=6000
interval_gps_timeout=6000
change_uuid=false
divider_uuid=-
#printer device. 0 - > PrintActivity, 1 -> Main_activity1
printer_device=Sato@1,Enibit@1,Winson@1,Epson@1,Woosim@1,Bixolon / Gowell@1, Zebra@1, Janz@1, Bella@1

View file

@ -0,0 +1,141 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:weightSum="1">
<ImageView
android:id="@+id/splashImage"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="0.75"
android:scaleType="centerCrop"
android:src="@drawable/header_image" />
<RelativeLayout
android:id="@+id/loginLayout"
android:layout_weight="0.25"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg_grayscale"
android:orientation="vertical"
android:visibility="visible" >
<include
android:id="@+id/include1"
layout="@layout/footer" />
<RelativeLayout
android:id="@+id/relativeLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/include1"
android:padding="5dp" >
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="5dp" >
<TextView
android:id="@+id/textLoginPrompt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editPassword"
android:layout_alignParentTop="true"
android:layout_marginBottom="7dp"
android:gravity="center_horizontal"
android:text="@string/login_desc"
android:textColor="#001135" />
<EditText
android:id="@+id/editPassword"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/editUserId"
android:layout_marginTop="7dp"
android:drawableLeft="@drawable/ms_lock_icon_black"
android:ems="10"
android:hint="@string/lblLoginPassword"
android:inputType="textPassword"
android:textColor="@color/tv_darker"
android:textColorHint="@color/tv_darker" />
<EditText
android:id="@+id/editUserId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editPassword"
android:layout_below="@+id/textLoginPrompt"
android:drawableLeft="@drawable/ms_user_icon_black"
android:ems="10"
android:hint="@string/lblLoginId"
android:singleLine="true"
android:textColor="@color/tv_darker"
android:textColorHint="@color/tv_darker" >
<requestFocus />
</EditText>
</RelativeLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/include1"
android:layout_alignParentRight="true"
android:layout_below="@+id/checkShowPassword"
android:layout_marginTop="5dp"
android:padding="5dp"
android:weightSum="1" >
<Button
android:id="@+id/buttonLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/button_background"
android:text="@string/btnLogin"
android:textColor="#ffffff"
android:visibility="visible" />
<Button
android:id="@+id/buttonExit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="gone"
android:background="@drawable/button_background"
android:text="@string/btnExit"
android:textColor="#ffffff"/>
</LinearLayout>
<CheckBox
android:id="@+id/checkShowPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/relativeLayout2"
android:layout_marginLeft="@dimen/control_right_margin"
android:text="@string/lblShowPassword"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/tv_darker"
android:visibility="visible" />
<CheckBox
android:id="@+id/checkRememberMe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/include1"
android:layout_below="@+id/relativeLayout2"
android:layout_marginRight="@dimen/control_right_margin"
android:paddingRight="5dp"
android:text="@string/lblRememberMe"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/tv_darker"
android:visibility="visible" />
</RelativeLayout>
</LinearLayout>

View file

@ -0,0 +1,86 @@
package com.adins.mss.base.todolist.form.helper;
import com.adins.mss.dao.Scheme;
public class TaskFilterParam {
private Scheme scheme;
private int searchType;
private int ptp;
private String customerName;
private String osFrom;
private String osTo;
private String tenorFrom;
private String tenorTo;
public TaskFilterParam(Scheme scheme, int searchType) {
this.scheme = scheme;
this.searchType = searchType;
}
public TaskFilterParam(Scheme scheme, int searchType, int ptp, String customerName, String osFrom, String osTo, String tenorFrom, String tenorTo) {
this.scheme = scheme;
this.searchType = searchType;
this.ptp = ptp;
this.customerName = customerName;
this.osFrom = osFrom;
this.osTo = osTo;
this.tenorFrom = tenorFrom;
this.tenorTo = tenorTo;
}
public Scheme getScheme() {
return scheme;
}
public int getSearchType() {
return searchType;
}
public int getPtp() {
return ptp;
}
public void setPtp(int ptp) {
this.ptp = ptp;
}
public String getCustomerName() {
return customerName;
}
public void setCustomerName(String customerName) {
this.customerName = customerName;
}
public String getOsFrom() {
return osFrom;
}
public void setOsFrom(String osFrom) {
this.osFrom = osFrom;
}
public String getOsTo() {
return osTo;
}
public void setOsTo(String osTo) {
this.osTo = osTo;
}
public String getTenorFrom() {
return tenorFrom;
}
public void setTenorFrom(String tenorFrom) {
this.tenorFrom = tenorFrom;
}
public String getTenorTo() {
return tenorTo;
}
public void setTenorTo(String tenorTo) {
this.tenorTo = tenorTo;
}
}

View file

@ -0,0 +1,56 @@
package com.adins.mss.foundation.http;
import android.os.AsyncTask;
import com.adins.mss.base.crashlytics.FireCrash;
/**
* An AsyncTask specified for running HttpConnection in background thread, and return result within callback. It compliments HttpConnection,
* not a substitution
*
* @author glen.iglesias
*/
public class HttpBackgroundConnection extends AsyncTask<String, Float, HttpConnectionResult> {
private String url;
private String data;
private HttpConnection connection;
private HttpBackgroundConnectionListener listener;
public HttpBackgroundConnection(String url, String data,
HttpConnection connection, HttpBackgroundConnectionListener listener) {
super();
this.url = url;
this.data = data;
this.connection = connection;
this.listener = listener;
}
@Override
protected HttpConnectionResult doInBackground(String... arg0) {
HttpConnectionResult result;
try {
result = connection.requestHTTPPost(url, data);
} catch (Exception e) {
FireCrash.log(e);
//If I were right, this would never be called, because even if requestHTTPPost got exception, it return result
//instead
e.printStackTrace();
result = null;
}
return result;
}
@Override
protected void onPostExecute(HttpConnectionResult result) {
listener.onConnectionResult(this, connection, result);
}
public interface HttpBackgroundConnectionListener {
public void onConnectionResult(HttpBackgroundConnection connTask, HttpConnection conn, HttpConnectionResult result);
}
}

View file

@ -0,0 +1,130 @@
package com.adins.mss.odr.accounts;
import android.app.ProgressDialog;
import android.os.AsyncTask;
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.GroupTask;
import com.adins.mss.foundation.db.dataaccess.GroupTaskDataAccess;
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.LoadOpportunityResponse;
import com.adins.mss.odr.accounts.api.LoadProductContactRequest;
import java.util.ArrayList;
import java.util.List;
/**
* Created by olivia.dg on 11/20/2017.
*/
public class LoadOpportunity extends AsyncTask<Void, Void, List<GroupTask>> {
private FragmentActivity activity;
private Account account;
private String uuidAccount;
private ProgressDialog progressDialog;
private String errMessage;
private List<GroupTask> result = new ArrayList<GroupTask>();
public LoadOpportunity(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 List<GroupTask> 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_OPPORTUNITY();
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();
}
LoadOpportunityResponse response = null;
if (serverResult != null && serverResult.isOK()) {
try {
String responseBody = serverResult.getResult();
response = GsonHelper.fromJson(responseBody, LoadOpportunityResponse.class);
} catch (Exception e) {
if(Global.IS_DEV) {
e.printStackTrace();
errMessage=e.getMessage();
}
}
List<GroupTask> groupTaskList = response.getListOppor();
if (groupTaskList != null && groupTaskList.size() != 0) {
result = groupTaskList;
for (GroupTask temp : groupTaskList) {
GroupTask gt = GroupTaskDataAccess.getOneHeader(activity, temp.getGroup_task_id());
if (gt != null) {
gt.setLast_status(temp.getLast_status());
gt.setDtm_crt(temp.getDtm_crt());
GroupTaskDataAccess.addOrReplace(activity, gt);
} else {
temp.setUuid_group_task(Tool.getUUID());
temp.setUuid_account(uuidAccount);
temp.setDtm_crt(Tool.getSystemDateTime());
GroupTaskDataAccess.add(activity, temp);
}
}
} 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(List<GroupTask> groupTasks) {
super.onPostExecute(groupTasks);
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 {
LoadProductContact loadProductContact = new LoadProductContact(activity, account);
loadProductContact.execute();
}
}
}

View file

@ -0,0 +1,30 @@
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="Widget" />
<style name="Widget.ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse" />
<style name="Widget.Light" />
<style name="Widget.Light.ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid" />
<style name="Widget.ActionBar.Transparent">
<item name="android:background">@android:color/transparent</item>
</style>
<style name="Widget.Light.ActionBar.Transparent">
<item name="android:background">@android:color/transparent</item>
</style>
<style name="AppTheme.NoTitle" parent="AppTheme">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
</resources>

View file

@ -0,0 +1,78 @@
package com.adins.mss.odr.accounts;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.adins.mss.dao.Account;
import com.adins.mss.dao.GroupTask;
import com.adins.mss.foundation.db.dataaccess.GroupTaskDataAccess;
import com.adins.mss.odr.R;
import com.adins.mss.odr.accounts.adapter.OpportunityListAdapter;
import java.util.List;
/**
* Created by olivia.dg on 11/17/2017.
*/
public class OpportunityTabFragment extends Fragment {
private FragmentActivity activity;
private Account account;
private RecyclerView list;
private RecyclerView.LayoutManager layoutManager;
private RecyclerView.Adapter adapter;
private String uuidAccount;
private List<GroupTask> groupTasks;
public OpportunityTabFragment(FragmentActivity activity, Account account) {
this.activity = activity;
this.account = account;
}
public OpportunityTabFragment(FragmentActivity activity, List<GroupTask> groupTasks) {
this.activity = activity;
this.groupTasks = groupTasks;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.account_contact_tab, container, false);
list = (RecyclerView) view.findViewById(R.id.list);
layoutManager = new LinearLayoutManager(activity);
list.setLayoutManager(layoutManager);
setHasOptionsMenu(true);
uuidAccount = account.getUuid_account();
groupTasks = GroupTaskDataAccess.getAllByAccount(activity, uuidAccount);
adapter = new OpportunityListAdapter(activity, groupTasks);
list.setAdapter(adapter);
return view;
}
// @Override
// public void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
//
// setRetainInstance(true);
// }
@Override
public void onResume() {
super.onResume();
getActivity().setTitle(getString(R.string.title_mn_account));
adapter = new OpportunityListAdapter(activity, groupTasks);
list.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
}

View file

@ -0,0 +1,298 @@
{
"project_info": {
"project_number": "446222152141",
"firebase_url": "https://aitmss-cloud.firebaseio.com",
"project_id": "aitmss-cloud",
"storage_bucket": "aitmss-cloud.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:446222152141:android:7314503471868713",
"android_client_info": {
"package_name": "com.adins.mss.base"
}
},
"oauth_client": [
{
"client_id": "446222152141-llmcc27vignp2jas7f71rb1sva69e62j.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyC3a4yfB1rBSHTlMlGarmHKkoeRj9f44MY"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 1,
"other_platform_oauth_client": []
},
"ads_service": {
"status": 2
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:446222152141:android:82ba9047a008c046",
"android_client_info": {
"package_name": "com.adins.mss.coll.cloud"
}
},
"oauth_client": [
{
"client_id": "446222152141-buravk7m2l0j6o2tosr7mn717ukam7lo.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.adins.mss.coll.cloud",
"certificate_hash": "e831f754571d0287b1577c64c2f9da80dca8a28d"
}
},
{
"client_id": "446222152141-llmcc27vignp2jas7f71rb1sva69e62j.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyC3a4yfB1rBSHTlMlGarmHKkoeRj9f44MY"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 2,
"other_platform_oauth_client": [
{
"client_id": "446222152141-llmcc27vignp2jas7f71rb1sva69e62j.apps.googleusercontent.com",
"client_type": 3
}
]
},
"ads_service": {
"status": 2
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:446222152141:android:cecbb11fe64bc4f1",
"android_client_info": {
"package_name": "com.adins.mss.coll.cloud.dev"
}
},
"oauth_client": [
{
"client_id": "446222152141-llmcc27vignp2jas7f71rb1sva69e62j.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyC3a4yfB1rBSHTlMlGarmHKkoeRj9f44MY"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 1,
"other_platform_oauth_client": []
},
"ads_service": {
"status": 2
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:446222152141:android:d9573a5a957ef4f0",
"android_client_info": {
"package_name": "com.adins.mss.coll.cloud.trial"
}
},
"oauth_client": [
{
"client_id": "446222152141-llmcc27vignp2jas7f71rb1sva69e62j.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyC3a4yfB1rBSHTlMlGarmHKkoeRj9f44MY"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 1,
"other_platform_oauth_client": []
},
"ads_service": {
"status": 2
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:446222152141:android:b65468a6c10b3f97",
"android_client_info": {
"package_name": "com.adins.mss.odr.cloud"
}
},
"oauth_client": [
{
"client_id": "446222152141-r44n3f9ci2g7cveohplqgt5hi3gri0b5.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.adins.mss.odr.cloud",
"certificate_hash": "e831f754571d0287b1577c64c2f9da80dca8a28d"
}
},
{
"client_id": "446222152141-llmcc27vignp2jas7f71rb1sva69e62j.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyC3a4yfB1rBSHTlMlGarmHKkoeRj9f44MY"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 2,
"other_platform_oauth_client": [
{
"client_id": "446222152141-llmcc27vignp2jas7f71rb1sva69e62j.apps.googleusercontent.com",
"client_type": 3
}
]
},
"ads_service": {
"status": 2
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:446222152141:android:d722cab582795d44",
"android_client_info": {
"package_name": "com.adins.mss.odr.cloud.dev"
}
},
"oauth_client": [
{
"client_id": "446222152141-llmcc27vignp2jas7f71rb1sva69e62j.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyC3a4yfB1rBSHTlMlGarmHKkoeRj9f44MY"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 1,
"other_platform_oauth_client": []
},
"ads_service": {
"status": 2
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:446222152141:android:338f8c2ea2872c21",
"android_client_info": {
"package_name": "com.adins.mss.svy.cloud"
}
},
"oauth_client": [
{
"client_id": "446222152141-ikq3or8fefog8m9uiqboih3uc7r23epo.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.adins.mss.svy.cloud",
"certificate_hash": "e831f754571d0287b1577c64c2f9da80dca8a28d"
}
},
{
"client_id": "446222152141-llmcc27vignp2jas7f71rb1sva69e62j.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyC3a4yfB1rBSHTlMlGarmHKkoeRj9f44MY"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 2,
"other_platform_oauth_client": [
{
"client_id": "446222152141-llmcc27vignp2jas7f71rb1sva69e62j.apps.googleusercontent.com",
"client_type": 3
}
]
},
"ads_service": {
"status": 2
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:446222152141:android:0b9842b47415ffc9",
"android_client_info": {
"package_name": "com.adins.mss.svy.cloud.dev"
}
},
"oauth_client": [
{
"client_id": "446222152141-llmcc27vignp2jas7f71rb1sva69e62j.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyC3a4yfB1rBSHTlMlGarmHKkoeRj9f44MY"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 1,
"other_platform_oauth_client": []
},
"ads_service": {
"status": 2
}
}
}
],
"configuration_version": "1"
}

View file

@ -0,0 +1,145 @@
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.GroupTask;
import com.adins.mss.dao.TaskH;
import com.adins.mss.foundation.db.dataaccess.TaskHDataAccess;
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.LoadOpportunityDetailRequest;
import com.adins.mss.odr.accounts.api.LoadOpportunityDetailResponse;
import java.util.ArrayList;
import java.util.List;
/**
* Created by olivia.dg on 11/21/2017.
*/
public class LoadOpportunityDetail extends AsyncTask<Void, Void, List<TaskH>> {
private FragmentActivity activity;
private GroupTask groupTask;
private String groupTaskId;
private ProgressDialog progressDialog;
private String errMessage;
private List<TaskH> result = new ArrayList<TaskH>();
public LoadOpportunityDetail(FragmentActivity activity, GroupTask groupTask) {
this.activity = activity;
this.groupTask = groupTask;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = ProgressDialog.show(activity, "", activity.getString(R.string.contact_server), true);
}
@Override
protected List<TaskH> doInBackground(Void... params) {
if (Tool.isInternetconnected(activity)) {
groupTaskId = groupTask.getGroup_task_id();
LoadOpportunityDetailRequest request = new LoadOpportunityDetailRequest();
request.setGroup_task_id(groupTaskId);
request.setAudit(GlobalData.getSharedGlobalData().getAuditData());
String json = GsonHelper.toJson(request);
String url = GlobalData.getSharedGlobalData().getURL_GET_OPPORTUNITY_DETAIL();
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();
}
LoadOpportunityDetailResponse response = null;
if (serverResult != null && serverResult.isOK()) {
try {
String responseBody = serverResult.getResult();
response = GsonHelper.fromJson(responseBody, LoadOpportunityDetailResponse.class);
} catch (Exception e) {
if(Global.IS_DEV) {
e.printStackTrace();
errMessage = e.getMessage();
}
}
List<TaskH> taskHList = response.getListOpporDetail();
if (taskHList != null && taskHList.size() != 0) {
result = taskHList;
for (TaskH temp : taskHList) {
TaskH task = TaskHDataAccess.getOneHeader(activity, temp.getUuid_task_h());
if (task != null) {
TaskHDataAccess.addOrReplace(activity, temp);
} else {
// temp.setUuid_task_h(Tool.getUUID());
temp.setDtm_crt(Tool.getSystemDateTime());
TaskHDataAccess.add(activity, temp);
}
}
} 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(List<TaskH> taskHs) {
super.onPostExecute(taskHs);
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 {
ArrayList<String> taskTodo = new ArrayList<>();
ArrayList<String> taskHistory = new ArrayList<>();
for (TaskH task : taskHs) {
if (task.getSubmit_date() != null && !task.getSubmit_date().equals(""))
taskHistory.add(task.getUuid_task_h());
else
taskTodo.add(task.getUuid_task_h());
}
Intent intent = new Intent(activity, OpportunityDetailActivity.class);
Bundle extra = new Bundle();
extra.putString(Global.BUND_KEY_GROUPTASK_ID, groupTaskId);
extra.putStringArrayList("taskTodo", taskTodo);
extra.putStringArrayList("taskHistory", taskHistory);
// intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtras(extra);
activity.startActivity(intent);
}
}
}

View file

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="gray_holo_dark" type="color">#ff464646</item>
<item name="gray_holo_light" type="color">#ffd0d0d0</item>
<color name="text_color">#FFFFFF</color>
<color name="divider_color">#11000000</color>
<color name="msg_color">#FFFFFFFF</color>
<color name="dialog_bg">#ff5f5f5f</color>
<color name="btn_press_color">#66000000</color>
<color name="btn_unpress_color">#22000000</color>
<color name="txt_view">#001135</color>
<color name="colorLegend">#3F51B5</color>
<!-- Text View -->
<color name="tv_darker">#041741</color>
<color name="tv_dark">#005baa</color>
<color name="tv_normal">#0a4cde</color>
<color name="tv_normal_press">#900a4cde</color>
<color name="tv_light">#6795fb</color>
<color name="tv_lighter">#73c4f5</color>
<color name="tv_gray_light">#DDDDDD</color>
<color name="tv_gray">#cccccc</color>
<color name="tv_white">#FFFFFF</color>
<!-- Text View -->
<color name="tv_darker_trans">#33041741</color>
<color name="tv_dark_trans">#50005baa</color>
<color name="tv_normal_trans">#500a4cde</color>
<color name="tv_light_trans">#506795fb</color>
<!-- Theme about colors -->
<color name="theme_default_primary">#536dfe</color>
<color name="theme_default_primary_dark">#3f51b5</color>
<color name="theme_accent">#ff4081</color>
<color name="theme_window_background">#ECECEC</color>
<color name="card">#FAFAFA</color>
<color name="title_openSource">#212121</color>
<color name="text_openSource">#727272</color>
<color name="dividerDark_openSource">#AAA</color>
<color name="dividerLight_openSource">#DADADA</color>
<color name="default_progress_bar_color">#FF33B5E5</color>
<color name="crop__button_bar">#f3f3f3</color>
<color name="crop__button_text">#666666</color>
<color name="crop__selector_pressed">#1a000000</color>
<color name="crop__selector_focused">#77000000</color>
<color name="drawer_background">#cfcfcf</color>
<!-- Action Bar -->
<color name="ab_start">#2c2d31</color>
<color name="ab_end">#2c2d31</color>
<!-- Gradient -->
<color name="gradient_start">#00aea7</color>
<color name="gradient_end">#002F5F</color>
<color name="black_translucent">#50000000</color>
<!-- in-app camera -->
<color name="autoFocusFailed">#F44336</color>
<color name="autoFocusSuccess">#4CAF50</color>
<!-- Graph Color -->
<color name="graphColor1">#FBBA72</color>
<color name="graphColor2">#F86624</color>
<color name="graphColor3">#BA5624</color>
<color name="graphColor4">#8F250C</color>
<color name="graphColor5">#7d1d05</color>
<!-- Rank Legends Color -->
<color name="rankColor1">#FF0000</color>
<color name="rankColor2">#000000</color>
<color name="rankColor3">#32CD32</color>
<color name="rankColor4">#0000FF</color>
<color name="colorMC">#002F5F</color>
<color name="bgColor">#E0E0E0</color>
<color name="fontColor">#212121</color>
<color name="fontColorWhite">#ffff</color>
<color name="disabledFontColor">#616161</color>
<color name="timelineLine">#BDBDBD</color>
<color name="shadowColor">#757575</color>
<color name="bgColorWhite">#ffff</color>
<color name="new_btn_unpress_color">#fdfbfb</color>
<color name="new_btn_press_color">#E3E1E1</color>
<color name="fontColorDarkGrey">#ff5f5f5f</color>
<color name="fontColorDarkGreen">#49744b</color>
<color name="green">#008000</color>
<color name="blueUrl">#0000EE</color>
<color name="txt_button">#0e5e5d</color>
<color name="slaGreen">#B2DFDB</color>
<color name="slaRed">#FFCDD2</color>
<color name="blazingRed">#FF0019</color>
<color name="cardview_shadow_start_color">#1a000000</color>
<color name="cardview_shadow_end_color">#1a000000</color>
<color name="background_white">#f2f1ed</color>
<color name="login_color">#4b754a</color>
</resources>