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,89 @@
package com.adins.mss.odr.assignment;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import androidx.annotation.Keep;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import com.adins.mss.base.util.Utility;
import com.adins.mss.constant.Global;
import com.adins.mss.dao.TaskH;
import com.adins.mss.odr.R;
import com.adins.mss.odr.model.JsonResponseServer;
import com.adins.mss.odr.model.JsonResponseServer.ResponseServer;
import com.androidquery.AQuery;
import com.google.firebase.analytics.FirebaseAnalytics;
import org.acra.ACRA;
import java.util.List;
public class OrderAssignmentActivity extends Fragment {
protected View view;
protected AQuery query;
protected List<TaskH> allObjects;
protected List<TaskH> objects;
protected JsonResponseServer results;
private List<ResponseServer> responseServer;
private Bundle mArguments;
protected OrderAssignmentAdapter adapter;
private FirebaseAnalytics screenName;
@Override
public void onAttach(Context activity) {
super.onAttach(activity);
ACRA.getErrorReporter().putCustomData("LAST_CLASS_ACCESSED", getClass().getSimpleName());
mArguments = getArguments();
getActivity().getActionBar().setTitle(getString(R.string.title_mn_orderassign));
results = (JsonResponseServer) mArguments.getSerializable("resultJson");
responseServer = results.getListResponseServer();
adapter = new OrderAssignmentAdapter(getActivity(), responseServer,false);
}
@Override
public void onDestroyView() {
super.onDestroyView();
Utility.freeMemory();
}
@Override
public void onResume(){
super.onResume();
//Set Firebase screen name
screenName.setCurrentScreen(getActivity(), getString(R.string.screen_name_order_assignment), null);
getActivity().getActionBar().setTitle(getString(R.string.title_mn_orderassign));
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
screenName = FirebaseAnalytics.getInstance(getActivity());
if (view != null) {
ViewGroup parent = (ViewGroup) view.getParent();
if (parent != null)
parent.removeView(view);
}
try {
view = inflater.inflate(R.layout.newtask_layout, container, false);
query = new AQuery(view);
query.id(android.R.id.list).adapter(adapter);
query.id(android.R.id.list).itemClicked(this, "itemClick");
} catch (Exception e) {
}
return view;
}
@Keep
public void itemClick(AdapterView<?> parent, View v, int position, long id){
String nomorOrder = responseServer.get(position).getKey();
String uuid_task_h = responseServer.get(position).getFlag();
gotoDetailData(nomorOrder, uuid_task_h);
}
private void gotoDetailData(String nomorOrder,String uuid_task_h) {
Intent intent = new Intent(getActivity(), OrderAssignmentResult.class);
intent.putExtra(Global.BUND_KEY_ORDERNO, nomorOrder);
intent.putExtra(Global.BUND_KEY_TASK_TYPE, Global.TASK_ORDER_ASSIGNMENT);
intent.putExtra(Global.BUND_KEY_UUID_TASKH, uuid_task_h);
startActivity(intent);
}
}

View file

