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,169 @@
|
|||
package com.adins.mss.svy;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager.NameNotFoundException;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.LoginActivity;
|
||||
import com.adins.mss.base.NewMainActivity;
|
||||
import com.adins.mss.base.dynamictheme.DynamicTheme;
|
||||
import com.adins.mss.base.dynamictheme.ThemeLoader;
|
||||
import com.adins.mss.base.login.DefaultLoginModel;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.dao.GeneralParameter;
|
||||
import com.adins.mss.foundation.db.dataaccess.GeneralParameterDataAccess;
|
||||
import com.adins.mss.foundation.security.storepreferences.ObscuredSharedPreferences;
|
||||
import com.adins.mss.svy.login.MSDefaultLoginModel;
|
||||
import com.adins.mss.svy.tool.CopyDb;
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
public class MSLoginActivity extends LoginActivity implements ThemeLoader.ColorSetLoaderCallback{
|
||||
|
||||
private FirebaseAnalytics screenName;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
//instantiate theme loader
|
||||
themeLoader = new ThemeLoader(this);
|
||||
|
||||
defaultConfig = new HashMap<>();
|
||||
defaultConfig.put("cipher_unsupported_device", Global.SQLITE_CIPHER_UNSUPPORTED);
|
||||
this.fetchConfig();
|
||||
|
||||
PackageInfo pInfo = null;
|
||||
String sqliteCipherException;
|
||||
String deviceModel = Build.MODEL;
|
||||
|
||||
screenName = FirebaseAnalytics.getInstance(this);
|
||||
|
||||
try {
|
||||
sqliteCipherException = GlobalData.getSharedGlobalData().getRemoteConfig().getString("cipher_unsupported_device");
|
||||
pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
|
||||
Global.APP_VERSION = pInfo.versionName;
|
||||
Global.BUILD_VERSION = pInfo.versionCode;
|
||||
Global.IS_DEV = BuildConfig.IS_DEV;
|
||||
Global.FLAVORS = BuildConfig.IS_FLAVORS;
|
||||
Global.IS_BYPASSROOT = BuildConfig.IS_BYPASSROOT;
|
||||
Global.IS_DBENCRYPT = BuildConfig.IS_DBENCRYPT;
|
||||
Global.IS_DBENCRYPT = (!sqliteCipherException.contains(deviceModel)) && BuildConfig.IS_DBENCRYPT;
|
||||
} catch (NameNotFoundException e1) {
|
||||
// TODO Auto-generated catch block
|
||||
e1.printStackTrace();
|
||||
}
|
||||
|
||||
if(Global.AUTOLOGIN_ENABLE){
|
||||
NewMainActivity.setMainMenuClass(NewMSMainActivity.class);
|
||||
ObscuredSharedPreferences sharedPref = ObscuredSharedPreferences.getPrefs(getApplicationContext(),
|
||||
"GlobalData", Context.MODE_PRIVATE);
|
||||
hasLogged = sharedPref.getBoolean("HAS_LOGGED", false);
|
||||
if(hasLogged && GlobalData.getSharedGlobalData().getUser() != null){
|
||||
super.onCreate(savedInstanceState);
|
||||
NewMainActivity.InitializeGlobalDataIfError(getApplicationContext());
|
||||
//check theme config.
|
||||
String uuidUser = GlobalData.getSharedGlobalData().getUser() == null ? sharedPref.getString("UUID_USER", "") : GlobalData.getSharedGlobalData().getUser().getUuid_user();
|
||||
GeneralParameter generalParameter = GeneralParameterDataAccess.getOne(this,
|
||||
uuidUser,
|
||||
Global.GS_THEME_CONFIG_SURVEY);
|
||||
|
||||
if(generalParameter != null){
|
||||
String urlConfig = generalParameter.getGs_value();
|
||||
themeLoader.loadThemeFromUrl(urlConfig,this);
|
||||
}
|
||||
else {//go to main activity
|
||||
Intent intent = new Intent(getApplicationContext(), NewMSMainActivity.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
}
|
||||
else {//load directly login page and load saved theme
|
||||
super.onCreate(savedInstanceState);
|
||||
logo.setImageResource(com.adins.mss.base.R.drawable.icon_check_id);
|
||||
loadSavedTheme();
|
||||
}
|
||||
}
|
||||
else {//load directly login page and load saved theme
|
||||
super.onCreate(savedInstanceState);
|
||||
logo.setImageResource(com.adins.mss.base.R.drawable.icon_check_id);
|
||||
loadSavedTheme();
|
||||
}
|
||||
|
||||
// if (LeakCanary.isInAnalyzerProcess(this)) {
|
||||
// return;
|
||||
// }
|
||||
// LeakCanary.install(getApplication());
|
||||
}
|
||||
|
||||
private void copyDatabase() {
|
||||
new AsyncTask<Void, Void, Void>() {
|
||||
// private ProgressDialog progressDialog;
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
super.onPreExecute();
|
||||
// progressDialog = ProgressDialog.show(MSLoginActivity.this, "",getString(R.string.progressWait), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Void doInBackground(Void... params) {
|
||||
CopyDb copyDB = new CopyDb(getApplicationContext());
|
||||
copyDB.copyTable();
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(Void aVoid) {
|
||||
super.onPostExecute(aVoid);
|
||||
/* if (progressDialog.isShowing()){
|
||||
try {
|
||||
progressDialog.dismiss();
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}.execute();
|
||||
|
||||
}
|
||||
@Override
|
||||
protected DefaultLoginModel getNewDefaultLoginModel(Context context) {
|
||||
// TODO Auto-generated method stub
|
||||
return new MSDefaultLoginModel(this);
|
||||
}
|
||||
|
||||
private void loadSavedTheme(){
|
||||
if(themeLoader != null){
|
||||
themeLoader.loadSavedColorSet(this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onHasLoaded(DynamicTheme dynamicTheme) {//callback load from local db
|
||||
if(dynamicTheme != null && dynamicTheme.getThemeItemList().size() > 0){
|
||||
applyColorTheme(dynamicTheme);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onHasLoaded(DynamicTheme dynamicTheme, boolean needUpdate) {//callback load from server
|
||||
Intent intent = new Intent(getApplicationContext(), NewMSMainActivity.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
|
||||
//Set Firebase screen name
|
||||
screenName.setCurrentScreen(this,getString(R.string.screen_name_svy_login),null);
|
||||
|
||||
defaultConfig = new HashMap<>();
|
||||
defaultConfig.put("cipher_unsupported_device", Global.SQLITE_CIPHER_UNSUPPORTED);
|
||||
this.fetchConfig();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,78 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<item android:id="@+id/menuItem"
|
||||
android:title="Main Menu"
|
||||
android:icon="@drawable/more"
|
||||
|
||||
app:showAsAction="ifRoom">
|
||||
<menu >
|
||||
<item android:id="@+id/about"
|
||||
android:title="@string/aboutTitle"
|
||||
app:showAsAction="ifRoom"
|
||||
android:icon="@drawable/ic_menu_about"
|
||||
android:visible="false"
|
||||
/>
|
||||
<item
|
||||
android:id="@+id/serverLink"
|
||||
android:title="@string/lblServerLinkId"
|
||||
app:showAsAction="ifRoom"
|
||||
android:icon="@drawable/ic_menu_serverlink"
|
||||
android:visible="false"
|
||||
/>
|
||||
<item
|
||||
android:id="@+id/devOption"
|
||||
android:title="@string/lblDevOption"
|
||||
app:showAsAction="ifRoom"
|
||||
android:icon="@drawable/ic_settings_48px"
|
||||
android:visible="false"
|
||||
/>
|
||||
<item
|
||||
android:id="@+id/checkIn"
|
||||
android:title="@string/checkIn"
|
||||
app:showAsAction="ifRoom"
|
||||
android:icon="@drawable/ic_menu_checkin"
|
||||
android:visible="false"
|
||||
/>
|
||||
|
||||
<item
|
||||
android:id="@+id/refresh"
|
||||
android:title="@string/refresh"
|
||||
app:showAsAction="ifRoom"
|
||||
android:icon="@drawable/ic_menu_refresh"
|
||||
android:visible="false"
|
||||
/>
|
||||
<item
|
||||
android:id="@+id/save"
|
||||
android:title="@string/mnSave"
|
||||
app:showAsAction="ifRoom"
|
||||
android:icon="@drawable/ic_menu_save"
|
||||
android:visible="false"
|
||||
|
||||
/>
|
||||
<item
|
||||
android:id="@+id/pending"
|
||||
android:title="@string/mnPending"
|
||||
app:showAsAction="ifRoom"
|
||||
android:icon="@drawable/ic_menu_pending"
|
||||
android:visible="false"
|
||||
/>
|
||||
<item
|
||||
android:id="@+id/send"
|
||||
android:title="@string/mnSend"
|
||||
app:showAsAction="ifRoom"
|
||||
android:icon="@drawable/ic_menu_send"
|
||||
android:visible="false"
|
||||
/>
|
||||
<item
|
||||
android:id="@+id/copyImage"
|
||||
android:title="@string/mnCpImage"
|
||||
app:showAsAction="ifRoom"
|
||||
android:icon="@drawable/ic_menu_copyimage"
|
||||
android:visible="false"
|
||||
/>
|
||||
|
||||
</menu>
|
||||
</item>
|
||||
|
||||
</menu>
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#CABBBBBB"/>
|
||||
<corners android:radius="10dp" />
|
||||
</shape>
|
||||
</item>
|
||||
|
||||
<item
|
||||
android:left="3dp"
|
||||
android:right="3dp"
|
||||
android:top="3dp"
|
||||
android:bottom="3dp">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="@android:color/white"/>
|
||||
<corners android:radius="5dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
|
@ -0,0 +1,133 @@
|
|||
package com.adins.mss.coll.loyalti.pointacquisitionmonthly;
|
||||
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
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.loyalti.pointacquisitionmonthly.contracts.ILoyaltyPointsDataSource;
|
||||
import com.adins.mss.coll.models.loyaltymodels.LoyaltyPointsResponse;
|
||||
import com.adins.mss.coll.models.loyaltymodels.LoyaltyPointsRequest;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.dao.GeneralParameter;
|
||||
import com.adins.mss.dao.GeneralParameterDao;
|
||||
import com.adins.mss.foundation.db.DaoOpenHelper;
|
||||
import com.adins.mss.foundation.http.HttpConnectionResult;
|
||||
import com.adins.mss.foundation.http.HttpCryptedConnection;
|
||||
import com.google.firebase.perf.FirebasePerformance;
|
||||
import com.google.firebase.perf.metrics.HttpMetric;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import de.greenrobot.dao.query.QueryBuilder;
|
||||
|
||||
public class LoyaltyPointsDataSource implements ILoyaltyPointsDataSource {
|
||||
|
||||
private Context context;//use app context
|
||||
private Handler handler;
|
||||
|
||||
public LoyaltyPointsDataSource(Application application) {
|
||||
this.context = application;
|
||||
handler = new Handler(Looper.getMainLooper());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void requestPointsData(LoyaltyPointsRequest reqData, ReqPointsListener listener) {
|
||||
if(listener == null)
|
||||
return;
|
||||
|
||||
RequestPointsTask requestPointsTask = new RequestPointsTask(reqData,listener);
|
||||
Thread thread = new Thread(requestPointsTask);
|
||||
thread.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GeneralParameter> getJobsGenParam(List<String> jobs) {
|
||||
String uuidUser = GlobalData.getSharedGlobalData().getUser().getUuid_user();
|
||||
|
||||
GeneralParameterDao dao = DaoOpenHelper.getDaoSession(context).getGeneralParameterDao();
|
||||
QueryBuilder qb = dao.queryBuilder();
|
||||
qb.where(GeneralParameterDao.Properties.Uuid_user.eq(uuidUser)
|
||||
,GeneralParameterDao.Properties.Gs_value.in(jobs));
|
||||
qb.build();
|
||||
return qb.list();
|
||||
}
|
||||
|
||||
private class RequestPointsTask implements Runnable {
|
||||
|
||||
private LoyaltyPointsRequest request;
|
||||
private ReqPointsListener listener;
|
||||
|
||||
public RequestPointsTask(LoyaltyPointsRequest request, ReqPointsListener listener) {
|
||||
this.request = request;
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
//request to ws here. wait for ws
|
||||
String jsonReq = GsonHelper.toJson(request);
|
||||
String url = GlobalData.getSharedGlobalData().getURL_LOYALTY_DETAIL_POINT();
|
||||
boolean encrypt = GlobalData.getSharedGlobalData().isEncrypt();
|
||||
boolean decrypt = GlobalData.getSharedGlobalData().isDecrypt();
|
||||
HttpCryptedConnection httpConn = new HttpCryptedConnection(context, encrypt, decrypt);
|
||||
HttpConnectionResult serverResult = null;
|
||||
|
||||
//Firebase Performance Trace HTTP Request
|
||||
HttpMetric networkMetric =
|
||||
FirebasePerformance.getInstance().newHttpMetric(url, FirebasePerformance.HttpMethod.POST);
|
||||
Utility.metricStart(networkMetric, jsonReq);
|
||||
|
||||
try {
|
||||
serverResult = httpConn.requestToServer(url, jsonReq, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
Utility.metricStop(networkMetric, serverResult);
|
||||
} catch (final Exception e) {
|
||||
e.printStackTrace();
|
||||
handler.post(
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onFailed(e.getMessage());
|
||||
}
|
||||
}
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
if(serverResult.getStatusCode() != 200){
|
||||
final String result = serverResult.getResult();
|
||||
handler.post(
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onFailed(result);
|
||||
}
|
||||
}
|
||||
);
|
||||
return;
|
||||
}
|
||||
final LoyaltyPointsResponse response = GsonHelper.fromJson(serverResult.getResult(), LoyaltyPointsResponse.class);
|
||||
|
||||
if (response.getStatus().getCode() != 0) {
|
||||
handler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onFailed(response.getStatus().getMessage());
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
handler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listener.onSuccess(response);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
package com.adins.mss.base.loyalti.model;
|
||||
|
||||
import com.adins.mss.foundation.http.MssRequestType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class LoyaltyPointsRequest extends MssRequestType {
|
||||
@SerializedName("MEMBERSHIP_PROGRAM_CODE")
|
||||
public String membershipProgramId;
|
||||
@SerializedName("LOGIN_ID")
|
||||
public String loginId;
|
||||
@SerializedName("POINT_GROUP")
|
||||
public String pointGroup;
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="30dp"
|
||||
android:height="30dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="@color/fontColor"
|
||||
android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
|
||||
</vector>
|
Loading…
Add table
Add a link
Reference in a new issue