@ -0,0 +1,84 @@
package com.adins.mss.coll.dummy;
import android.app.Activity;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.GridView;
import com.adins.mss.coll.R;
import com.adins.mss.coll.fragments.DashBoardFragment;
import com.adins.mss.coll.fragments.DashBoardFragment.OnListFragmentInteractionListener;
import com.adins.mss.coll.fragments.MyDashBoardItemRecyclerViewAdapter;
import com.adins.mss.coll.fragments.TeamMember;
import com.adins.mss.coll.fragments.dummy.DummyContent.DummyItem;
import com.adins.mss.coll.fragments.view.GridDashBoardAdapter;
import java.util.ArrayList;
/**
* {@link RecyclerView.Adapter} that can display a {@link DummyItem} and makes a call to the
* specified {@link OnListFragmentInteractionListener}.
* TODO: Replace the implementation with code for your data type.
*/
public class MyDashboardItemDummyAdapter extends RecyclerView.Adapter<MyDashboardItemDummyAdapter.ViewHolder> {
private final Activity mContext;
RecyclerView recyclerViewDashBoard;
MyDashBoardItemRecyclerViewAdapter adapter;
public MyDashboardItemDummyAdapter(Activity context, RecyclerView recyclerView, MyDashBoardItemRecyclerViewAdapter adapter) {
this.recyclerViewDashBoard = recyclerView;
mContext = context;
this.adapter = adapter;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.fragment_dashboard, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
ArrayList<TeamMember.DataGroupRank> dataGroupRank = new ArrayList<>();
TeamMember.DataGroupRank dummyGroupRank1 = new TeamMember().new DataGroupRank();
dummyGroupRank1.setLEVEL("JOB");
dummyGroupRank1.setRANK("1");
dummyGroupRank1.setRANK_BEFORE("0");
TeamMember.DataGroupRank dummyGroupRank2 = new TeamMember().new DataGroupRank();
dummyGroupRank2.setLEVEL("JOB");
dummyGroupRank2.setRANK("1");
dummyGroupRank2.setRANK_BEFORE("0");
dataGroupRank.add(dummyGroupRank1);
dataGroupRank.add(dummyGroupRank2);
GridDashBoardAdapter adapter = new GridDashBoardAdapter(mContext , dataGroupRank);
// ArrayAdapter<String> adapter = new ArrayAdapter<String>(mContext, android.R.layout.simple_list_item_1, numbers);
holder.gridView.setAdapter(adapter);
UserHelpCOLDummy userHelpColDummy = new UserHelpCOLDummy();
userHelpColDummy.showDashboardLoyalty(mContext, DashBoardFragment.class.getSimpleName(), this.recyclerViewDashBoard, this.adapter);
}
@Override
public int getItemCount() {
return 1;
}
public class ViewHolder extends RecyclerView.ViewHolder {
public final View mView;
public final GridView gridView;
public ViewHolder(View view) {
super(view);
mView = view;
gridView = (GridView) view.findViewById(R.id.gridview);
}
}
}

View file

@ -0,0 +1,7 @@
package com.adins.mss.base.todolist.todayplanrepository;
import com.adins.mss.foundation.http.MssResponseType;
public class ResponseStartVisit extends MssResponseType {
}

View file

@ -0,0 +1,160 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".todolist.form.todaysplan.TodayPlanFragment">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/tasklistPlanContent"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
app:layout_constraintTop_toTopOf="parent"
android:id="@+id/planList"
android:paddingTop="8dp"
android:paddingBottom="100dp"
android:clipToPadding="false"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:visibility="gone"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:background="@drawable/plan_info_floating"
android:id="@+id/planSelectedInfo"
android:text="4 of 5 tasks selected"
android:textAlignment="center"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:id="@+id/confirmPlanBtnCont"
app:layout_constraintBottom_toBottomOf="parent"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/confirmPlanBtn"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:layout_marginLeft="@dimen/activity_horizontal_margin"
android:text="@string/start_visit"
android:background="@drawable/button_background"
android:textColor="#ffffff"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/noPlanTaskContent"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/topNoPlanConstraint"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/leftNoPlanConstraint"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.10"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/rightNoPlanConstraint"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.90"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
app:layout_constraintTop_toBottomOf="@id/topNoPlanConstraint"
app:layout_constraintStart_toEndOf="@id/leftNoPlanConstraint"
app:layout_constraintEnd_toStartOf="@id/rightNoPlanConstraint"
android:id="@+id/noPlanTaskInfo"
android:text="@string/have_not_plan_task"
android:textSize="18sp"
android:textAlignment="center"
android:layout_width="0dp"
android:layout_height="wrap_content" />
<Button
android:id="@+id/goToTasklistBtn"
android:layout_marginTop="@dimen/activity_vertical_margin"
app:layout_constraintTop_toBottomOf="@id/noPlanTaskInfo"
app:layout_constraintStart_toEndOf="@id/leftNoPlanConstraint"
app:layout_constraintEnd_toStartOf="@id/rightNoPlanConstraint"
android:textAlignment="center"
android:textColor="#ffffff"
android:background="@drawable/button_background"
android:text="@string/create_plan"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:id="@+id/itemControlPanel"
android:visibility="gone"
android:layout_gravity="bottom"
android:layout_marginVertical="20dp"
android:orientation="horizontal"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/toTopBtn"
android:textColor="#ffffff"
android:background="@drawable/plan_task_move_icon_bg"
android:src="@drawable/ic_vertical_align_top"
android:layout_width="40dp"
android:layout_height="40dp" />
<ImageView
android:id="@+id/upBtn"
app:layout_constraintStart_toEndOf="@id/toTopBtn"
app:layout_constraintTop_toTopOf="parent"
android:textColor="#ffffff"
android:background="@drawable/plan_task_move_icon_bg"
android:src="@drawable/ic_arrow_upward"
android:layout_width="40dp"
android:layout_height="40dp"/>
<ImageView
android:id="@+id/downBtn"
android:textColor="#ffffff"
android:background="@drawable/plan_task_move_icon_bg"
android:src="@drawable/ic_arrow_downward"
android:layout_width="40dp"
android:layout_height="40dp" />
<ImageView
android:id="@+id/toBottomBtn"
android:textColor="#ffffff"
android:background="@drawable/plan_task_move_icon_bg"
android:src="@drawable/ic_vertical_align_bottom"
android:layout_width="40dp"
android:layout_height="40dp" />
<ImageView
android:id="@+id/doneMoveBtn"
android:background="@color/gradient_end"
android:src="@drawable/ic_done_control"
android:layout_width="40dp"
android:layout_height="40dp" />
</LinearLayout>
</FrameLayout>

View file

@ -0,0 +1,193 @@
package com.adins.mss.dao;
import com.adins.mss.dao.DaoSession;
import de.greenrobot.dao.DaoException;
import com.adins.mss.base.util.ExcludeFromGson;
import com.google.gson.annotations.SerializedName;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. Enable "keep" sections if you want to edit.
/**
* Entity mapped to table "MS_GROUPUSER".
*/
public class GroupUser {
/** Not-null value. */
@SerializedName("uuid_group_user")
private String uuid_group_user;
@SerializedName("group_id")
private String group_id;
@SerializedName("is_admin")
private String is_admin;
@SerializedName("group_name")
private String group_name;
@SerializedName("usr_crt")
private String usr_crt;
@SerializedName("dtm_crt")
private java.util.Date dtm_crt;
@SerializedName("usr_upd")
private String usr_upd;
@SerializedName("dtm_upd")
private java.util.Date dtm_upd;
@SerializedName("uuid_user")
private String uuid_user;
/** Used to resolve relations */
private transient DaoSession daoSession;
/** Used for active entity operations. */
private transient GroupUserDao myDao;
private User user;
private String user__resolvedKey;
public GroupUser() {
}
public GroupUser(String uuid_group_user) {
this.uuid_group_user = uuid_group_user;
}
public GroupUser(String uuid_group_user, String group_id, String is_admin, String group_name, String usr_crt, java.util.Date dtm_crt, String usr_upd, java.util.Date dtm_upd, String uuid_user) {
this.uuid_group_user = uuid_group_user;
this.group_id = group_id;
this.is_admin = is_admin;
this.group_name = group_name;
this.usr_crt = usr_crt;
this.dtm_crt = dtm_crt;
this.usr_upd = usr_upd;
this.dtm_upd = dtm_upd;
this.uuid_user = uuid_user;
}
/** called by internal mechanisms, do not call yourself. */
public void __setDaoSession(DaoSession daoSession) {
this.daoSession = daoSession;
myDao = daoSession != null ? daoSession.getGroupUserDao() : null;
}
/** Not-null value. */
public String getUuid_group_user() {
return uuid_group_user;
}
/** Not-null value; ensure this value is available before it is saved to the database. */
public void setUuid_group_user(String uuid_group_user) {
this.uuid_group_user = uuid_group_user;
}
public String getGroup_id() {
return group_id;
}
public void setGroup_id(String group_id) {
this.group_id = group_id;
}
public String getIs_admin() {
return is_admin;
}
public void setIs_admin(String is_admin) {
this.is_admin = is_admin;
}
public String getGroup_name() {
return group_name;
}
public void setGroup_name(String group_name) {
this.group_name = group_name;
}
public String getUsr_crt() {
return usr_crt;
}
public void setUsr_crt(String usr_crt) {
this.usr_crt = usr_crt;
}
public java.util.Date getDtm_crt() {
return dtm_crt;
}
public void setDtm_crt(java.util.Date dtm_crt) {
this.dtm_crt = dtm_crt;
}
public String getUsr_upd() {
return usr_upd;
}
public void setUsr_upd(String usr_upd) {
this.usr_upd = usr_upd;
}
public java.util.Date getDtm_upd() {
return dtm_upd;
}
public void setDtm_upd(java.util.Date dtm_upd) {
this.dtm_upd = dtm_upd;
}
public String getUuid_user() {
return uuid_user;
}
public void setUuid_user(String uuid_user) {
this.uuid_user = uuid_user;
}
/** To-one relationship, resolved on first access. */
public User getUser() {
String __key = this.uuid_user;
if (user__resolvedKey == null || user__resolvedKey != __key) {
if (daoSession == null) {
throw new DaoException("Entity is detached from DAO context");
}
UserDao targetDao = daoSession.getUserDao();
User userNew = targetDao.load(__key);
synchronized (this) {
user = userNew;
user__resolvedKey = __key;
}
}
return user;
}
public void setUser(User user) {
synchronized (this) {
this.user = user;
uuid_user = user == null ? null : user.getUuid_user();
user__resolvedKey = uuid_user;
}
}
/** Convenient call for {@link AbstractDao#delete(Object)}. Entity must attached to an entity context. */
public void delete() {
if (myDao == null) {
throw new DaoException("Entity is detached from DAO context");
}
myDao.delete(this);
}
/** Convenient call for {@link AbstractDao#update(Object)}. Entity must attached to an entity context. */
public void update() {
if (myDao == null) {
throw new DaoException("Entity is detached from DAO context");
}
myDao.update(this);
}
/** Convenient call for {@link AbstractDao#refresh(Object)}. Entity must attached to an entity context. */
public void refresh() {
if (myDao == null) {
throw new DaoException("Entity is detached from DAO context");
}
myDao.refresh(this);
}
}

View file

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<com.adins.mss.foundation.questiongenerator.form.QuestionView
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/questionDrawingLayout">
<TextView
android:id="@+id/questionDrawingLabel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="0. Label"
android:textAppearance="?android:attr/textAppearanceSmall"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal"
android:weightSum="1"
android:layout_margin="5dp">
<ImageView
android:id="@+id/imgDrawing"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:gravity="center"
android:scaleType="centerInside"
android:src="@android:drawable/ic_menu_edit" />
</LinearLayout>
</com.adins.mss.foundation.questiongenerator.form.QuestionView>

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 B

View file

@ -0,0 +1,318 @@
package com.adins.mss.svy;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction;
import android.view.View;
import com.adins.mss.base.GlobalData;
import com.adins.mss.base.NewMainActivity;
import com.adins.mss.base.R;
import com.adins.mss.base.crashlytics.FireCrash;
import com.adins.mss.base.mainmenu.MainMenuActivity;
import com.adins.mss.base.timeline.TimelineManager;
import com.adins.mss.base.todolist.ToDoList;
import com.adins.mss.base.todolist.form.JsonResponseTaskList;
import com.adins.mss.base.util.GsonHelper;
import com.adins.mss.base.util.Utility;
import com.adins.mss.constant.Global;
import com.adins.mss.dao.Scheme;
import com.adins.mss.dao.TaskH;
import com.adins.mss.dao.User;
import com.adins.mss.foundation.db.dataaccess.SchemeDataAccess;
import com.adins.mss.foundation.db.dataaccess.TaskHDataAccess;
import com.adins.mss.foundation.db.dataaccess.TimelineDataAccess;
import com.adins.mss.foundation.db.dataaccess.TimelineTypeDataAccess;
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.svy.models.JsonRequestTaskWithMode;
import com.adins.mss.svy.tool.Constants;
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.HttpMetric;
import java.lang.ref.WeakReference;
import java.sql.Time;
import java.util.ArrayList;
import java.util.List;
public class SurveyApprovalListTask extends AsyncTask<Void, Void, List<TaskH>> {
public static final String KEY_BRANCH = "branch";
private ProgressDialog progressDialog;
private WeakReference<Context> context;
private WeakReference<Activity> activity;
private String messageWait;
private String messageEmpty;
private String mode;
private String errMessage = null;
// private Class<?> taskSurveyApprovalFragment;
public Fragment SurveyApprovalFragment;
// private FragmentActivity fragmentActivity;
// private int contentFrame;
//private User user = GlobalData.getSharedGlobalData().getUser();
// public SurveyApprovalListTask(FragmentActivity fragmentActivity, String messageWait, String messageEmpty, int contentFrame, Fragment LogResultFragment) {
// this.context = fragmentActivity;
// this.fragmentActivity = fragmentActivity;
// this.messageWait = messageWait;
// this.messageEmpty = messageEmpty;
// this.contentFrame = contentFrame;
// this.SurveyApprovalFragment = LogResultFragment;
// }
public SurveyApprovalListTask(Activity context, String messageWait, String messageEmpty, String mode) {
this.context = new WeakReference<Context>(context);
this.messageWait = messageWait;
this.messageEmpty = messageEmpty;
this.mode = mode;
this.activity = new WeakReference<Activity>(context);
}
protected void onPreExecute() {
this.progressDialog = ProgressDialog.show(this.context.get(), "", this.messageWait, true);
}
protected List<TaskH> doInBackground(Void... params) {
List<TaskH> result = new ArrayList<TaskH>();
if(Tool.isInternetconnected(context.get())){
JsonRequestTaskWithMode requestType = new JsonRequestTaskWithMode();
requestType.setAudit(GlobalData.getSharedGlobalData().getAuditData());
requestType.addImeiAndroidIdToUnstructured();
if(mode!=null && !mode.isEmpty())
requestType.setMode(mode);
String json = GsonHelper.toJson(requestType);
String url = GlobalData.getSharedGlobalData().getURL_GET_LIST_APPROVAL();
boolean encrypt = GlobalData.getSharedGlobalData().isEncrypt();
boolean decrypt = GlobalData.getSharedGlobalData().isDecrypt();
HttpCryptedConnection httpConn = new HttpCryptedConnection(activity.get(), encrypt, decrypt);
HttpConnectionResult serverResult = null;
//Firebase Performance Trace HTTP Request
HttpMetric networkMetric =
FirebasePerformance.getInstance().newHttpMetric(url, FirebasePerformance.HttpMethod.POST);
Utility.metricStart(networkMetric, json);
try {
// result = TaskHDataAccess.getAllApproval(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
// if(result != null && result.size()>0)
// serverResult = httpConn.requestToServer(url, json, Global.SORTCONNECTIONTIMEOUT);
// else
serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
Utility.metricStop(networkMetric, serverResult);
} catch (Exception e) {
FireCrash.log(e);
e.printStackTrace();
errMessage = activity.get().getString(R.string.jsonParseFailed);
}
if(serverResult != null){
if(serverResult.isOK()){
try {
String stringResult = serverResult.getResult();
JsonResponseTaskList taskList = GsonHelper.fromJson(stringResult, JsonResponseTaskList.class);
if(taskList.getStatus().getCode()==0){
List<TaskH> listTaskH = taskList.getListTaskList();
if(listTaskH!=null&&listTaskH.size()>0){
for(TaskH taskH : listTaskH){
taskH.setUser(GlobalData.getSharedGlobalData().getUser());
taskH.setIs_verification(Global.TRUE_STRING);
if(mode!=null && KEY_BRANCH.equals(mode))
taskH.setAccess_mode(TaskHDataAccess.ACCESS_MODE_BRANCH);
else
taskH.setAccess_mode(TaskHDataAccess.ACCESS_MODE_USER);
String uuid_scheme = taskH.getUuid_scheme();
Scheme scheme = SchemeDataAccess.getOne(context.get(), uuid_scheme);
if(scheme!=null){
taskH.setScheme(scheme);
TaskH h = TaskHDataAccess.getOneHeader(context.get(), taskH.getUuid_task_h());
String uuid_timelineType = TimelineTypeDataAccess.getTimelineTypebyType(context.get(), Global.TIMELINE_TYPE_APPROVAL).getUuid_timeline_type();
boolean wasInTimeline = TimelineDataAccess.getOneTimelineByTaskH(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user(), taskH.getUuid_task_h(), uuid_timelineType)!=null;
if(h!=null&&h.getStatus()!=null){
if(!ToDoList.isOldTask(h)){
TaskHDataAccess.addOrReplace(context.get(), taskH);
if(!wasInTimeline)
TimelineManager.insertTimeline(context.get(), taskH);
}
else{
if(h.getAccess_mode()!=null && h.getAccess_mode().length()>0){
if(mode!=null && KEY_BRANCH.equals(mode)){
if(h.getAccess_mode().equals(TaskHDataAccess.ACCESS_MODE_USER)){
h.setAccess_mode(TaskHDataAccess.ACCESS_MODE_HYBRID);
TaskHDataAccess.addOrReplace(context.get(), h);
}
}
else{
if(h.getAccess_mode().equals(TaskHDataAccess.ACCESS_MODE_BRANCH)){
h.setAccess_mode(TaskHDataAccess.ACCESS_MODE_HYBRID);
TaskHDataAccess.addOrReplace(context.get(), h);
}
}
}
}
result.add(h);
}else{
result.add(taskH);
TaskHDataAccess.addOrReplace(context.get(), taskH);
if(!wasInTimeline)
TimelineManager.insertTimeline(context.get(), taskH);
}
}else{
errMessage = activity.get().getString(R.string.scheme_not_found);
if(mode!=null && KEY_BRANCH.equals(mode))
result = TaskHDataAccess.getAllApprovalForBranch(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
else
result = TaskHDataAccess.getAllApprovalForUser(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
}
}
}
//check for changed task in result(local db) data
if(result != null && result.size() > 0){
for (int i= 0; i<result.size(); i++) {
boolean taskNotfound = false;
TaskH taskh_local = result.get(i);
if(taskh_local == null)
continue;
if(listTaskH != null && listTaskH.size() > 0){
//delete taskh_local
for(TaskH taskHServer :listTaskH){
if(taskHServer != null && taskHServer.getTask_id().equals(taskh_local.getTask_id())){
taskNotfound = true;
break;
}
}
if(!taskNotfound){
//set taskh status and messages to changed
taskh_local.setStatus(TaskHDataAccess.STATUS_TASK_CHANGED);
taskh_local.setIs_prepocessed(Global.FORM_TYPE_APPROVAL);
taskh_local.setMessage(context.get().getString(com.adins.mss.svy.R.string.taskChanged));
TaskHDataAccess.addOrReplace(context.get(),taskh_local);
TimelineManager.insertTimeline(context.get(),taskh_local);
}
}
}
}
}else {
errMessage = stringResult;
}
} catch (Exception e) {
FireCrash.log(e);
errMessage = activity.get().getString(R.string.jsonParseFailed);
}
}
else{
errMessage = serverResult.getResult();
if(mode!=null && KEY_BRANCH.equals(mode))
result = TaskHDataAccess.getAllApprovalForBranch(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
else
result = TaskHDataAccess.getAllApprovalForUser(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
}
}
else{
errMessage = "Something wrong from server";
if(Global.IS_DEV)
errMessage = "Error: serverResult == null";
if(mode != null && KEY_BRANCH.equals(mode))
result = TaskHDataAccess.getAllApprovalForBranch(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
else
result = TaskHDataAccess.getAllApprovalForUser(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
}
}else{
if(mode != null && KEY_BRANCH.equals(mode))
result = TaskHDataAccess.getAllApprovalForBranch(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
else
result = TaskHDataAccess.getAllApprovalForUser(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
}
/* try {
if(this.context != null) {
result = TaskHDataAccess.getAllApproval(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
} else if(this.activity != null) {
result = TaskHDataAccess.getAllApproval(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
} else {
result = TaskHDataAccess.getAllApproval(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
}
} catch (Exception var6) {
var6.printStackTrace();
try {
this.progressDialog.dismiss();
} catch (Exception var5) {
;
}
this.errMessage = var6.getMessage();
}*/
return result;
}
protected void onPostExecute(List<TaskH> result) {
if(this.progressDialog.isShowing()) {
try {
this.progressDialog.dismiss();
} catch (Exception var4) {
}
}
final NiftyDialogBuilder fragment;
if (GlobalData.isRequireRelogin()) {
} else if(this.errMessage != null) {
if(activity.get().getString(R.string.scheme_not_found).equals(errMessage)){
Constants.listOfApprovalTask = result;
fragment = NiftyDialogBuilder.getInstance(this.context.get());
fragment.withTitle(activity.get().getString(R.string.info_capital)).withMessage(this.errMessage).
isCancelable(true)
.withButton1Text(activity.get().getString(R.string.btnOk))
.setButton1Click(new View.OnClickListener() {
@Override
public void onClick(View v) {
fragment.dismiss();
gotoPage();
}
}).show();
}else {
fragment = NiftyDialogBuilder.getInstance(this.context.get());
fragment.withTitle(activity.get().getString(R.string.warning_capital)).withMessage(this.errMessage).show();
}
} else if(result != null && result.size() != 0) {
Constants.listOfApprovalTask = result;
gotoPage();
} else {
fragment = NiftyDialogBuilder.getInstance(this.context.get());
fragment.withTitle(activity.get().getString(R.string.info_capital)).withMessage(this.messageEmpty).show();
}
}
private void gotoPage() {
Fragment fragment1 = null;
if(mode!=null && !mode.isEmpty()){
fragment1 = new com.adins.mss.svy.fragments.SurveyApprovalByBranchFragment();
}else{
fragment1 = new com.adins.mss.svy.fragments.SurveyApprovalFragment();
}
Bundle argument = new Bundle();
if(mode!=null && !mode.isEmpty())
argument.putBoolean(SurveyApprovalListTask.KEY_BRANCH, true);
else
argument.putBoolean(SurveyApprovalListTask.KEY_BRANCH, false);
fragment1.setArguments(argument);
FragmentTransaction transaction = NewMainActivity.fragmentManager.beginTransaction();
transaction.setCustomAnimations(R.anim.activity_open_translate,R.anim.activity_close_scale,R.anim.activity_open_scale,R.anim.activity_close_translate);
transaction.replace(R.id.content_frame, fragment1);
transaction.addToBackStack(null);
transaction.commit();
}
}

View file

@ -0,0 +1,119 @@
package com.adins.mss.svy;
import android.app.Activity;
import android.content.Context;
import android.os.Handler;
import androidx.recyclerview.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import com.adins.mss.base.loyalti.userhelpdummy.DashboardMyPointItemDummyAdapter;
import com.adins.mss.base.tasklog.SurveyTaskAdapter;
import com.adins.mss.base.util.Utility;
import com.adins.mss.constant.Global;
import com.adins.mss.foundation.UserHelp.Bean.Dummy.UserHelpIconDummy;
import com.adins.mss.foundation.UserHelp.Bean.Dummy.UserHelpViewDummy;
import com.adins.mss.foundation.UserHelp.Bean.UserHelpView;
import com.adins.mss.foundation.UserHelp.UserHelp;
import com.adins.mss.foundation.security.storepreferences.ObscuredSharedPreferences;
import com.google.gson.Gson;
import java.util.ArrayList;
import uk.co.deanwild.materialshowcaseview.MaterialShowcaseSequence;
import uk.co.deanwild.materialshowcaseview.MaterialShowcaseView;
import uk.co.deanwild.materialshowcaseview.ShowcaseConfig;
import static com.adins.mss.constant.Global.userHelpDummyGuide;
public class UserHelpSVYDummy {
private int iconCounter = 0;
private int viewCounter = 1;
public void showDummyVerif(final Activity activity, final String idSequence, final RecyclerView recyclerView, final SurveyTaskAdapter newTaskLogAdapter){
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
ArrayList<UserHelpViewDummy> tempTooltip = new ArrayList<>();
ShowcaseConfig config = new ShowcaseConfig();
config.setDelay(0);
config.setFadeDuration(100);
final MaterialShowcaseSequence sequence = new MaterialShowcaseSequence(activity);
sequence.setConfig(config);
try {
for(UserHelpViewDummy userHelpViewDummy : Global.userHelpDummyGuide.get(idSequence)){
View idView = recyclerView.findViewHolderForLayoutPosition(0).itemView.findViewById(
Utility.getViewById(activity, userHelpViewDummy.getViewid())
);
for(UserHelpIconDummy userHelpIconDummy: userHelpViewDummy.getIconid()){
UserHelp.addSequenceUserHelpDummy(activity, sequence, userHelpIconDummy,userHelpViewDummy, idView, tempTooltip);
}
}
sequence.setOnItemSkippedListener(new MaterialShowcaseSequence.OnSequenceItemSkippedListener() {
@Override
public void onSkip() {
recyclerView.setAdapter(newTaskLogAdapter);
userHelpDummyGuide.put(idSequence,new ArrayList<UserHelpViewDummy>());
try {
ObscuredSharedPreferences sharedPref =
ObscuredSharedPreferences.getPrefs(activity.getApplicationContext(), "GlobalData", Context.MODE_PRIVATE);
ObscuredSharedPreferences.Editor sharedPrefEditor = sharedPref.edit();
Gson gson = new Gson();
sharedPrefEditor.putString("LAST_TOOLTIP_DUMMY", gson.toJson(userHelpDummyGuide)).apply();
} catch (Exception e){}
Global.BACKPRESS_RESTRICTION = false;
}
});
sequence.setOnItemDismissedListener(new MaterialShowcaseSequence.OnSequenceItemDismissedListener() {
@Override
public void onDismiss(MaterialShowcaseView materialShowcaseView, int i) {
if(viewCounter < Global.userHelpDummyGuide.get(idSequence).size()) {
if(iconCounter < userHelpDummyGuide.get(idSequence).get(viewCounter).getIconid().size()) {
UserHelpViewDummy userHelpViewDummy = userHelpDummyGuide.get(idSequence).get(viewCounter);
try {
ImageView imageView = recyclerView.findViewHolderForLayoutPosition(0).
itemView.findViewById(Utility.getViewById(activity, userHelpViewDummy.getViewid()));
imageView.setImageDrawable(activity.getResources().getDrawable(
Utility.getDrawableById(activity, userHelpViewDummy.getIconid().get(iconCounter).getIcon()))
);
} catch (Exception e){
e.printStackTrace();
}
iconCounter++;
}else{
viewCounter++;
iconCounter = 0;
if(viewCounter < userHelpDummyGuide.get(idSequence).size()){
UserHelpViewDummy userHelpViewDummy = userHelpDummyGuide.get(idSequence).get(viewCounter);
ImageView imageView = recyclerView.findViewHolderForLayoutPosition(0).
itemView.findViewById(Utility.getViewById(activity, userHelpViewDummy.getViewid()));
imageView.setImageDrawable(activity.getResources().getDrawable(
Utility.getDrawableById(activity, userHelpViewDummy.getIconid().get(iconCounter).getIcon()))
);
iconCounter++;
}else{
Global.BACKPRESS_RESTRICTION = false;
recyclerView.setAdapter(newTaskLogAdapter);
userHelpDummyGuide.put(idSequence,new ArrayList<UserHelpViewDummy>());
try {
ObscuredSharedPreferences sharedPref =
ObscuredSharedPreferences.getPrefs(activity.getApplicationContext(), "GlobalData", Context.MODE_PRIVATE);
ObscuredSharedPreferences.Editor sharedPrefEditor = sharedPref.edit();
Gson gson = new Gson();
sharedPrefEditor.putString("LAST_TOOLTIP_DUMMY", gson.toJson(userHelpDummyGuide)).apply();
} catch (Exception e){}
}
}
}
}
});
sequence.start();
} catch (Exception e){}
}
},0);
}
}

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/databasegenerator" />
<option value="$PROJECT_DIR$/for-testing-only" />
<option value="$PROJECT_DIR$/google-play-services" />
<option value="$PROJECT_DIR$/mssbase" />
<option value="$PROJECT_DIR$/msscoll" />
<option value="$PROJECT_DIR$/mssodr" />
<option value="$PROJECT_DIR$/msssvy" />
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
</GradleProjectSettings>
</option>
</component>
</project>