add project adins
1
MSS/BaseProject/Android/branches/BAFMCS_V3/msssvy/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/build
|
147
MSS/BaseProject/Android/branches/BAFMCS_V3/msssvy/build.gradle
Normal file
|
@ -0,0 +1,147 @@
|
|||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'com.google.firebase.crashlytics'
|
||||
|
||||
android {
|
||||
lintOptions {
|
||||
disable 'MissingTranslation'
|
||||
checkReleaseBuilds false
|
||||
abortOnError false
|
||||
}
|
||||
|
||||
// change with your msmkey storeFile
|
||||
signingConfigs {
|
||||
msmkey {
|
||||
keyAlias 'aitmsskey'
|
||||
keyPassword 'AdIns2020'
|
||||
storeFile file('keystore2020.jks')
|
||||
storePassword 'AdIns2020'
|
||||
}
|
||||
}
|
||||
|
||||
compileSdkVersion 30
|
||||
buildToolsVersion '29.0.2'
|
||||
defaultConfig {
|
||||
applicationId "com.adins.survey"
|
||||
minSdkVersion 19
|
||||
targetSdkVersion 30
|
||||
versionCode 7910
|
||||
versionName "3.2.0.2-$versionCode"
|
||||
multiDexEnabled true
|
||||
useLibrary 'org.apache.http.legacy'
|
||||
archivesBaseName = "MSSSVY-$versionName"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
|
||||
}
|
||||
dexOptions {
|
||||
javaMaxHeapSize "5g"
|
||||
}
|
||||
dataBinding {
|
||||
enabled = true
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
shrinkResources false
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
signingConfig signingConfigs.msmkey
|
||||
}
|
||||
debug {
|
||||
minifyEnabled false
|
||||
shrinkResources false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
packagingOptions{
|
||||
exclude 'META-INF/proguard/androidx-annotations.pro'
|
||||
}
|
||||
flavorDimensions "default"
|
||||
productFlavors {
|
||||
developer {
|
||||
applicationId "com.adins.mss.svy.dev"
|
||||
versionCode 7898
|
||||
dimension "default"
|
||||
versionName "3.2.0.0-$versionCode-D"
|
||||
buildConfigField "boolean", "IS_DEV", "true"
|
||||
buildConfigField "boolean", "IS_DBENCRYPT", "false"
|
||||
buildConfigField "boolean", "IS_BYPASSROOT", "true"
|
||||
buildConfigField "String", "IS_FLAVORS", "\"DEVELOPER\""
|
||||
}
|
||||
product {
|
||||
applicationId "com.adins.mss.svy"
|
||||
versionCode 7898
|
||||
dimension "default"
|
||||
versionName "3.2.0.0-$versionCode-P"
|
||||
buildConfigField "boolean", "IS_DEV", "false"
|
||||
buildConfigField "boolean", "IS_DBENCRYPT", "true"
|
||||
buildConfigField "boolean", "IS_BYPASSROOT", "false"
|
||||
buildConfigField "String", "IS_FLAVORS", "\"PRODUCT\""
|
||||
}
|
||||
trial {
|
||||
applicationId "com.adins.mss.svy.trial"
|
||||
versionCode 7898
|
||||
dimension "default"
|
||||
versionName "3.2.0.0-$versionCode-P"
|
||||
buildConfigField "boolean", "IS_DEV", "false"
|
||||
buildConfigField "boolean", "IS_DBENCRYPT", "true"
|
||||
buildConfigField "boolean", "IS_BYPASSROOT", "false"
|
||||
buildConfigField "String", "IS_FLAVORS", "\"TRIAL\""
|
||||
}
|
||||
cloud {
|
||||
applicationId "com.adins.survey"
|
||||
versionCode 7910
|
||||
dimension "default"
|
||||
versionName "3.2.0.2-$versionCode-P"
|
||||
buildConfigField "boolean", "IS_DEV", "false"
|
||||
buildConfigField "boolean", "IS_DBENCRYPT", "true"
|
||||
buildConfigField "boolean", "IS_BYPASSROOT", "false"
|
||||
buildConfigField "String", "IS_FLAVORS", "\"PRODUCT\""
|
||||
}
|
||||
clouddev {
|
||||
applicationId "com.adins.mss.svy.cloud.dev"
|
||||
versionCode 5294
|
||||
dimension "default"
|
||||
versionName "3.2.0.0-$versionCode-D"
|
||||
buildConfigField "boolean", "IS_DEV", "true"
|
||||
buildConfigField "boolean", "IS_DBENCRYPT", "false"
|
||||
buildConfigField "boolean", "IS_BYPASSROOT", "true"
|
||||
buildConfigField "String", "IS_FLAVORS", "\"DEVELOPER\""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
configurations.all {
|
||||
resolutionStrategy {
|
||||
force 'com.android.support:support-annotations:28.0.0'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':mssbase')
|
||||
implementation 'com.google.firebase:firebase-messaging:20.2.4'
|
||||
implementation 'androidx.annotation:annotation:1.0.0'
|
||||
|
||||
implementation 'com.google.firebase:firebase-perf:19.0.8'
|
||||
implementation 'com.google.firebase:firebase-core:17.5.0'
|
||||
implementation 'com.google.firebase:firebase-analytics:17.5.0'
|
||||
implementation 'com.google.firebase:firebase-crashlytics:17.2.1'
|
||||
implementation 'androidx.appcompat:appcompat:1.0.0'
|
||||
implementation 'com.github.vihtarb:tooltip:0.2.0'
|
||||
testImplementation 'junit:junit:4.12'
|
||||
// Espresso UI Testing
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
|
||||
androidTestImplementation 'androidx.test:rules:1.1.0'
|
||||
androidTestImplementation 'androidx.test:runner:1.1.0'
|
||||
|
||||
androidTestImplementation 'org.powermock:powermock-core:1.7.0RC2'
|
||||
androidTestImplementation 'org.powermock:powermock-module-junit4:1.7.0RC2'
|
||||
androidTestImplementation 'org.powermock:powermock-api-mockito2:1.7.0RC2'
|
||||
}
|
||||
|
||||
//dependencies {
|
||||
// debugimplementation 'com.squareup.leakcanary:leakcanary-android:1.5.1'
|
||||
//// releaseimplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
|
||||
// testimplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
|
||||
//}
|
||||
apply plugin: 'com.google.firebase.firebase-perf'
|
||||
apply plugin: 'com.google.gms.google-services'
|
|
@ -0,0 +1,585 @@
|
|||
{
|
||||
"project_info": {
|
||||
"project_number": "814888014770",
|
||||
"firebase_url": "https://aitmss-1fd04.firebaseio.com",
|
||||
"project_id": "aitmss-1fd04",
|
||||
"storage_bucket": "aitmss-1fd04.appspot.com"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:30c443717ea63b1d",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.coll"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-3mnsl7ja8ddiuv5sl5gqfvij9cm973na.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.coll",
|
||||
"certificate_hash": "b07630f358413826df1dceeff13dec3cc7642e36"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-o9drphjl20de1nbt9bd1tbuj08musiis.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.coll",
|
||||
"certificate_hash": "edf00b52879e51d97f85961fd196240bbd316220"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-1crpacj0ttvkjeimakn6qe6pmhu3qeq7.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.coll",
|
||||
"certificate_hash": "e831f754571d0287b1577c64c2f9da80dca8a28d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-lqni1uhtl2omhj2ghl8ennrlpdtgchgi.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.coll",
|
||||
"certificate_hash": "781f237f99355c079785379c9bb39d0c6f036fba"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 2,
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:5c334278ae3d4dbd",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.coll.dev"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:62ea46ede52e350b",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.coll.trial"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:6168d59a3ce39f25",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.svy"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-5f1768ika3hs4ttrek8jmkmf5rahfi1l.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.svy",
|
||||
"certificate_hash": "b07630f358413826df1dceeff13dec3cc7642e36"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-6jbu06k8ntt610ah06be2q8fmf8g49u6.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.svy",
|
||||
"certificate_hash": "edf00b52879e51d97f85961fd196240bbd316220"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-nr69qi0ku9cgok5co187apdpgs0at6ie.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.svy",
|
||||
"certificate_hash": "e831f754571d0287b1577c64c2f9da80dca8a28d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-34mdd9bo2goldi5a5hoeh4iup8nvcdvk.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.svy",
|
||||
"certificate_hash": "781f237f99355c079785379c9bb39d0c6f036fba"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 2,
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:4c9a50b93d56ebef",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.svy.dev"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:48590bba4365ec2d",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.odr"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-itt09df2ovn47an5rearlf1kh8ljp5tt.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.odr",
|
||||
"certificate_hash": "b07630f358413826df1dceeff13dec3cc7642e36"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-09lnve4i7o6ml5436v128stk0jfu5vug.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.odr",
|
||||
"certificate_hash": "edf00b52879e51d97f85961fd196240bbd316220"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-52el593n7dc31cgu431kiqes2qijklie.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.odr",
|
||||
"certificate_hash": "e831f754571d0287b1577c64c2f9da80dca8a28d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-76sm9sf0veuhc96gtiqkdinju9b4al6d.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.odr",
|
||||
"certificate_hash": "781f237f99355c079785379c9bb39d0c6f036fba"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 2,
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:75bff1874bc58298",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.odr.dev"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:41ac49e3a1067b63",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.svy.trial"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:0056a18df222e269",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.odr.trial"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:2ce43e2402f184a7",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.mma"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:81af48a318e62233",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.mma.dev"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:4394bdce086fcfcc",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.mma.trial"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:7314503471868713",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.base"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-51c5dehkiu9o90j7rdq9ke6fvlvaomtc.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.base",
|
||||
"certificate_hash": "781f237f99355c079785379c9bb39d0c6f036fba"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-aqe9bq2rc57suvnangenhpfai77f4j2u.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.base",
|
||||
"certificate_hash": "e831f754571d0287b1577c64c2f9da80dca8a28d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 2,
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"configuration_version": "1"
|
||||
}
|
BIN
MSS/BaseProject/Android/branches/BAFMCS_V3/msssvy/msmkey
Normal file
245
MSS/BaseProject/Android/branches/BAFMCS_V3/msssvy/proguard-rules.pro
vendored
Normal file
|
@ -0,0 +1,245 @@
|
|||
# Add project specific ProGuard rules here.
|
||||
# By default, the flags in this file are appended to flags specified
|
||||
# in C:\Users\gigin.ginanjar\AppData\Local\Android\sdk/tools/proguard/proguard-android.txt
|
||||
# You can edit the include path and order by changing the proguardFiles
|
||||
# directive in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# Add any project specific keep options here:
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
|
||||
-optimizationpasses 5
|
||||
|
||||
#When not preverifing in a case-insensitive filing system, such as Windows. Because this tool unpacks your processed jars, you should then use:
|
||||
-dontusemixedcaseclassnames
|
||||
|
||||
#Specifies not to ignore non-public library classes. As of version 4.5, this is the default setting
|
||||
-dontskipnonpubliclibraryclasses
|
||||
|
||||
#Preverification is irrelevant for the dex compiler and the Dalvik VM, so we can switch it off with the -dontpreverify option.
|
||||
-dontpreverify
|
||||
|
||||
#Specifies to write out some more information during processing. If the program terminates with an exception, this option will print out the entire stack trace, instead of just the exception message.
|
||||
-verbose
|
||||
|
||||
#The -optimizations option disables some arithmetic simplifications that Dalvik 1.0 and 1.5 can't handle. Note that the Dalvik VM also can't handle aggressive overloading (of static fields).
|
||||
#To understand or change this check http://proguard.sourceforge.net/index.html#/manual/optimizations.html
|
||||
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
|
||||
|
||||
#To repackage classes on a single package
|
||||
-repackageclasses ''
|
||||
|
||||
#Uncomment if using annotations to keep them.
|
||||
-keepattributes *Annotation*, Override
|
||||
-keepattributes Signature
|
||||
-keepattributes EnclosingMethod
|
||||
-keepattributes InnerClasses
|
||||
|
||||
#-keep public class !com.adins.mss.** {*;}
|
||||
#Keep classes that are referenced on the AndroidManifest
|
||||
#-keep public class * extends androidx.fragment.app.Fragment
|
||||
-keep public class * extends androidx.appcompat.app.AppCompatActivity
|
||||
-keep public class * extends com.adins.mss.base.MssFragmentActivity
|
||||
-keep public class * extends androidx.fragment.app.Fragment
|
||||
-keep public class * extends androidx.fragment.app.FragmentActivity
|
||||
-keep public class * extends android.app.Activity
|
||||
-keep public class * extends android.app.Application
|
||||
-keep public class * extends android.app.Service
|
||||
-keep public class * extends android.content.BroadcastReceiver
|
||||
-keep public class * extends android.content.ContentProvider
|
||||
-keep public class * extends com.adins.mss.foundation.http.MssRequestType
|
||||
-keep public class * extends com.adins.mss.foundation.http.MssResponseType
|
||||
-keep public class com.android.vending.licensing.ILicensingService
|
||||
-keep class com.adins.**.*Request
|
||||
-keep class com.adins.**.*Response
|
||||
-keep class android.** { *; }
|
||||
-keep class com.google.** { *; }
|
||||
-keep class net.sqlcipher.** {*;}
|
||||
|
||||
#To remove debug logs:
|
||||
-assumenosideeffects class android.util.Log {
|
||||
public static *** d(...);
|
||||
public static *** v(...);
|
||||
public static *** e(...);
|
||||
public static *** i(...);
|
||||
}
|
||||
|
||||
#To avoid changing names of methods invoked on layout's onClick.
|
||||
# Uncomment and add specific method names if using onClick on layouts
|
||||
-keepclassmembers class * {
|
||||
public void onClickButton(android.view.View);
|
||||
}
|
||||
|
||||
#Maintain java native methods
|
||||
-keepclasseswithmembernames class * {
|
||||
native <methods>;
|
||||
}
|
||||
|
||||
#To maintain custom components names that are used on layouts XML.
|
||||
#Uncomment if having any problem with the approach below
|
||||
#-keep public class custom.components.package.and.name.**
|
||||
|
||||
#To maintain custom components names that are used on layouts XML:
|
||||
-keep public class * extends android.view.View {
|
||||
public <init>(android.content.Context);
|
||||
public <init>(android.content.Context, android.util.AttributeSet);
|
||||
public <init>(android.content.Context, android.util.AttributeSet, int);
|
||||
public void set*(...);
|
||||
}
|
||||
|
||||
-keepclasseswithmembers class * {
|
||||
public <init>(android.content.Context, android.util.AttributeSet);
|
||||
}
|
||||
|
||||
-keepclasseswithmembers class * {
|
||||
public <init>(android.content.Context, android.util.AttributeSet, int);
|
||||
}
|
||||
|
||||
#Maintain enums
|
||||
-keepclassmembers enum * {
|
||||
public static **[] values();
|
||||
public static ** valueOf(java.lang.String);
|
||||
}
|
||||
|
||||
#To keep parcelable classes (to serialize - deserialize objects to sent through Intents)
|
||||
-keep class * implements android.os.Parcelable {
|
||||
public static final android.os.Parcelable$Creator *;
|
||||
}
|
||||
|
||||
#Keep the R
|
||||
-keepclassmembers class **.R$* {
|
||||
public static <fields>;
|
||||
}
|
||||
|
||||
#Keep Interface
|
||||
-keep interface * {*;}
|
||||
-keep class sun.misc.Unsafe { *; }
|
||||
|
||||
###### ADDITIONAL OPTIONS NOT USED NORMALLY
|
||||
|
||||
#To keep callback calls. Uncomment if using any
|
||||
#http://proguard.sourceforge.net/index.html#/manual/examples.html#callback
|
||||
#-keep class mypackage.MyCallbackClass {
|
||||
# void myCallbackMethod(java.lang.String);
|
||||
#}
|
||||
|
||||
#Uncomment if using Serializable
|
||||
-keepclassmembers class * implements java.io.Serializable {
|
||||
private static final java.io.ObjectStreamField[] serialPersistentFields;
|
||||
private void writeObject(java.io.ObjectOutputStream);
|
||||
private void readObject(java.io.ObjectInputStream);
|
||||
java.lang.Object writeReplace();
|
||||
java.lang.Object readResolve();
|
||||
}
|
||||
|
||||
-keep class * implements java.io.Serializable {
|
||||
public protected <fields>;
|
||||
}
|
||||
|
||||
#Keep fields for Gson transactions
|
||||
-keep public class * extends com.adins.mss.foundation.http.MssRequestType{
|
||||
<fields>;
|
||||
}
|
||||
-keep public class * extends com.adins.mss.foundation.http.MssResponseType{
|
||||
<fields>;
|
||||
}
|
||||
-keep public class * extends com.adins.mss.foundation.http.KeyValue{
|
||||
<fields>;
|
||||
}
|
||||
|
||||
-ignorewarnings
|
||||
|
||||
#Keep Class For MSS
|
||||
|
||||
-keep class com.adins.mss.dao.** {*;}
|
||||
#-keep class com.adins.mss.svy.MSLoginActivity
|
||||
-keep class com.adins.mss.base.login.DefaultLoginModel
|
||||
-keep public class com.adins.mss.foundation.formatter.DateFormatter{
|
||||
public <methods>;
|
||||
}
|
||||
|
||||
|
||||
#-keep public class com.adins.mss.base.authentication.AuthenticationResultBean{
|
||||
# <fields>;
|
||||
#}
|
||||
|
||||
#-keep class com.adins.mss.base.GlobalData{
|
||||
# public <methods>;
|
||||
# <fields>;
|
||||
#}
|
||||
#-keep class com.adins.mss.constant.Global
|
||||
#-keep class com.adins.mss.svy.login.MSDefaultLoginModel
|
||||
|
||||
-keepclassmembers class *{
|
||||
static <fields>;
|
||||
public <methods>;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#Keep for Timeline
|
||||
#-keep class com.adins.mss.base.timeline.activity.Timeline_Activity{
|
||||
# public void outstandingTask(android.view.View);
|
||||
# public void tmCheckIn(android.view.View);
|
||||
# public void changeHeader(android.view.View);
|
||||
# public void changeProfile(android.view.View);
|
||||
# public void searchContent(android.view.View);
|
||||
# public void tmSubmitted(android.view.View);
|
||||
# public void tmTask(android.view.View);
|
||||
# public void tmMessage(android.view.View);
|
||||
#}
|
||||
#-keepclassmembers class *{
|
||||
# public void ***(android.view.View);
|
||||
#}
|
||||
|
||||
-keep class com.adins.mss.base.dialogfragments.NewTaskDialog {
|
||||
public void itemClick(android.widget.AdapterView,android.view.View,int,long);
|
||||
}
|
||||
|
||||
-dontwarn javax.script.**
|
||||
-dontwarn org.apache.commons.logging.**
|
||||
-dontwarn java.beans.**
|
||||
-dontwarn okio.**
|
||||
-dontwarn com.androidquery.auth.TwitterHandle
|
||||
-dontwarn org.bouncycastle.**
|
||||
-dontwarn oauth.**
|
||||
-dontwarn com.android.auth.TwitterHandle.**
|
||||
|
||||
-keep class javax.** {*;}
|
||||
-keep class org.apache.commons.logging.** {*;}
|
||||
-keep class java.beans.** {*;}
|
||||
-keep class org.apache.commons.jexl2.** {*;}
|
||||
-keep class org.bouncycastle.** {*;}
|
||||
-keep class okio.** {*;}
|
||||
-keep class oauth.signpost.** {*;}
|
||||
-keep class org.apache.log4j.Logger {*;}
|
||||
-keep class java.nio.** {*;}
|
||||
-keep class junit..** {*;}
|
||||
-keep class oauth.signpost.commonshttp.** {*;}
|
||||
-keep public class com.gadberry.** {*;}
|
||||
-keep class oauth.** { *; }
|
||||
-keep class com.android.auth.TwitterHandle.** { *; }
|
||||
|
||||
-keepclassmembers class **.R$* { public static <fields>; }
|
||||
-keep class net.sqlcipher.** { *; }
|
||||
-keep class net.sqlcipher.database.** { *; }
|
||||
|
||||
-keep public class com.adins.mss.logger.Logger{
|
||||
public <methods>;
|
||||
}
|
||||
|
||||
-keep class com.androidquery.AQuery {
|
||||
public protected <methods>;
|
||||
public protected <fields>;
|
||||
}
|
||||
|
||||
-keep class com.adins.mss.foundation.security.storepreferences.ObscuredSharedPreferences {*;}
|
||||
-keep public class com.adins.mss.foundation.UserHelp.** {*;}
|
|
@ -0,0 +1,47 @@
|
|||
package com.adins.mss.svy;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.rule.ActivityTestRule;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
|
||||
import com.adins.mss.foundation.http.AuditDataType;
|
||||
import com.adins.mss.foundation.http.AuditDataTypeGenerator;
|
||||
import com.adins.mss.foundation.http.MssRequestType;
|
||||
import com.adins.mss.foundation.phone.TelephonyInfo;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class AndroidQIMEITest {
|
||||
@Rule
|
||||
public ActivityTestRule activityTestRule = new ActivityTestRule(MSLoginActivity.class);
|
||||
@Mock
|
||||
Context context;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
context = InstrumentationRegistry.getTargetContext().getApplicationContext();
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void LoginActivityTest(){
|
||||
Map<String, String> imeiMap = AuditDataTypeGenerator.getListImeiFromDevice(context);
|
||||
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
||||
assertEquals(AuditDataTypeGenerator.getAndroidId(), imeiMap.get(MssRequestType.UN_KEY_IMEI));
|
||||
} else{
|
||||
TelephonyInfo tm = TelephonyInfo.getInstance(context);
|
||||
assertEquals(tm.getImeiSIM1(), imeiMap.get(MssRequestType.UN_KEY_IMEI));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package com.adins.mss.svy;
|
||||
|
||||
import android.app.Application;
|
||||
//import android.test.ApplicationTestCase;
|
||||
|
||||
/**
|
||||
* <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
|
||||
*/
|
||||
public class ApplicationTest {
|
||||
/*public ApplicationTest() {
|
||||
super(Application.class);
|
||||
}*/
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
package com.adins.mss.svy;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.dao.User;
|
||||
import com.adins.mss.foundation.config.ConfigFileReader;
|
||||
|
||||
import org.acra.ACRA;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.JUnit4;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
import static org.acra.ACRA.PREF_DISABLE_ACRA;
|
||||
import static org.acra.ACRA.PREF_ENABLE_ACRA;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class DisableAcraTest {
|
||||
|
||||
Context context;
|
||||
|
||||
@Before
|
||||
public void setUpContext(){
|
||||
context = InstrumentationRegistry.getTargetContext().getApplicationContext();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDisableAcra(){
|
||||
//used for acra log
|
||||
User a = null;
|
||||
try {
|
||||
String id = a.getBranch_id();
|
||||
}
|
||||
catch (NullPointerException e){
|
||||
ACRA.getErrorReporter().putCustomData("User Null Exception",e.getMessage());
|
||||
ACRA.getErrorReporter().handleSilentException(new Exception("Null Pointer User"));
|
||||
}
|
||||
|
||||
//this code is taken from ACRA code to check acra disable
|
||||
//check disable from acra preference
|
||||
SharedPreferences acraPref = ACRA.getACRASharedPreferences();
|
||||
final boolean enableAcra = acraPref.getBoolean(PREF_ENABLE_ACRA, true);
|
||||
boolean disableAcra = acraPref.getBoolean(PREF_DISABLE_ACRA, !enableAcra);
|
||||
|
||||
//test if pref disable acra is true
|
||||
Assert.assertTrue(disableAcra);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,434 @@
|
|||
{
|
||||
"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
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:446222152141:android:c40e5d0f9a417228",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.collection"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "446222152141-llmcc27vignp2jas7f71rb1sva69e62j.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC3a4yfB1rBSHTlMlGarmHKkoeRj9f44MY"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyA2V50uQBKw5_w2f3BEEbcNkmwofZyt-Io"
|
||||
}
|
||||
],
|
||||
"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:bb9385b95e120d4c",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.collection.dev"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "446222152141-llmcc27vignp2jas7f71rb1sva69e62j.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC3a4yfB1rBSHTlMlGarmHKkoeRj9f44MY"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyA2V50uQBKw5_w2f3BEEbcNkmwofZyt-Io"
|
||||
}
|
||||
],
|
||||
"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:95299b5f05d78e63",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.survey"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "446222152141-llmcc27vignp2jas7f71rb1sva69e62j.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC3a4yfB1rBSHTlMlGarmHKkoeRj9f44MY"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyA2V50uQBKw5_w2f3BEEbcNkmwofZyt-Io"
|
||||
}
|
||||
],
|
||||
"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:a841b661c5c9d7d5",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.survey.dev"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "446222152141-llmcc27vignp2jas7f71rb1sva69e62j.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC3a4yfB1rBSHTlMlGarmHKkoeRj9f44MY"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyA2V50uQBKw5_w2f3BEEbcNkmwofZyt-Io"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"configuration_version": "1"
|
||||
}
|
|
@ -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"
|
||||
}
|
|
@ -0,0 +1,585 @@
|
|||
{
|
||||
"project_info": {
|
||||
"project_number": "814888014770",
|
||||
"firebase_url": "https://aitmss-1fd04.firebaseio.com",
|
||||
"project_id": "aitmss-1fd04",
|
||||
"storage_bucket": "aitmss-1fd04.appspot.com"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:30c443717ea63b1d",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.coll"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-3mnsl7ja8ddiuv5sl5gqfvij9cm973na.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.coll",
|
||||
"certificate_hash": "b07630f358413826df1dceeff13dec3cc7642e36"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-o9drphjl20de1nbt9bd1tbuj08musiis.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.coll",
|
||||
"certificate_hash": "edf00b52879e51d97f85961fd196240bbd316220"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-1crpacj0ttvkjeimakn6qe6pmhu3qeq7.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.coll",
|
||||
"certificate_hash": "e831f754571d0287b1577c64c2f9da80dca8a28d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-lqni1uhtl2omhj2ghl8ennrlpdtgchgi.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.coll",
|
||||
"certificate_hash": "781f237f99355c079785379c9bb39d0c6f036fba"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 2,
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:5c334278ae3d4dbd",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.coll.dev"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:62ea46ede52e350b",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.coll.trial"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:6168d59a3ce39f25",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.svy"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-5f1768ika3hs4ttrek8jmkmf5rahfi1l.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.svy",
|
||||
"certificate_hash": "b07630f358413826df1dceeff13dec3cc7642e36"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-6jbu06k8ntt610ah06be2q8fmf8g49u6.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.svy",
|
||||
"certificate_hash": "edf00b52879e51d97f85961fd196240bbd316220"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-nr69qi0ku9cgok5co187apdpgs0at6ie.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.svy",
|
||||
"certificate_hash": "e831f754571d0287b1577c64c2f9da80dca8a28d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-34mdd9bo2goldi5a5hoeh4iup8nvcdvk.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.svy",
|
||||
"certificate_hash": "781f237f99355c079785379c9bb39d0c6f036fba"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 2,
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:4c9a50b93d56ebef",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.svy.dev"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:48590bba4365ec2d",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.odr"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-itt09df2ovn47an5rearlf1kh8ljp5tt.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.odr",
|
||||
"certificate_hash": "b07630f358413826df1dceeff13dec3cc7642e36"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-09lnve4i7o6ml5436v128stk0jfu5vug.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.odr",
|
||||
"certificate_hash": "edf00b52879e51d97f85961fd196240bbd316220"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-52el593n7dc31cgu431kiqes2qijklie.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.odr",
|
||||
"certificate_hash": "e831f754571d0287b1577c64c2f9da80dca8a28d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-76sm9sf0veuhc96gtiqkdinju9b4al6d.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.odr",
|
||||
"certificate_hash": "781f237f99355c079785379c9bb39d0c6f036fba"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 2,
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:75bff1874bc58298",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.odr.dev"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:41ac49e3a1067b63",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.svy.trial"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:0056a18df222e269",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.odr.trial"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:2ce43e2402f184a7",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.mma"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:81af48a318e62233",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.mma.dev"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:4394bdce086fcfcc",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.mma.trial"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:814888014770:android:7314503471868713",
|
||||
"android_client_info": {
|
||||
"package_name": "com.adins.mss.base"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-51c5dehkiu9o90j7rdq9ke6fvlvaomtc.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.base",
|
||||
"certificate_hash": "781f237f99355c079785379c9bb39d0c6f036fba"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-aqe9bq2rc57suvnangenhpfai77f4j2u.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "com.adins.mss.base",
|
||||
"certificate_hash": "e831f754571d0287b1577c64c2f9da80dca8a28d"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyC6ybt31nRknv-l0dzR69vZZGPoSeHkAm8"
|
||||
},
|
||||
{
|
||||
"current_key": "AIzaSyDmV5RbC4xQFgzhTUAQMHUSbtFdl8wduII"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"analytics_service": {
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 2,
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "814888014770-qgllsrlpktvi162r6uqae4on3qtg0ap2.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"configuration_version": "1"
|
||||
}
|
|
@ -0,0 +1,235 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.adins.mss.svy"
|
||||
android:installLocation="internalOnly">
|
||||
|
||||
<!--<uses-permission android:name="android.permission.RECORD_AUDIO" />-->
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
|
||||
<uses-feature android:name="android.hardware.camera.autofocus" />
|
||||
<uses-feature android:name="android.hardware.camera" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.camera.front"
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.camera.flash"
|
||||
android:required="false" />
|
||||
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="android.permission.FLASHLIGHT" />
|
||||
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <!-- External storage for caching. -->
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- My Location -->
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
|
||||
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <!-- <uses-permission android:name="android.permission.CALL_PHONE" /> -->
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <!-- Maps API needs OpenGL ES 2.0. -->
|
||||
<uses-feature
|
||||
android:glEsVersion="0x00020000"
|
||||
android:required="true" />
|
||||
|
||||
<application
|
||||
android:name="com.adins.mss.main.MSMApplication"
|
||||
android:allowBackup="false"
|
||||
android:fullBackupContent="false"
|
||||
android:icon="@drawable/icon_launcher_check_id"
|
||||
android:label="@string/app_name"
|
||||
android:logo="@drawable/logo_mss"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/CustomTheme"
|
||||
android:usesCleartextTraffic="true">
|
||||
<receiver
|
||||
android:name="com.services.RestartAutoSendLocationReceiver"
|
||||
android:enabled="true"
|
||||
android:exported="false">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="com.adins.intent.action_RESTART_AUTOSEND_LOCATION" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<service
|
||||
android:name="com.services.MSLocationTrackingService"
|
||||
android:foregroundServiceType="location"
|
||||
android:enabled="true"
|
||||
android:exported="false" />
|
||||
|
||||
<receiver android:name="com.services.MSLocationTrackingService$UserLogoutReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="com.adins.mss.action_USER_LOGOUT" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<activity
|
||||
android:name=".MSLoginActivity"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:excludeFromRecents="true"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/CustomTheme">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".NewMSMainActivity"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:label="@string/app_name"
|
||||
android:launchMode="singleTask"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/CustomTheme" />
|
||||
<activity
|
||||
android:name="com.adins.mss.base.ServerLinkActivity"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:label="@string/title_server_link"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/CustomTheme" />
|
||||
<activity
|
||||
android:name=".MSSynchronizeActivity"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/CustomTheme" />
|
||||
<activity
|
||||
android:name=".MSMainMenuActivity"
|
||||
android:configChanges="locale|orientation|screenSize"
|
||||
android:exported="false"
|
||||
android:launchMode="singleTop"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/CustomTheme.TranslucentActionBar" />
|
||||
<activity
|
||||
android:name="com.adins.mss.base.dynamicform.VoiceNotePage"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:excludeFromRecents="true"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name="com.adins.mss.foundation.image.ViewImageActivity"
|
||||
android:launchMode="singleTop" />
|
||||
<activity android:name="com.soundcloud.android.crop.CropImageActivity" />
|
||||
<activity
|
||||
android:name="com.adins.mss.base.timeline.comment.activity.CommentActivity"
|
||||
android:launchMode="singleTop" />
|
||||
<activity
|
||||
android:name="com.adins.mss.base.dynamicform.DynamicFormActivity"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:parentActivityName=".NewMSMainActivity"
|
||||
android:screenOrientation="portrait">
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value=".NewMSMainActivity" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name="com.adins.mss.base.dynamicform.SendResultActivity"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:launchMode="singleTop" />
|
||||
<activity
|
||||
android:name=".reassignment.OrderReassignmentResult"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:launchMode="singleTop" />
|
||||
<activity
|
||||
android:name=".assignment.LookupAssignment"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:launchMode="singleTop" />
|
||||
<activity
|
||||
android:name=".assignment.OrderAssignmentResult"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:launchMode="singleTop"
|
||||
android:windowSoftInputMode="adjustResize" />
|
||||
<activity
|
||||
android:name="com.adins.mss.base.timeline.MapsViewer"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:launchMode="singleTop" />
|
||||
<activity
|
||||
android:name="com.adins.mss.base.ChangePasswordActivity"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:launchMode="singleTop" />
|
||||
<activity
|
||||
android:name="com.adins.mss.foundation.image.CroppingImageActivity"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize" />
|
||||
<activity android:name="com.adins.mss.base.PrintActivity" />
|
||||
<activity
|
||||
android:name="com.adins.mss.base.todolist.form.ViewMapActivity"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize" />
|
||||
<activity
|
||||
android:name="com.adins.mss.foundation.questiongenerator.form.LocationTagingView"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize" />
|
||||
<activity
|
||||
android:name="com.adins.mss.foundation.questiongenerator.form.FingerDrawingActivity"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize" />
|
||||
<activity
|
||||
android:name="com.adins.mss.base.todolist.form.AllHeaderViewerActivity"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize" />
|
||||
<activity
|
||||
android:name="com.adins.mss.foundation.camera2.Camera2BasicRealActivity"
|
||||
android:launchMode="singleTop"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoTitle" />
|
||||
|
||||
<meta-data
|
||||
android:name="com.google.android.maps.v2.API_KEY"
|
||||
android:value="AIzaSyA2V50uQBKw5_w2f3BEEbcNkmwofZyt-Io" /> <!-- android:value="AIzaSyDEK_F1pp8MEVvkCLtVs4R9spdm_JColds" /> -->
|
||||
<!-- android:value="AIzaSyDbW6WbmyOF7-QtIPPja1xFT6VNvpBNEC0" /> -->
|
||||
<meta-data
|
||||
android:name="com.google.android.gms.version"
|
||||
android:value="@integer/google_play_services_version" />
|
||||
<meta-data
|
||||
android:name="firebase_crashlytics_collection_enabled"
|
||||
android:value="false" />
|
||||
|
||||
<service android:name="com.tracking.LocationTrackingService" />
|
||||
<service android:name="com.services.AutoSendImageService" />
|
||||
<service android:name="com.services.AutoSendTaskService" />
|
||||
<service android:name="com.services.NotificationService" />
|
||||
<service android:name="com.services.SurveyVerificationService" />
|
||||
<service android:name="com.services.SurveyApprovalService" />
|
||||
|
||||
<activity
|
||||
android:name=".SurveyVerificationActionActivity"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:label="@string/title_activity_survey_verification_action" />
|
||||
<activity
|
||||
android:name="com.adins.mss.base.DeveloperOptionActivity"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
|
||||
android:label="@string/title_developer_option"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/CustomTheme" />
|
||||
<activity
|
||||
android:name="com.adins.mss.base.mainmenu.settings.SettingActivity"
|
||||
android:configChanges="orientation|keyboard|keyboardHidden|screenSize" />
|
||||
<activity
|
||||
android:name="com.adins.mss.foundation.camerainapp.CameraActivity"
|
||||
android:launchMode="singleTop"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/AppTheme.NoTitle" />
|
||||
|
||||
<service android:name="com.services.FirebaseMessagingService">
|
||||
<intent-filter>
|
||||
<action android:name="com.google.firebase.MESSAGING_EVENT" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
<service android:name="com.services.RefreshToken">
|
||||
<intent-filter>
|
||||
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
<uses-library
|
||||
android:name="org.apache.http.legacy"
|
||||
android:required="false" />
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="${applicationId}.provider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/provider_paths" />
|
||||
</provider>
|
||||
</application>
|
||||
|
||||
</manifest>
|
|
@ -0,0 +1,123 @@
|
|||
# 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_serv_login=user/login
|
||||
#url_serv_attendance=
|
||||
url_serv_sync=user/sync
|
||||
url_upload_avatar=user/updateavatar
|
||||
url_serv_tracking=tracking
|
||||
#url_serv_submit=submit
|
||||
url_serv_personalization=person
|
||||
url_serv_location_history=user/updatelocationhistory
|
||||
#url_serv_refresh_task=task/refreshtask
|
||||
#url_serv_retrieve_task_list=task/retrievetasklist
|
||||
|
||||
#------------------------
|
||||
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_get_tasklist=task/retrievetasklist
|
||||
url_refreshtask=task/refreshtask
|
||||
url_submittask=task/submittask
|
||||
url_submitopenreadtask=task/updatereadopentask
|
||||
|
||||
url_get_questionset=form/questionset
|
||||
url_get_verification=form/retrieveVerificationForm
|
||||
url_get_image=form/getimages
|
||||
url_get_scheme=form/retrieveForm
|
||||
|
||||
#url_get_collectionlist
|
||||
#url_submit
|
||||
#url_inquiry
|
||||
#url_updatelocationhistory
|
||||
#url_ordertracking
|
||||
#url_sync
|
||||
#url_updatetaskread
|
||||
#url_presubmit
|
||||
#url_error_logger
|
||||
|
||||
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_submit_assign=task/submitTaskChange
|
||||
|
||||
url_get_list_verification=task/getverificationtasklist
|
||||
url_get_list_approval=task/getapprovaltasklist
|
||||
|
||||
url_senddepositreport=task/depositreport
|
||||
url_get_paymenthistory=paymenthistory/retrievepaymenthistory
|
||||
url_get_installmentschedule=installschedule/retrieveinsschedule
|
||||
url_get_collectionhistory=getCollectionHistory
|
||||
url_submitverificationtask=task/submitverificationtask
|
||||
url_submitapprovaltask=task/submitappprovaltask
|
||||
|
||||
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_submit_track=user/updatelocationhistory
|
||||
url_submit_reschedule=task/submitpts
|
||||
url_get_list_user=task/getlistuser
|
||||
url_check_update=user/checkupdate
|
||||
|
||||
url_get_lookup_answer=task/luOnline
|
||||
|
||||
url_submit_dkcp=task/submitDkcp
|
||||
|
||||
#Loyalti
|
||||
url_get_detailkompetisi=user/getdetailcompetition
|
||||
url_get_logo=user/geticoncompetition
|
||||
url_loyalty_detail_point=user/detailpoint
|
||||
|
||||
#------------------------
|
||||
|
||||
#CR external db
|
||||
save_path=/aitmss/data/
|
||||
use_external_storage=true
|
||||
|
||||
#------------------------
|
||||
|
||||
encrypt=false
|
||||
decrypt=false
|
||||
is_developer=true
|
||||
is_developer_mode=false
|
||||
is_bypass_developer=false
|
||||
is_secure_connection=false
|
||||
can_access_developer_mode=true
|
||||
is_required_access_token=true
|
||||
client_id=android
|
||||
use_own_camera=true
|
||||
is_bypassroot = false
|
||||
enable_user_help = true
|
||||
enable_loc_permission_ui = true
|
||||
disable_acra = true
|
||||
|
||||
application=MS
|
||||
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=-
|
|
@ -0,0 +1,119 @@
|
|||
package com.adins.mss.main;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
|
||||
import com.adins.mss.base.AppContext;
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.foundation.config.ConfigFileReader;
|
||||
import com.adins.mss.svy.BuildConfig;
|
||||
import com.adins.mss.svy.NewMSMainActivity;
|
||||
import com.adins.mss.svy.R;
|
||||
import com.google.firebase.FirebaseApp;
|
||||
import com.google.firebase.crashlytics.FirebaseCrashlytics;
|
||||
|
||||
import org.acra.ACRA;
|
||||
import org.acra.ACRAConfiguration;
|
||||
import org.acra.ACRAConfigurationException;
|
||||
import org.acra.ReportField;
|
||||
import org.acra.ReportingInteractionMode;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* Created by dian.ina on 04/06/2015.
|
||||
*/
|
||||
|
||||
//@ReportsCrashes(
|
||||
// formUri = "http://app.ad-ins.com:5984/acra-demotest/_design/acra-storage/_update/report",
|
||||
// reportType = org.acra.sender.HttpSender.Type.JSON,
|
||||
// httpMethod = org.acra.sender.HttpSender.Method.PUT,
|
||||
// formUriBasicAuthLogin="admin",
|
||||
// formUriBasicAuthPassword="12345",
|
||||
// customReportContent = {
|
||||
// ReportField.APP_VERSION_CODE,
|
||||
// ReportField.APP_VERSION_NAME,
|
||||
// ReportField.ANDROID_VERSION,
|
||||
// ReportField.INSTALLATION_ID,
|
||||
// ReportField.PACKAGE_NAME,
|
||||
// ReportField.REPORT_ID,
|
||||
// ReportField.BUILD,
|
||||
// ReportField.STACK_TRACE,
|
||||
// ReportField.AVAILABLE_MEM_SIZE,
|
||||
// ReportField.TOTAL_MEM_SIZE,
|
||||
// ReportField.SETTINGS_SECURE,
|
||||
// ReportField.DISPLAY,
|
||||
// ReportField.CUSTOM_DATA
|
||||
// },
|
||||
// mode = ReportingInteractionMode.TOAST,
|
||||
// resToastText = R.string.toast_crash
|
||||
//)
|
||||
|
||||
public class MSMApplication extends AppContext {
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
context = getApplicationContext();
|
||||
|
||||
final ACRAConfiguration config = new ACRAConfiguration();
|
||||
if(BuildConfig.FLAVOR.contains("prod")){
|
||||
config.setFormUri("http://app.ad-ins.com:5984/acra-aitmss-prod/_design/acra-storage/_update/report");
|
||||
}else{
|
||||
config.setFormUri("http://app.ad-ins.com:5984/acra-aitmss-dev/_design/acra-storage/_update/report");
|
||||
}
|
||||
config.setReportType(org.acra.sender.HttpSender.Type.JSON);
|
||||
config.setHttpMethod(org.acra.sender.HttpSender.Method.PUT);
|
||||
config.setFormUriBasicAuthLogin("admin");
|
||||
config.setFormUriBasicAuthPassword("12345");
|
||||
ReportField[] customReportContent = {
|
||||
ReportField.APP_VERSION_CODE,
|
||||
ReportField.APP_VERSION_NAME,
|
||||
ReportField.ANDROID_VERSION,
|
||||
ReportField.INSTALLATION_ID,
|
||||
ReportField.PACKAGE_NAME,
|
||||
ReportField.REPORT_ID,
|
||||
ReportField.BUILD,
|
||||
ReportField.STACK_TRACE,
|
||||
ReportField.AVAILABLE_MEM_SIZE,
|
||||
ReportField.TOTAL_MEM_SIZE,
|
||||
ReportField.SETTINGS_SECURE,
|
||||
ReportField.DISPLAY,
|
||||
ReportField.CUSTOM_DATA,
|
||||
ReportField.SHARED_PREFERENCES
|
||||
};
|
||||
config.setCustomReportContent(customReportContent);
|
||||
|
||||
//disable acra => set acra custom preference sesuai app.properties
|
||||
Properties properties = ConfigFileReader.propertiesFromFile(this, GlobalData.PROPERTY_FILENAME);
|
||||
boolean disableAcra = Boolean.parseBoolean(properties.getProperty(GlobalData.PROP_DISABLE_ACRA));
|
||||
Global.ACRA_DISABLED = disableAcra;
|
||||
String acraCustomPrefName = "ACRACUSTOMPREF";
|
||||
SharedPreferences acracustompref = getSharedPreferences(acraCustomPrefName, Context.MODE_PRIVATE);
|
||||
acracustompref.edit().putBoolean(ACRA.PREF_DISABLE_ACRA,disableAcra).commit();
|
||||
|
||||
config.setSharedPreferenceName(acraCustomPrefName);
|
||||
config.setSharedPreferenceMode(Context.MODE_PRIVATE);
|
||||
|
||||
try {
|
||||
config.setMode(ReportingInteractionMode.TOAST);
|
||||
} catch (ACRAConfigurationException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
config.setResToastText(R.string.toast_crash);
|
||||
|
||||
ACRA.init(this, config);
|
||||
|
||||
//setting firebase crashlytic instance
|
||||
FirebaseApp.initializeApp(this);
|
||||
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
|
||||
FireCrash.setInstance(FirebaseCrashlytics.getInstance());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class getHomeClass() {
|
||||
return NewMSMainActivity.class;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,159 @@
|
|||
package com.adins.mss.svy;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.mikepenz.aboutlibraries.entity.Library;
|
||||
import com.mikepenz.aboutlibraries.entity.License;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class ChangeLog {
|
||||
public static ArrayList<Library> library = new ArrayList<Library>();
|
||||
|
||||
public ChangeLog(Context context) {
|
||||
String authorLogv2_0_0 = "AdIns";
|
||||
String appNameLogv2_0_0 = "MSSSVY";
|
||||
int buildVersion = Global.BUILD_VERSION;
|
||||
License licenseLogv2_0_0 = new License();
|
||||
licenseLogv2_0_0.setLicenseName("Apache Version 2.0");
|
||||
|
||||
library.add(0, new Library("06/06/2015", appNameLogv2_0_0, context.getString(R.string.changelog_v200),
|
||||
"2.0.0.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("06/01/2016", appNameLogv2_0_0, context.getString(R.string.changelog_v210),
|
||||
"2.1.0.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("01/06/2016", appNameLogv2_0_0, context.getString(R.string.changelog_v220),
|
||||
"2.2.0.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("06/12/2016", appNameLogv2_0_0, context.getString(R.string.changelog_v230),
|
||||
"2.3.0.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("15/12/2016", appNameLogv2_0_0, context.getString(R.string.changelog_v2310),
|
||||
"2.3.1.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("19/01/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v2320),
|
||||
"2.3.2.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("07/03/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v2330),
|
||||
"2.3.3.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("04/05/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v2340),
|
||||
"2.3.4.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("08/05/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v2350),
|
||||
"2.3.5.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("09/05/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v2360),
|
||||
"2.3.6.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("12/05/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v2370),
|
||||
"2.3.7.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("15/05/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v2380),
|
||||
"2.3.8.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("16/05/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v2390),
|
||||
"2.3.9.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("17/05/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v23100),
|
||||
"2.3.10.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("22/05/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v23110),
|
||||
"2.3.11.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("23/05/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v23120),
|
||||
"2.3.12.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("24/05/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v23130),
|
||||
"2.3.13.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("26/05/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v23140),
|
||||
"2.3.14.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("29/05/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v23150),
|
||||
"2.3.15.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("30/05/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v23160),
|
||||
"2.3.16.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("02/06/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v23170),
|
||||
"2.3.17.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("06/06/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v23180),
|
||||
"2.3.18.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("07/06/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v23190),
|
||||
"2.3.19.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("07/07/2017", appNameLogv2_0_0, context.getString(R.string.changelog_v2400),
|
||||
"2.4.0.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("26/02/2018", appNameLogv2_0_0, context.getString(R.string.changelog_v2500),
|
||||
"2.5.0.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("22/10/2018", appNameLogv2_0_0, context.getString(R.string.changelog_v3000),
|
||||
"3.0.0.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("19/11/2018", appNameLogv2_0_0, context.getString(R.string.changelog_v3001),
|
||||
"3.0.0.1", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("27/11/2018", appNameLogv2_0_0, context.getString(R.string.changelog_v3002),
|
||||
"3.0.0.2", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("04/12/2018", appNameLogv2_0_0, context.getString(R.string.changelog_v3003),
|
||||
"3.0.0.3", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("07/12/2018", appNameLogv2_0_0, context.getString(R.string.changelog_v3004),
|
||||
"3.0.0.4", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("11/12/2018", appNameLogv2_0_0, context.getString(R.string.changelog_v3005),
|
||||
"3.0.0.5", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("11/12/2018", appNameLogv2_0_0, context.getString(R.string.changelog_v3006),
|
||||
"3.0.0.6", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("12/12/2018", appNameLogv2_0_0, context.getString(R.string.changelog_v3007),
|
||||
"3.0.0.7", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("12/12/2018", appNameLogv2_0_0, context.getString(R.string.changelog_v3008),
|
||||
"3.0.0.8", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("18/01/2019", appNameLogv2_0_0, context.getString(R.string.changelog_v3009),
|
||||
"3.0.0.9", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("21/06/2019", appNameLogv2_0_0, context.getString(R.string.changelog_v30013),
|
||||
"3.0.0.13", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("01/08/2019", appNameLogv2_0_0, context.getString(R.string.changelog_v30017),
|
||||
"3.0.0.17", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("22/11/2019", appNameLogv2_0_0, context.getString(R.string.changelog_v30032),
|
||||
"3.0.0.32", licenseLogv2_0_0, buildVersion));
|
||||
library.add(0, new Library("04/03/2020", appNameLogv2_0_0, context.getString(R.string.changelog_v3110),
|
||||
"3.1.1.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("04/27/2020", appNameLogv2_0_0, context.getString(R.string.changelog_v3120),
|
||||
"3.1.2.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("05/27/2020", appNameLogv2_0_0, context.getString(R.string.changelog_v3130),
|
||||
"3.1.3.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("01/10/2020", appNameLogv2_0_0, context.getString(R.string.changelog_v3140),
|
||||
"3.1.4.0", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("18/03/2021", appNameLogv2_0_0, context.getString(R.string.changelog_v3201),
|
||||
"3.2.0.1", licenseLogv2_0_0, buildVersion));
|
||||
|
||||
library.add(0, new Library("12/04/2021", appNameLogv2_0_0, context.getString(R.string.changelog_v3202),
|
||||
"3.2.0.2", licenseLogv2_0_0, buildVersion));
|
||||
}
|
||||
|
||||
public static ArrayList<Library> getChangeLog(Context context) {
|
||||
library = new ArrayList<Library>();
|
||||
new ChangeLog(context);
|
||||
|
||||
return library;
|
||||
}
|
||||
}
|
|
@ -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,601 @@
|
|||
package com.adins.mss.svy;
|
||||
|
||||
import android.app.ActionBar;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
import androidx.drawerlayout.widget.DrawerLayout;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ListView;
|
||||
|
||||
import com.adins.mss.base.ChangePasswordFragment;
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.R;
|
||||
import com.adins.mss.base.about.activity.AboutActivity;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.mainmenu.MainMenuActivity;
|
||||
import com.adins.mss.base.mainmenu.MainMenuHelper;
|
||||
import com.adins.mss.base.tasklog.TaskLogImpl;
|
||||
import com.adins.mss.base.timeline.MenuAdapter;
|
||||
import com.adins.mss.base.timeline.MenuModel;
|
||||
import com.adins.mss.base.todo.form.GetSchemeTask;
|
||||
import com.adins.mss.base.todolist.ToDoList;
|
||||
import com.adins.mss.base.todolist.form.StatusTabFragment;
|
||||
import com.adins.mss.base.todolist.form.TaskListFragment_new;
|
||||
import com.adins.mss.base.todolist.form.TaskListTask;
|
||||
import com.adins.mss.base.todolist.form.TaskList_Fragment;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.foundation.db.dataaccess.GeneralParameterDataAccess;
|
||||
import com.adins.mss.foundation.db.dataaccess.MenuDataAccess;
|
||||
import com.adins.mss.svy.assignment.OrderAssignmentActivity;
|
||||
import com.adins.mss.svy.assignment.OrderAssignmentTask;
|
||||
import com.adins.mss.svy.fragments.SurveyApprovalByBranchFragment;
|
||||
import com.adins.mss.svy.fragments.SurveyApprovalFragment;
|
||||
import com.adins.mss.svy.fragments.SurveyPerformanceFragment;
|
||||
import com.adins.mss.svy.fragments.SurveyVerificationByBranchFragment;
|
||||
import com.adins.mss.svy.fragments.SurveyVerificationFragment;
|
||||
import com.adins.mss.svy.reassignment.OrderFilterActivity;
|
||||
import com.adins.mss.svy.tool.Constants;
|
||||
import com.services.FirebaseMessagingService;
|
||||
import com.services.NotificationThread;
|
||||
import com.services.SurveyApprovalService;
|
||||
import com.services.SurveyApprovalThread;
|
||||
import com.services.SurveyAssignmentThread;
|
||||
import com.services.SurveyVerificationService;
|
||||
import com.services.SurveyVerificationThread;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class MSMainMenuActivity extends com.adins.mss.base.mainmenu.MainMenuActivity{
|
||||
|
||||
public static MenuModel mnTimeline;
|
||||
public static MenuModel mnNewTask;
|
||||
// public static MenuModel mnTaskList;
|
||||
// public static MenuModel mnLog;
|
||||
public static MenuModel mnSVYPerformance;
|
||||
// public static MenuModel mnSVYVerifyByBranch;
|
||||
// public static MenuModel mnSVYApprovalByBranch;
|
||||
public static MenuModel mnAbsentI;
|
||||
public static MenuModel mnOrderAssignment;
|
||||
public static MenuModel mnOrderReassignment;
|
||||
public static MenuModel mnExit;
|
||||
public static MenuModel mnAbout;
|
||||
public static MenuModel mnSynchronize;
|
||||
public static MenuModel mnChangePassword;
|
||||
public static int flag_edit=0;
|
||||
public static boolean inAbsent=false;
|
||||
public static SurveyVerificationThread verificationThread;
|
||||
public static SurveyApprovalThread approvalThread;
|
||||
Fragment fragment;
|
||||
ChangePasswordFragment fragmentChgPwd;
|
||||
private DrawerLayout mDrawerLayout;
|
||||
private ListView mDrawerListLeft;
|
||||
|
||||
|
||||
@Override
|
||||
protected ArrayList<MenuModel> getModels() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
ArrayList<MenuModel> models = new ArrayList<MenuModel>();
|
||||
MenuModel titleGroup1 = new MenuModel(getString(R.string.title_mn_main_menu));
|
||||
titleGroup1.isGroupHeader();
|
||||
MenuModel titleGroup2 = new MenuModel(getString(R.string.title_mn_other));
|
||||
titleGroup2.isGroupHeader();
|
||||
|
||||
mnTimeline = new MenuModel(R.drawable.ic_home, getString(R.string.title_mn_home), null);
|
||||
models.add(titleGroup1);
|
||||
models.add(mnTimeline);
|
||||
List<String> mainMenuTitle = getMainMenuTitle();
|
||||
List<Integer> mainMenuIcon = getMainMenuIcon();
|
||||
for(int i=0; i<mainMenuTitle.size();i++){
|
||||
if(mainMenuTitle.get(i).equalsIgnoreCase(getString(R.string.title_mn_tasklist))){
|
||||
mnTaskList = new MenuModel(mainMenuIcon.get(i),mainMenuTitle.get(i),"0");
|
||||
models.add(mnTaskList);
|
||||
}else if(getMainMenuTitle().get(i).equalsIgnoreCase(getString(R.string.title_mn_log))){
|
||||
mnLog = new MenuModel(mainMenuIcon.get(i),mainMenuTitle.get(i),"0");
|
||||
models.add(mnLog);
|
||||
}else if(getMainMenuTitle().get(i).equalsIgnoreCase(getString(R.string.title_mn_surveyverification))){
|
||||
mnSVYVerify = new MenuModel(mainMenuIcon.get(i),mainMenuTitle.get(i),"0");
|
||||
models.add(mnSVYVerify);
|
||||
}else if(getMainMenuTitle().get(i).equalsIgnoreCase(getString(R.string.title_mn_surveyapproval))){
|
||||
mnSVYApproval = new MenuModel(mainMenuIcon.get(i),mainMenuTitle.get(i),"0");
|
||||
models.add(mnSVYApproval);
|
||||
}else if(getMainMenuTitle().get(i).equalsIgnoreCase(getString(R.string.title_mn_verification_bybranch))){
|
||||
mnSVYVerifyByBranch = new MenuModel(mainMenuIcon.get(i),mainMenuTitle.get(i),"0");
|
||||
models.add(mnSVYVerifyByBranch);
|
||||
}else if(getMainMenuTitle().get(i).equalsIgnoreCase(getString(R.string.title_mn_approval_bybranch))){
|
||||
mnSVYApprovalByBranch = new MenuModel(mainMenuIcon.get(i),mainMenuTitle.get(i),"0");
|
||||
models.add(mnSVYApprovalByBranch);
|
||||
}else if(getMainMenuTitle().get(i).equalsIgnoreCase(getString(R.string.title_mn_surveyassign))) {
|
||||
mnSVYAssignment = new MenuModel(mainMenuIcon.get(i), mainMenuTitle.get(i), "0");
|
||||
models.add(mnSVYAssignment);
|
||||
}else{
|
||||
models.add(new MenuModel(mainMenuIcon.get(i),mainMenuTitle.get(i),null));
|
||||
}
|
||||
}
|
||||
/* MenuModel mnSVYVerifybr = new MenuModel(R.drawable.ic_verification,getString(R.string.title_mn_verification_bybranch), null);
|
||||
models.add(mnSVYVerifybr);
|
||||
MenuModel mnSVYApprovalbr=new MenuModel(R.drawable.ic_approval,getString(R.string.title_mn_approval_bybranch), null);
|
||||
models.add(mnSVYApprovalbr);
|
||||
mnSVYApproval = new MenuModel(R.drawable.ic_approval,getString(R.string.title_mn_surveyapproval),"0");
|
||||
models.add(mnSVYApproval);*/
|
||||
|
||||
models.add(titleGroup2);
|
||||
List<String> otherMenuTitle = getOtherMenuTitle();
|
||||
List<Integer> otherMenuIcon = getOtherMenuIcon();
|
||||
// mnChangePassword = new MenuModel(R.drawable.ic_changepassword,getString(R.string.title_mn_changepassword), null);
|
||||
// models.add(mnChangePassword);
|
||||
for(int i=0; i<otherMenuTitle.size();i++){
|
||||
models.add(new MenuModel(otherMenuIcon.get(i),otherMenuTitle.get(i),null));
|
||||
}
|
||||
|
||||
for(int i=0 ; i<models.size(); i++){
|
||||
this.allMenu.add(models.get(i).getTitle());
|
||||
}
|
||||
Global.FEATURE_RESCHEDULE_SURVEY = MenuDataAccess.isHaveRescheduleMenu(getApplicationContext());
|
||||
Global.VERIFICATION_BRANCH = MenuDataAccess.isHaveVerificationBranchMenu(getApplicationContext());
|
||||
Global.APPROVAL_BRANCH = MenuDataAccess.isHaveApprovalBranchMenu(getApplicationContext());
|
||||
this.models=models;
|
||||
return models;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTitleGroup() {
|
||||
// TODO Auto-generated method stub
|
||||
return "Survey";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoAbout() {
|
||||
AboutActivity.setChangeLog(ChangeLog.getChangeLog(getApplicationContext()), 2);
|
||||
super.gotoAbout();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
// TODO Auto-generated method stub
|
||||
MainMenuActivity.setMss(this.getClass());
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
AboutActivity.setChangeLog(ChangeLog.getChangeLog(getApplicationContext()), 2);
|
||||
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||
mDrawerListLeft = (ListView) findViewById(R.id.left_drawer);
|
||||
|
||||
menuAdapter = new MenuAdapter(this, getModels(), R.drawable.activated_background_indicator);
|
||||
mDrawerListLeft.setAdapter(menuAdapter);
|
||||
mDrawerListLeft.setOnItemClickListener(this);
|
||||
|
||||
//setcounter
|
||||
try {
|
||||
if(MSMainMenuActivity.mnLog!=null)
|
||||
MSMainMenuActivity.mnLog.setCounter(String.valueOf(TaskLogImpl.getCounterLog(this)));
|
||||
if(MSMainMenuActivity.mnTaskList!=null)
|
||||
MSMainMenuActivity.mnTaskList.setCounter(String.valueOf(ToDoList.getCounterTaskList(this)));
|
||||
if (MSMainMenuActivity.mnSVYVerify != null)
|
||||
MSMainMenuActivity.mnSVYVerify.setCounter(String.valueOf(Constants.getCounterVerificationTask(getApplicationContext())));
|
||||
if (MSMainMenuActivity.mnSVYApproval!= null)
|
||||
MSMainMenuActivity.mnSVYApproval.setCounter(String.valueOf(Constants.getCounterApprovalTask(getApplicationContext())));
|
||||
if (MSMainMenuActivity.mnSVYVerifyByBranch != null)
|
||||
MSMainMenuActivity.mnSVYVerifyByBranch.setCounter(String.valueOf(Constants.getCounterVerificationTaskByBranch(getApplicationContext())));
|
||||
if (MSMainMenuActivity.mnSVYApprovalByBranch != null)
|
||||
MSMainMenuActivity.mnSVYApprovalByBranch.setCounter(String.valueOf(Constants.getCounterApprovalTaskByBranch(getApplicationContext())));
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
if (savedInstanceState == null) {
|
||||
goTimeline(1);
|
||||
Global.positionStack.push(1);
|
||||
}
|
||||
|
||||
if(!GeneralParameterDataAccess.getOne(getApplicationContext(), GlobalData.getSharedGlobalData().getUser().getUuid_user(), "PRM03_ASIN").getGs_value().equals("0")){
|
||||
if (mnSVYVerify != null || mnSVYVerifyByBranch!=null) {
|
||||
verificationThread = new SurveyVerificationThread(this);
|
||||
Global.verifyNotivIntent = new Intent(this,SurveyVerificationService.class);
|
||||
startService(Global.verifyNotivIntent);
|
||||
}
|
||||
if (mnSVYApproval != null || mnSVYApprovalByBranch!=null) {
|
||||
approvalThread = new SurveyApprovalThread(this);
|
||||
Global.approvalNotivIntent = new Intent(this,SurveyApprovalService.class);
|
||||
startService(Global.approvalNotivIntent);
|
||||
}
|
||||
}
|
||||
|
||||
MainMenuActivity.setApprovalFragment(new SurveyApprovalFragment());
|
||||
MainMenuActivity.setVerificationFragment(new SurveyVerificationFragment());
|
||||
MainMenuActivity.setApprovalFragmentByBranch(new SurveyApprovalByBranchFragment());
|
||||
MainMenuActivity.setVerificationFragmentByBranch(new SurveyVerificationByBranchFragment());
|
||||
MainMenuActivity.setAssignmentFragment(new OrderAssignmentActivity());
|
||||
MainMenuActivity.setStatusFragment(new StatusTabFragment());
|
||||
|
||||
new Handler().postDelayed(new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
if (MSMainMenuActivity.mnSVYVerify != null)
|
||||
MSMainMenuActivity.mnSVYVerify.setCounter(String.valueOf(Constants.getCounterVerificationTask(getApplicationContext())));
|
||||
if (MSMainMenuActivity.mnSVYApproval!= null)
|
||||
MSMainMenuActivity.mnSVYApproval.setCounter(String.valueOf(Constants.getCounterApprovalTask(getApplicationContext())));
|
||||
if (MSMainMenuActivity.mnSVYVerifyByBranch != null)
|
||||
MSMainMenuActivity.mnSVYVerifyByBranch.setCounter(String.valueOf(Constants.getCounterVerificationTaskByBranch(getApplicationContext())));
|
||||
if (MSMainMenuActivity.mnSVYApprovalByBranch != null)
|
||||
MSMainMenuActivity.mnSVYApprovalByBranch.setCounter(String.valueOf(Constants.getCounterApprovalTaskByBranch(getApplicationContext())));
|
||||
if (MainMenuActivity.menuAdapter != null)
|
||||
MainMenuActivity.menuAdapter.notifyDataSetChanged();
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
|
||||
}, 500);
|
||||
Intent intent = getIntent();
|
||||
|
||||
try {
|
||||
String action = intent.getAction().toUpperCase();
|
||||
|
||||
if (action != null) {
|
||||
if (action.equalsIgnoreCase("TASKLISTNOTIFICATION")) {
|
||||
Bundle argument = new Bundle();
|
||||
argument.putBoolean(TaskList_Fragment.BUND_KEY_ISERROR, false);
|
||||
Fragment fragment1 = new TaskListFragment_new();//TaskList_Fragment();
|
||||
fragment1.setArguments(argument);
|
||||
FragmentTransaction transaction = MainMenuActivity.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);
|
||||
try {
|
||||
transaction.commit();
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
transaction.commitAllowingStateLoss();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if(Global.IS_DEV)
|
||||
System.out.println("Intent was null");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
actionFromNotif(getIntent());
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void actionFromNotif(Intent intent){
|
||||
try {
|
||||
String action = intent.getAction();
|
||||
if(action!=null){
|
||||
if(action.equals(NotificationThread.TASKLIST_NOTIFICATION_KEY)){
|
||||
Bundle argument = new Bundle();
|
||||
argument.putBoolean(TaskList_Fragment.BUND_KEY_ISERROR, false);
|
||||
Fragment fragment1 = new TaskListFragment_new();//TaskList_Fragment();
|
||||
fragment1.setArguments(argument);
|
||||
FragmentTransaction transaction = MainMenuActivity.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.commitAllowingStateLoss();
|
||||
}
|
||||
else if(action.equals(SurveyVerificationThread.VERIFICATIONLIST_NOTIFICATION_KEY)){
|
||||
gotoSurveyVerification(0);
|
||||
}else if(action.equals(SurveyVerificationThread.VERIFICATIONBRANCHLIST_NOTIFICATION_KEY)){
|
||||
gotoSurveyVerificationByBranch(0);
|
||||
}else if(action.equals(SurveyApprovalThread.APPROVALBRANCHLIST_NOTIFICATION_KEY)){
|
||||
gotoSurveyApprovalByBranch(0);
|
||||
}else if(action.equals(SurveyApprovalThread.APPROVALLIST_NOTIFICATION_KEY)){
|
||||
gotoSurveyApproval(0);
|
||||
}else if(action.equals(SurveyAssignmentThread.ASSIGNMENT_NOTIFICATION_KEY)) {
|
||||
gotoSurveyAssignment(0);
|
||||
} else if (action.equals(Global.MAINMENU_NOTIFICATION_KEY)){
|
||||
goTimeline(0);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onNewIntent(Intent intent) {
|
||||
super.onNewIntent(intent);
|
||||
actionFromNotif(intent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume(){
|
||||
super.onResume();
|
||||
Global.syncIntent = new Intent(getApplicationContext(), MSSynchronizeActivity.class);
|
||||
if(MainMenuActivity.getMss()==null) {
|
||||
MainMenuActivity.setMss(this.getClass());
|
||||
// NotificationService.mss = mss;
|
||||
|
||||
}
|
||||
MainMenuActivity.setMainMenuClass(MSMainMenuActivity.class);
|
||||
getActionBar().removeAllTabs();
|
||||
Global.VerificationActivityClass = SurveyVerificationActionActivity.class;
|
||||
// TimelineModel.taskList_Fragment=new TaskList_Fragment();
|
||||
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
|
||||
long taskListCounter = Constants.getCounterVerificationTask(getApplicationContext());
|
||||
try {
|
||||
if (MSMainMenuActivity.mnSVYVerify != null)
|
||||
MSMainMenuActivity.mnSVYVerify.setCounter(String.valueOf(Constants.getCounterVerificationTask(getApplicationContext())));
|
||||
else if(MSMainMenuActivity.mnSVYVerifyByBranch != null)
|
||||
MSMainMenuActivity.mnSVYVerifyByBranch.setCounter(String.valueOf(Constants.getCounterVerificationTaskByBranch(getApplicationContext())));
|
||||
else{
|
||||
try {
|
||||
stopService(Global.verifyNotivIntent);
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
if (MSMainMenuActivity.mnSVYApproval!= null)
|
||||
MSMainMenuActivity.mnSVYApproval.setCounter(String.valueOf(Constants.getCounterApprovalTask(getApplicationContext())));
|
||||
else if (MSMainMenuActivity.mnSVYApprovalByBranch != null)
|
||||
MSMainMenuActivity.mnSVYApprovalByBranch.setCounter(String.valueOf(Constants.getCounterApprovalTaskByBranch(getApplicationContext())));
|
||||
else{
|
||||
try {
|
||||
stopService(Global.approvalNotivIntent);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
try {
|
||||
if(isFromSetting) {
|
||||
menuAdapter = new MenuAdapter(getApplicationContext(), getModels(), R.drawable.activated_background_indicator);
|
||||
mDrawerListLeft.setAdapter(menuAdapter);
|
||||
mDrawerListLeft.notifyAll();
|
||||
isFromSetting=false;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy(){
|
||||
super.onDestroy();
|
||||
if (verificationThread != null) {
|
||||
verificationThread.requestStop();
|
||||
verificationThread = null;
|
||||
}
|
||||
if (approvalThread != null) {
|
||||
approvalThread.requestStop();
|
||||
approvalThread = null;
|
||||
}
|
||||
MainMenuActivity.mnTaskList = null;
|
||||
MainMenuActivity.mnSVYApproval = null;
|
||||
MainMenuActivity.mnSVYVerify = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, final int position,
|
||||
long id) {
|
||||
// TODO Auto-generated method stub
|
||||
super.onItemClick(parent, view, position, id);
|
||||
|
||||
new Handler().postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if(getString(R.string.title_mn_changepassword).equalsIgnoreCase(allMenu.get(position))){
|
||||
gotoChangePassword();
|
||||
}
|
||||
}
|
||||
}, 250);
|
||||
}
|
||||
|
||||
//bong 10 apr 15 - menjaga saat change password tidak dapat lihat menu
|
||||
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
||||
if (keyCode == KeyEvent.KEYCODE_MENU) {
|
||||
if(fragmentChgPwd!=null){
|
||||
if(fragmentChgPwd.isVisible()){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return super.onKeyDown(keyCode, event);
|
||||
}
|
||||
return super.onKeyDown(keyCode, event);
|
||||
}
|
||||
|
||||
//bong 7 apr 15 disabled onBackpressed on fragment
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
// TODO Auto-generated method stub
|
||||
// if(fragmentChgPwd!=null && fragmentChgPwd.isVisible()){
|
||||
// if(GlobalData.getSharedGlobalData().getUser().getChg_pwd().equals("1")){
|
||||
// fragmentChgPwd.onBackPressed();
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
super.onBackPressed();
|
||||
}
|
||||
|
||||
private void gotoChangePassword() {
|
||||
fragment = new ChangePasswordFragment();
|
||||
Bundle args = new Bundle();
|
||||
args.putBoolean(ChangePasswordFragment.AS_ACTIVITY, false);
|
||||
fragment.setArguments(args);
|
||||
if(GlobalData.getSharedGlobalData().getUser().getChg_pwd().equals("1")){
|
||||
fragmentChgPwd = (ChangePasswordFragment) fragment;
|
||||
fragmentChgPwd.setArguments(args);
|
||||
}
|
||||
FragmentTransaction transaction = MainMenuActivity.fragmentManager.beginTransaction();
|
||||
transaction.setCustomAnimations(R.anim.activity_open_translate,R.anim.activity_close_scale,R.anim.activity_open_scale,R.anim.activity_close_translate);
|
||||
transaction.replace(R.id.content_frame, fragment);
|
||||
transaction.addToBackStack(null);
|
||||
transaction.commit();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected Intent getIntentSynchronize() {
|
||||
// TODO Auto-generated method stub
|
||||
return new Intent(this, MSSynchronizeActivity.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Fragment getChgPassFragment() {
|
||||
// TODO Auto-generated method stub
|
||||
return fragmentChgPwd;
|
||||
}
|
||||
@Override
|
||||
protected void goTimeline(int position) {
|
||||
// TimelineModel.taskList_Fragment=new TaskList_Fragment();
|
||||
super.goTimeline(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoNewTask(int position) {
|
||||
GetSchemeTask task = new GetSchemeTask(this, new MSNewTaskActivity(), true);
|
||||
task.execute();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoCheckOrder(int position) {
|
||||
showNotAvailableMenu(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoCreditSimulation(int position) {
|
||||
showNotAvailableMenu(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoCancelOrder(int position) {
|
||||
showNotAvailableMenu(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoTaskList(int position) {
|
||||
TaskListTask task = new TaskListTask(this, getString(R.string.progressWait),
|
||||
getString(R.string.msgNoTaskList), R.id.content_frame);
|
||||
task.execute();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoPromo(int position) {
|
||||
showNotAvailableMenu(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoNews(int position) {
|
||||
showNotAvailableMenu(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoSurveyPerformance(int position) {
|
||||
fragment = new SurveyPerformanceFragment();
|
||||
FragmentTransaction transaction = MainMenuActivity.fragmentManager.beginTransaction();
|
||||
transaction.setCustomAnimations(R.anim.activity_open_translate,R.anim.activity_close_scale,R.anim.activity_open_scale,R.anim.activity_close_translate);
|
||||
transaction.replace(R.id.content_frame, fragment);
|
||||
transaction.addToBackStack(null);
|
||||
transaction.commit();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoSurveyVerification(int position) {
|
||||
fragment = new SurveyVerificationFragment();
|
||||
SurveyVerificationListTask task = new SurveyVerificationListTask(this, getString(R.string.progressWait),
|
||||
getString(R.string.msgNoVerification),null);
|
||||
task.execute();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoSurveyApproval(int position) {
|
||||
fragment = new SurveyApprovalFragment();
|
||||
SurveyApprovalListTask task = new SurveyApprovalListTask(this, getString(R.string.progressWait),
|
||||
getString(R.string.msgNoApproval),null);
|
||||
task.execute();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoOrderAssignment(int position) {
|
||||
showNotAvailableMenu(position);
|
||||
}
|
||||
@Override
|
||||
protected void gotoOrderReassignment(int position) {
|
||||
showNotAvailableMenu(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoSurveyAssignment(int position) {
|
||||
OrderAssignmentTask task = new OrderAssignmentTask(this, getString(R.string.progressWait),
|
||||
getString(R.string.msgNoList),R.id.content_frame);
|
||||
task.execute();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoSurveyReassignment(int position) {
|
||||
fragment = new OrderFilterActivity();
|
||||
Bundle args = new Bundle();
|
||||
args.putInt(Global.BUND_KEY_TASK_TYPE, Global.TASK_ORDER_REASSIGNMENT);
|
||||
fragment.setArguments(args);
|
||||
|
||||
FragmentTransaction transaction = MainMenuActivity.fragmentManager.beginTransaction();
|
||||
transaction.setCustomAnimations(R.anim.activity_open_translate,R.anim.activity_close_scale,R.anim.activity_open_scale,R.anim.activity_close_translate);
|
||||
transaction.replace(R.id.content_frame, fragment);
|
||||
transaction.addToBackStack(null);
|
||||
transaction.commit();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoReportSummary(int position) {
|
||||
showNotAvailableMenu(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoDepositReport(int position) {
|
||||
showNotAvailableMenu(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoPaymentHistory(int position) {
|
||||
showNotAvailableMenu(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoInstallmentSchedule(int position) {
|
||||
showNotAvailableMenu(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoClosingTask(int position) {
|
||||
|
||||
}
|
||||
|
||||
public void showNotAvailableMenu(int position){
|
||||
MainMenuHelper.showNotAvailableMenuDialog(MSMainMenuActivity.this, allMenu.get(position));
|
||||
Global.positionStack.pop();
|
||||
mDrawerListLeft.setItemChecked(Global.positionStack.lastElement(), true);
|
||||
setTitle(models.get(Global.positionStack.lastElement()).getTitle());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoSurveyVerificationByBranch(int position) {
|
||||
fragment = new SurveyVerificationFragment();
|
||||
SurveyVerificationListTask task = new SurveyVerificationListTask(this, getString(R.string.progressWait),
|
||||
getString(R.string.msgNoVerification), SurveyVerificationListTask.KEY_BRANCH);
|
||||
task.execute();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoSurveyApprovalByBranch(int position) {
|
||||
fragment = new SurveyApprovalFragment();
|
||||
SurveyApprovalListTask task = new SurveyApprovalListTask(this, getString(R.string.progressWait),
|
||||
getString(R.string.msgNoApproval), SurveyApprovalListTask.KEY_BRANCH);
|
||||
task.execute();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
package com.adins.mss.svy;
|
||||
|
||||
import android.app.ActionBar;
|
||||
import android.content.Context;
|
||||
|
||||
import com.adins.mss.base.dialogfragments.NewTaskDialog;
|
||||
import com.adins.mss.base.todo.form.NewTaskActivity;
|
||||
import com.adins.mss.base.todo.form.NewTaskAdapter;
|
||||
import com.adins.mss.base.todolist.DoList;
|
||||
import com.adins.mss.dao.Scheme;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class MSNewTaskActivity extends NewTaskDialog {
|
||||
|
||||
private DoList list;
|
||||
private List<Scheme> objects;
|
||||
|
||||
@Override
|
||||
public void onAttach(Context activity) {
|
||||
super.onAttach(activity);
|
||||
// getActivity().getActionBar().setTitle(getString(R.string.title_mn_newtask));
|
||||
// getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected NewTaskAdapter getNewTaskAdapter() {
|
||||
// TODO Auto-generated method stub
|
||||
list = new DoList(getActivity());
|
||||
objects = list.getSurveyListScheme();
|
||||
|
||||
return new NewTaskAdapter(getActivity(), objects);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
package com.adins.mss.svy;
|
||||
|
||||
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 MSSynchronizeActivity extends SynchronizeActivity{
|
||||
|
||||
private Trace synchronizeSvyTrace;
|
||||
private FirebaseAnalytics screenName;
|
||||
|
||||
@Override
|
||||
protected Intent getIntentMainMenu() {
|
||||
// TODO Auto-generated method stub
|
||||
return new Intent(this,NewMSMainActivity.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
// TODO Auto-generated method stub
|
||||
screenName = FirebaseAnalytics.getInstance(this);
|
||||
synchronizeSvyTrace = FirebasePerformance.getInstance().newTrace(getString(R.string.synchronize_trace_survey));
|
||||
activity = this;
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
//Set Firebase screen name
|
||||
screenName.setCurrentScreen(this,getString(com.adins.mss.base.R.string.screen_name_svy_synchronize),null);
|
||||
synchronizeSvyTrace.start();
|
||||
super.onResume();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
synchronizeSvyTrace.stop();
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,471 @@
|
|||
package com.adins.mss.svy;
|
||||
|
||||
import android.app.AlarmManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.SystemClock;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
import android.os.Bundle;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.NewMainActivity;
|
||||
import com.adins.mss.base.about.activity.AboutActivity;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.loyalti.mypointdashboard.DashboardMyPoint;
|
||||
import com.adins.mss.base.mainmenu.NewMenuItem;
|
||||
import com.adins.mss.base.timeline.NewTimelineFragment;
|
||||
import com.adins.mss.base.todo.form.GetSchemeTask;
|
||||
import com.adins.mss.base.todolist.ToDoList;
|
||||
import com.adins.mss.base.todolist.form.PriorityTabFragment;
|
||||
import com.adins.mss.base.util.LocaleHelper;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.dao.User;
|
||||
import com.adins.mss.foundation.db.dataaccess.GeneralParameterDataAccess;
|
||||
import com.adins.mss.foundation.db.dataaccess.MenuDataAccess;
|
||||
import com.adins.mss.foundation.dialog.DialogManager;
|
||||
import com.adins.mss.foundation.formatter.Tool;
|
||||
import com.adins.mss.svy.assignment.OrderAssignmentTask;
|
||||
import com.adins.mss.svy.fragments.SurveyApprovalByBranchFragment;
|
||||
import com.adins.mss.svy.fragments.SurveyApprovalFragment;
|
||||
import com.adins.mss.svy.fragments.SurveyPerformanceFragment;
|
||||
import com.adins.mss.svy.fragments.SurveyVerificationByBranchFragment;
|
||||
import com.adins.mss.svy.fragments.SurveyVerificationFragment;
|
||||
import com.adins.mss.svy.reassignment.OrderFilterActivity;
|
||||
import com.adins.mss.svy.tool.Constants;
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
import com.services.ForegroundServiceNotification;
|
||||
import com.services.MSLocationTrackingService;
|
||||
import com.services.MainServices;
|
||||
import com.adins.mss.base.R;
|
||||
import com.services.NotificationThread;
|
||||
import com.services.RestartAutoSendLocationReceiver;
|
||||
import com.services.SurveyApprovalService;
|
||||
import com.services.SurveyApprovalThread;
|
||||
import com.services.SurveyAssignmentThread;
|
||||
import com.services.SurveyVerificationService;
|
||||
import com.services.SurveyVerificationThread;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
public class NewMSMainActivity extends NewMainActivity {
|
||||
|
||||
public static SurveyVerificationThread verificationThread;
|
||||
public static SurveyApprovalThread approvalThread;
|
||||
private User user = null;
|
||||
private FirebaseAnalytics screenName;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
NewMainActivity.setMss(this.getClass());
|
||||
|
||||
screenName = FirebaseAnalytics.getInstance(this);
|
||||
|
||||
/**
|
||||
* Nendi | 2019.06.17
|
||||
* Update Foreground Service
|
||||
* @support Android >= 8.0
|
||||
*/
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
startForegroundService(getLocationServiceIntent());
|
||||
} else {
|
||||
startService(getLocationServiceIntent());
|
||||
}
|
||||
super.onCreate(savedInstanceState);
|
||||
AboutActivity.setChangeLog(ChangeLog.getChangeLog(getApplicationContext()), 2);
|
||||
|
||||
NewMainActivity.setApprovalFragment(new SurveyApprovalFragment());
|
||||
NewMainActivity.setVerificationFragment(new SurveyVerificationFragment());
|
||||
NewMainActivity.setApprovalFragmentByBranch(new SurveyApprovalByBranchFragment());
|
||||
NewMainActivity.setVerificationFragmentByBranch(new SurveyVerificationByBranchFragment());
|
||||
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
|
||||
Intent autoRestart = new Intent(this, RestartAutoSendLocationReceiver.class);
|
||||
PendingIntent autoRestartPendingIntent = PendingIntent.getBroadcast(this, 2020, autoRestart, PendingIntent.FLAG_CANCEL_CURRENT);
|
||||
AlarmManager alarmService = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE);
|
||||
alarmService.setInexactRepeating(
|
||||
AlarmManager.RTC_WAKEUP,
|
||||
SystemClock.elapsedRealtime() + 1000, 2 * 60 * 1000,
|
||||
autoRestartPendingIntent);
|
||||
}
|
||||
|
||||
try {
|
||||
if (NewMSMainActivity.mnTaskList != null)
|
||||
NewMSMainActivity.mnTaskList.setCounter(String.valueOf(ToDoList.getCounterTaskList(this)));
|
||||
if (NewMSMainActivity.mnSurveyAssign != null)
|
||||
NewMSMainActivity.mnSurveyAssign.setCounter(String.valueOf(ToDoList.getCounterAssignment(getApplicationContext())));
|
||||
if (NewMSMainActivity.mnSurveyVerif != null)
|
||||
NewMSMainActivity.mnSurveyVerif.setCounter(String.valueOf(Constants.getCounterVerificationTask(getApplicationContext())));
|
||||
if (NewMSMainActivity.mnSurveyApproval!= null)
|
||||
NewMSMainActivity.mnSurveyApproval.setCounter(String.valueOf(Constants.getCounterApprovalTask(getApplicationContext())));
|
||||
if (NewMSMainActivity.mnVerifByBranch != null)
|
||||
NewMSMainActivity.mnVerifByBranch.setCounter(String.valueOf(Constants.getCounterVerificationTaskByBranch(getApplicationContext())));
|
||||
if (NewMSMainActivity.mnApprovalByBranch != null)
|
||||
NewMSMainActivity.mnApprovalByBranch.setCounter(String.valueOf(Constants.getCounterApprovalTaskByBranch(getApplicationContext())));
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
|
||||
try {
|
||||
Global.FEATURE_RESCHEDULE_SURVEY = MenuDataAccess.isHaveRescheduleMenu(getApplicationContext());
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
}
|
||||
Global.VERIFICATION_BRANCH = MenuDataAccess.isHaveVerificationBranchMenu(getApplicationContext());
|
||||
Global.APPROVAL_BRANCH = MenuDataAccess.isHaveApprovalBranchMenu(getApplicationContext());
|
||||
|
||||
Tool.installProvider(getApplicationContext());
|
||||
|
||||
if(savedInstanceState ==null) {
|
||||
Fragment frag = new NewTimelineFragment();
|
||||
FragmentTransaction trans = fragmentManager.beginTransaction();
|
||||
trans.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
|
||||
trans.add(com.adins.mss.base.R.id.content_frame, frag);
|
||||
trans.commit();
|
||||
}
|
||||
|
||||
try {
|
||||
user = GlobalData.getSharedGlobalData().getUser();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
|
||||
if (user != null) {
|
||||
try{
|
||||
if(!GeneralParameterDataAccess.getOne(getApplicationContext(), user.getUuid_user(), "PRM03_ASIN").getGs_value().equals("0")){
|
||||
if (mnSurveyVerif != null || mnVerifByBranch != null) {
|
||||
verificationThread = new SurveyVerificationThread(this);
|
||||
Global.verifyNotivIntent = new Intent(this,SurveyVerificationService.class);
|
||||
startService(Global.verifyNotivIntent);
|
||||
}
|
||||
if (mnSurveyApproval != null || mnApprovalByBranch != null) {
|
||||
approvalThread = new SurveyApprovalThread(this);
|
||||
Global.approvalNotivIntent = new Intent(this,SurveyApprovalService.class);
|
||||
startService(Global.approvalNotivIntent);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (NullPointerException e){
|
||||
DialogManager.showExitAlert(this, getString(R.string.alertExit));
|
||||
}
|
||||
}
|
||||
|
||||
new Handler().postDelayed(new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
NewMainActivity.setCounter();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
}, 500);
|
||||
|
||||
try {
|
||||
actionFromNotif(getIntent());
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void attachBaseContext(Context newBase) {
|
||||
Context context = newBase;
|
||||
Locale locale;
|
||||
try{
|
||||
locale = new Locale(GlobalData.getSharedGlobalData().getLocale());
|
||||
context = LocaleHelper.wrap(newBase, locale);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
locale = new Locale(LocaleHelper.ENGLSIH);
|
||||
context = LocaleHelper.wrap(newBase, locale);
|
||||
} finally {
|
||||
super.attachBaseContext(context);
|
||||
}
|
||||
}
|
||||
|
||||
protected void actionFromNotif(Intent intent){
|
||||
try {
|
||||
String action = intent.getAction();
|
||||
if(action!=null){
|
||||
if(action.equals(NotificationThread.TASKLIST_NOTIFICATION_KEY)){
|
||||
if (Global.PLAN_TASK_ENABLED)
|
||||
logEventCountMenuAccessed(getString(com.adins.mss.base.R.string.mn_plantask));
|
||||
else
|
||||
logEventCountMenuAccessed(getString(com.adins.mss.base.R.string.title_mn_tasklist));
|
||||
|
||||
Fragment fragment1 = new PriorityTabFragment();
|
||||
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.commitAllowingStateLoss();
|
||||
}
|
||||
else if(action.equals(SurveyVerificationThread.VERIFICATIONLIST_NOTIFICATION_KEY)){
|
||||
logEventCountMenuAccessed(getString(R.string.title_mn_verification_list));
|
||||
gotoSurveyVerification();
|
||||
}else if(action.equals(SurveyVerificationThread.VERIFICATIONBRANCHLIST_NOTIFICATION_KEY)){
|
||||
logEventCountMenuAccessed(getString(R.string.title_mn_verification_bybranch));
|
||||
gotoSurveyVerificationByBranch();
|
||||
}else if(action.equals(SurveyApprovalThread.APPROVALBRANCHLIST_NOTIFICATION_KEY)){
|
||||
logEventCountMenuAccessed(getString(R.string.title_mn_approval_bybranch));
|
||||
gotoSurveyApprovalByBranch();
|
||||
}else if(action.equals(SurveyApprovalThread.APPROVALLIST_NOTIFICATION_KEY)){
|
||||
logEventCountMenuAccessed(getString(R.string.title_mn_approval_list));
|
||||
gotoSurveyApproval();
|
||||
}else if(action.equals(SurveyAssignmentThread.ASSIGNMENT_NOTIFICATION_KEY)) {
|
||||
logEventCountMenuAccessed(getString(R.string.title_mn_surveyassign));
|
||||
gotoSurveyAssignment();
|
||||
} else if (action.equals(Global.MAINMENU_NOTIFICATION_KEY)){
|
||||
gotoTimeline();
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Intent getLocationServiceIntent() {
|
||||
return new Intent(this, MSLocationTrackingService.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onNewIntent(Intent intent) {
|
||||
super.onNewIntent(intent);
|
||||
actionFromNotif(intent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
//Set Firebase screen namef
|
||||
screenName.setCurrentScreen(this,getString(R.string.screen_name_svy_main_menu),null);
|
||||
|
||||
if (Global.REDIRECT_TIMELINE.equals(Global.getREDIRECT())) {
|
||||
super.openTimeline();
|
||||
Global.setREDIRECT(null);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!ForegroundServiceNotification.isServiceAvailable(this, MSLocationTrackingService.class)) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
startForegroundService(getLocationServiceIntent());
|
||||
} else {
|
||||
startService(getLocationServiceIntent());
|
||||
}
|
||||
}
|
||||
|
||||
if (verificationThread == null || approvalThread == null) {
|
||||
try {
|
||||
user = GlobalData.getSharedGlobalData().getUser();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
|
||||
if (user != null) {
|
||||
if(!GeneralParameterDataAccess.getOne(getApplicationContext(), user.getUuid_user(), "PRM03_ASIN").getGs_value().equals("0")){
|
||||
if (mnSurveyVerif != null || mnVerifByBranch != null) {
|
||||
verificationThread = new SurveyVerificationThread(this);
|
||||
Global.verifyNotivIntent = new Intent(this,SurveyVerificationService.class);
|
||||
startService(Global.verifyNotivIntent);
|
||||
}
|
||||
if (mnSurveyApproval != null || mnApprovalByBranch != null) {
|
||||
approvalThread = new SurveyApprovalThread(this);
|
||||
Global.approvalNotivIntent = new Intent(this,SurveyApprovalService.class);
|
||||
startService(Global.approvalNotivIntent);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Global.syncIntent = new Intent(getApplicationContext(), MSSynchronizeActivity.class);
|
||||
if(NewMainActivity.getMss()==null) {
|
||||
NewMainActivity.setMss(this.getClass());
|
||||
MainServices.mainClass = mss;
|
||||
}
|
||||
NewMainActivity.setMainMenuClass(NewMSMainActivity.class);
|
||||
Global.VerificationActivityClass = SurveyVerificationActionActivity.class;
|
||||
try {
|
||||
if (NewMSMainActivity.mnSurveyVerif != null)
|
||||
NewMSMainActivity.mnSurveyVerif.setCounter(String.valueOf(Constants.getCounterVerificationTask(getApplicationContext())));
|
||||
else if(NewMSMainActivity.mnVerifByBranch != null)
|
||||
NewMSMainActivity.mnVerifByBranch.setCounter(String.valueOf(Constants.getCounterVerificationTaskByBranch(getApplicationContext())));
|
||||
else{
|
||||
try {
|
||||
stopService(Global.verifyNotivIntent);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
if (NewMSMainActivity.mnSurveyApproval!= null)
|
||||
NewMSMainActivity.mnSurveyApproval.setCounter(String.valueOf(Constants.getCounterApprovalTask(getApplicationContext())));
|
||||
else if (NewMSMainActivity.mnApprovalByBranch != null)
|
||||
NewMSMainActivity.mnApprovalByBranch.setCounter(String.valueOf(Constants.getCounterApprovalTaskByBranch(getApplicationContext())));
|
||||
else{
|
||||
try {
|
||||
stopService(Global.approvalNotivIntent);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
if (verificationThread != null) {
|
||||
verificationThread.requestStop();
|
||||
verificationThread = null;
|
||||
}
|
||||
if (approvalThread != null) {
|
||||
approvalThread.requestStop();
|
||||
approvalThread = null;
|
||||
}
|
||||
NewMainActivity.mnTaskList = null;
|
||||
NewMainActivity.mnSurveyApproval = null;
|
||||
NewMainActivity.mnSurveyApproval = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
super.onBackPressed();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Intent getIntentSynchronize() {
|
||||
return new Intent(this, MSSynchronizeActivity.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void ApplicationMenu(NewMenuItem menuItem) {
|
||||
super.ApplicationMenu(menuItem);
|
||||
|
||||
if (menuItem.getName().equalsIgnoreCase(getString(R.string.title_mn_newtask))) {
|
||||
logEventCountMenuAccessed(getString(R.string.title_mn_newtask));
|
||||
gotoNewTask();
|
||||
} else if (menuItem.getName().equalsIgnoreCase(getString(R.string.title_mn_surveyperformance))) {
|
||||
logEventCountMenuAccessed(getString(R.string.title_mn_surveyperformance));
|
||||
gotoSurveyPerformance();
|
||||
} else if (menuItem.getName().equalsIgnoreCase(getString(R.string.title_mn_surveyverification))) {
|
||||
logEventCountMenuAccessed(getString(R.string.title_mn_surveyverification));
|
||||
gotoSurveyVerification();
|
||||
} else if (menuItem.getName().equalsIgnoreCase(getString(R.string.title_mn_surveyapproval))) {
|
||||
logEventCountMenuAccessed(getString(R.string.title_mn_surveyapproval));
|
||||
gotoSurveyApproval();
|
||||
} else if (menuItem.getName().equalsIgnoreCase(getString(R.string.title_mn_surveyassign))) {
|
||||
logEventCountMenuAccessed(getString(R.string.title_mn_surveyassign));
|
||||
gotoSurveyAssignment();
|
||||
} else if (menuItem.getName().equalsIgnoreCase(getString(R.string.title_mn_surveyreassign))) {
|
||||
logEventCountMenuAccessed(getString(R.string.title_mn_surveyreassign));
|
||||
gotoSurveyReassignment();
|
||||
} else if (menuItem.getName().equalsIgnoreCase(getString(R.string.title_mn_verification_bybranch))) {
|
||||
logEventCountMenuAccessed(getString(R.string.title_mn_verification_bybranch));
|
||||
gotoSurveyVerificationByBranch();
|
||||
} else if (menuItem.getName().equalsIgnoreCase(getString(R.string.title_mn_approval_bybranch))) {
|
||||
logEventCountMenuAccessed(getString(R.string.title_mn_approval_bybranch));
|
||||
gotoSurveyApprovalByBranch();
|
||||
}else if (menuItem.getName().equalsIgnoreCase(getString(R.string.title_mn_dashboard))) {
|
||||
logEventCountMenuAccessed(getString(R.string.title_mn_dashboard));
|
||||
goToDashboardMyPoint();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gotoTimeline() {
|
||||
super.gotoTimeline();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void gotoAbout() {
|
||||
AboutActivity.setChangeLog(ChangeLog.getChangeLog(this), 2);
|
||||
super.gotoAbout();
|
||||
}
|
||||
|
||||
protected void gotoNewTask() {
|
||||
GetSchemeTask task = new GetSchemeTask(this, new MSNewTaskActivity(), true);
|
||||
task.execute();
|
||||
}
|
||||
|
||||
protected void gotoSurveyPerformance() {
|
||||
fragment = new SurveyPerformanceFragment();
|
||||
FragmentTransaction transaction = NewMainActivity.fragmentManager.beginTransaction();
|
||||
transaction.setCustomAnimations(R.anim.activity_open_translate,R.anim.activity_close_scale,R.anim.activity_open_scale,R.anim.activity_close_translate);
|
||||
transaction.replace(R.id.content_frame, fragment);
|
||||
transaction.addToBackStack(null);
|
||||
transaction.commit();
|
||||
}
|
||||
|
||||
protected void gotoSurveyVerification() {
|
||||
fragment = new SurveyVerificationFragment();
|
||||
SurveyVerificationListTask task = new SurveyVerificationListTask(this, getString(R.string.progressWait),
|
||||
getString(R.string.msgNoVerification),null);
|
||||
task.execute();
|
||||
}
|
||||
|
||||
protected void gotoSurveyApproval() {
|
||||
fragment = new SurveyApprovalFragment();
|
||||
SurveyApprovalListTask task = new SurveyApprovalListTask(this, getString(R.string.progressWait),
|
||||
getString(R.string.msgNoApproval),null);
|
||||
task.execute();
|
||||
}
|
||||
|
||||
protected void gotoSurveyAssignment() {
|
||||
OrderAssignmentTask task = new OrderAssignmentTask(this, getString(R.string.progressWait),
|
||||
getString(R.string.msgNoList),R.id.content_frame);
|
||||
task.execute();
|
||||
}
|
||||
|
||||
protected void gotoSurveyReassignment() {
|
||||
fragment = new OrderFilterActivity();
|
||||
Bundle args = new Bundle();
|
||||
args.putInt(Global.BUND_KEY_TASK_TYPE, Global.TASK_ORDER_REASSIGNMENT);
|
||||
fragment.setArguments(args);
|
||||
|
||||
FragmentTransaction transaction = NewMainActivity.fragmentManager.beginTransaction();
|
||||
transaction.setCustomAnimations(R.anim.activity_open_translate,R.anim.activity_close_scale,R.anim.activity_open_scale,R.anim.activity_close_translate);
|
||||
transaction.replace(R.id.content_frame, fragment);
|
||||
transaction.addToBackStack(null);
|
||||
transaction.commit();
|
||||
}
|
||||
|
||||
protected void gotoSurveyVerificationByBranch() {
|
||||
fragment = new SurveyVerificationFragment();
|
||||
SurveyVerificationListTask task = new SurveyVerificationListTask(this, getString(R.string.progressWait),
|
||||
getString(R.string.msgNoVerification), SurveyVerificationListTask.KEY_BRANCH);
|
||||
task.execute();
|
||||
}
|
||||
|
||||
protected void gotoSurveyApprovalByBranch() {
|
||||
fragment = new SurveyApprovalFragment();
|
||||
SurveyApprovalListTask task = new SurveyApprovalListTask(this, getString(R.string.progressWait),
|
||||
getString(R.string.msgNoApproval), SurveyApprovalListTask.KEY_BRANCH);
|
||||
task.execute();
|
||||
}
|
||||
|
||||
protected void goToDashboardMyPoint(){
|
||||
fragment = new DashboardMyPoint();
|
||||
|
||||
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
|
||||
transaction.setCustomAnimations(R.anim.activity_open_translate,R.anim.activity_close_scale,R.anim.activity_open_scale,R.anim.activity_close_translate);
|
||||
transaction.replace(R.id.content_frame, fragment);
|
||||
transaction.addToBackStack(null);
|
||||
transaction.commit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,325 @@
|
|||
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.util.Log;
|
||||
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.Timeline;
|
||||
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 com.google.gson.JsonSyntaxException;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class SurveyVerificationListTask 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<?> taskSurveyVerificationFragment;
|
||||
public Fragment SurveyVerificationFragment;
|
||||
// private FragmentActivity fragmentActivity;
|
||||
// private int contentFrame;
|
||||
private User user = GlobalData.getSharedGlobalData().getUser();
|
||||
|
||||
// public SurveyVerificationListTask(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.SurveyVerificationFragment = LogResultFragment;
|
||||
// }
|
||||
|
||||
public SurveyVerificationListTask(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_VERIFICATION();
|
||||
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 {
|
||||
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();
|
||||
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(user);
|
||||
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_VERIFICATION).getUuid_timeline_type();
|
||||
boolean wasInTimeline = TimelineDataAccess.getOneTimelineByTaskH(context.get(), user.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_BRANCH)){
|
||||
h.setAccess_mode(TaskHDataAccess.ACCESS_MODE_HYBRID);
|
||||
TaskHDataAccess.addOrReplace(context.get(), h);
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(h.getAccess_mode().equals(TaskHDataAccess.ACCESS_MODE_USER)){
|
||||
h.setAccess_mode(TaskHDataAccess.ACCESS_MODE_HYBRID);
|
||||
TaskHDataAccess.addOrReplace(context.get(), h);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
result.add(h);
|
||||
}else{
|
||||
errMessage = activity.get().getString(R.string.task_hasnt_finished_sync);
|
||||
result.add(h);
|
||||
TaskHDataAccess.addOrReplace(context.get(), taskH);
|
||||
if(!wasInTimeline){
|
||||
TimelineManager.insertTimeline(context.get(), taskH);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
errMessage = activity.get().getString(R.string.scheme_not_found_verification);
|
||||
if(mode!=null && KEY_BRANCH.equals(mode))
|
||||
result = TaskHDataAccess.getAllVerifiedForBranch(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
else
|
||||
result = TaskHDataAccess.getAllVerifiedForUser(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
}
|
||||
}
|
||||
}
|
||||
//check for changed task in result(local db) data
|
||||
List<TaskH> localTaskHs = TaskHDataAccess.getAllVerified(context.get(),GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
if(localTaskHs != null && localTaskHs.size() > 0){
|
||||
for (int i= 0; i<localTaskHs.size(); i++) {
|
||||
boolean taskNotfound = false;
|
||||
TaskH taskh_local = localTaskHs.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_VERIFICATION);
|
||||
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(JsonSyntaxException x){
|
||||
errMessage = serverResult.getResult();
|
||||
} 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.getAllVerifiedForBranch(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
else
|
||||
result = TaskHDataAccess.getAllVerifiedForUser(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.getAllVerifiedForBranch(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
else
|
||||
result = TaskHDataAccess.getAllVerifiedForUser(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
|
||||
}
|
||||
}else{
|
||||
if(mode!=null && KEY_BRANCH.equals(mode))
|
||||
result = TaskHDataAccess.getAllVerifiedForBranch(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
else
|
||||
result = TaskHDataAccess.getAllVerifiedForUser(context.get(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
}
|
||||
/* try {
|
||||
if(this.context != null) {
|
||||
resultTaskH = TaskHDataAccess.getAllVerified(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
} else if(this.activity != null) {
|
||||
resultTaskH = TaskHDataAccess.getAllVerified(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
} else {
|
||||
resultTaskH = TaskHDataAccess.getAllVerified(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()) {
|
||||
|
||||
}
|
||||
if(this.errMessage != null) {
|
||||
if(GlobalData.isRequireRelogin()){
|
||||
return;
|
||||
}
|
||||
if(activity.get().getString(R.string.scheme_not_found_verification).equals(errMessage)){
|
||||
Constants.listOfVerifiedTask = 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.error_capital)).withMessage(this.errMessage).
|
||||
isCancelable(true).show();
|
||||
}
|
||||
} else if(result != null && result.size() != 0) {
|
||||
Constants.listOfVerifiedTask = result;
|
||||
gotoPage();
|
||||
} else {
|
||||
fragment = NiftyDialogBuilder.getInstance(this.context.get());
|
||||
fragment.withTitle(activity.get().getString(R.string.info_capital)).withMessage(this.messageEmpty).
|
||||
isCancelable(true).show();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void gotoPage(){
|
||||
Fragment fragment1 = null;
|
||||
if(mode!=null && !mode.isEmpty()){
|
||||
fragment1 = new com.adins.mss.svy.fragments.SurveyVerificationByBranchFragment();
|
||||
}else{
|
||||
fragment1 = new com.adins.mss.svy.fragments.SurveyVerificationFragment();
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,255 @@
|
|||
package com.adins.mss.svy.assignment;
|
||||
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import androidx.annotation.Keep;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.animation.Animation;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ListView;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.checkin.CheckInManager;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.util.GsonHelper;
|
||||
import com.adins.mss.base.util.LocaleHelper;
|
||||
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.dialog.NiftyDialogBuilder;
|
||||
import com.adins.mss.foundation.http.HttpConnectionResult;
|
||||
import com.adins.mss.foundation.http.HttpCryptedConnection;
|
||||
import com.adins.mss.foundation.location.UpdateMenuIcon;
|
||||
import com.adins.mss.svy.R;
|
||||
import com.adins.mss.svy.reassignment.JsonRequestDetailOrder;
|
||||
import com.adins.mss.svy.reassignment.JsonResponseServer;
|
||||
import com.adins.mss.svy.reassignment.JsonResponseServer.ResponseServer;
|
||||
import com.androidquery.AQuery;
|
||||
import com.google.firebase.perf.FirebasePerformance;
|
||||
import com.google.firebase.perf.metrics.HttpMetric;
|
||||
|
||||
import org.acra.ACRA;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import static com.adins.mss.constant.Global.SHOW_USERHELP_DELAY_DEFAULT;
|
||||
|
||||
public class LookupAssignment extends AppCompatActivity{
|
||||
AQuery query ;
|
||||
OrderAssignmentAdapter adapter;
|
||||
List<ResponseServer> responseServer;
|
||||
ListView listView;
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
MenuInflater menuInflater = getMenuInflater();
|
||||
menuInflater.inflate(com.adins.mss.base.R.menu.main_menu, menu);
|
||||
mainMenu = menu;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
updateMenuIcon();
|
||||
|
||||
if(Global.ENABLE_USER_HELP &&
|
||||
(Global.userHelpGuide.get(LookupAssignment.this.getClass().getSimpleName())!=null) ||
|
||||
Global.userHelpDummyGuide.get(LookupAssignment.this.getClass().getSimpleName()) != null){
|
||||
menu.findItem(com.adins.mss.base.R.id.mnGuide).setVisible(true);
|
||||
}
|
||||
return super.onPrepareOptionsMenu(menu);
|
||||
}
|
||||
|
||||
private static Menu mainMenu;
|
||||
|
||||
public static void updateMenuIcon() {
|
||||
UpdateMenuIcon uItem = new UpdateMenuIcon();
|
||||
uItem.updateGPSIcon(mainMenu);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
int id = item.getItemId();
|
||||
if (id == com.adins.mss.base.R.id.mnGPS && Global.LTM != null) {
|
||||
if (Global.LTM.getIsConnected()) {
|
||||
Global.LTM.removeLocationListener();
|
||||
Global.LTM.connectLocationClient();
|
||||
} else {
|
||||
CheckInManager.startGPSTracking(getApplicationContext());
|
||||
}
|
||||
Animation a = AnimationUtils.loadAnimation(this, com.adins.mss.base.R.anim.gps_rotate);
|
||||
findViewById(com.adins.mss.base.R.id.mnGPS).startAnimation(a);
|
||||
}
|
||||
if(id==R.id.mnGuide && !Global.BACKPRESS_RESTRICTION){
|
||||
UserHelp.reloadUserHelp(getApplicationContext(), LookupAssignment.this);
|
||||
Handler handler = new Handler();
|
||||
handler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
UserHelp.showAllUserHelp(LookupAssignment.this, LookupAssignment.this.getClass().getSimpleName());
|
||||
}
|
||||
}, SHOW_USERHELP_DELAY_DEFAULT);
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.default_listview);
|
||||
|
||||
Toolbar toolbar = (Toolbar) findViewById(com.adins.mss.base.R.id.toolbar);
|
||||
toolbar.setTitleTextColor(getResources().getColor(com.adins.mss.base.R.color.fontColorWhite));
|
||||
toolbar.setTitle(getString(R.string.title_mn_surveyassign));
|
||||
setSupportActionBar(toolbar);
|
||||
listView = findViewById(android.R.id.list);
|
||||
ACRA.getErrorReporter().putCustomData("LAST_CLASS_ACCESSED", getClass().getSimpleName());
|
||||
query = new AQuery(this);
|
||||
query.id(android.R.id.list).itemClicked(this, "itemClick").margin(5, 5, 5, 5);
|
||||
String flag = getIntent().getStringExtra(Global.BUND_KEY_TASK);
|
||||
String uuid_task_h = getIntent().getStringExtra(Global.BUND_KEY_UUID_TASKH);
|
||||
new GetRequestDataLookup(uuid_task_h,flag).execute();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
|
||||
if(!Global.BACKPRESS_RESTRICTION){
|
||||
super.onBackPressed();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void attachBaseContext(Context newBase) {
|
||||
Context context = newBase;
|
||||
Locale locale;
|
||||
try{
|
||||
locale = new Locale(GlobalData.getSharedGlobalData().getLocale());
|
||||
context = LocaleHelper.wrap(newBase, locale);
|
||||
} catch (Exception e) {
|
||||
locale = new Locale(LocaleHelper.ENGLSIH);
|
||||
context = LocaleHelper.wrap(newBase, locale);
|
||||
} finally {
|
||||
super.attachBaseContext(context);
|
||||
}
|
||||
}
|
||||
|
||||
@Keep
|
||||
public void itemClick(AdapterView<?> parent, View v, int position, long id){
|
||||
Intent intent = new Intent();
|
||||
intent.putExtra(Global.BUND_KEY_ASSIGNEE_ID, responseServer.get(position).getKey());
|
||||
intent.putExtra(Global.BUND_KEY_ASSIGNEE_VALUE, responseServer.get(position).getValue());
|
||||
intent.putExtra(Global.BUND_KEY_ASSIGNEE_JOB, responseServer.get(position).getFlag());
|
||||
setResult(Global.REQUEST_CODE_LOOKUP, intent);
|
||||
finish();
|
||||
}
|
||||
private class GetRequestDataLookup extends AsyncTask<Void, Void, JsonResponseServer> {
|
||||
private ProgressDialog progressDialog;
|
||||
private String errMessage = null;
|
||||
private String uuid_task_h;
|
||||
private String flag;
|
||||
|
||||
public GetRequestDataLookup(String uuid_task_h, String flag) {
|
||||
this.flag = flag;
|
||||
this.uuid_task_h=uuid_task_h;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
progressDialog = ProgressDialog.show(LookupAssignment.this,
|
||||
"", getString(R.string.progressWait), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected JsonResponseServer doInBackground(Void... params) {
|
||||
String result = null;
|
||||
|
||||
JsonRequestDetailOrder request = new JsonRequestDetailOrder();
|
||||
request.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
request.setUuid_task_h(uuid_task_h);
|
||||
request.setFlag(flag);
|
||||
String json = GsonHelper.toJson(request);
|
||||
String url = GlobalData.getSharedGlobalData().getURL_GET_LOOKUP();
|
||||
boolean encrypt = GlobalData.getSharedGlobalData().isEncrypt();
|
||||
boolean decrypt = GlobalData.getSharedGlobalData().isDecrypt();
|
||||
HttpCryptedConnection httpConn = new HttpCryptedConnection(LookupAssignment.this, encrypt, decrypt);
|
||||
HttpConnectionResult serverResult = null;
|
||||
|
||||
//Firebase Performance Trace HTTP Request
|
||||
HttpMetric networkMetric =
|
||||
FirebasePerformance.getInstance().newHttpMetric(url, FirebasePerformance.HttpMethod.POST);
|
||||
Utility.metricStart(networkMetric, json);
|
||||
|
||||
try {
|
||||
serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
Utility.metricStop(networkMetric, serverResult);
|
||||
if(serverResult.isOK())
|
||||
result = serverResult.getResult();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
try {
|
||||
progressDialog.dismiss();
|
||||
} catch (Exception ex) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
errMessage = e.getMessage();
|
||||
}
|
||||
|
||||
JsonResponseServer response =null;
|
||||
try {
|
||||
if(null!=result)
|
||||
response = GsonHelper.fromJson(result, JsonResponseServer.class);
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
errMessage = e.getMessage();
|
||||
}
|
||||
return response;
|
||||
}
|
||||
@Override
|
||||
protected void onPostExecute(JsonResponseServer result){
|
||||
if (progressDialog.isShowing()){
|
||||
try {
|
||||
progressDialog.dismiss();
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
if(errMessage!=null){
|
||||
NiftyDialogBuilder dialogBuilder = NiftyDialogBuilder.getInstance(LookupAssignment.this);
|
||||
dialogBuilder.withTitle(getApplicationContext().getString(R.string.error_capital))
|
||||
.withMessage(errMessage)
|
||||
.show();
|
||||
}
|
||||
else if(result != null){
|
||||
if(result.getStatus().getCode()==0){
|
||||
responseServer = result.getListResponseServer();
|
||||
adapter = new OrderAssignmentAdapter(getApplicationContext(), responseServer, true);
|
||||
query.id(android.R.id.list).adapter(adapter);
|
||||
Handler handler = new Handler();
|
||||
handler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
UserHelp.showAllUserHelpWithListView(LookupAssignment.this,
|
||||
LookupAssignment.this.getClass().getSimpleName(),
|
||||
listView,0);
|
||||
}
|
||||
}, SHOW_USERHELP_DELAY_DEFAULT);
|
||||
}else{
|
||||
NiftyDialogBuilder dialogBuilder = NiftyDialogBuilder.getInstance(LookupAssignment.this);
|
||||
dialogBuilder.withTitle(getApplicationContext().getString(R.string.info_capital))
|
||||
.withMessage(result.getStatus().getMessage())
|
||||
.show();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,176 @@
|
|||
package com.adins.mss.svy.assignment;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import androidx.annotation.Keep;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ListView;
|
||||
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.util.Utility;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.dao.TaskH;
|
||||
import com.adins.mss.foundation.UserHelp.UserHelp;
|
||||
import com.adins.mss.foundation.dialog.NiftyDialogBuilder;
|
||||
import com.adins.mss.svy.R;
|
||||
import com.adins.mss.svy.reassignment.JsonResponseServer;
|
||||
import com.adins.mss.svy.reassignment.JsonResponseServer.ResponseServer;
|
||||
import com.androidquery.AQuery;
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
|
||||
import org.acra.ACRA;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static com.adins.mss.constant.Global.SHOW_USERHELP_DELAY_DEFAULT;
|
||||
|
||||
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;
|
||||
// public static boolean isChange = false;
|
||||
public static boolean isChange = false;
|
||||
public static int selectedPosition = 9999;
|
||||
protected OrderAssignmentAdapter adapter;
|
||||
private ListView listView;
|
||||
private FirebaseAnalytics screenName;
|
||||
@Override
|
||||
public void onAttach(Context activity) {
|
||||
super.onAttach(activity);
|
||||
ACRA.getErrorReporter().putCustomData("LAST_CLASS_ACCESSED", getClass().getSimpleName());
|
||||
isChange = false;
|
||||
mArguments = getArguments();
|
||||
// getActivity().getActionBar().setTitle(getString(R.string.title_mn_surveyassign));
|
||||
results = (JsonResponseServer) mArguments.getSerializable("resultJson");
|
||||
responseServer = results.getListResponseServer();
|
||||
|
||||
// olivia : set toolbar
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.search).setVisibility(View.GONE);
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.spinner).setVisibility(View.GONE);
|
||||
getActivity().setTitle(getString(com.adins.mss.base.R.string.title_mn_surveyassign));
|
||||
|
||||
adapter = new OrderAssignmentAdapter(getActivity(), responseServer,false);
|
||||
setHasOptionsMenu(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
Utility.freeMemory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume(){
|
||||
super.onResume();
|
||||
// getActivity().getActionBar().setTitle(getString(R.string.title_mn_surveyassign));
|
||||
//Set Firebase screen name
|
||||
screenName.setCurrentScreen(getActivity(), getString(R.string.screen_name_survey_assignment), null);
|
||||
|
||||
// olivia : set toolbar
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.search).setVisibility(View.GONE);
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.spinner).setVisibility(View.GONE);
|
||||
getActivity().setTitle(getString(com.adins.mss.base.R.string.title_mn_surveyassign));
|
||||
|
||||
if(isChange){
|
||||
if(selectedPosition!=9999){
|
||||
responseServer.remove(selectedPosition);
|
||||
adapter = new OrderAssignmentAdapter(getActivity(), responseServer,false);
|
||||
query.id(android.R.id.list).adapter(adapter);
|
||||
isChange=false;
|
||||
selectedPosition=9999;
|
||||
}
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
if (view != null) {
|
||||
ViewGroup parent = (ViewGroup) view.getParent();
|
||||
if (parent != null)
|
||||
parent.removeView(view);
|
||||
}
|
||||
try {
|
||||
view = inflater.inflate(R.layout.new_fragment_survey_assignment, container, false);
|
||||
query = new AQuery(view);
|
||||
listView = view.findViewById(android.R.id.list);
|
||||
query.id(listView).adapter(adapter);
|
||||
query.id(listView).itemClicked(this, "itemClick");
|
||||
screenName = FirebaseAnalytics.getInstance(getActivity());
|
||||
if(responseServer.size()==0){
|
||||
final NiftyDialogBuilder builder = NiftyDialogBuilder.getInstance(getActivity());
|
||||
builder.withTitle(getString(R.string.info_capital))
|
||||
.withMessage(getString(R.string.data_not_found))
|
||||
.withButton1Text(getString(R.string.btnOk))
|
||||
.isCancelable(false)
|
||||
.setButton1Click(new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
builder.dismiss();
|
||||
}
|
||||
}).show();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
Handler handler = new Handler();
|
||||
handler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
UserHelp.showAllUserHelpWithListView(OrderAssignmentActivity.this.getActivity(),
|
||||
OrderAssignmentActivity.this.getClass().getSimpleName(),
|
||||
listView,
|
||||
0);
|
||||
}
|
||||
}, SHOW_USERHELP_DELAY_DEFAULT);
|
||||
return view;
|
||||
}
|
||||
|
||||
@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() {
|
||||
UserHelp.showAllUserHelpWithListView(OrderAssignmentActivity.this.getActivity(),
|
||||
OrderAssignmentActivity.this.getClass().getSimpleName(),
|
||||
listView,
|
||||
0);
|
||||
}
|
||||
}, SHOW_USERHELP_DELAY_DEFAULT);
|
||||
}
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
@Keep
|
||||
public void itemClick(AdapterView<?> parent, View v, int position, long id){
|
||||
selectedPosition = position;
|
||||
String nomorOrder = responseServer.get(position).getKey();
|
||||
String uuid_task_h = responseServer.get(position).getFlag();
|
||||
String formName = responseServer.get(position).getFormName();
|
||||
gotoDetailData(nomorOrder, uuid_task_h, formName);
|
||||
}
|
||||
private void gotoDetailData(String nomorOrder,String uuid_task_h,String formName) {
|
||||
Intent intent = new Intent(getActivity(), OrderAssignmentResult.class);
|
||||
intent.putExtra(Global.BUND_KEY_ORDERNO, nomorOrder);
|
||||
intent.putExtra(Global.BUND_KEY_FORM_NAME, formName);
|
||||
intent.putExtra(Global.BUND_KEY_TASK_TYPE, Global.TASK_ORDER_ASSIGNMENT);
|
||||
intent.putExtra(Global.BUND_KEY_UUID_TASKH, uuid_task_h);
|
||||
startActivity(intent);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
package com.adins.mss.svy.assignment;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
|
||||
import com.adins.mss.svy.R;
|
||||
import com.adins.mss.svy.reassignment.JsonResponseServer.ResponseServer;
|
||||
import com.androidquery.AQuery;
|
||||
import com.androidquery.util.Constants;
|
||||
|
||||
public class OrderAssignmentAdapter extends ArrayAdapter<ResponseServer>{
|
||||
private Context context;
|
||||
private List<ResponseServer> responseServer;
|
||||
private boolean isLookup = false;
|
||||
AQuery query;
|
||||
|
||||
public OrderAssignmentAdapter(Context context, List<ResponseServer> objects, boolean isLookup) {
|
||||
super(context, R.layout.new_survey_assignment_item, objects);
|
||||
this.context = context;
|
||||
this.responseServer = objects;
|
||||
this.isLookup=isLookup;
|
||||
}
|
||||
@Override
|
||||
public int getCount() {
|
||||
return responseServer.size();
|
||||
}
|
||||
@Override
|
||||
public View getView(final int position, View convertView, ViewGroup parent) {
|
||||
if (convertView == null) {
|
||||
convertView = LayoutInflater.from(getContext()).inflate(R.layout.new_survey_assignment_item, parent, false);
|
||||
}
|
||||
query = new AQuery(convertView);
|
||||
ResponseServer header = responseServer.get(position);
|
||||
if(isLookup){
|
||||
// if(header.getKey()!=null)
|
||||
// query.id(R.id.txtNoOrder).text(header.getFlag());
|
||||
query.id(R.id.txtNoOrder).visibility(View.GONE);
|
||||
}else{
|
||||
if(header.getKey()!=null)
|
||||
query.id(R.id.txtNoOrder).text(header.getKey());
|
||||
}
|
||||
query.id(R.id.txtCustomerName).text(header.getValue());
|
||||
return convertView;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,529 @@
|
|||
package com.adins.mss.svy.assignment;
|
||||
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.cardview.widget.CardView;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import android.view.Gravity;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.animation.Animation;
|
||||
import android.view.animation.AnimationUtils;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.LinearLayout.LayoutParams;
|
||||
import android.widget.ScrollView;
|
||||
import android.widget.TableLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.checkin.CheckInManager;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.timeline.MapsViewer;
|
||||
import com.adins.mss.base.util.GsonHelper;
|
||||
import com.adins.mss.base.util.LocaleHelper;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.foundation.UserHelp.UserHelp;
|
||||
import com.adins.mss.foundation.dialog.DialogManager;
|
||||
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.foundation.image.Utils;
|
||||
import com.adins.mss.foundation.location.UpdateMenuIcon;
|
||||
import com.adins.mss.svy.R;
|
||||
import com.adins.mss.svy.reassignment.JsonRequestDetailOrder;
|
||||
import com.adins.mss.svy.reassignment.JsonResponseServer;
|
||||
import com.adins.mss.svy.reassignment.JsonResponseServer.ResponseServer;
|
||||
import com.adins.mss.svy.tool.ImageThumbnail;
|
||||
import com.adins.mss.svy.tool.getImageTask;
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
|
||||
import org.acra.ACRA;
|
||||
import org.apache.http.NameValuePair;
|
||||
import org.apache.http.message.BasicNameValuePair;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
|
||||
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
|
||||
import static com.adins.mss.constant.Global.SHOW_USERHELP_DELAY_DEFAULT;
|
||||
|
||||
public class OrderAssignmentResult extends AppCompatActivity implements OnClickListener{
|
||||
String nomorOrder;
|
||||
TableLayout detailTable;
|
||||
Button btnLookupCMO;
|
||||
Button btnSubmit;
|
||||
TextView form_name;
|
||||
ScrollView scrollView;
|
||||
int taskType;
|
||||
String flag;
|
||||
String uuid_task_h;
|
||||
String formName;
|
||||
TextView txtCMO;
|
||||
EditText txtNotes;
|
||||
CardView lookupCMOLayout;
|
||||
Map<ImageThumbnail, String> thumbnailMapping = new HashMap<>();
|
||||
List<ResponseServer> list;
|
||||
String assignId;
|
||||
public static ImageThumbnail targetThumbnail = null;
|
||||
public boolean isSoftKeyboardDisplayed = false;
|
||||
private FirebaseAnalytics screenName;
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
MenuInflater menuInflater = getMenuInflater();
|
||||
menuInflater.inflate(com.adins.mss.base.R.menu.main_menu, menu);
|
||||
mainMenu = menu;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
updateMenuIcon();
|
||||
|
||||
if(Global.ENABLE_USER_HELP &&
|
||||
(Global.userHelpGuide.get(OrderAssignmentResult.this.getClass().getSimpleName())!=null) ||
|
||||
Global.userHelpDummyGuide.get(OrderAssignmentResult.this.getClass().getSimpleName()) != null){
|
||||
menu.findItem(com.adins.mss.base.R.id.mnGuide).setVisible(true);
|
||||
}
|
||||
return super.onPrepareOptionsMenu(menu);
|
||||
}
|
||||
|
||||
private static Menu mainMenu;
|
||||
|
||||
public static void updateMenuIcon() {
|
||||
UpdateMenuIcon uItem = new UpdateMenuIcon();
|
||||
uItem.updateGPSIcon(mainMenu);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
int id = item.getItemId();
|
||||
if (id == com.adins.mss.base.R.id.mnGPS && Global.LTM != null) {
|
||||
if (Global.LTM.getIsConnected()) {
|
||||
Global.LTM.removeLocationListener();
|
||||
Global.LTM.connectLocationClient();
|
||||
} else {
|
||||
CheckInManager.startGPSTracking(getApplicationContext());
|
||||
}
|
||||
Animation a = AnimationUtils.loadAnimation(this, com.adins.mss.base.R.anim.gps_rotate);
|
||||
findViewById(com.adins.mss.base.R.id.mnGPS).startAnimation(a);
|
||||
}
|
||||
|
||||
if(id==R.id.mnGuide && !Global.BACKPRESS_RESTRICTION){
|
||||
UserHelp.reloadUserHelp(getApplicationContext(), OrderAssignmentResult.this);
|
||||
scrollView.scrollTo(0, findViewById(R.id.Bottomlayout).getBottom());
|
||||
Handler handler = new Handler();
|
||||
handler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
UserHelp.showAllUserHelp(OrderAssignmentResult.this, OrderAssignmentResult.this.getClass().getSimpleName());
|
||||
}
|
||||
}, SHOW_USERHELP_DELAY_DEFAULT);
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.new_survey_assignment_result_activity);
|
||||
ACRA.getErrorReporter().putCustomData("LAST_CLASS_ACCESSED", getClass().getSimpleName());
|
||||
nomorOrder = getIntent().getExtras().getString(Global.BUND_KEY_ORDERNO);
|
||||
taskType = getIntent().getExtras().getInt(Global.BUND_KEY_TASK_TYPE);
|
||||
uuid_task_h = getIntent().getExtras().getString(Global.BUND_KEY_UUID_TASKH);
|
||||
formName = getIntent().getExtras().getString(Global.BUND_KEY_FORM_NAME);
|
||||
flag = flagParamForType(taskType);
|
||||
|
||||
scrollView = findViewById(R.id.scrollView);
|
||||
|
||||
screenName = FirebaseAnalytics.getInstance(this);
|
||||
|
||||
Toolbar toolbar = (Toolbar) findViewById(com.adins.mss.base.R.id.toolbar);
|
||||
toolbar.setTitleTextColor(getResources().getColor(com.adins.mss.base.R.color.fontColorWhite));
|
||||
toolbar.setTitle(getString(R.string.title_mn_surveyassign));
|
||||
setSupportActionBar(toolbar);
|
||||
|
||||
switch (taskType) {
|
||||
case Global.TASK_ORDER_ASSIGNMENT:
|
||||
toolbar.setTitle(getString(R.string.title_mn_surveyassign));
|
||||
break;
|
||||
case Global.TASK_ORDER_REASSIGNMENT:
|
||||
toolbar.setTitle(getString(R.string.title_mn_surveyreassign));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
initialize();
|
||||
new GetRequestDataDetail(this,nomorOrder, flag).execute();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
//Set Firebase screen name
|
||||
screenName.setCurrentScreen(this, getString(R.string.screen_name_survey_assignment_result), null);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void attachBaseContext(Context newBase) {
|
||||
Context context = newBase;
|
||||
Locale locale;
|
||||
try{
|
||||
locale = new Locale(GlobalData.getSharedGlobalData().getLocale());
|
||||
context = LocaleHelper.wrap(newBase, locale);
|
||||
} catch (Exception e) {
|
||||
locale = new Locale(LocaleHelper.ENGLSIH);
|
||||
context = LocaleHelper.wrap(newBase, locale);
|
||||
} finally {
|
||||
super.attachBaseContext(context);
|
||||
}
|
||||
}
|
||||
|
||||
private String flagParamForType(int taskType2) {
|
||||
switch (taskType) {
|
||||
case Global.TASK_ORDER_ASSIGNMENT:
|
||||
return "assign";
|
||||
case Global.TASK_ORDER_REASSIGNMENT:
|
||||
return "reassign";
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
}
|
||||
protected void initialize() {
|
||||
detailTable = (TableLayout)findViewById(R.id.orderDetailTable);
|
||||
btnLookupCMO = (Button)findViewById(R.id.btnLookupCMO);
|
||||
btnSubmit = (Button)findViewById(R.id.btnSubmit);
|
||||
form_name = (TextView)findViewById(R.id.formName);
|
||||
txtCMO = (TextView)findViewById(R.id.txtCMO);
|
||||
txtNotes = (EditText)findViewById(R.id.txtNotes);
|
||||
|
||||
txtNotes.setOnTouchListener(new View.OnTouchListener() {
|
||||
|
||||
@Override
|
||||
public boolean onTouch(View v, MotionEvent event) {
|
||||
isSoftKeyboardDisplayed = true;
|
||||
txtNotes.requestFocus();
|
||||
txtNotes.setFocusable(true);
|
||||
txtNotes.setFocusableInTouchMode(true);
|
||||
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
imm.showSoftInput(v, 0);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
btnSubmit.requestFocus();
|
||||
btnSubmit.setFocusable(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean dispatchTouchEvent(MotionEvent event) {
|
||||
|
||||
View v = getCurrentFocus();
|
||||
boolean ret = super.dispatchTouchEvent(event);
|
||||
if (v instanceof EditText) {
|
||||
View w = getCurrentFocus();
|
||||
int scrcoords[] = new int[2];
|
||||
w.getLocationOnScreen(scrcoords);
|
||||
float x = event.getRawX() + w.getLeft() - scrcoords[0];
|
||||
float y = event.getRawY() + w.getTop() - scrcoords[1];
|
||||
if (event.getAction() == MotionEvent.ACTION_UP
|
||||
&& (x < w.getLeft() || x >= w.getRight() || y < w.getTop() || y > w
|
||||
.getBottom())) {
|
||||
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
imm.hideSoftInputFromInputMethod(v.getWindowToken(), 0);
|
||||
isSoftKeyboardDisplayed = false;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed(){
|
||||
if (isSoftKeyboardDisplayed) {
|
||||
isSoftKeyboardDisplayed = false;
|
||||
}else{
|
||||
if(!Global.BACKPRESS_RESTRICTION) {
|
||||
super.onBackPressed();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class GetRequestDataDetail extends AsyncTask<Void, Void, String> {
|
||||
private ProgressDialog progressDialog;
|
||||
private WeakReference<Activity> activity;
|
||||
private String flag;
|
||||
private String nomorOrder;
|
||||
|
||||
public GetRequestDataDetail(Activity activity,String nomorOrder, String flag) {
|
||||
this.activity = new WeakReference<>(activity);
|
||||
this.nomorOrder = nomorOrder;
|
||||
this.flag = flag;
|
||||
}
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
progressDialog = ProgressDialog.show(OrderAssignmentResult.this,
|
||||
"", getString(R.string.progressWait), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String doInBackground(Void... params) {
|
||||
String result = null;
|
||||
JsonRequestDetailOrder request = new JsonRequestDetailOrder();
|
||||
request.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
request.setUuid_task_h(uuid_task_h);
|
||||
String json = GsonHelper.toJson(request);
|
||||
String url = GlobalData.getSharedGlobalData().getURL_GET_DETAIL_ORDER();
|
||||
boolean encrypt = GlobalData.getSharedGlobalData().isEncrypt();
|
||||
boolean decrypt = GlobalData.getSharedGlobalData().isDecrypt();
|
||||
HttpCryptedConnection httpConn = new HttpCryptedConnection(activity.get(), encrypt, decrypt);
|
||||
HttpConnectionResult serverResult = null;
|
||||
try {
|
||||
serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
if(serverResult.isOK())
|
||||
result = serverResult.getResult();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
try {
|
||||
progressDialog.dismiss();
|
||||
} catch (Exception ex) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
@Override
|
||||
protected void onPostExecute(String result){
|
||||
if (progressDialog.isShowing()){
|
||||
try {
|
||||
progressDialog.dismiss();
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
if("".equals(result)){
|
||||
NiftyDialogBuilder dialogBuilder = NiftyDialogBuilder.getInstance(getApplicationContext());
|
||||
dialogBuilder.withTitle(getString(R.string.info_capital))
|
||||
.withMessage(getString(R.string.msgNoDetail))
|
||||
.show();
|
||||
}else if (null != result){
|
||||
loadDataDetailFromServer(result);
|
||||
}
|
||||
Handler handler = new Handler();
|
||||
handler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
scrollView.scrollTo(0, findViewById(R.id.Bottomlayout).getBottom());
|
||||
UserHelp.showAllUserHelp(OrderAssignmentResult.this,OrderAssignmentResult.this.getClass().getSimpleName());
|
||||
}
|
||||
}, SHOW_USERHELP_DELAY_DEFAULT);
|
||||
}
|
||||
}
|
||||
private void loadDataDetailFromServer(String result){
|
||||
|
||||
int no =1;
|
||||
LayoutParams lpSpace =new LayoutParams(WRAP_CONTENT, MATCH_PARENT);
|
||||
LayoutParams lpQuestion =new LayoutParams(MATCH_PARENT, MATCH_PARENT,0.3f);
|
||||
LayoutParams lpImage =new LayoutParams(MATCH_PARENT, MATCH_PARENT, 0.4f);
|
||||
LayoutParams lpNo =new LayoutParams(WRAP_CONTENT, MATCH_PARENT);
|
||||
try {
|
||||
JsonResponseServer resultOrder = GsonHelper.fromJson(result, JsonResponseServer.class);
|
||||
form_name.setText("Form : "+formName);
|
||||
list = resultOrder.getListResponseServer();
|
||||
for(ResponseServer responseServer : list){
|
||||
String question = responseServer.getKey();
|
||||
final String answer = responseServer.getValue();
|
||||
String flag = responseServer.getFlag();
|
||||
|
||||
LinearLayout row = new LinearLayout(this);
|
||||
row.setOrientation(LinearLayout.HORIZONTAL);
|
||||
row.setLayoutParams(new LayoutParams(MATCH_PARENT, WRAP_CONTENT, 1.0f));
|
||||
TextView lblNo = new TextView(this);
|
||||
lblNo.setText(no+ ". ");
|
||||
lblNo.setGravity(Gravity.LEFT);
|
||||
lblNo.setLayoutParams(lpNo);
|
||||
row.addView(lblNo);
|
||||
|
||||
TextView lblQuestion = new TextView(this);
|
||||
lblQuestion.setText(question);
|
||||
lblQuestion.setLayoutParams(lpQuestion);
|
||||
row.addView(lblQuestion);
|
||||
|
||||
TextView lblSpace = new TextView(this);
|
||||
lblSpace.setText(" : ");
|
||||
lblSpace.setLayoutParams(lpSpace);
|
||||
row.addView(lblSpace);
|
||||
if(flag.equals(Global.FLAG_FOR_IMAGE) || flag.equals(Global.FLAG_FOR_IMAGE_WITH_GPS)) {
|
||||
final ImageThumbnail thumb = new ImageThumbnail(this, 100, 100);
|
||||
thumb.setOnClickListener(this);
|
||||
if (flag.equals(Global.FLAG_FOR_IMAGE_WITH_GPS)) {
|
||||
thumb.setLayoutParams(lpImage);
|
||||
} else {
|
||||
thumb.setLayoutParams(lpQuestion);
|
||||
}
|
||||
thumbnailMapping.put(thumb, answer);
|
||||
row.addView(thumb);
|
||||
|
||||
if (flag.equals(Global.FLAG_FOR_IMAGE_WITH_GPS)) {
|
||||
final ImageThumbnail thumbLoc = new ImageThumbnail(this, 100, 100);
|
||||
thumbLoc.setImageResource(R.drawable.ic_absent);
|
||||
thumbLoc.setLayoutParams(lpImage);
|
||||
row.addView(thumbLoc);
|
||||
|
||||
thumbLoc.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
try {
|
||||
String[] value = Tool.split(answer, ",");
|
||||
if (value.length > 2) {
|
||||
String lat = value[1];
|
||||
String lng = value[2];
|
||||
Intent intent = new Intent(getApplicationContext(), MapsViewer.class);
|
||||
intent.putExtra("latitude", lat);
|
||||
intent.putExtra("longitude", lng);
|
||||
startActivity(intent);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}else if(flag.equals(Global.FLAG_FOR_LOCATION)){
|
||||
final ImageThumbnail thumb = new ImageThumbnail(this, 90, 90);
|
||||
thumb.setImageResource(R.drawable.ic_absent);
|
||||
thumb.setOnClickListener(this);
|
||||
thumb.setLayoutParams(lpQuestion);
|
||||
thumbnailMapping.put(thumb, answer);
|
||||
row.addView(thumb);
|
||||
}else{
|
||||
TextView lblAnswer = new TextView(this);
|
||||
lblAnswer.setText(answer);
|
||||
lblAnswer.setLayoutParams(lpQuestion);
|
||||
row.addView(lblAnswer);
|
||||
}
|
||||
detailTable.addView(row);
|
||||
no++;
|
||||
}
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
public void doSubmit(View view){
|
||||
if(assignId != null && assignId.length()>0){
|
||||
String notes = txtNotes.getText().toString();
|
||||
if (notes.length() == 0 && notes.equals("")) {
|
||||
Toast.makeText(getApplicationContext(), getApplicationContext().getString(R.string.notes_required),
|
||||
Toast.LENGTH_LONG).show();
|
||||
} else {
|
||||
SubmitAssignTask task = new SubmitAssignTask(this, notes, uuid_task_h, assignId, flag);
|
||||
task.execute();
|
||||
}
|
||||
}else{
|
||||
Toast.makeText(getApplicationContext(), getApplicationContext().getString(R.string.select_cmo),
|
||||
Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
||||
}
|
||||
public void doLookupCMO(View view){
|
||||
Intent intent = new Intent(this, LookupAssignment.class);
|
||||
Bundle extras = new Bundle();
|
||||
extras.putString(Global.BUND_KEY_TASK, flag);
|
||||
extras.putString(Global.BUND_KEY_UUID_TASKH, uuid_task_h);
|
||||
intent.putExtras(extras);
|
||||
startActivityForResult(intent, Global.REQUEST_CODE_LOOKUP);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (resultCode == Global.REQUEST_CODE_LOOKUP){ //it's the one we request from the beginning
|
||||
String value = data.getStringExtra(Global.BUND_KEY_ASSIGNEE_VALUE);
|
||||
assignId = data.getStringExtra(Global.BUND_KEY_ASSIGNEE_ID);
|
||||
String job = data.getStringExtra(Global.BUND_KEY_ASSIGNEE_JOB);
|
||||
btnLookupCMO.setText(job+" - "+value);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
ImageThumbnail imgThumbnail = null;
|
||||
try {
|
||||
imgThumbnail = (ImageThumbnail) v;
|
||||
if (imgThumbnail.getResultImg() != null){
|
||||
try {
|
||||
Bitmap image = Utils.byteToBitmap(imgThumbnail.getResultImg());
|
||||
DialogManager.showImageDialog(this, image);
|
||||
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
else{
|
||||
String fieldKey = thumbnailMapping.get(v);
|
||||
String[] value = Tool.split(fieldKey, ",");
|
||||
|
||||
if (value.length == 1) {
|
||||
if (nomorOrder != null && !"".equals(nomorOrder)){
|
||||
targetThumbnail = (ImageThumbnail)v; //store thumbnail for further reference after connection finish
|
||||
|
||||
List<NameValuePair> params = new ArrayList<>();
|
||||
params.add(new BasicNameValuePair(Global.BUND_KEY_UUID_TASKH, uuid_task_h));
|
||||
params.add(new BasicNameValuePair(Global.BUND_KEY_QUESTIONID, fieldKey));
|
||||
|
||||
new getImageTask(this,params).execute();
|
||||
}
|
||||
else{
|
||||
Toast.makeText(this, "ERROR: path not received", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
} else if (value.length > 2) {
|
||||
String img = value[0];
|
||||
|
||||
if (nomorOrder != null && !"".equals(nomorOrder)){
|
||||
targetThumbnail = (ImageThumbnail)v; //store thumbnail for further reference after connection finish
|
||||
|
||||
List<NameValuePair> params = new ArrayList<>();
|
||||
params.add(new BasicNameValuePair(Global.BUND_KEY_UUID_TASKH, uuid_task_h));
|
||||
params.add(new BasicNameValuePair(Global.BUND_KEY_QUESTIONID, img));
|
||||
|
||||
new getImageTask(this,params).execute();
|
||||
|
||||
}
|
||||
else{
|
||||
Toast.makeText(this, "ERROR: path not received", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
} else {
|
||||
String lat = value[0];
|
||||
String lng = value[1];
|
||||
Intent intent = new Intent(this, MapsViewer.class);
|
||||
intent.putExtra("latitude", lat);
|
||||
intent.putExtra("longitude", lng);
|
||||
startActivity(intent);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,131 @@
|
|||
package com.adins.mss.svy.assignment;
|
||||
|
||||
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.FragmentActivity;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
|
||||
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.util.GsonHelper;
|
||||
import com.adins.mss.base.util.Utility;
|
||||
import com.adins.mss.constant.Global;
|
||||
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.reassignment.JsonRequestCheckOrder;
|
||||
import com.adins.mss.svy.reassignment.JsonResponseServer;
|
||||
import com.google.firebase.perf.FirebasePerformance;
|
||||
import com.google.firebase.perf.metrics.HttpMetric;
|
||||
|
||||
public class OrderAssignmentTask extends AsyncTask<Void, Void, JsonResponseServer> {
|
||||
private ProgressDialog progressDialog;
|
||||
private Context context;
|
||||
private String messageWait;
|
||||
private String messageEmpty;
|
||||
private String errMessage = null;
|
||||
private FragmentActivity fragmentActivity;
|
||||
private int contentFrame;
|
||||
public OrderAssignmentTask(FragmentActivity fragmentActivity, String messageWait, String messageEmpty,int contentFrame){
|
||||
this.context=fragmentActivity;
|
||||
this.fragmentActivity = fragmentActivity;
|
||||
this.messageWait = messageWait;
|
||||
this.messageEmpty = messageEmpty;
|
||||
this.contentFrame = contentFrame;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
progressDialog = ProgressDialog.show(context, "", messageWait, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected JsonResponseServer doInBackground(Void... params) {
|
||||
String resp = null;
|
||||
JsonResponseServer result = null;
|
||||
if(Tool.isInternetconnected(context)){
|
||||
JsonRequestCheckOrder requestCheckOrder = new JsonRequestCheckOrder();
|
||||
requestCheckOrder.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
requestCheckOrder.setFlag(Global.FLAG_FOR_ORDERASSIGNMENT);
|
||||
String json = GsonHelper.toJson(requestCheckOrder);
|
||||
String url = GlobalData.getSharedGlobalData().getURL_GET_LIST_ASSIGNMENT();
|
||||
boolean encrypt = GlobalData.getSharedGlobalData().isEncrypt();
|
||||
boolean decrypt = GlobalData.getSharedGlobalData().isDecrypt();
|
||||
HttpCryptedConnection httpConn = new HttpCryptedConnection(fragmentActivity, encrypt, decrypt);
|
||||
HttpConnectionResult serverResult = null;
|
||||
|
||||
//Firebase Performance Trace HTTP Request
|
||||
HttpMetric networkMetric =
|
||||
FirebasePerformance.getInstance().newHttpMetric(url, FirebasePerformance.HttpMethod.POST);
|
||||
Utility.metricStart(networkMetric, json);
|
||||
|
||||
try {
|
||||
serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
Utility.metricStop(networkMetric, serverResult);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
errMessage=e.getMessage();
|
||||
}
|
||||
|
||||
resp = serverResult.getResult();
|
||||
|
||||
try {
|
||||
result = GsonHelper.fromJson(resp, JsonResponseServer.class);
|
||||
if(result.getStatus().getCode()!=0){
|
||||
errMessage= result.getStatus().getMessage();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
errMessage = context.getString(R.string.jsonParseFailed);
|
||||
}
|
||||
}else{
|
||||
errMessage = context.getString(R.string.no_internet_connection);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(JsonResponseServer result) {
|
||||
if (progressDialog.isShowing()){
|
||||
try {
|
||||
progressDialog.dismiss();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
if (GlobalData.isRequireRelogin()) {
|
||||
|
||||
} else if (errMessage != null) {
|
||||
NiftyDialogBuilder dialogBuilder = NiftyDialogBuilder.getInstance(fragmentActivity);
|
||||
dialogBuilder.withTitle(fragmentActivity.getString(R.string.error_capital))
|
||||
.withMessage(errMessage)
|
||||
.show();
|
||||
}
|
||||
else if (result == null){
|
||||
NiftyDialogBuilder dialogBuilder = NiftyDialogBuilder.getInstance(fragmentActivity);
|
||||
dialogBuilder.withTitle(fragmentActivity.getString(R.string.info_capital))
|
||||
.withMessage(messageEmpty)
|
||||
.show();
|
||||
}
|
||||
else{
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable("resultJson",result);
|
||||
Fragment fragment = new OrderAssignmentActivity();
|
||||
fragment.setArguments(bundle);
|
||||
|
||||
FragmentTransaction transaction = NewMainActivity.fragmentManager.beginTransaction();
|
||||
transaction.setCustomAnimations(R.anim.activity_open_translate,R.anim.activity_close_scale,R.anim.activity_open_scale,R.anim.activity_close_translate);
|
||||
transaction.replace(R.id.content_frame, fragment);
|
||||
transaction.addToBackStack(null);
|
||||
transaction.commit();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,135 @@
|
|||
package com.adins.mss.svy.assignment;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.ProgressDialog;
|
||||
import android.os.AsyncTask;
|
||||
import android.view.View;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.R;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.dynamicform.JsonResponseSubmitTask;
|
||||
import com.adins.mss.base.mainmenu.MainMenuActivity;
|
||||
import com.adins.mss.base.util.GsonHelper;
|
||||
import com.adins.mss.base.util.Utility;
|
||||
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.reassignment.JsonRequestSubmitAssign;
|
||||
import com.google.firebase.perf.FirebasePerformance;
|
||||
import com.google.firebase.perf.metrics.HttpMetric;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
|
||||
public class SubmitAssignTask extends AsyncTask<Void, Void, String> {
|
||||
private ProgressDialog progressDialog;
|
||||
private String errMessage = null;
|
||||
private WeakReference<Activity> activity;
|
||||
String uuid_task_h;
|
||||
String assignId;
|
||||
String flag;
|
||||
String notes;
|
||||
public SubmitAssignTask(Activity activity, String notes, String uuid_task_h, String assignId, String flag){
|
||||
this.activity = new WeakReference<Activity>(activity);
|
||||
this.uuid_task_h= uuid_task_h;
|
||||
this.assignId= assignId;
|
||||
this.flag= flag;
|
||||
this.notes=notes;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
progressDialog = ProgressDialog.show(activity.get(), "", activity.get().getString(R.string.progressWait), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String doInBackground(Void... params) {
|
||||
String result = null;
|
||||
if(Tool.isInternetconnected(activity.get())){
|
||||
JsonRequestSubmitAssign request = new JsonRequestSubmitAssign();
|
||||
request.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
request.setFlag(flag);
|
||||
request.setUuidUserAssign(assignId);
|
||||
request.setUuid_task_h(uuid_task_h);
|
||||
request.setNotes(notes);
|
||||
String json = GsonHelper.toJson(request);
|
||||
String url = GlobalData.getSharedGlobalData().getURL_SUBMIT_ASSIGN();
|
||||
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 {
|
||||
serverResult = httpConn.requestToServer(url, json);
|
||||
Utility.metricStop(networkMetric, serverResult);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
errMessage=e.getMessage();
|
||||
}
|
||||
String resp = null;
|
||||
resp = serverResult.getResult();
|
||||
JsonResponseSubmitTask response ;
|
||||
try {
|
||||
response = GsonHelper.fromJson(resp, JsonResponseSubmitTask.class);
|
||||
if(response.getStatus().getCode()==0){
|
||||
result=response.getResult();
|
||||
}else{
|
||||
errMessage=response.getStatus().getMessage();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
result=resp;
|
||||
}
|
||||
}else{
|
||||
errMessage = activity.get().getString(R.string.no_internet_connection);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(String result) {
|
||||
if (progressDialog.isShowing()){
|
||||
try {
|
||||
progressDialog.dismiss();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
if (errMessage != null) {
|
||||
NiftyDialogBuilder dialogBuilder = NiftyDialogBuilder.getInstance(activity.get());
|
||||
dialogBuilder.withTitle(activity.get().getString(R.string.error_capital))
|
||||
.withMessage(errMessage)
|
||||
.show();
|
||||
}
|
||||
else if (result.equals("Success")){
|
||||
NiftyDialogBuilder dialogBuilder = NiftyDialogBuilder.getInstance(activity.get());
|
||||
dialogBuilder.withTitle(activity.get().getString(R.string.success))
|
||||
.withMessage(activity.get().getString(R.string.task_submitted))
|
||||
.isCancelable(false)
|
||||
.withButton1Text(activity.get().getString(R.string.btnOk))
|
||||
.setButton1Click(new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
OrderAssignmentActivity.isChange=true;
|
||||
activity.get().finish();
|
||||
}
|
||||
})
|
||||
.show();
|
||||
}
|
||||
else{
|
||||
NiftyDialogBuilder dialogBuilder = NiftyDialogBuilder.getInstance(activity.get());
|
||||
dialogBuilder.withTitle(activity.get().getString(R.string.error_capital))
|
||||
.withMessage(result)
|
||||
.show();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package com.adins.mss.svy.common;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
|
||||
/**
|
||||
* Created by Aditya Purwa on 3/4/2015.
|
||||
*/
|
||||
public class Dialogger {
|
||||
public static void error(Context context, Exception ex, String extraReason) {
|
||||
new AlertDialog.Builder(context)
|
||||
.setTitle("Error")
|
||||
.setMessage(ex.getMessage() + "\r\n" + extraReason)
|
||||
.create()
|
||||
.show();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package com.adins.mss.svy.common;
|
||||
|
||||
import android.content.Context;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.adins.mss.svy.R;
|
||||
|
||||
/**
|
||||
* Created by Aditya Purwa on 3/4/2015.
|
||||
*/
|
||||
public class Toaster {
|
||||
|
||||
public static void error(Context context, Exception ex, String extraReason) {
|
||||
Toast.makeText(context, context.getString(R.string.error_occure2, ex.getMessage(), extraReason), Toast.LENGTH_LONG)
|
||||
.show();
|
||||
}
|
||||
|
||||
public static void error(Context context, String extraReason) {
|
||||
Toast.makeText(context, context.getString(R.string.error_occure1, extraReason), Toast.LENGTH_LONG)
|
||||
.show();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,492 @@
|
|||
package com.adins.mss.svy.fragments;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.AsyncTask;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.commons.TaskListener;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
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.todolist.form.TasklistListener;
|
||||
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.foundation.http.MssRequestType;
|
||||
import com.adins.mss.svy.R;
|
||||
import com.adins.mss.svy.assignment.OrderAssignmentResult;
|
||||
import com.adins.mss.svy.common.Toaster;
|
||||
import com.adins.mss.svy.models.SurveyorSearchRequest;
|
||||
import com.adins.mss.svy.models.SurveyorSearchResponse;
|
||||
import com.adins.mss.svy.reassignment.JsonRequestCheckOrder;
|
||||
import com.google.firebase.perf.FirebasePerformance;
|
||||
import com.google.firebase.perf.metrics.HttpMetric;
|
||||
|
||||
import org.apache.http.NameValuePair;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by olivia.dg on 1/30/2018.
|
||||
*/
|
||||
|
||||
public class SurveyActivityImpl implements SurveyActivityInterface {
|
||||
private static Context context;
|
||||
private RefreshBackgroundTask refreshTask;
|
||||
private ResultOrderTask resultOrderTask;
|
||||
|
||||
public SurveyActivityImpl(Context context) {
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeSearch(final TaskListener listener, SurveyorSearchRequest request, final String date, final int year, final int month, final String startDate,
|
||||
final String endDate, final int position) throws ParseException, IOException {
|
||||
new AsyncTask<Void, Void, SurveyorSearchResponse>(){
|
||||
final ProgressDialog progress = new ProgressDialog(context);
|
||||
String errMessage;
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
super.onPreExecute();
|
||||
progress.setMessage(context.getString(R.string.contact_server));
|
||||
progress.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected SurveyorSearchResponse doInBackground(Void... params) {
|
||||
try {
|
||||
SurveyorSearchRequest searchRequest = new SurveyorSearchRequest();
|
||||
searchRequest.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
|
||||
try {
|
||||
if (position == 0) {
|
||||
SimpleDateFormat f = new SimpleDateFormat(Global.DATE_STR_FORMAT);
|
||||
Date date1 = f.parse(date);
|
||||
searchRequest.setDate1(date1);
|
||||
Date today = Tool.getSystemDate();
|
||||
if(date1.after(today)) {
|
||||
errMessage = context.getString(R.string.date_greater_than_today);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
if (position == 2) {
|
||||
SimpleDateFormat f = new SimpleDateFormat(Global.DATE_STR_FORMAT);
|
||||
Date sDate, eDate;
|
||||
long sLong = 0;
|
||||
long eLong = 0;
|
||||
try {
|
||||
sDate = f.parse(startDate);
|
||||
searchRequest.setDate1(sDate);
|
||||
eDate = f.parse(endDate);
|
||||
eDate.setHours(23);
|
||||
eDate.setMinutes(59);
|
||||
eDate.setSeconds(59);
|
||||
searchRequest.setDate2(eDate);
|
||||
sLong = sDate.getTime();
|
||||
eLong = eDate.getTime();
|
||||
} catch (ParseException e) {
|
||||
errMessage = context.getString(R.string.enter_valid_date);
|
||||
return null;
|
||||
}
|
||||
long milisecond = eLong - sLong;
|
||||
if (milisecond > 604799000) {
|
||||
errMessage = context.getString(R.string.data_range_not_allowed);
|
||||
return null;
|
||||
} else if (milisecond < 0) {
|
||||
errMessage = context.getString(R.string.input_not_valid);
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
if (position == 1) {
|
||||
if (month == 0 && year == 0){
|
||||
errMessage = context.getString(R.string.enter_valid_date);
|
||||
return null;
|
||||
}
|
||||
searchRequest.setMonth(String.valueOf(month + 1));
|
||||
searchRequest.setYear(String.valueOf(year));
|
||||
}
|
||||
} catch (ParseException parseEx) {
|
||||
errMessage = context.getString(R.string.enter_valid_date);
|
||||
return null;
|
||||
}
|
||||
|
||||
String json = GsonHelper.toJson(searchRequest);
|
||||
|
||||
String url = GlobalData.getSharedGlobalData().getURL_GET_SVYPERFORMANCE();
|
||||
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, json);
|
||||
|
||||
try {
|
||||
serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
Utility.metricStop(networkMetric, serverResult);
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
SurveyorSearchResponse serverResponse = null;
|
||||
if (serverResult != null && serverResult.isOK()) {
|
||||
try {
|
||||
String responseBody = serverResult.getResult();
|
||||
serverResponse = GsonHelper.fromJson(responseBody, SurveyorSearchResponse.class);
|
||||
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
if(Global.IS_DEV) {
|
||||
e.printStackTrace();
|
||||
errMessage=e.getMessage();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
errMessage = serverResult.getResult();
|
||||
}
|
||||
|
||||
return serverResponse;
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
errMessage = context.getString(R.string.jsonParseFailed);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(SurveyorSearchResponse serverResponse) {
|
||||
super.onPostExecute(serverResponse);
|
||||
if(context != null) {
|
||||
if (progress != null && progress.isShowing()) {
|
||||
progress.dismiss();
|
||||
}
|
||||
if (GlobalData.isRequireRelogin()) {
|
||||
|
||||
} else if (errMessage != null) {
|
||||
Toaster.error(context, errMessage);
|
||||
} else if (serverResponse != null && serverResponse.getListKeyValue() != null) {
|
||||
// layout.setVisibility(View.VISIBLE);
|
||||
// SurveyPerformanceFragment.this.getActivity().runOnUiThread(new Runnable() {
|
||||
// @Override
|
||||
// public void run() {
|
||||
// listResult.setAdapter(new SearchResultListAdapter(getActivity(), serverResponse.getListKeyValue()));
|
||||
// }
|
||||
// });
|
||||
listener.onCompleteTask(serverResponse);
|
||||
}
|
||||
}
|
||||
}
|
||||
}.execute();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getBackgroundTask(TasklistListener listener, boolean isVerification, boolean isBranch) {
|
||||
refreshTask = new RefreshBackgroundTask(listener, isVerification, isBranch);
|
||||
refreshTask.execute();
|
||||
}
|
||||
|
||||
@SuppressLint({"NewApi"})
|
||||
private class RefreshBackgroundTask extends AsyncTask<Void, Void, List<TaskH>> {
|
||||
static final int TASK_DURATION = 2000;
|
||||
String errMessage;
|
||||
boolean isVerification = false;
|
||||
boolean isBranch = false;
|
||||
private TasklistListener listener;
|
||||
|
||||
private RefreshBackgroundTask(TasklistListener listener, boolean isVerification, boolean isBranch) {
|
||||
this.listener = listener;
|
||||
this.isVerification = isVerification;
|
||||
this.isBranch = isBranch;
|
||||
}
|
||||
|
||||
protected List<TaskH> doInBackground(Void... params) {
|
||||
List<TaskH> result = null;
|
||||
User user = GlobalData.getSharedGlobalData().getUser();
|
||||
|
||||
if (Tool.isInternetconnected(context)) {
|
||||
MssRequestType requestType = new MssRequestType();
|
||||
requestType.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
requestType.addImeiAndroidIdToUnstructured();
|
||||
|
||||
String json = GsonHelper.toJson(requestType);
|
||||
String url;
|
||||
if (isVerification)
|
||||
url = GlobalData.getSharedGlobalData().getURL_GET_LIST_VERIFICATION();
|
||||
else
|
||||
url = GlobalData.getSharedGlobalData().getURL_GET_LIST_APPROVAL();
|
||||
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, json);
|
||||
|
||||
try {
|
||||
if (isVerification) {
|
||||
if (isBranch)
|
||||
result = TaskHDataAccess.getAllVerifiedForBranch(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
else
|
||||
result = TaskHDataAccess.getAllVerifiedForUser(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
} else {
|
||||
if (isBranch)
|
||||
result = TaskHDataAccess.getAllApprovalForBranch(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
else
|
||||
result = TaskHDataAccess.getAllApprovalForUser(context, 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 = context.getString(R.string.jsonParseFailed);
|
||||
}
|
||||
|
||||
String stringResult = serverResult.getResult();
|
||||
|
||||
try {
|
||||
JsonResponseTaskList taskList = GsonHelper.fromJson(stringResult, JsonResponseTaskList.class);
|
||||
if (taskList.getStatus().getCode() == 0) {
|
||||
List<TaskH> listTaskH = taskList.getListTaskList();
|
||||
if (listTaskH != null && listTaskH.size() > 0) {
|
||||
String uuid_timelineType;
|
||||
if (isVerification) {
|
||||
uuid_timelineType = TimelineTypeDataAccess.getTimelineTypebyType(context, Global.TIMELINE_TYPE_VERIFICATION).getUuid_timeline_type();
|
||||
} else {
|
||||
uuid_timelineType = TimelineTypeDataAccess.getTimelineTypebyType(context, Global.TIMELINE_TYPE_APPROVAL).getUuid_timeline_type();
|
||||
}
|
||||
for (TaskH taskHLocal : result) {
|
||||
boolean wasDeleted = true;
|
||||
for (TaskH taskH : listTaskH) {
|
||||
if (taskH.getUuid_task_h().equals(taskHLocal.getUuid_task_h()))
|
||||
wasDeleted = false;
|
||||
}
|
||||
if (wasDeleted) {
|
||||
TaskHDataAccess.delete(context, taskHLocal);
|
||||
}
|
||||
}
|
||||
|
||||
for (TaskH taskH : listTaskH) {
|
||||
taskH.setUser(user);
|
||||
taskH.setIs_verification(Global.TRUE_STRING);
|
||||
|
||||
String uuid_scheme = taskH.getUuid_scheme();
|
||||
Scheme scheme = SchemeDataAccess.getOne(context, uuid_scheme);
|
||||
if (scheme != null) {
|
||||
taskH.setScheme(scheme);
|
||||
|
||||
TaskH h = TaskHDataAccess.getOneHeader(context, taskH.getUuid_task_h());
|
||||
boolean wasInTimeline = TimelineDataAccess.getOneTimelineByTaskH(context, user.getUuid_user(), taskH.getUuid_task_h(), uuid_timelineType) != null;
|
||||
if (h != null && h.getStatus() != null) {
|
||||
if (!ToDoList.isOldTask(h)) {
|
||||
TaskHDataAccess.addOrReplace(context, taskH);
|
||||
if (!wasInTimeline)
|
||||
TimelineManager.insertTimeline(context, taskH);
|
||||
}
|
||||
} else {
|
||||
TaskHDataAccess.addOrReplace(context, taskH);
|
||||
if (!wasInTimeline)
|
||||
TimelineManager.insertTimeline(context, taskH);
|
||||
}
|
||||
} else {
|
||||
errMessage = context.getString(com.adins.mss.base.R.string.scheme_not_found);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
errMessage = context.getString(R.string.no_data_from_server);
|
||||
}
|
||||
} else {
|
||||
errMessage = stringResult;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
errMessage = context.getString(R.string.jsonParseFailed);
|
||||
}
|
||||
} else {
|
||||
errMessage = context.getString(R.string.no_internet_connection);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
protected void onPostExecute(List<TaskH> result) {
|
||||
super.onPostExecute(result);
|
||||
if (GlobalData.isRequireRelogin()) {
|
||||
|
||||
} else if (errMessage != null && !errMessage.equals("")) {
|
||||
NiftyDialogBuilder builder = NiftyDialogBuilder.getInstance(context);
|
||||
builder.withTitle("INFO")
|
||||
.withMessage(errMessage)
|
||||
.show();
|
||||
}
|
||||
listener.onRefreshBackgroundComplete(result);
|
||||
}
|
||||
}
|
||||
|
||||
public void gotoDetailData(int taskType, String nomorOrder, String uuid_task_h, String formName){
|
||||
Intent intent = null;
|
||||
|
||||
switch (taskType) {
|
||||
case Global.TASK_ORDER_ASSIGNMENT:
|
||||
// intent = new Intent(this, OrderAssignmentActivity.class);
|
||||
break;
|
||||
case Global.TASK_ORDER_REASSIGNMENT:
|
||||
intent = new Intent(context, OrderAssignmentResult.class);
|
||||
intent.putExtra(Global.BUND_KEY_ORDERNO, nomorOrder);
|
||||
intent.putExtra(Global.BUND_KEY_FORM_NAME, formName);
|
||||
break;
|
||||
default:
|
||||
// intent = new Intent(this, OrderAssignmentActivity.class);
|
||||
break;
|
||||
}
|
||||
intent.putExtra(Global.BUND_KEY_TASK_TYPE, taskType);
|
||||
intent.putExtra(Global.BUND_KEY_ORDERNO, nomorOrder);
|
||||
intent.putExtra(Global.BUND_KEY_UUID_TASKH, uuid_task_h);
|
||||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
public void getResultTask(TaskListener listener, List<NameValuePair> param) {
|
||||
resultOrderTask = new ResultOrderTask(listener, param);
|
||||
resultOrderTask.execute();
|
||||
}
|
||||
|
||||
public String getDataFromURL(String url, List<NameValuePair> param) throws IOException {
|
||||
String resp = null;
|
||||
try {
|
||||
|
||||
JsonRequestCheckOrder requestCheckOrder = new JsonRequestCheckOrder();
|
||||
requestCheckOrder.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
if(param.get(3).getValue().equals(Global.FLAG_BY_DATE)){
|
||||
requestCheckOrder.setStartDate(param.get(0).getValue());
|
||||
requestCheckOrder.setEndDate(param.get(1).getValue());
|
||||
}
|
||||
else if(param.get(3).getValue().equals(Global.FLAG_BY_ORDERNUMBER)){
|
||||
requestCheckOrder.setOrderNumber(param.get(2).getValue());
|
||||
}
|
||||
else if(param.get(3).getValue().equals(Global.FLAG_FOR_CANCELORDER)){
|
||||
if(param.get(2).getValue().equals("1")){
|
||||
requestCheckOrder.setStartDate(param.get(0).getValue());
|
||||
requestCheckOrder.setEndDate(param.get(1).getValue());
|
||||
}else{
|
||||
requestCheckOrder.setOrderNumber(param.get(2).getValue());
|
||||
}
|
||||
}
|
||||
else if(param.get(3).getValue().equals(Global.FLAG_FOR_ORDERREASSIGNMENT)){
|
||||
if(param.get(2).getValue().equals("1")){
|
||||
requestCheckOrder.setStartDate(param.get(0).getValue());
|
||||
requestCheckOrder.setEndDate(param.get(1).getValue());
|
||||
}else{
|
||||
requestCheckOrder.setOrderNumber(param.get(2).getValue());
|
||||
}
|
||||
requestCheckOrder.setFlag(param.get(3).getValue());
|
||||
}
|
||||
String json = GsonHelper.toJson(requestCheckOrder);
|
||||
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, json);
|
||||
|
||||
try {
|
||||
serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
Utility.metricStop(networkMetric, serverResult);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
resp = serverResult.getResult();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
resp = e.getMessage();
|
||||
}
|
||||
|
||||
return resp;
|
||||
}
|
||||
|
||||
private class ResultOrderTask extends AsyncTask<String, Void, String> {
|
||||
|
||||
private ProgressDialog progressDialog;
|
||||
private String errMessage;
|
||||
private TaskListener listener;
|
||||
private List<NameValuePair> param;
|
||||
|
||||
private ResultOrderTask(TaskListener listener, List<NameValuePair> param) {
|
||||
this.listener = listener;
|
||||
this.param = param;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
progressDialog = ProgressDialog.show(context, "", context.getString(R.string.progressWait), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String doInBackground(String... arg0) {
|
||||
|
||||
String result = null;
|
||||
if(Tool.isInternetconnected(context)){
|
||||
try {
|
||||
result = getDataFromURL(GlobalData.getSharedGlobalData().getURL_CHECKORDER(), param);
|
||||
} catch (IOException ioe) {
|
||||
ioe.printStackTrace();
|
||||
try {
|
||||
progressDialog.dismiss();
|
||||
} catch (Exception e) { FireCrash.log(e);}
|
||||
errMessage = ioe.getMessage();
|
||||
}
|
||||
} else {
|
||||
result = context.getString(R.string.no_internet_connection);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(String result) {
|
||||
|
||||
if (progressDialog!=null&&progressDialog.isShowing()){
|
||||
try {
|
||||
progressDialog.dismiss();
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
if (context.getString(R.string.no_internet_connection).equals(result)) {
|
||||
NiftyDialogBuilder builder = NiftyDialogBuilder.getInstance(context);
|
||||
builder.withTitle("INFO")
|
||||
.withMessage(context.getString(R.string.no_internet_connection))
|
||||
.show();
|
||||
}else{
|
||||
listener.onCompleteTask(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package com.adins.mss.svy.fragments;
|
||||
|
||||
import com.adins.mss.base.commons.TaskListener;
|
||||
import com.adins.mss.base.todolist.form.TasklistListener;
|
||||
import com.adins.mss.svy.models.SurveyorSearchRequest;
|
||||
|
||||
import org.apache.http.NameValuePair;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by olivia.dg on 1/30/2018.
|
||||
*/
|
||||
|
||||
public interface SurveyActivityInterface {
|
||||
public void executeSearch(final TaskListener listener, SurveyorSearchRequest request, final String date, final int year, final int month, final String startDate,
|
||||
final String endDate, final int position) throws ParseException, IOException;
|
||||
public void getBackgroundTask(TasklistListener listener, boolean isVerification, boolean isBranch);
|
||||
public void gotoDetailData(int taskType, String nomorOrder, String uuid_task_h, String formName);
|
||||
public void getResultTask(TaskListener listener, List<NameValuePair> param);
|
||||
}
|
|
@ -0,0 +1,377 @@
|
|||
package com.adins.mss.svy.fragments;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import android.text.format.DateFormat;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.NewMainActivity;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.dynamicform.CustomerFragment;
|
||||
import com.adins.mss.base.dynamicform.SurveyHeaderBean;
|
||||
import com.adins.mss.base.tasklog.SurveyTaskAdapter;
|
||||
import com.adins.mss.base.todolist.form.OnTaskListClickListener;
|
||||
import com.adins.mss.base.todolist.form.TasklistListener;
|
||||
import com.adins.mss.base.util.Utility;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.dao.TaskH;
|
||||
import com.adins.mss.dummy.userhelp_dummy.Adapter.NewTaskLogDummyAdapter;
|
||||
import com.adins.mss.foundation.db.dataaccess.TaskHDataAccess;
|
||||
import com.adins.mss.foundation.dialog.NiftyDialogBuilder;
|
||||
import com.adins.mss.svy.R;
|
||||
import com.adins.mss.svy.UserHelpSVYDummy;
|
||||
import com.adins.mss.svy.tool.Constants;
|
||||
|
||||
import org.acra.ACRA;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
|
||||
public class SurveyApprovalByBranchFragment extends Fragment implements OnTaskListClickListener, TasklistListener {
|
||||
public static TaskH selectedApproval;
|
||||
private static Menu mainMenu;
|
||||
private List<TaskH> objects;
|
||||
private SurveyTaskAdapter adapter;
|
||||
// private GridView gridView;
|
||||
private RecyclerView recyclerView;
|
||||
private Context context;
|
||||
private SwipeRefreshLayout mSwipeRefreshLayout;
|
||||
private String errMessage = null;
|
||||
private SurveyActivityInterface iSurveyActivity;
|
||||
private LinearLayoutManager layoutManager;
|
||||
private boolean showDummy = true;
|
||||
|
||||
@Override
|
||||
public void onAttach(Context activity) {
|
||||
super.onAttach(activity);
|
||||
this.context = activity;
|
||||
iSurveyActivity = new SurveyActivityImpl(context);
|
||||
setHasOptionsMenu(true);
|
||||
try {
|
||||
objects = Constants.listOfApprovalTask;
|
||||
if (objects == null || objects.size() == 0) {
|
||||
objects = TaskHDataAccess.getAllApprovalForBranch(getActivity(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
Constants.listOfApprovalTask = objects;
|
||||
}
|
||||
adapter = new SurveyTaskAdapter(activity, objects, SurveyApprovalByBranchFragment.this);
|
||||
|
||||
try {
|
||||
// MSMainMenuActivity.mnSVYApprovalByBranch.setCounter(String.valueOf(Constants.getCounterApprovalTaskByBranch(getActivity())));
|
||||
// if(MainMenuActivity.menuAdapter!=null)
|
||||
// MainMenuActivity.menuAdapter.notifyDataSetChanged();
|
||||
// MainMenuActivity.setDrawerCounter();
|
||||
NewMainActivity.setCounter();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", e.getMessage());
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", DateFormat.format("yyyy.MM.dd G \'at\' HH:mm:ss z", Calendar.getInstance().getTime()).toString());
|
||||
ACRA.getErrorReporter().handleSilentException(new Exception("Exception saat set Drawer Counter"));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
Utility.freeMemory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
super.onCreateView(inflater, container, savedInstanceState);
|
||||
View view = inflater.inflate(R.layout.new_fragment_survey_verification, container, false);
|
||||
this.mSwipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipeRefreshLayout);
|
||||
this.mSwipeRefreshLayout.setColorSchemeColors(getResources().getColor(com.adins.mss.base.R.color.tv_light),
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_normal),
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_dark),
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_darker));
|
||||
this.mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
||||
public void onRefresh() {
|
||||
SurveyApprovalByBranchFragment.this.initiateRefresh();
|
||||
}
|
||||
});
|
||||
// getActivity().getActionBar().setTitle(getString(com.adins.mss.svy.R.string.title_mn_approval_bybranch));
|
||||
|
||||
// olivia : set toolbar
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.search).setVisibility(View.GONE);
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.spinner).setVisibility(View.GONE);
|
||||
getActivity().setTitle(getString(com.adins.mss.base.R.string.title_mn_approval_bybranch));
|
||||
|
||||
recyclerView = (RecyclerView) view.findViewById(R.id.list);
|
||||
layoutManager = new LinearLayoutManager(getContext());
|
||||
recyclerView.setLayoutManager(layoutManager);
|
||||
recyclerView.setHasFixedSize(true);
|
||||
recyclerView.getRecycledViewPool().setMaxRecycledViews(1, 500);
|
||||
recyclerView.setAdapter(adapter);
|
||||
if(Global.ENABLE_USER_HELP &&
|
||||
showDummy &&
|
||||
Global.userHelpDummyGuide.get(SurveyApprovalByBranchFragment.this.getClass().getSimpleName()) != null &&
|
||||
Global.userHelpDummyGuide.get(SurveyApprovalByBranchFragment.this.getClass().getSimpleName()).size()>0) {
|
||||
NewTaskLogDummyAdapter dummyAdapter = new NewTaskLogDummyAdapter();
|
||||
recyclerView.setAdapter(dummyAdapter);
|
||||
UserHelpSVYDummy userHelpSVYDummy = new UserHelpSVYDummy();
|
||||
userHelpSVYDummy.showDummyVerif(SurveyApprovalByBranchFragment.this.getActivity(),SurveyApprovalByBranchFragment.this.getClass().getSimpleName(), recyclerView,adapter);
|
||||
showDummy = false;
|
||||
}
|
||||
// initiateRefresh();
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if(item.getItemId() == R.id.mnGuide){
|
||||
if(!Global.BACKPRESS_RESTRICTION) {
|
||||
NewTaskLogDummyAdapter dummyAdapter = new NewTaskLogDummyAdapter();
|
||||
recyclerView.setAdapter(dummyAdapter);
|
||||
UserHelpSVYDummy userHelpSVYDummy = new UserHelpSVYDummy();
|
||||
userHelpSVYDummy.showDummyVerif(SurveyApprovalByBranchFragment.this.getActivity(), SurveyApprovalByBranchFragment.this.getClass().getSimpleName(), recyclerView, adapter);
|
||||
showDummy = false;
|
||||
}
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
private void initiateRefresh() {
|
||||
// RefreshBackgroundTask task = new RefreshBackgroundTask();
|
||||
// task.execute();
|
||||
iSurveyActivity.getBackgroundTask(SurveyApprovalByBranchFragment.this, false, true);
|
||||
}
|
||||
|
||||
private void onRefreshComplete(List<TaskH> result) {
|
||||
this.mSwipeRefreshLayout.setRefreshing(false);
|
||||
NiftyDialogBuilder fragment;
|
||||
objects = result;
|
||||
|
||||
// if (this.errMessage != null) {
|
||||
// fragment = NiftyDialogBuilder.getInstance(this.context);
|
||||
// fragment.withTitle(context.getString(com.adins.mss.base.R.string.error_capital)).withMessage(this.errMessage).show();
|
||||
// } else
|
||||
if (result != null && result.size() != 0) {
|
||||
try {
|
||||
//if(objects==null || objects.size()==0){
|
||||
Constants.listOfApprovalTask = objects;
|
||||
adapter = new SurveyTaskAdapter(getActivity(), objects, SurveyApprovalByBranchFragment.this);
|
||||
recyclerView.setAdapter(adapter);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
// else {
|
||||
// Constants.listOfApprovalTask = objects;
|
||||
// adapter = new TaskLogArrayAdapter(getActivity(), objects, false);
|
||||
// listView.setAdapter(adapter);
|
||||
// //MainMenuActivity.mnSVYApproval.setCounter(String.valueOf(Constants.getCounterApprovalTask(context)));
|
||||
// fragment = NiftyDialogBuilder.getInstance(this.context);
|
||||
// fragment.withTitle(context.getString(com.adins.mss.base.R.string.info_capital)).withMessage(getString(com.adins.mss.base.R.string.msgNoApproval)).show();
|
||||
// }
|
||||
|
||||
try {
|
||||
// MSMainMenuActivity.mnSVYApprovalByBranch.setCounter(String.valueOf(Constants.getCounterApprovalTaskByBranch(getActivity())));
|
||||
// if(MainMenuActivity.menuAdapter!=null)
|
||||
// MainMenuActivity.menuAdapter.notifyDataSetChanged();
|
||||
// MainMenuActivity.setDrawerCounter();
|
||||
NewMainActivity.setCounter();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", e.getMessage());
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", DateFormat.format("yyyy.MM.dd G \'at\' HH:mm:ss z", Calendar.getInstance().getTime()).toString());
|
||||
ACRA.getErrorReporter().handleSilentException(new Exception("Exception saat set Drawer Counter"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
|
||||
adapter = null;
|
||||
Constants.listOfApprovalTask = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
// getActivity().getActionBar().removeAllTabs();
|
||||
// getActivity().getActionBar().setTitle(getString(com.adins.mss.svy.R.string.title_mn_approval_bybranch));
|
||||
// getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
|
||||
|
||||
// olivia : set toolbar
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.search).setVisibility(View.GONE);
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.spinner).setVisibility(View.GONE);
|
||||
getActivity().setTitle(getString(com.adins.mss.base.R.string.title_mn_approval_bybranch));
|
||||
|
||||
try {
|
||||
// MSMainMenuActivity.mnSVYApprovalByBranch.setCounter(String.valueOf(Constants.getCounterApprovalTaskByBranch(getActivity())));
|
||||
// if(MainMenuActivity.menuAdapter!=null)
|
||||
// MainMenuActivity.menuAdapter.notifyDataSetChanged();
|
||||
// MainMenuActivity.setDrawerCounter();
|
||||
NewMainActivity.setCounter();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", e.getMessage());
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", DateFormat.format("yyyy.MM.dd G \'at\' HH:mm:ss z", Calendar.getInstance().getTime()).toString());
|
||||
ACRA.getErrorReporter().handleSilentException(new Exception("Exception saat set Drawer Counter"));
|
||||
}
|
||||
|
||||
// if(objects!=null && objects.size()>0){
|
||||
objects = TaskHDataAccess.getAllApprovalForBranch(getActivity(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
Constants.listOfApprovalTask = objects;
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClickListener(TaskH item, int position) {
|
||||
selectedApproval = item;
|
||||
SurveyHeaderBean header = new SurveyHeaderBean(selectedApproval);
|
||||
// TODO Action Lempar ke Customer ACtivity
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable(CustomerFragment.SURVEY_HEADER, header);
|
||||
bundle.putInt(CustomerFragment.SURVEY_MODE, Global.MODE_VIEW_SENT_SURVEY);
|
||||
Fragment fragment = com.adins.mss.base.dynamicform.CustomerFragment.create(header);
|
||||
|
||||
FragmentTransaction transaction = NewMainActivity.fragmentManager.beginTransaction();
|
||||
transaction.setCustomAnimations(R.anim.activity_open_translate,R.anim.activity_close_scale,R.anim.activity_open_scale,R.anim.activity_close_translate);
|
||||
transaction.replace(R.id.content_frame, fragment);
|
||||
transaction.addToBackStack(null);
|
||||
transaction.commit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemLongClickListener(TaskH item, int position) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefreshBackgroundCancelled(boolean value) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefreshBackgroundComplete(List<TaskH> result) {
|
||||
onRefreshComplete(result);
|
||||
}
|
||||
|
||||
// @SuppressLint({"NewApi"})
|
||||
// private class RefreshBackgroundTask extends AsyncTask<Void, Void, List<TaskH>> {
|
||||
// static final int TASK_DURATION = 2000;
|
||||
//
|
||||
// private RefreshBackgroundTask() {
|
||||
// }
|
||||
//
|
||||
// protected List<TaskH> doInBackground(Void... params) {
|
||||
// List<TaskH> result = null;
|
||||
// User user = GlobalData.getSharedGlobalData().getUser();
|
||||
//
|
||||
// if (Tool.isInternetconnected(context)) {
|
||||
// MssRequestType requestType = new MssRequestType();
|
||||
// requestType.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
// requestType.addImeiAndroidIdToUnstructured();
|
||||
//
|
||||
// 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(getActivity(), encrypt, decrypt);
|
||||
// HttpConnectionResult serverResult = null;
|
||||
// try {
|
||||
// result = TaskHDataAccess.getAllApprovalForBranch(context, 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);
|
||||
// } catch (Exception e) { FireCrash.log(e);
|
||||
// e.printStackTrace();
|
||||
// errMessage = e.getMessage();
|
||||
// }
|
||||
//
|
||||
// String stringResult = serverResult.getResult();
|
||||
//
|
||||
// try {
|
||||
// JsonResponseTaskList taskList = GsonHelper.fromJson(stringResult, JsonResponseTaskList.class);
|
||||
// if (taskList.getStatus().getCode() == 0) {
|
||||
// List<TaskH> listTaskH = taskList.getListTaskList();
|
||||
// if (listTaskH != null && listTaskH.size() > 0) {
|
||||
// String uuid_timelineType = TimelineTypeDataAccess.getTimelineTypebyType(getActivity(), Global.TIMELINE_TYPE_APPROVAL).getUuid_timeline_type();
|
||||
// for (TaskH taskHLocal : result) {
|
||||
// boolean wasDeleted = true;
|
||||
// for (TaskH taskH : listTaskH) {
|
||||
// if (taskH.getUuid_task_h().equals(taskHLocal.getUuid_task_h()))
|
||||
// wasDeleted = false;
|
||||
// }
|
||||
// if (wasDeleted) {
|
||||
// TaskHDataAccess.delete(getActivity(), taskHLocal);
|
||||
// /*Timeline timeline = TimelineDataAccess.getOneTimelineByTaskH(getActivity(), user.getUuid_user(), taskHLocal.getUuid_task_h(), uuid_timelineType);
|
||||
// if(timeline != null)
|
||||
// TimelineDataAccess.delete(getActivity(), timeline);*/
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// for (TaskH taskH : listTaskH) {
|
||||
// taskH.setUser(user);
|
||||
// taskH.setIs_verification(Global.TRUE_STRING);
|
||||
//
|
||||
// String uuid_scheme = taskH.getUuid_scheme();
|
||||
// Scheme scheme = SchemeDataAccess.getOne(getActivity(), uuid_scheme);
|
||||
// if (scheme != null) {
|
||||
// taskH.setScheme(scheme);
|
||||
//
|
||||
// TaskH h = TaskHDataAccess.getOneHeader(getActivity(), taskH.getUuid_task_h());
|
||||
// boolean wasInTimeline = TimelineDataAccess.getOneTimelineByTaskH(getActivity(), user.getUuid_user(), taskH.getUuid_task_h(), uuid_timelineType) != null;
|
||||
// if (h != null && h.getStatus() != null) {
|
||||
// if (!ToDoList.isOldTask(h)) {
|
||||
// TaskHDataAccess.addOrReplace(getActivity(), taskH);
|
||||
// if (!wasInTimeline)
|
||||
// TimelineManager.insertTimeline(getActivity(), taskH);
|
||||
// }
|
||||
// } else {
|
||||
// TaskHDataAccess.addOrReplace(getActivity(), taskH);
|
||||
// if (!wasInTimeline)
|
||||
// TimelineManager.insertTimeline(getActivity(), taskH);
|
||||
// }
|
||||
// } else {
|
||||
// errMessage = context.getString(com.adins.mss.base.R.string.scheme_not_found);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// errMessage = stringResult;
|
||||
// }
|
||||
// } catch (Exception e) { FireCrash.log(e);
|
||||
// errMessage = e.getMessage();
|
||||
// }
|
||||
// }
|
||||
// try {
|
||||
// if (context != null) {
|
||||
// result = TaskHDataAccess.getAllApprovalForBranch(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
// } else if (getActivity() != null) {
|
||||
// result = TaskHDataAccess.getAllApprovalForBranch(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
// } else {
|
||||
// result = TaskHDataAccess.getAllApprovalForBranch(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
// }
|
||||
// } catch (Exception var6) {
|
||||
// var6.printStackTrace();
|
||||
// errMessage = var6.getMessage();
|
||||
// }
|
||||
//
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// protected void onPostExecute(List<TaskH> result) {
|
||||
// super.onPostExecute(result);
|
||||
// SurveyApprovalByBranchFragment.this.onRefreshComplete(result);
|
||||
// }
|
||||
// }
|
||||
}
|
|
@ -0,0 +1,387 @@
|
|||
package com.adins.mss.svy.fragments;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import android.text.format.DateFormat;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.NewMainActivity;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.dynamicform.CustomerFragment;
|
||||
import com.adins.mss.base.dynamicform.SurveyHeaderBean;
|
||||
import com.adins.mss.base.tasklog.SurveyTaskAdapter;
|
||||
import com.adins.mss.base.todolist.form.OnTaskListClickListener;
|
||||
import com.adins.mss.base.todolist.form.TasklistListener;
|
||||
import com.adins.mss.base.util.Utility;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.dao.TaskH;
|
||||
import com.adins.mss.dummy.userhelp_dummy.Adapter.NewTaskLogDummyAdapter;
|
||||
import com.adins.mss.foundation.db.dataaccess.TaskHDataAccess;
|
||||
import com.adins.mss.foundation.dialog.NiftyDialogBuilder;
|
||||
import com.adins.mss.svy.R;
|
||||
import com.adins.mss.svy.UserHelpSVYDummy;
|
||||
import com.adins.mss.svy.tool.Constants;
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
|
||||
import org.acra.ACRA;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
|
||||
public class SurveyApprovalFragment extends Fragment implements OnTaskListClickListener, TasklistListener {
|
||||
public static TaskH selectedApproval;
|
||||
private static Menu mainMenu;
|
||||
private List<TaskH> objects;
|
||||
private SurveyTaskAdapter adapter;
|
||||
// private GridView gridView;
|
||||
private RecyclerView recyclerView;
|
||||
private Context context;
|
||||
private SwipeRefreshLayout mSwipeRefreshLayout;
|
||||
private String errMessage = null;
|
||||
private SurveyActivityInterface iSurveyActivity;
|
||||
private LinearLayoutManager layoutManager;
|
||||
private boolean showDummy = true;
|
||||
|
||||
private FirebaseAnalytics screenName;
|
||||
@Override
|
||||
public void onAttach(Context activity) {
|
||||
super.onAttach(activity);
|
||||
this.context = activity;
|
||||
iSurveyActivity = new SurveyActivityImpl(activity);
|
||||
setHasOptionsMenu(true);
|
||||
try {
|
||||
objects = Constants.listOfApprovalTask;
|
||||
if (objects == null || objects.size() == 0) {
|
||||
objects = TaskHDataAccess.getAllApprovalForUser(getActivity(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
Constants.listOfApprovalTask = objects;
|
||||
}
|
||||
try {
|
||||
// MSMainMenuActivity.mnSVYApproval.setCounter(String.valueOf(Constants.getCounterApprovalTask(getActivity())));
|
||||
// if(MainMenuActivity.menuAdapter!=null)
|
||||
// MainMenuActivity.menuAdapter.notifyDataSetChanged();
|
||||
// MainMenuActivity.setDrawerCounter();
|
||||
NewMainActivity.setCounter();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", e.getMessage());
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", DateFormat.format("yyyy.MM.dd G \'at\' HH:mm:ss z", Calendar.getInstance().getTime()).toString());
|
||||
ACRA.getErrorReporter().handleSilentException(new Exception("Exception saat set Drawer Counter"));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
Utility.freeMemory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
super.onCreateView(inflater, container, savedInstanceState);
|
||||
screenName = FirebaseAnalytics.getInstance(getActivity());
|
||||
View view = inflater.inflate(R.layout.new_fragment_survey_verification, container, false);
|
||||
this.mSwipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipeRefreshLayout);
|
||||
this.mSwipeRefreshLayout.setColorSchemeColors(getResources().getColor(com.adins.mss.base.R.color.tv_light),
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_normal),
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_dark),
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_darker));
|
||||
this.mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
||||
public void onRefresh() {
|
||||
SurveyApprovalFragment.this.initiateRefresh();
|
||||
}
|
||||
});
|
||||
// getActivity().getActionBar().setTitle(getString(com.adins.mss.svy.R.string.title_mn_surveyapproval));
|
||||
|
||||
// olivia : set toolbar
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.search).setVisibility(View.GONE);
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.spinner).setVisibility(View.GONE);
|
||||
getActivity().setTitle(getString(com.adins.mss.base.R.string.title_mn_surveyapproval));
|
||||
|
||||
recyclerView = (RecyclerView) view.findViewById(R.id.list);
|
||||
layoutManager = new LinearLayoutManager(getContext());
|
||||
recyclerView.setLayoutManager(layoutManager);
|
||||
recyclerView.setHasFixedSize(true);
|
||||
recyclerView.getRecycledViewPool().setMaxRecycledViews(1, 500);
|
||||
// initiateRefresh();
|
||||
adapter = new SurveyTaskAdapter(getActivity(), objects, SurveyApprovalFragment.this);
|
||||
recyclerView.setAdapter(adapter);
|
||||
if(Global.ENABLE_USER_HELP &&
|
||||
showDummy &&
|
||||
Global.userHelpDummyGuide.get(SurveyApprovalFragment.this.getClass().getSimpleName()) != null &&
|
||||
Global.userHelpDummyGuide.get(SurveyApprovalFragment.this.getClass().getSimpleName()).size()>0) {
|
||||
NewTaskLogDummyAdapter dummyAdapter = new NewTaskLogDummyAdapter();
|
||||
recyclerView.setAdapter(dummyAdapter);
|
||||
UserHelpSVYDummy userHelpSVYDummy = new UserHelpSVYDummy();
|
||||
userHelpSVYDummy.showDummyVerif(SurveyApprovalFragment.this.getActivity(),SurveyApprovalFragment.this.getClass().getSimpleName(), recyclerView,adapter);
|
||||
showDummy = false;
|
||||
}
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if(item.getItemId() == R.id.mnGuide){
|
||||
if(!Global.BACKPRESS_RESTRICTION) {
|
||||
if(!Global.BACKPRESS_RESTRICTION) {
|
||||
NewTaskLogDummyAdapter dummyAdapter = new NewTaskLogDummyAdapter();
|
||||
recyclerView.setAdapter(dummyAdapter);
|
||||
UserHelpSVYDummy userHelpSVYDummy = new UserHelpSVYDummy();
|
||||
userHelpSVYDummy.showDummyVerif(SurveyApprovalFragment.this.getActivity(), SurveyApprovalFragment.this.getClass().getSimpleName(), recyclerView, adapter);
|
||||
showDummy = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
private void initiateRefresh() {
|
||||
// RefreshBackgroundTask task = new RefreshBackgroundTask();
|
||||
// task.execute();
|
||||
iSurveyActivity.getBackgroundTask(SurveyApprovalFragment.this, false, false);
|
||||
}
|
||||
|
||||
private void onRefreshComplete(List<TaskH> result) {
|
||||
this.mSwipeRefreshLayout.setRefreshing(false);
|
||||
NiftyDialogBuilder fragment;
|
||||
objects = result;
|
||||
|
||||
try {
|
||||
// MSMainMenuActivity.mnSVYApproval.setCounter(String.valueOf(Constants.getCounterApprovalTask(getActivity())));
|
||||
// if(MainMenuActivity.menuAdapter!=null)
|
||||
// MainMenuActivity.menuAdapter.notifyDataSetChanged();
|
||||
// MainMenuActivity.setDrawerCounter();
|
||||
NewMainActivity.setCounter();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", e.getMessage());
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", DateFormat.format("yyyy.MM.dd G \'at\' HH:mm:ss z", Calendar.getInstance().getTime()).toString());
|
||||
ACRA.getErrorReporter().handleSilentException(new Exception("Exception saat set Drawer Counter"));
|
||||
}
|
||||
|
||||
// if (this.errMessage != null) {
|
||||
// fragment = NiftyDialogBuilder.getInstance(this.context);
|
||||
// fragment.withTitle(context.getString(com.adins.mss.base.R.string.error_capital)).withMessage(this.errMessage).show();
|
||||
// } else
|
||||
if (result != null && result.size() != 0) {
|
||||
try {
|
||||
if(objects==null || objects.size()==0){
|
||||
Constants.listOfApprovalTask = objects;
|
||||
adapter = new SurveyTaskAdapter(getActivity(), objects, SurveyApprovalFragment.this);
|
||||
recyclerView.setAdapter(adapter);
|
||||
// MSMainMenuActivity.mnSVYApproval.setCounter(String.valueOf(Constants.getCounterApprovalTask(getActivity())));
|
||||
// MSMainMenuActivity.menuAdapter.notifyDataSetChanged();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.getMessage();
|
||||
}
|
||||
}
|
||||
// else {
|
||||
// Constants.listOfApprovalTask = objects;
|
||||
// adapter = new TaskLogArrayAdapter(getActivity(), objects, false);
|
||||
// listView.setAdapter(adapter);
|
||||
// //MainMenuActivity.mnSVYApproval.setCounter(String.valueOf(Constants.getCounterApprovalTask(context)));
|
||||
// fragment = NiftyDialogBuilder.getInstance(this.context);
|
||||
// fragment.withTitle(context.getString(com.adins.mss.base.R.string.info_capital)).withMessage(getString(com.adins.mss.base.R.string.msgNoApproval)).show();
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
|
||||
adapter = null;
|
||||
Constants.listOfApprovalTask = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
// getActivity().getActionBar().removeAllTabs();
|
||||
// getActivity().getActionBar().setTitle(getString(com.adins.mss.svy.R.string.title_mn_surveyapproval));
|
||||
// getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
|
||||
//Set Firebase screen name
|
||||
screenName.setCurrentScreen(getActivity(), getString(R.string.screen_name_survey_approval), null);
|
||||
|
||||
// olivia : set toolbar
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.search).setVisibility(View.GONE);
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.spinner).setVisibility(View.GONE);
|
||||
getActivity().setTitle(getString(com.adins.mss.base.R.string.title_mn_surveyapproval));
|
||||
|
||||
try {
|
||||
// MSMainMenuActivity.mnSVYApproval.setCounter(String.valueOf(Constants.getCounterApprovalTask(getActivity())));
|
||||
// if(MainMenuActivity.menuAdapter!=null)
|
||||
// MainMenuActivity.menuAdapter.notifyDataSetChanged();
|
||||
// MainMenuActivity.setDrawerCounter();
|
||||
NewMainActivity.setCounter();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", e.getMessage());
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", DateFormat.format("yyyy.MM.dd G \'at\' HH:mm:ss z", Calendar.getInstance().getTime()).toString());
|
||||
ACRA.getErrorReporter().handleSilentException(new Exception("Exception saat set Drawer Counter"));
|
||||
}
|
||||
|
||||
// if(objects!=null && objects.size()>0){
|
||||
objects = TaskHDataAccess.getAllApprovalForUser(getActivity(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
Constants.listOfApprovalTask = objects;
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClickListener(TaskH item, int position) {
|
||||
selectedApproval = item;
|
||||
SurveyHeaderBean header = new SurveyHeaderBean(selectedApproval);
|
||||
// TODO Action Lempar ke Customer ACtivity
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable(CustomerFragment.SURVEY_HEADER, header);
|
||||
bundle.putInt(CustomerFragment.SURVEY_MODE, Global.MODE_VIEW_SENT_SURVEY);
|
||||
Fragment fragment = com.adins.mss.base.dynamicform.CustomerFragment.create(header);
|
||||
|
||||
FragmentTransaction transaction = NewMainActivity.fragmentManager.beginTransaction();
|
||||
transaction.setCustomAnimations(R.anim.activity_open_translate,R.anim.activity_close_scale,R.anim.activity_open_scale,R.anim.activity_close_translate);
|
||||
transaction.replace(R.id.content_frame, fragment);
|
||||
transaction.addToBackStack(null);
|
||||
transaction.commit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemLongClickListener(TaskH item, int position) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefreshBackgroundCancelled(boolean value) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefreshBackgroundComplete(List<TaskH> result) {
|
||||
onRefreshComplete(result);
|
||||
}
|
||||
|
||||
|
||||
// @SuppressLint({"NewApi"})
|
||||
// private class RefreshBackgroundTask extends AsyncTask<Void, Void, List<TaskH>> {
|
||||
// static final int TASK_DURATION = 2000;
|
||||
//
|
||||
// private RefreshBackgroundTask() {
|
||||
// }
|
||||
//
|
||||
// protected List<TaskH> doInBackground(Void... params) {
|
||||
// List<TaskH> result = null;
|
||||
// User user = GlobalData.getSharedGlobalData().getUser();
|
||||
//
|
||||
// if (Tool.isInternetconnected(context)) {
|
||||
// MssRequestType requestType = new MssRequestType();
|
||||
// requestType.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
// requestType.addImeiAndroidIdToUnstructured();
|
||||
//
|
||||
// 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(getActivity(), encrypt, decrypt);
|
||||
// HttpConnectionResult serverResult = null;
|
||||
// try {
|
||||
// result = TaskHDataAccess.getAllApprovalForUser(context, 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);
|
||||
// } catch (Exception e) { FireCrash.log(e);
|
||||
// e.printStackTrace();
|
||||
// errMessage = e.getMessage();
|
||||
// }
|
||||
//
|
||||
// String stringResult = serverResult.getResult();
|
||||
//
|
||||
// try {
|
||||
// JsonResponseTaskList taskList = GsonHelper.fromJson(stringResult, JsonResponseTaskList.class);
|
||||
// if (taskList.getStatus().getCode() == 0) {
|
||||
// List<TaskH> listTaskH = taskList.getListTaskList();
|
||||
// if (listTaskH != null && listTaskH.size() > 0) {
|
||||
// String uuid_timelineType = TimelineTypeDataAccess.getTimelineTypebyType(getActivity(), Global.TIMELINE_TYPE_APPROVAL).getUuid_timeline_type();
|
||||
// for (TaskH taskHLocal : result) {
|
||||
// boolean wasDeleted = true;
|
||||
// for (TaskH taskH : listTaskH) {
|
||||
// if (taskH.getUuid_task_h().equals(taskHLocal.getUuid_task_h()))
|
||||
// wasDeleted = false;
|
||||
// }
|
||||
// if (wasDeleted) {
|
||||
// TaskHDataAccess.delete(getActivity(), taskHLocal);
|
||||
// /*Timeline timeline = TimelineDataAccess.getOneTimelineByTaskH(getActivity(), user.getUuid_user(), taskHLocal.getUuid_task_h(), uuid_timelineType);
|
||||
// if(timeline != null)
|
||||
// TimelineDataAccess.delete(getActivity(), timeline);*/
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// for (TaskH taskH : listTaskH) {
|
||||
// taskH.setUser(user);
|
||||
// taskH.setIs_verification(Global.TRUE_STRING);
|
||||
//
|
||||
// String uuid_scheme = taskH.getUuid_scheme();
|
||||
// Scheme scheme = SchemeDataAccess.getOne(getActivity(), uuid_scheme);
|
||||
// if (scheme != null) {
|
||||
// taskH.setScheme(scheme);
|
||||
//
|
||||
// TaskH h = TaskHDataAccess.getOneHeader(getActivity(), taskH.getUuid_task_h());
|
||||
// boolean wasInTimeline = TimelineDataAccess.getOneTimelineByTaskH(getActivity(), user.getUuid_user(), taskH.getUuid_task_h(), uuid_timelineType) != null;
|
||||
// if (h != null && h.getStatus() != null) {
|
||||
// if (!ToDoList.isOldTask(h)) {
|
||||
// TaskHDataAccess.addOrReplace(getActivity(), taskH);
|
||||
// if (!wasInTimeline)
|
||||
// TimelineManager.insertTimeline(getActivity(), taskH);
|
||||
// }
|
||||
// } else {
|
||||
// TaskHDataAccess.addOrReplace(getActivity(), taskH);
|
||||
// if (!wasInTimeline)
|
||||
// TimelineManager.insertTimeline(getActivity(), taskH);
|
||||
// }
|
||||
// } else {
|
||||
// errMessage = context.getString(com.adins.mss.base.R.string.scheme_not_found);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// errMessage = stringResult;
|
||||
// }
|
||||
// } catch (Exception e) { FireCrash.log(e);
|
||||
// errMessage = e.getMessage();
|
||||
// }
|
||||
// }
|
||||
// try {
|
||||
//// if (context != null) {
|
||||
//// result = TaskHDataAccess.getAllApprovalForUser(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
//// } else if (getActivity() != null) {
|
||||
//// result = TaskHDataAccess.getAllApprovalForUser(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
//// } else {
|
||||
//// result = TaskHDataAccess.getAllApprovalForUser(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
//// }
|
||||
// } catch (Exception var6) {
|
||||
// var6.printStackTrace();
|
||||
// errMessage = var6.getMessage();
|
||||
// }
|
||||
//
|
||||
// return result;
|
||||
// }
|
||||
//
|
||||
// protected void onPostExecute(List<TaskH> result) {
|
||||
// super.onPostExecute(result);
|
||||
// SurveyApprovalFragment.this.onRefreshComplete(result);
|
||||
// }
|
||||
// }
|
||||
}
|
|
@ -0,0 +1,467 @@
|
|||
package com.adins.mss.svy.fragments;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.DatePickerDialog;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.appcompat.widget.AppCompatSpinner;
|
||||
import androidx.cardview.widget.CardView;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewTreeObserver;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.Button;
|
||||
import android.widget.DatePicker;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.adins.mss.base.commons.TaskListener;
|
||||
import com.adins.mss.base.util.Utility;
|
||||
import com.adins.mss.foundation.UserHelp.UserHelp;
|
||||
import com.adins.mss.foundation.dialog.NiftyDialogBuilder;
|
||||
import com.adins.mss.foundation.formatter.Tool;
|
||||
import com.adins.mss.foundation.http.KeyValue;
|
||||
import com.adins.mss.svy.R;
|
||||
import com.adins.mss.svy.models.SurveyorSearchRequest;
|
||||
import com.adins.mss.svy.models.SurveyorSearchResponse;
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
import static com.adins.mss.constant.Global.SHOW_USERHELP_DELAY_DEFAULT;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Created by Aditya Purwa on 1/27/2015.
|
||||
*/
|
||||
public class SurveyPerformanceFragment extends Fragment {
|
||||
|
||||
ImageButton buttonSelectDate;
|
||||
EditText editDate;
|
||||
AppCompatSpinner spinnerCategory;
|
||||
private EditText editStartDate;
|
||||
private EditText editEndDate;
|
||||
private EditText editMonthYear;
|
||||
private ImageButton buttonSelectStartDate;
|
||||
private ImageButton buttonSelectEndDate;
|
||||
private Button buttonSearch;
|
||||
private int activeSearchMode;
|
||||
private ListView listResult;
|
||||
private String[] cbSearchBy;
|
||||
private CardView layout;
|
||||
private SurveyActivityInterface iSurveyActivity;
|
||||
private ImageButton butonMonthYear;
|
||||
private Calendar calendar;
|
||||
private int bulan;
|
||||
private int tahun;
|
||||
private FirebaseAnalytics screenName;
|
||||
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
iSurveyActivity = new SurveyActivityImpl(getContext());
|
||||
setHasOptionsMenu(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
screenName = FirebaseAnalytics.getInstance(getActivity());
|
||||
return inflater.inflate(R.layout.new_fragment_survey_performance, container, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
layout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
|
||||
@Override
|
||||
public void onGlobalLayout() {
|
||||
layout.getViewTreeObserver().removeOnGlobalLayoutListener(this);
|
||||
}
|
||||
});
|
||||
Utility.freeMemory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume(){
|
||||
super.onResume();
|
||||
|
||||
//Set Firebase screen name
|
||||
screenName.setCurrentScreen(getActivity(), getString(R.string.screen_name_survey_performance), null);
|
||||
|
||||
// olivia : set toolbar
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.search).setVisibility(View.GONE);
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.spinner).setVisibility(View.GONE);
|
||||
getActivity().setTitle(getString(com.adins.mss.base.R.string.title_mn_surveyperformance));
|
||||
}
|
||||
@Override
|
||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
|
||||
// Init
|
||||
calendar = Calendar.getInstance();
|
||||
bulan = 0; // Antisipasi null
|
||||
tahun = 0; // Antisipasi null
|
||||
|
||||
listResult = (ListView) view.findViewById(R.id.resultListView);
|
||||
layout = (CardView) view.findViewById(R.id.resultLayout);
|
||||
|
||||
buttonSelectDate = (ImageButton) view.findViewById(R.id.btnDate);
|
||||
buttonSelectStartDate = (ImageButton) view.findViewById(R.id.btnStartDate);
|
||||
buttonSelectEndDate = (ImageButton) view.findViewById(R.id.btnEndDate);
|
||||
buttonSearch = (Button) view.findViewById(R.id.btnSearchOrder);
|
||||
butonMonthYear = view.findViewById(R.id.btnMonthYear);
|
||||
|
||||
editDate = (EditText) view.findViewById(R.id.txtDateDay);
|
||||
editStartDate = (EditText) view.findViewById(R.id.txtStartDate);
|
||||
editEndDate = (EditText) view.findViewById(R.id.txtEndDate);
|
||||
editMonthYear = view.findViewById(R.id.txtDateAndYear);
|
||||
|
||||
spinnerCategory = (AppCompatSpinner) view.findViewById(R.id.cbSearchBy);
|
||||
|
||||
cbSearchBy = this.getResources().getStringArray(R.array.cbSearchBy);
|
||||
|
||||
ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(getActivity(), R.layout.spinner_search_layout, R.id.text_spin, getResources().getStringArray(R.array.cbSearchBy));
|
||||
adapter.setDropDownViewResource(R.layout.spinner_style);
|
||||
|
||||
spinnerCategory.setAdapter(adapter);
|
||||
|
||||
spinnerCategory.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
||||
@Override
|
||||
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
||||
invalidateForm(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNothingSelected(AdapterView<?> parent) {
|
||||
//Nothing selected
|
||||
}
|
||||
});
|
||||
|
||||
// Inisiasi awal
|
||||
final String[] months = getActivity().getResources().getStringArray(R.array.cbSearchByMonth);
|
||||
final DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(), AlertDialog.THEME_HOLO_LIGHT,
|
||||
new DatePickerDialog.OnDateSetListener() {
|
||||
@Override
|
||||
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
|
||||
bulan = month;
|
||||
tahun = year;
|
||||
String data = months[month] + "-" + String.valueOf(year);
|
||||
editMonthYear.setText(data);
|
||||
}
|
||||
}, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
|
||||
datePickerDialog.getDatePicker().findViewById(Resources.getSystem().getIdentifier("day", "id", "android")).setVisibility(View.GONE);
|
||||
Calendar minMonthYear = Calendar.getInstance();
|
||||
minMonthYear.set(calendar.get(Calendar.YEAR)-2, 0, 1);
|
||||
datePickerDialog.getDatePicker().setMaxDate(new Date().getTime());
|
||||
datePickerDialog.getDatePicker().setMinDate(minMonthYear.getTimeInMillis());
|
||||
|
||||
buttonSelectDate.setOnClickListener(new DateClickListener(getActivity(), editDate));
|
||||
buttonSelectStartDate.setOnClickListener(new DateClickListener(getActivity(), editStartDate));
|
||||
buttonSelectEndDate.setOnClickListener(new DateClickListener(getActivity(), editEndDate));
|
||||
butonMonthYear.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
datePickerDialog.show();
|
||||
}
|
||||
});
|
||||
buttonSearch.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
SurveyorSearchRequest request = new SurveyorSearchRequest();
|
||||
|
||||
try {
|
||||
if (Tool.isInternetconnected(getActivity())) {
|
||||
iSurveyActivity.executeSearch(listener, request, editDate.getText().toString(), tahun, bulan, // Ambil bulan dan tahun
|
||||
editStartDate.getText().toString(), editEndDate.getText().toString(), activeSearchMode);
|
||||
} else {
|
||||
NiftyDialogBuilder builder = NiftyDialogBuilder.getInstance(getActivity());
|
||||
builder.withTitle(getString(R.string.info_capital))
|
||||
.withMessage(getString(R.string.no_internet_connection))
|
||||
.show();
|
||||
}
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
layout.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(SurveyPerformanceFragment.this.getActivity(),
|
||||
SurveyPerformanceFragment.this.getClass().getSimpleName());
|
||||
}
|
||||
}
|
||||
}, SHOW_USERHELP_DELAY_DEFAULT);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if(item.getItemId() == R.id.mnGuide){
|
||||
|
||||
Handler handler = new Handler();
|
||||
handler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
UserHelp.showAllUserHelp(SurveyPerformanceFragment.this.getActivity(),
|
||||
SurveyPerformanceFragment.this.getClass().getSimpleName());
|
||||
}
|
||||
}, SHOW_USERHELP_DELAY_DEFAULT);
|
||||
layout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
|
||||
@Override
|
||||
public void onGlobalLayout() {
|
||||
if(!UserHelp.isActive)
|
||||
UserHelp.showAllUserHelp(SurveyPerformanceFragment.this.getActivity(),
|
||||
SurveyPerformanceFragment.this.getClass().getSimpleName());
|
||||
}
|
||||
});
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
TaskListener listener = new TaskListener() {
|
||||
@Override
|
||||
public void onCompleteTask(Object result) {
|
||||
SurveyorSearchResponse serverResponse = (SurveyorSearchResponse) result;
|
||||
updateResult(serverResponse.getListKeyValue());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancelTask(boolean value) {
|
||||
//on cancel task
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocalData(Object result) {
|
||||
//on local data
|
||||
}
|
||||
};
|
||||
|
||||
private void updateResult(final KeyValue[] result) {
|
||||
layout.setVisibility(View.VISIBLE);
|
||||
SurveyPerformanceFragment.this.getActivity().runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
listResult.setAdapter(new SearchResultListAdapter(getActivity(), result));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// private void executeSearch(SurveyorSearchRequest request, final String date, final int month, final String startDate, final String endDate) throws ParseException, IOException {
|
||||
// new AsyncTask<Void, Void, SurveyorSearchResponse>(){
|
||||
// final ProgressDialog progress = new ProgressDialog(getActivity());
|
||||
// String errMessage;
|
||||
// @Override
|
||||
// protected void onPreExecute() {
|
||||
// super.onPreExecute();
|
||||
// progress.setMessage(getActivity().getString(R.string.contact_server));
|
||||
// progress.show();
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// protected SurveyorSearchResponse doInBackground(Void... params) {
|
||||
// try {
|
||||
// SurveyorSearchRequest searchRequest = new SurveyorSearchRequest();
|
||||
// searchRequest.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
//
|
||||
// try {
|
||||
// if (activeSearchMode == 0) {
|
||||
// SimpleDateFormat f = new SimpleDateFormat(Global.DATE_STR_FORMAT);
|
||||
// Date date1 = f.parse(date);
|
||||
// searchRequest.setDate1(date1);
|
||||
// }
|
||||
// if (activeSearchMode == 1) {
|
||||
// SimpleDateFormat f = new SimpleDateFormat(Global.DATE_STR_FORMAT);
|
||||
// Date sDate, eDate;
|
||||
// long sLong = 0;
|
||||
// long eLong = 0;
|
||||
// try {
|
||||
// sDate = f.parse(startDate);
|
||||
// searchRequest.setDate1(sDate);
|
||||
// eDate = f.parse(endDate);
|
||||
// eDate.setHours(23);
|
||||
// eDate.setMinutes(59);
|
||||
// eDate.setSeconds(59);
|
||||
// searchRequest.setDate2(eDate);
|
||||
// sLong = sDate.getTime();
|
||||
// eLong = eDate.getTime();
|
||||
// } catch (ParseException e) {
|
||||
// errMessage = getActivity().getString(R.string.enter_valid_date);
|
||||
// return null;
|
||||
// }
|
||||
// long milisecond = eLong - sLong;
|
||||
// if (milisecond > 604799000) {
|
||||
// errMessage = getActivity().getString(R.string.data_range_not_allowed);
|
||||
// return null;
|
||||
// } else if (milisecond < 0) {
|
||||
// errMessage = getActivity().getString(R.string.input_not_valid);
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// if (activeSearchMode == 2) {
|
||||
// searchRequest.setMonth(String.valueOf(month + 1));
|
||||
// }
|
||||
// } catch (ParseException parseEx) {
|
||||
// errMessage = getActivity().getString(R.string.enter_valid_date);
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
// String json = GsonHelper.toJson(searchRequest);
|
||||
//
|
||||
// String url = GlobalData.getSharedGlobalData().getURL_GET_SVYPERFORMANCE();
|
||||
// boolean encrypt = GlobalData.getSharedGlobalData().isEncrypt();
|
||||
// boolean decrypt = GlobalData.getSharedGlobalData().isDecrypt();
|
||||
// HttpCryptedConnection httpConn = new HttpCryptedConnection(getActivity(), encrypt, decrypt);
|
||||
// HttpConnectionResult serverResult = null;
|
||||
// try {
|
||||
// serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
// } catch (Exception e) { FireCrash.log(e);
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// SurveyorSearchResponse serverResponse = null;
|
||||
// if (serverResult != null && serverResult.isOK()) {
|
||||
// try {
|
||||
// String responseBody = serverResult.getResult();
|
||||
// serverResponse = GsonHelper.fromJson(responseBody, SurveyorSearchResponse.class);
|
||||
//
|
||||
// } catch (Exception e) { FireCrash.log(e);
|
||||
// if(Global.IS_DEV) {
|
||||
// e.printStackTrace();
|
||||
// errMessage=e.getMessage();
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// errMessage = getActivity().getString(R.string.server_down);
|
||||
// }
|
||||
//
|
||||
// return serverResponse;
|
||||
// } catch (Exception e) { FireCrash.log(e);
|
||||
// errMessage = e.getMessage();
|
||||
// return null;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// protected void onPostExecute(final SurveyorSearchResponse serverResponse) {
|
||||
// super.onPostExecute(serverResponse);
|
||||
// if(getActivity()!=null) {
|
||||
// if (progress != null && progress.isShowing()) {
|
||||
// progress.dismiss();
|
||||
// }
|
||||
// if (errMessage != null) {
|
||||
// Toaster.error(getActivity(), errMessage);
|
||||
// } else if (serverResponse != null && serverResponse.getListKeyValue() != null) {
|
||||
// layout.setVisibility(View.VISIBLE);
|
||||
// SurveyPerformanceFragment.this.getActivity().runOnUiThread(new Runnable() {
|
||||
// @Override
|
||||
// public void run() {
|
||||
// listResult.setAdapter(new SearchResultListAdapter(getActivity(), serverResponse.getListKeyValue()));
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }.execute();
|
||||
// }
|
||||
|
||||
private void invalidateForm(int position) {
|
||||
switch (position) {
|
||||
case 0:
|
||||
showSearchForm(R.id.byDay);
|
||||
break;
|
||||
case 1:
|
||||
showSearchForm(R.id.byMonth);
|
||||
break;
|
||||
case 2:
|
||||
showSearchForm(R.id.byEstimatedDate);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
this.activeSearchMode = position;
|
||||
}
|
||||
|
||||
private void showSearchForm(int id) {
|
||||
View byDay = getView().findViewById(R.id.byDay);
|
||||
View byRange = getView().findViewById(R.id.byEstimatedDate);
|
||||
View byMonth = getView().findViewById(R.id.byMonth);
|
||||
|
||||
byDay.setVisibility(View.GONE);
|
||||
byRange.setVisibility(View.GONE);
|
||||
byMonth.setVisibility(View.GONE);
|
||||
|
||||
View active = getView().findViewById(id);
|
||||
active.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
class SearchResultListAdapter extends ArrayAdapter<KeyValue> {
|
||||
|
||||
public SearchResultListAdapter(Context context) {
|
||||
super(context, R.layout.view_surveyor_search_result);
|
||||
}
|
||||
|
||||
public SearchResultListAdapter(Context context, KeyValue[] values) {
|
||||
super(context, R.layout.view_surveyor_search_result, values);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
|
||||
if (convertView == null) {
|
||||
convertView = LayoutInflater.from(getContext()).inflate(R.layout.view_surveyor_search_result, parent, false);
|
||||
}
|
||||
TextView label = (TextView) convertView.findViewById(R.id.taskLabel);
|
||||
TextView value = (TextView) convertView.findViewById(R.id.taskValue);
|
||||
|
||||
KeyValue item = getItem(position);
|
||||
label.setText(item.getKey());
|
||||
value.setText(item.getValue());
|
||||
return convertView;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,377 @@
|
|||
package com.adins.mss.svy.fragments;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import android.text.format.DateFormat;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.NewMainActivity;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.dynamicform.CustomerFragment;
|
||||
import com.adins.mss.base.dynamicform.SurveyHeaderBean;
|
||||
import com.adins.mss.base.tasklog.SurveyTaskAdapter;
|
||||
import com.adins.mss.base.todolist.form.OnTaskListClickListener;
|
||||
import com.adins.mss.base.todolist.form.TasklistListener;
|
||||
import com.adins.mss.base.util.Utility;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.dao.TaskH;
|
||||
import com.adins.mss.dummy.userhelp_dummy.Adapter.NewTaskLogDummyAdapter;
|
||||
import com.adins.mss.foundation.db.dataaccess.TaskHDataAccess;
|
||||
import com.adins.mss.foundation.dialog.NiftyDialogBuilder;
|
||||
import com.adins.mss.svy.R;
|
||||
import com.adins.mss.svy.UserHelpSVYDummy;
|
||||
import com.adins.mss.svy.tool.Constants;
|
||||
|
||||
import org.acra.ACRA;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
|
||||
public class SurveyVerificationByBranchFragment extends Fragment implements OnTaskListClickListener, TasklistListener {
|
||||
public static TaskH selectedVerified;
|
||||
private List<TaskH> objects;
|
||||
private SurveyTaskAdapter adapter;
|
||||
// private GridView gridView;
|
||||
private RecyclerView recyclerView;
|
||||
private SwipeRefreshLayout mSwipeRefreshLayout;
|
||||
private String errMessage = null;
|
||||
private Context context;
|
||||
private SurveyActivityInterface iSurveyActivity;
|
||||
private LinearLayoutManager layoutManager;
|
||||
private static boolean showDummy = true;
|
||||
|
||||
@Override
|
||||
public void onAttach(Context activity) {
|
||||
super.onAttach(activity);
|
||||
this.context = activity;
|
||||
iSurveyActivity = new SurveyActivityImpl(context);
|
||||
setHasOptionsMenu(true);
|
||||
try {
|
||||
objects = Constants.listOfVerifiedTask;
|
||||
if (objects == null || objects.size() == 0) {
|
||||
objects = TaskHDataAccess.getAllVerifiedForBranch(getActivity(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
Constants.listOfVerifiedTask = objects;
|
||||
}
|
||||
adapter = new SurveyTaskAdapter(activity, objects, SurveyVerificationByBranchFragment.this);
|
||||
try {
|
||||
// MSMainMenuActivity.mnSVYVerifyByBranch.setCounter(String.valueOf(Constants.getCounterVerificationTaskByBranch(getActivity())));
|
||||
// if(MainMenuActivity.menuAdapter!=null)
|
||||
// MainMenuActivity.menuAdapter.notifyDataSetChanged();
|
||||
// MainMenuActivity.setDrawerCounter();
|
||||
NewMainActivity.setCounter();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", e.getMessage());
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", DateFormat.format("yyyy.MM.dd G \'at\' HH:mm:ss z", Calendar.getInstance().getTime()).toString());
|
||||
ACRA.getErrorReporter().handleSilentException(new Exception("Exception saat set Drawer Counter"));
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
Utility.freeMemory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
super.onCreateView(inflater, container, savedInstanceState);
|
||||
View view = inflater.inflate(R.layout.new_fragment_survey_verification, container, false);
|
||||
this.mSwipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipeRefreshLayout);
|
||||
mSwipeRefreshLayout.setColorSchemeColors(getResources().getColor(com.adins.mss.base.R.color.tv_light),
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_normal),
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_dark),
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_darker));
|
||||
this.mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
||||
public void onRefresh() {
|
||||
SurveyVerificationByBranchFragment.this.initiateRefresh();
|
||||
}
|
||||
});
|
||||
// getActivity().getActionBar().setTitle(getString(com.adins.mss.base.R.string.title_mn_verification_bybranch));
|
||||
|
||||
// olivia : set toolbar
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.search).setVisibility(View.GONE);
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.spinner).setVisibility(View.GONE);
|
||||
getActivity().setTitle(getString(com.adins.mss.base.R.string.title_mn_verification_bybranch));
|
||||
|
||||
recyclerView = (RecyclerView) view.findViewById(R.id.list);
|
||||
layoutManager = new LinearLayoutManager(getContext());
|
||||
recyclerView.setLayoutManager(layoutManager);
|
||||
recyclerView.setHasFixedSize(true);
|
||||
recyclerView.getRecycledViewPool().setMaxRecycledViews(1, 500);
|
||||
recyclerView.setAdapter(adapter);
|
||||
if(Global.ENABLE_USER_HELP &&
|
||||
showDummy &&
|
||||
Global.userHelpDummyGuide.get(SurveyVerificationByBranchFragment.this.getClass().getSimpleName()) != null &&
|
||||
Global.userHelpDummyGuide.get(SurveyVerificationByBranchFragment.this.getClass().getSimpleName()).size()>0) {
|
||||
NewTaskLogDummyAdapter dummyAdapter = new NewTaskLogDummyAdapter();
|
||||
recyclerView.setAdapter(dummyAdapter);
|
||||
UserHelpSVYDummy userHelpSVYDummy = new UserHelpSVYDummy();
|
||||
userHelpSVYDummy.showDummyVerif(SurveyVerificationByBranchFragment.this.getActivity(),SurveyVerificationByBranchFragment.this.getClass().getSimpleName(), recyclerView,adapter);
|
||||
showDummy = false;
|
||||
}
|
||||
// initiateRefresh();
|
||||
return view;
|
||||
}
|
||||
|
||||
private void initiateRefresh() {
|
||||
// RefreshBackgroundTask task = new RefreshBackgroundTask();
|
||||
// task.execute();
|
||||
iSurveyActivity.getBackgroundTask(SurveyVerificationByBranchFragment.this, true, true);
|
||||
}
|
||||
|
||||
private void onRefreshComplete(List<TaskH> result) {
|
||||
this.mSwipeRefreshLayout.setRefreshing(false);
|
||||
NiftyDialogBuilder fragment;
|
||||
objects = result;
|
||||
|
||||
// if (this.errMessage != null) {
|
||||
// fragment = NiftyDialogBuilder.getInstance(this.context);
|
||||
// fragment.withTitle(context.getString(com.adins.mss.base.R.string.error_capital)).withMessage(this.errMessage).show();
|
||||
// } else
|
||||
if (result != null && result.size() != 0) {
|
||||
try {
|
||||
//if(objects==null || objects.size()==0){
|
||||
Constants.listOfVerifiedTask = objects;
|
||||
adapter = new SurveyTaskAdapter(getActivity(), objects, SurveyVerificationByBranchFragment.this);
|
||||
recyclerView.setAdapter(adapter);
|
||||
//}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
// else {
|
||||
// Constants.listOfVerifiedTask = objects;
|
||||
// adapter = new TaskLogArrayAdapter(getActivity(), objects, false);
|
||||
// listView.setAdapter(adapter);
|
||||
// fragment = NiftyDialogBuilder.getInstance(this.context);
|
||||
// fragment.withTitle(context.getString(com.adins.mss.base.R.string.info_capital)).withMessage(getString(com.adins.mss.base.R.string.msgNoVerification)).show();
|
||||
// }
|
||||
try {
|
||||
// MSMainMenuActivity.mnSVYVerifyByBranch.setCounter(String.valueOf(Constants.getCounterVerificationTaskByBranch(getActivity())));
|
||||
// if(MainMenuActivity.menuAdapter!=null)
|
||||
// MainMenuActivity.menuAdapter.notifyDataSetChanged();
|
||||
// MainMenuActivity.setDrawerCounter();
|
||||
NewMainActivity.setCounter();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", e.getMessage());
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", DateFormat.format("yyyy.MM.dd G \'at\' HH:mm:ss z", Calendar.getInstance().getTime()).toString());
|
||||
ACRA.getErrorReporter().handleSilentException(new Exception("Exception saat set Drawer Counter"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
|
||||
adapter = null;
|
||||
Constants.listOfVerifiedTask = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
// getActivity().getActionBar().removeAllTabs();
|
||||
// getActivity().getActionBar().setTitle(getString(com.adins.mss.svy.R.string.title_mn_verification_bybranch));
|
||||
// getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
|
||||
|
||||
// olivia : set toolbar
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.search).setVisibility(View.GONE);
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.spinner).setVisibility(View.GONE);
|
||||
getActivity().setTitle(getString(com.adins.mss.base.R.string.title_mn_verification_bybranch));
|
||||
|
||||
try {
|
||||
// MSMainMenuActivity.mnSVYVerifyByBranch.setCounter(String.valueOf(Constants.getCounterVerificationTaskByBranch(getActivity())));
|
||||
// if(MainMenuActivity.menuAdapter!=null)
|
||||
// MainMenuActivity.menuAdapter.notifyDataSetChanged();
|
||||
// MainMenuActivity.setDrawerCounter();
|
||||
NewMainActivity.setCounter();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", e.getMessage());
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", DateFormat.format("yyyy.MM.dd G \'at\' HH:mm:ss z", Calendar.getInstance().getTime()).toString());
|
||||
ACRA.getErrorReporter().handleSilentException(new Exception("Exception saat set Drawer Counter"));
|
||||
}
|
||||
|
||||
// if(objects!=null && objects.size()>0){
|
||||
objects = TaskHDataAccess.getAllVerifiedForBranch(getActivity(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
Constants.listOfVerifiedTask = objects;
|
||||
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if(item.getItemId() == R.id.mnGuide){
|
||||
if(!Global.BACKPRESS_RESTRICTION) {
|
||||
NewTaskLogDummyAdapter dummyAdapter = new NewTaskLogDummyAdapter();
|
||||
recyclerView.setAdapter(dummyAdapter);
|
||||
UserHelpSVYDummy userHelpSVYDummy = new UserHelpSVYDummy();
|
||||
userHelpSVYDummy.showDummyVerif(SurveyVerificationByBranchFragment.this.getActivity(), SurveyVerificationByBranchFragment.this.getClass().getSimpleName(), recyclerView, adapter);
|
||||
showDummy = false;
|
||||
}
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClickListener(TaskH item, int position) {
|
||||
selectedVerified = item;
|
||||
SurveyHeaderBean header = new SurveyHeaderBean(selectedVerified);
|
||||
// TODO Action Lempar ke Customer ACtivity
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable(CustomerFragment.SURVEY_HEADER, header);
|
||||
bundle.putInt(CustomerFragment.SURVEY_MODE, Global.MODE_VIEW_SENT_SURVEY);
|
||||
Fragment fragment = com.adins.mss.base.dynamicform.CustomerFragment.create(header);
|
||||
|
||||
FragmentTransaction transaction = NewMainActivity.fragmentManager.beginTransaction();
|
||||
transaction.setCustomAnimations(R.anim.activity_open_translate,R.anim.activity_close_scale,R.anim.activity_open_scale,R.anim.activity_close_translate);
|
||||
transaction.replace(R.id.content_frame, fragment);
|
||||
transaction.addToBackStack(null);
|
||||
transaction.commit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemLongClickListener(TaskH item, int position) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefreshBackgroundCancelled(boolean value) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefreshBackgroundComplete(List<TaskH> result) {
|
||||
onRefreshComplete(result);
|
||||
}
|
||||
|
||||
// @SuppressLint({"NewApi"})
|
||||
// private class RefreshBackgroundTask extends AsyncTask<Void, Void, List<TaskH>> {
|
||||
// static final int TASK_DURATION = 5000;
|
||||
//
|
||||
// private RefreshBackgroundTask() {
|
||||
// }
|
||||
//
|
||||
// protected List<TaskH> doInBackground(Void... params) {
|
||||
// List<TaskH> resultTaskH = null;
|
||||
// User user = GlobalData.getSharedGlobalData().getUser();
|
||||
//
|
||||
// if (Tool.isInternetconnected(context)) {
|
||||
// MssRequestType requestType = new MssRequestType();
|
||||
// requestType.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
// requestType.addImeiAndroidIdToUnstructured();
|
||||
//
|
||||
// String json = GsonHelper.toJson(requestType);
|
||||
// String url = GlobalData.getSharedGlobalData().getURL_GET_LIST_VERIFICATION();
|
||||
// boolean encrypt = GlobalData.getSharedGlobalData().isEncrypt();
|
||||
// boolean decrypt = GlobalData.getSharedGlobalData().isDecrypt();
|
||||
// HttpCryptedConnection httpConn = new HttpCryptedConnection(getActivity(), encrypt, decrypt);
|
||||
// HttpConnectionResult serverResult = null;
|
||||
// try {
|
||||
// resultTaskH = TaskHDataAccess.getAllVerifiedForBranch(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
// if (resultTaskH != null && resultTaskH.size() > 0)
|
||||
// serverResult = httpConn.requestToServer(url, json, Global.SORTCONNECTIONTIMEOUT);
|
||||
// else
|
||||
// serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
// } catch (Exception e) { FireCrash.log(e);
|
||||
// e.printStackTrace();
|
||||
// errMessage = getActivity().getString(R.string.jsonParseFailed);
|
||||
// }
|
||||
//
|
||||
// String result = serverResult.getResult();
|
||||
//
|
||||
// try {
|
||||
// result = serverResult.getResult();
|
||||
// JsonResponseTaskList taskList = GsonHelper.fromJson(result, JsonResponseTaskList.class);
|
||||
// if (taskList.getStatus().getCode() == 0) {
|
||||
// List<TaskH> listTaskH = taskList.getListTaskList();
|
||||
// if (listTaskH != null && listTaskH.size() > 0) {
|
||||
// String uuid_timelineType = TimelineTypeDataAccess.getTimelineTypebyType(getActivity(), Global.TIMELINE_TYPE_VERIFICATION).getUuid_timeline_type();
|
||||
// for (TaskH taskHLocal : resultTaskH) {
|
||||
// boolean wasDeleted = true;
|
||||
// for (TaskH taskH : listTaskH) {
|
||||
// if (taskH.getUuid_task_h().equals(taskHLocal.getUuid_task_h()))
|
||||
// wasDeleted = false;
|
||||
// }
|
||||
// if (wasDeleted) {
|
||||
// TaskHDataAccess.delete(getActivity(), taskHLocal);
|
||||
// /*Timeline timeline = TimelineDataAccess.getOneTimelineByTaskH(getActivity(), user.getUuid_user(), taskHLocal.getUuid_task_h(), uuid_timelineType);
|
||||
// if(timeline != null)
|
||||
// TimelineDataAccess.delete(getActivity(), timeline);*/
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// for (TaskH taskH : listTaskH) {
|
||||
// taskH.setUser(user);
|
||||
// String uuid_scheme = taskH.getUuid_scheme();
|
||||
// Scheme scheme = SchemeDataAccess.getOne(getActivity(), uuid_scheme);
|
||||
// if (scheme != null) {
|
||||
// taskH.setScheme(scheme);
|
||||
// TaskH h = TaskHDataAccess.getOneHeader(getActivity(), taskH.getUuid_task_h());
|
||||
//
|
||||
// boolean wasInTimeline = TimelineDataAccess.getOneTimelineByTaskH(getActivity(), user.getUuid_user(), taskH.getUuid_task_h(), uuid_timelineType) != null;
|
||||
// if (h != null && h.getStatus() != null) {
|
||||
// if (!ToDoList.isOldTask(h)) {
|
||||
// TaskHDataAccess.addOrReplace(getActivity(), taskH);
|
||||
// if (!wasInTimeline)
|
||||
// TimelineManager.insertTimeline(getActivity(), taskH);
|
||||
// }
|
||||
// } else {
|
||||
// TaskHDataAccess.addOrReplace(getActivity(), taskH);
|
||||
// if (!wasInTimeline)
|
||||
// TimelineManager.insertTimeline(getActivity(), taskH);
|
||||
// }
|
||||
// } else {
|
||||
// errMessage = context.getString(com.adins.mss.base.R.string.scheme_not_found_verification);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// errMessage = result;
|
||||
// }
|
||||
// } catch (Exception e) { FireCrash.log(e);
|
||||
// errMessage = getActivity().getString(R.string.jsonParseFailed);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// try {
|
||||
// if (context != null) {
|
||||
// resultTaskH = TaskHDataAccess.getAllVerifiedForBranch(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
// } else if (getActivity() != null) {
|
||||
// resultTaskH = TaskHDataAccess.getAllVerifiedForBranch(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
// } else {
|
||||
// resultTaskH = TaskHDataAccess.getAllVerifiedForBranch(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
// }
|
||||
// } catch (Exception var6) {
|
||||
// var6.printStackTrace();
|
||||
// errMessage = var6.getMessage();
|
||||
// }
|
||||
//
|
||||
// return resultTaskH;
|
||||
// }
|
||||
//
|
||||
// protected void onPostExecute(List<TaskH> result) {
|
||||
// super.onPostExecute(result);
|
||||
// SurveyVerificationByBranchFragment.this.onRefreshComplete(result);
|
||||
// }
|
||||
// }
|
||||
}
|
|
@ -0,0 +1,398 @@
|
|||
package com.adins.mss.svy.fragments;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import android.text.format.DateFormat;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.NewMainActivity;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.dynamicform.CustomerFragment;
|
||||
import com.adins.mss.base.dynamicform.SurveyHeaderBean;
|
||||
import com.adins.mss.base.tasklog.SurveyTaskAdapter;
|
||||
import com.adins.mss.base.todolist.form.OnTaskListClickListener;
|
||||
import com.adins.mss.base.todolist.form.TasklistListener;
|
||||
import com.adins.mss.base.util.Utility;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.dao.TaskH;
|
||||
import com.adins.mss.dummy.userhelp_dummy.Adapter.NewTaskLogDummyAdapter;
|
||||
import com.adins.mss.foundation.db.dataaccess.TaskHDataAccess;
|
||||
import com.adins.mss.foundation.dialog.NiftyDialogBuilder;
|
||||
import com.adins.mss.svy.R;
|
||||
import com.adins.mss.svy.UserHelpSVYDummy;
|
||||
import com.adins.mss.svy.tool.Constants;
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
|
||||
import org.acra.ACRA;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
|
||||
public class SurveyVerificationFragment extends Fragment implements OnTaskListClickListener, TasklistListener {
|
||||
public static TaskH selectedVerified;
|
||||
private List<TaskH> objects;
|
||||
private SurveyTaskAdapter adapter;
|
||||
private RecyclerView recyclerView;
|
||||
private SwipeRefreshLayout mSwipeRefreshLayout;
|
||||
private String errMessage = null;
|
||||
private Context context;
|
||||
private SurveyActivityInterface iSurveyActivity;
|
||||
private LinearLayoutManager layoutManager;
|
||||
private static boolean showDummy = true;
|
||||
private FirebaseAnalytics screenName;
|
||||
|
||||
@Override
|
||||
public void onAttach(Context activity) {
|
||||
super.onAttach(activity);
|
||||
this.context = activity;
|
||||
iSurveyActivity = new SurveyActivityImpl(context);
|
||||
setHasOptionsMenu(true);
|
||||
try {
|
||||
objects = Constants.listOfVerifiedTask;
|
||||
if (objects == null || objects.size() == 0) {
|
||||
objects = TaskHDataAccess.getAllVerifiedForUser(getActivity(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
Constants.listOfVerifiedTask = objects;
|
||||
}
|
||||
adapter = new SurveyTaskAdapter(activity, objects, SurveyVerificationFragment.this);
|
||||
try {
|
||||
// MSMainMenuActivity.mnSVYVerify.setCounter(String.valueOf(Constants.getCounterVerificationTask(getActivity())));
|
||||
// if(MainMenuActivity.menuAdapter!=null)
|
||||
// MainMenuActivity.menuAdapter.notifyDataSetChanged();
|
||||
// MainMenuActivity.setDrawerCounter();
|
||||
NewMainActivity.setCounter();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", e.getMessage());
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", DateFormat.format("yyyy.MM.dd G \'at\' HH:mm:ss z", Calendar.getInstance().getTime()).toString());
|
||||
ACRA.getErrorReporter().handleSilentException(new Exception("Exception saat set Drawer Counter"));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
Utility.freeMemory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
super.onCreateView(inflater, container, savedInstanceState);
|
||||
screenName = FirebaseAnalytics.getInstance(getActivity());
|
||||
View view = inflater.inflate(R.layout.new_fragment_survey_verification, container, false);
|
||||
this.mSwipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipeRefreshLayout);
|
||||
try {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
this.mSwipeRefreshLayout.setColorScheme(
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_light, getContext().getTheme()),
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_normal, getContext().getTheme()),
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_dark, getContext().getTheme()),
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_darker, getContext().getTheme()));
|
||||
} else {
|
||||
this.mSwipeRefreshLayout.setColorScheme(
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_light),
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_normal),
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_dark),
|
||||
getResources().getColor(com.adins.mss.base.R.color.tv_darker));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
this.mSwipeRefreshLayout.setColorSchemeResources(
|
||||
com.adins.mss.base.R.color.tv_light,
|
||||
com.adins.mss.base.R.color.tv_normal,
|
||||
com.adins.mss.base.R.color.tv_dark,
|
||||
com.adins.mss.base.R.color.tv_darker);
|
||||
}
|
||||
this.mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
||||
public void onRefresh() {
|
||||
SurveyVerificationFragment.this.initiateRefresh();
|
||||
}
|
||||
});
|
||||
|
||||
// olivia : set toolbar
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.search).setVisibility(View.GONE);
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.spinner).setVisibility(View.GONE);
|
||||
getActivity().setTitle(getString(com.adins.mss.base.R.string.title_mn_surveyverification));
|
||||
|
||||
// getActivity().getActionBar().setTitle(getString(com.adins.mss.base.R.string.title_mn_surveyverification));
|
||||
recyclerView = (RecyclerView) view.findViewById(R.id.list);
|
||||
layoutManager = new LinearLayoutManager(getContext());
|
||||
recyclerView.setLayoutManager(layoutManager);
|
||||
recyclerView.setHasFixedSize(true);
|
||||
recyclerView.getRecycledViewPool().setMaxRecycledViews(1, 500);
|
||||
recyclerView.setAdapter(adapter);
|
||||
|
||||
if(Global.ENABLE_USER_HELP &&
|
||||
showDummy &&
|
||||
Global.userHelpDummyGuide.get(SurveyVerificationFragment.this.getClass().getSimpleName()) != null &&
|
||||
Global.userHelpDummyGuide.get(SurveyVerificationFragment.this.getClass().getSimpleName()).size()>0) {
|
||||
NewTaskLogDummyAdapter dummyAdapter = new NewTaskLogDummyAdapter();
|
||||
recyclerView.setAdapter(dummyAdapter);
|
||||
UserHelpSVYDummy userHelpSVYDummy = new UserHelpSVYDummy();
|
||||
userHelpSVYDummy.showDummyVerif(SurveyVerificationFragment.this.getActivity(),SurveyVerificationFragment.this.getClass().getSimpleName(), recyclerView,adapter);
|
||||
showDummy = false;
|
||||
}
|
||||
|
||||
// SurveyVerificationFragment.this.initiateRefresh();
|
||||
return view;
|
||||
}
|
||||
|
||||
private void initiateRefresh() {
|
||||
// RefreshBackgroundTask task = new RefreshBackgroundTask();
|
||||
// task.execute();
|
||||
iSurveyActivity.getBackgroundTask(SurveyVerificationFragment.this, true, false);
|
||||
}
|
||||
|
||||
private void onRefreshComplete(List<TaskH> result) {
|
||||
this.mSwipeRefreshLayout.setRefreshing(false);
|
||||
NiftyDialogBuilder fragment;
|
||||
objects = result;
|
||||
try {
|
||||
// MSMainMenuActivity.mnSVYVerify.setCounter(String.valueOf(Constants.getCounterVerificationTask(getActivity())));
|
||||
// if(MainMenuActivity.menuAdapter!=null)
|
||||
// MainMenuActivity.menuAdapter.notifyDataSetChanged();
|
||||
// MainMenuActivity.setDrawerCounter();
|
||||
NewMainActivity.setCounter();
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", e.getMessage());
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", DateFormat.format("yyyy.MM.dd G \'at\' HH:mm:ss z", Calendar.getInstance().getTime()).toString());
|
||||
ACRA.getErrorReporter().handleSilentException(new Exception("Exception saat set Drawer Counter"));
|
||||
}
|
||||
|
||||
// if (this.errMessage != null) {
|
||||
// fragment = NiftyDialogBuilder.getInstance(this.context);
|
||||
// fragment.withTitle(context.getString(com.adins.mss.base.R.string.error_capital)).withMessage(this.errMessage).show();
|
||||
// } else
|
||||
if (result != null && result.size() != 0) {
|
||||
try {
|
||||
//if(objects==null || objects.size()==0){
|
||||
Constants.listOfVerifiedTask = objects;
|
||||
adapter = new SurveyTaskAdapter(getActivity(), objects, SurveyVerificationFragment.this);
|
||||
recyclerView.setAdapter(adapter);
|
||||
//}
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
// else {
|
||||
// Constants.listOfVerifiedTask = objects;
|
||||
// adapter = new TaskLogArrayAdapter(getActivity(), objects, false);
|
||||
// listView.setAdapter(adapter);
|
||||
// fragment = NiftyDialogBuilder.getInstance(this.context);
|
||||
// fragment.withTitle(context.getString(com.adins.mss.base.R.string.info_capital)).withMessage(getString(com.adins.mss.base.R.string.msgNoVerification)).show();
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
|
||||
adapter = null;
|
||||
Constants.listOfVerifiedTask = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
// getActivity().getActionBar().removeAllTabs();
|
||||
// getActivity().getActionBar().setTitle(getString(com.adins.mss.svy.R.string.title_mn_surveyverification));
|
||||
// getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
|
||||
//Set Firebase screen name
|
||||
screenName.setCurrentScreen(getActivity(), getString(R.string.screen_name_survey_verification), null);
|
||||
// olivia : set toolbar
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.search).setVisibility(View.GONE);
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.spinner).setVisibility(View.GONE);
|
||||
getActivity().setTitle(getString(com.adins.mss.base.R.string.title_mn_surveyverification));
|
||||
|
||||
try {
|
||||
// MSMainMenuActivity.mnSVYVerify.setCounter(String.valueOf(Constants.getCounterVerificationTask(getActivity())));
|
||||
// if(MainMenuActivity.menuAdapter!=null)
|
||||
// MainMenuActivity.menuAdapter.notifyDataSetChanged();
|
||||
// MainMenuActivity.setDrawerCounter();
|
||||
NewMainActivity.setCounter();
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", e.getMessage());
|
||||
ACRA.getErrorReporter().putCustomData("ErrorMainMenuActivity", DateFormat.format("yyyy.MM.dd G \'at\' HH:mm:ss z", Calendar.getInstance().getTime()).toString());
|
||||
ACRA.getErrorReporter().handleSilentException(new Exception("Exception saat set Drawer Counter"));
|
||||
}
|
||||
|
||||
// if(objects!=null && objects.size()>0){
|
||||
objects = TaskHDataAccess.getAllVerifiedForUser(getActivity(), GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
Constants.listOfVerifiedTask = objects;
|
||||
|
||||
|
||||
// RefreshBackgroundTask task = new RefreshBackgroundTask();
|
||||
// task.execute();
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClickListener(TaskH item, int position) {
|
||||
selectedVerified = item;
|
||||
SurveyHeaderBean header = new SurveyHeaderBean(selectedVerified);
|
||||
// TODO Action Lempar ke Customer ACtivity
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putSerializable(CustomerFragment.SURVEY_HEADER, header);
|
||||
bundle.putInt(CustomerFragment.SURVEY_MODE, Global.MODE_VIEW_SENT_SURVEY);
|
||||
Fragment fragment = com.adins.mss.base.dynamicform.CustomerFragment.create(header);
|
||||
|
||||
FragmentTransaction transaction = NewMainActivity.fragmentManager.beginTransaction();
|
||||
transaction.setCustomAnimations(R.anim.activity_open_translate,R.anim.activity_close_scale,R.anim.activity_open_scale,R.anim.activity_close_translate);
|
||||
transaction.replace(R.id.content_frame, fragment);
|
||||
transaction.addToBackStack(null);
|
||||
transaction.commit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
if(item.getItemId() == R.id.mnGuide){
|
||||
if(!Global.BACKPRESS_RESTRICTION) {
|
||||
NewTaskLogDummyAdapter dummyAdapter = new NewTaskLogDummyAdapter();
|
||||
recyclerView.setAdapter(dummyAdapter);
|
||||
UserHelpSVYDummy userHelpSVYDummy = new UserHelpSVYDummy();
|
||||
userHelpSVYDummy.showDummyVerif(SurveyVerificationFragment.this.getActivity(), SurveyVerificationFragment.this.getClass().getSimpleName(), recyclerView, adapter);
|
||||
showDummy = false;
|
||||
}
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemLongClickListener(TaskH item, int position) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefreshBackgroundCancelled(boolean value) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefreshBackgroundComplete(List<TaskH> result) {
|
||||
onRefreshComplete(result);
|
||||
}
|
||||
|
||||
// @SuppressLint({"NewApi"})
|
||||
// private class RefreshBackgroundTask extends AsyncTask<Void, Void, List<TaskH>> {
|
||||
// static final int TASK_DURATION = 5000;
|
||||
//
|
||||
// private RefreshBackgroundTask() {
|
||||
// }
|
||||
//
|
||||
// protected List<TaskH> doInBackground(Void... params) {
|
||||
// List<TaskH> resultTaskH = null;
|
||||
// User user = GlobalData.getSharedGlobalData().getUser();
|
||||
//
|
||||
// if (Tool.isInternetconnected(context)) {
|
||||
// MssRequestType requestType = new MssRequestType();
|
||||
// requestType.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
// requestType.addImeiAndroidIdToUnstructured();
|
||||
//
|
||||
// String json = GsonHelper.toJson(requestType);
|
||||
// String url = GlobalData.getSharedGlobalData().getURL_GET_LIST_VERIFICATION();
|
||||
// boolean encrypt = GlobalData.getSharedGlobalData().isEncrypt();
|
||||
// boolean decrypt = GlobalData.getSharedGlobalData().isDecrypt();
|
||||
// HttpCryptedConnection httpConn = new HttpCryptedConnection(getActivity(), encrypt, decrypt);
|
||||
// HttpConnectionResult serverResult = null;
|
||||
// try {
|
||||
// resultTaskH = TaskHDataAccess.getAllVerifiedForUser(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
// if (resultTaskH != null && resultTaskH.size() > 0)
|
||||
// serverResult = httpConn.requestToServer(url, json, Global.SORTCONNECTIONTIMEOUT);
|
||||
// else
|
||||
// serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
// } catch (Exception e) { FireCrash.log(e);
|
||||
// e.printStackTrace();
|
||||
// errMessage = getActivity().getString(R.string.jsonParseFailed);
|
||||
// }
|
||||
//
|
||||
// String result = serverResult.getResult();
|
||||
//
|
||||
// try {
|
||||
// result = serverResult.getResult();
|
||||
// JsonResponseTaskList taskList = GsonHelper.fromJson(result, JsonResponseTaskList.class);
|
||||
// if (taskList.getStatus().getCode() == 0) {
|
||||
// List<TaskH> listTaskH = taskList.getListTaskList();
|
||||
// if (listTaskH != null && listTaskH.size() > 0) {
|
||||
// String uuid_timelineType = TimelineTypeDataAccess.getTimelineTypebyType(getActivity(), Global.TIMELINE_TYPE_VERIFICATION).getUuid_timeline_type();
|
||||
// for (TaskH taskHLocal : resultTaskH) {
|
||||
// boolean wasDeleted = true;
|
||||
// for (TaskH taskH : listTaskH) {
|
||||
// if (taskH.getUuid_task_h().equals(taskHLocal.getUuid_task_h()))
|
||||
// wasDeleted = false;
|
||||
// }
|
||||
// if (wasDeleted) {
|
||||
// TaskHDataAccess.delete(getActivity(), taskHLocal);
|
||||
// /*Timeline timeline = TimelineDataAccess.getOneTimelineByTaskH(getActivity(), user.getUuid_user(), taskHLocal.getUuid_task_h(), uuid_timelineType);
|
||||
// if(timeline != null)
|
||||
// TimelineDataAccess.delete(getActivity(), timeline);*/
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// for (TaskH taskH : listTaskH) {
|
||||
// taskH.setUser(user);
|
||||
// String uuid_scheme = taskH.getUuid_scheme();
|
||||
// Scheme scheme = SchemeDataAccess.getOne(getActivity(), uuid_scheme);
|
||||
// if (scheme != null) {
|
||||
// taskH.setScheme(scheme);
|
||||
// TaskH h = TaskHDataAccess.getOneHeader(getActivity(), taskH.getUuid_task_h());
|
||||
//
|
||||
// boolean wasInTimeline = TimelineDataAccess.getOneTimelineByTaskH(getActivity(), user.getUuid_user(), taskH.getUuid_task_h(), uuid_timelineType) != null;
|
||||
// if (h != null && h.getStatus() != null) {
|
||||
// if (!ToDoList.isOldTask(h)) {
|
||||
// TaskHDataAccess.addOrReplace(getActivity(), taskH);
|
||||
// if (!wasInTimeline)
|
||||
// TimelineManager.insertTimeline(getActivity(), taskH);
|
||||
// }
|
||||
// } else {
|
||||
// TaskHDataAccess.addOrReplace(getActivity(), taskH);
|
||||
// if (!wasInTimeline)
|
||||
// TimelineManager.insertTimeline(getActivity(), taskH);
|
||||
// }
|
||||
// } else {
|
||||
// errMessage = context.getString(com.adins.mss.base.R.string.scheme_not_found_verification);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// errMessage = result;
|
||||
// }
|
||||
// } catch (Exception e) { FireCrash.log(e);
|
||||
// errMessage = getActivity().getString(R.string.jsonParseFailed);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// try {
|
||||
//// if (context != null) {
|
||||
//// resultTaskH = TaskHDataAccess.getAllVerifiedForUser(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
//// } else if (getActivity() != null) {
|
||||
//// resultTaskH = TaskHDataAccess.getAllVerifiedForUser(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
//// } else {
|
||||
//// resultTaskH = TaskHDataAccess.getAllVerifiedForUser(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
//// }
|
||||
// } catch (Exception var6) {
|
||||
// var6.printStackTrace();
|
||||
// errMessage = var6.getMessage();
|
||||
// }
|
||||
//
|
||||
// return resultTaskH;
|
||||
// }
|
||||
//
|
||||
// protected void onPostExecute(List<TaskH> result) {
|
||||
// super.onPostExecute(result);
|
||||
// SurveyVerificationFragment.this.onRefreshComplete(result);
|
||||
// }
|
||||
// }
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
package com.adins.mss.svy.login;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import com.adins.mss.base.about.activity.AboutActivity;
|
||||
import com.adins.mss.base.login.DefaultLoginModel;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.svy.ChangeLog;
|
||||
import com.adins.mss.svy.MSSynchronizeActivity;
|
||||
|
||||
|
||||
public class MSDefaultLoginModel extends DefaultLoginModel{
|
||||
|
||||
public MSDefaultLoginModel(Context context) {
|
||||
super(context);
|
||||
// TODO Auto-generated constructor stub
|
||||
Global.syncIntent = new Intent(getContext(), MSSynchronizeActivity.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getBuildNumber() {
|
||||
int c = Global.BUILD_VERSION;//ChangeLog.getChangeLog().get(0).getBuildVersion();
|
||||
AboutActivity.setChangeLog(ChangeLog.getChangeLog(getContext()), 2);
|
||||
return c;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Intent getIntentSynchronize() {
|
||||
// TODO Auto-generated method stub
|
||||
return new Intent(getContext(), MSSynchronizeActivity.class);
|
||||
// return new Intent(getContext(), MSMainMenuActivity.class);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,104 @@
|
|||
package com.adins.mss.svy.models;
|
||||
|
||||
import androidx.annotation.Keep;
|
||||
|
||||
import com.adins.mss.foundation.http.MssResponseType;
|
||||
import com.adins.mss.svy.tool.JsonResponseServer.ResponseServer;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ActionOnVerification extends MssResponseType{
|
||||
@SerializedName("listDetail")
|
||||
public List<ResponseServer> listDetail;
|
||||
@SerializedName("listAction")
|
||||
public List<ListAction> listAction;
|
||||
|
||||
/**
|
||||
* Gets the listDetail
|
||||
*/
|
||||
public List<ResponseServer> getListDetail() {
|
||||
return this.listDetail;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the listDetail
|
||||
*/
|
||||
public void setListDetail(List<ResponseServer> value) {
|
||||
this.listDetail = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the listAction
|
||||
*/
|
||||
public List<ListAction> getListAction() {
|
||||
return this.listAction;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the listAction
|
||||
*/
|
||||
public void setListAction(List<ListAction> value) {
|
||||
this.listAction = value;
|
||||
}
|
||||
|
||||
|
||||
public class ListAction
|
||||
{
|
||||
@Keep
|
||||
public String uuid_status_task;
|
||||
@Keep
|
||||
public String status_code;
|
||||
@Keep
|
||||
public String status_desc;
|
||||
|
||||
/**
|
||||
* Gets the uuid_status_task
|
||||
*/
|
||||
public String getUuid_status_task() {
|
||||
return this.uuid_status_task;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the uuid_status_task
|
||||
*/
|
||||
public void setUuid_status_task(String value) {
|
||||
this.uuid_status_task = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the status_code
|
||||
*/
|
||||
public String getStatus_code() {
|
||||
return this.status_code;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the status_code
|
||||
*/
|
||||
public void setStatus_code(String value) {
|
||||
this.status_code = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the status_desc
|
||||
*/
|
||||
public String getStatus_desc() {
|
||||
return this.status_desc;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the status_desc
|
||||
*/
|
||||
public void setStatus_desc(String value) {
|
||||
this.status_desc = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.status_desc;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.adins.mss.svy.models;
|
||||
|
||||
/**
|
||||
* Created by Aditya Purwa on 2/26/2015.
|
||||
*/
|
||||
public class AuditRequest {
|
||||
private String callerId;
|
||||
|
||||
public String getCallerId() {
|
||||
return callerId;
|
||||
}
|
||||
|
||||
public void setCallerId(String callerId) {
|
||||
this.callerId = callerId;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,142 @@
|
|||
package com.adins.mss.svy.models;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Typeface;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.BaseExpandableListAdapter;
|
||||
import android.widget.TextView;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
|
||||
import com.adins.mss.svy.R;
|
||||
|
||||
/**
|
||||
* Created by winy.firdasari on 20/01/2015.
|
||||
*/
|
||||
public class ExpandableListAdapter extends BaseExpandableListAdapter {
|
||||
|
||||
private Context _context;
|
||||
private List<String> _listDataHeader; // header titles
|
||||
// child data in format of header title, child title
|
||||
private HashMap<String, List<String>> _listDataChild;
|
||||
|
||||
private LinkedHashMap<String, String> listResult = new LinkedHashMap<>();
|
||||
|
||||
public ExpandableListAdapter(Context context, List<String> listDataHeader,
|
||||
HashMap<String, List<String>> listChildData) {
|
||||
this._context = context;
|
||||
this._listDataHeader = listDataHeader;
|
||||
this._listDataChild = listChildData;
|
||||
}
|
||||
|
||||
public ExpandableListAdapter(Context context, LinkedHashMap<String, String> listResult) {
|
||||
this._context = context;
|
||||
this.listResult = listResult;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getChild(int groupPosition, int childPosititon) {
|
||||
return this._listDataChild.get(this._listDataHeader.get(groupPosition))
|
||||
.get(childPosititon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getChildId(int groupPosition, int childPosition) {
|
||||
return childPosition;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getChildView(int groupPosition, final int childPosition,
|
||||
boolean isLastChild, View convertView, ViewGroup parent) {
|
||||
|
||||
final String childText = (String) getChild(groupPosition, childPosition);
|
||||
|
||||
if (convertView == null) {
|
||||
LayoutInflater infalInflater = (LayoutInflater) this._context
|
||||
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
convertView = infalInflater.inflate(R.layout.result_order_list_item, null);
|
||||
}
|
||||
|
||||
TextView txtListChild = (TextView) convertView
|
||||
.findViewById(R.id.txtStatusOrder);
|
||||
|
||||
txtListChild.setText(childText);
|
||||
return convertView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getChildrenCount(int groupPosition) {
|
||||
return this._listDataChild.get(this._listDataHeader.get(groupPosition))
|
||||
.size();
|
||||
}
|
||||
|
||||
public String getKey(int pos) {
|
||||
return String.valueOf(listResult.keySet().toArray()[pos]);
|
||||
}
|
||||
|
||||
public String getValues(String key) {
|
||||
return String.valueOf(listResult.get(key));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getGroup(int groupPosition) {
|
||||
return this._listDataHeader.get(groupPosition);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getGroupCount() {
|
||||
return listResult.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getGroupId(int groupPosition) {
|
||||
return groupPosition;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getGroupView(int groupPosition, boolean isExpanded,
|
||||
View convertView, ViewGroup parent) {
|
||||
// String headerTitle = (String) getGroup(groupPosition);
|
||||
if (convertView == null) {
|
||||
LayoutInflater infalInflater = (LayoutInflater) this._context
|
||||
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
convertView = infalInflater.inflate(R.layout.new_survey_assignment_item, null);
|
||||
}
|
||||
|
||||
// TextView lblListHeader = (TextView) convertView
|
||||
// .findViewById(R.id.txtOrderList);
|
||||
// lblListHeader.setTypeface(null, Typeface.BOLD);
|
||||
// lblListHeader.setText(headerTitle);
|
||||
|
||||
String noOrder = getKey(groupPosition);
|
||||
String custName = getValues(noOrder);
|
||||
|
||||
TextView lblNoOrder = (TextView) convertView.findViewById(R.id.txtNoOrder);
|
||||
TextView lblCustName = (TextView) convertView.findViewById(R.id.txtCustomerName);
|
||||
|
||||
lblNoOrder.setText(noOrder);
|
||||
lblCustName.setText(custName);
|
||||
|
||||
return convertView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasStableIds() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isChildSelectable(int groupPosition, int childPosition) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void removeGroup(int position){
|
||||
_listDataChild.remove(_listDataHeader.get(position));
|
||||
_listDataHeader.remove(position);
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package com.adins.mss.svy.models;
|
||||
|
||||
import com.adins.mss.foundation.http.MssRequestType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class JsonGetVerificationActionRequest extends MssRequestType {
|
||||
/** Property uuid_task_h */
|
||||
@SerializedName("uuid_task_h")
|
||||
public String uuid_task_h;
|
||||
|
||||
/**
|
||||
* Gets the uuid_task_h
|
||||
*/
|
||||
public String getUuid_task_h() {
|
||||
return this.uuid_task_h;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the uuid_task_h
|
||||
*/
|
||||
public void setUuid_task_h(String value) {
|
||||
this.uuid_task_h = value;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
package com.adins.mss.svy.models;
|
||||
|
||||
import com.adins.mss.foundation.http.MssRequestType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class JsonRequestRejectedVerificationTask extends MssRequestType {
|
||||
@SerializedName("uuid_task_h")
|
||||
String uuid_task_h;
|
||||
@SerializedName("flag")
|
||||
String flag;
|
||||
@SerializedName("notes")
|
||||
String notes;
|
||||
|
||||
public String getNotes() {
|
||||
return this.notes;
|
||||
}
|
||||
|
||||
public void setNotes(String value) {
|
||||
this.notes = value;
|
||||
}
|
||||
|
||||
public String getUuid_task_h() {
|
||||
return this.uuid_task_h;
|
||||
}
|
||||
|
||||
public void setUuid_task_h(String value) {
|
||||
this.uuid_task_h = value;
|
||||
}
|
||||
|
||||
public String getFlag() {
|
||||
return this.flag;
|
||||
}
|
||||
|
||||
public void setFlag(String value) {
|
||||
this.flag = value;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package com.adins.mss.svy.models;
|
||||
|
||||
import com.adins.mss.foundation.http.MssRequestType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class JsonRequestTaskWithMode extends MssRequestType {
|
||||
/** Property mode */
|
||||
@SerializedName("mode")
|
||||
String mode;
|
||||
|
||||
/**
|
||||
* Gets the mode
|
||||
*/
|
||||
public String getMode() {
|
||||
return this.mode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the mode
|
||||
*/
|
||||
public void setMode(String value) {
|
||||
this.mode = value;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
package com.adins.mss.svy.models;
|
||||
|
||||
import com.adins.mss.foundation.http.MssRequestType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
/**
|
||||
* Created by olivia.dg on 6/2/2017.
|
||||
*/
|
||||
|
||||
public class JsonRequestUserList extends MssRequestType {
|
||||
/** Property uuid_task_h */
|
||||
@SerializedName("uuid_task_h")
|
||||
public String uuid_task_h;
|
||||
@SerializedName("access_mode")
|
||||
private String access_mode;
|
||||
|
||||
/**
|
||||
* Gets the uuid_task_h
|
||||
*/
|
||||
public String getUuid_task_h() {
|
||||
return this.uuid_task_h;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the uuid_task_h
|
||||
*/
|
||||
public void setUuid_task_h(String value) {
|
||||
this.uuid_task_h = value;
|
||||
}
|
||||
|
||||
public String getAccess_mode() {
|
||||
return this.access_mode;
|
||||
}
|
||||
|
||||
public void setAccess_mode(String value) {
|
||||
this.access_mode = value;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,114 @@
|
|||
package com.adins.mss.svy.models;
|
||||
|
||||
import com.adins.mss.foundation.http.MssRequestType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class RequestRejectedWithResurvey extends MssRequestType {
|
||||
/** Property uuid_task_h */
|
||||
@SerializedName("uuid_task_h")
|
||||
String uuid_task_h;
|
||||
|
||||
/** Property flag */
|
||||
@SerializedName("flag")
|
||||
String flag;
|
||||
|
||||
/** Property uuid_user */
|
||||
@SerializedName("uuid_user")
|
||||
String uuid_user;
|
||||
|
||||
/** Property uuid_ms_user */
|
||||
@SerializedName("uuid_ms_user")
|
||||
String uuid_ms_user;
|
||||
|
||||
/** Property is_suggested */
|
||||
@SerializedName("is_suggested")
|
||||
String is_suggested;
|
||||
|
||||
/** Property notes */
|
||||
@SerializedName("notes")
|
||||
String notes;
|
||||
|
||||
/**
|
||||
* Gets the uuid_ms_user
|
||||
*/
|
||||
public String getUuid_ms_user() {
|
||||
return this.uuid_ms_user;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the uuid_ms_user
|
||||
*/
|
||||
public void setUuid_ms_user(String value) {
|
||||
this.uuid_ms_user = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the is_suggested
|
||||
*/
|
||||
public String getIs_suggested() {
|
||||
return this.is_suggested;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the is_suggested
|
||||
*/
|
||||
public void setIs_suggested(String value) {
|
||||
this.is_suggested = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the notes
|
||||
*/
|
||||
public String getNotes() {
|
||||
return this.notes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the notes
|
||||
*/
|
||||
public void setNotes(String value) {
|
||||
this.notes = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the uuid_task_h
|
||||
*/
|
||||
public String getUuid_task_h() {
|
||||
return this.uuid_task_h;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the uuid_task_h
|
||||
*/
|
||||
public void setUuid_task_h(String value) {
|
||||
this.uuid_task_h = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the flag
|
||||
*/
|
||||
public String getFlag() {
|
||||
return this.flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the flag
|
||||
*/
|
||||
public void setFlag(String value) {
|
||||
this.flag = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the uuid_user
|
||||
*/
|
||||
public String getUuid_user() {
|
||||
return this.uuid_user;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the uuid_user
|
||||
*/
|
||||
public void setUuid_user(String value) {
|
||||
this.uuid_user = value;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package com.adins.mss.svy.models;
|
||||
|
||||
/**
|
||||
* Created by Aditya Purwa on 1/28/2015.
|
||||
*/
|
||||
public class ResponseStatus {
|
||||
private int code;
|
||||
|
||||
public int getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(int code) {
|
||||
this.code = code;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,78 @@
|
|||
package com.adins.mss.svy.models;
|
||||
|
||||
import androidx.annotation.Keep;
|
||||
|
||||
import com.adins.mss.foundation.http.MssResponseType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class SuggestOnVerification extends MssResponseType {
|
||||
@SerializedName("listUser")
|
||||
public List<ListUser> listUser;
|
||||
|
||||
/**
|
||||
* Gets the listUser
|
||||
*/
|
||||
public List<ListUser> getListUser() {
|
||||
return this.listUser;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the listUser
|
||||
*/
|
||||
public void setListUser(List<ListUser> value) {
|
||||
this.listUser = value;
|
||||
}
|
||||
|
||||
public class ListUser {
|
||||
@Keep
|
||||
public String uuid_ms_user;
|
||||
@Keep
|
||||
public String fullname;
|
||||
@Keep
|
||||
public String is_suggested;
|
||||
|
||||
/**
|
||||
* Gets the uuid_ms_user
|
||||
*/
|
||||
public String getUuid_ms_user() {
|
||||
return this.uuid_ms_user;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the uuid_ms_user
|
||||
*/
|
||||
public void setUuid_ms_user(String value) {
|
||||
this.uuid_ms_user = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the fullname
|
||||
*/
|
||||
public String getFullname() {
|
||||
return this.fullname;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the fullname
|
||||
*/
|
||||
public void setFullname(String value) {
|
||||
this.fullname = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the is_suggested
|
||||
*/
|
||||
public String getIs_suggested() {
|
||||
return this.is_suggested;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the is_suggested
|
||||
*/
|
||||
public void setIs_suggested(String value) {
|
||||
this.is_suggested = value;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
package com.adins.mss.svy.models;
|
||||
|
||||
import com.adins.mss.foundation.http.MssRequestType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Created by Aditya Purwa on 1/28/2015.
|
||||
*/
|
||||
public class SurveyorSearchRequest extends MssRequestType {
|
||||
@SerializedName("date1")
|
||||
private Date date1;
|
||||
@SerializedName("date2")
|
||||
private Date date2;
|
||||
@SerializedName("month")
|
||||
private String month;
|
||||
@SerializedName("year")
|
||||
private String year;
|
||||
|
||||
public String getYear() {
|
||||
return year;
|
||||
}
|
||||
|
||||
public void setYear(String year) {
|
||||
this.year = year;
|
||||
}
|
||||
|
||||
public Date getDate1() {
|
||||
return date1;
|
||||
}
|
||||
|
||||
public void setDate1(Date date1) {
|
||||
this.date1 = date1;
|
||||
}
|
||||
|
||||
public Date getDate2() {
|
||||
return date2;
|
||||
}
|
||||
|
||||
public void setDate2(Date date2) {
|
||||
this.date2 = date2;
|
||||
}
|
||||
|
||||
public String getMonth() {
|
||||
return month;
|
||||
}
|
||||
|
||||
public void setMonth(String month) {
|
||||
this.month = month;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package com.adins.mss.svy.models;
|
||||
|
||||
import com.adins.mss.foundation.http.KeyValue;
|
||||
import com.adins.mss.foundation.http.MssResponseType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
/**
|
||||
* Created by Aditya Purwa on 1/28/2015.
|
||||
*/
|
||||
public class SurveyorSearchResponse extends MssResponseType{
|
||||
@SerializedName("listKeyValue")
|
||||
private KeyValue[] listKeyValue;
|
||||
// private Status status;
|
||||
|
||||
public KeyValue[] getListKeyValue() {
|
||||
return listKeyValue;
|
||||
}
|
||||
|
||||
public void setListKeyValue(KeyValue[] listKeyValue) {
|
||||
this.listKeyValue = listKeyValue;
|
||||
}
|
||||
|
||||
// public Status getStatus() {
|
||||
// return this.status;
|
||||
// }
|
||||
//
|
||||
// public void setStatus(Status status) {
|
||||
// this.status = status;
|
||||
// }
|
||||
}
|
|
@ -0,0 +1,351 @@
|
|||
package com.adins.mss.svy.reassignment;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.ActionBar;
|
||||
import android.app.DatePickerDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.AdapterView.OnItemSelectedListener;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.Button;
|
||||
import android.widget.CalendarView;
|
||||
import android.widget.DatePicker;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.util.Utility;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.foundation.formatter.Formatter;
|
||||
import com.adins.mss.foundation.formatter.Tool;
|
||||
import com.adins.mss.svy.R;
|
||||
import com.adins.mss.svy.tool.Constants;
|
||||
|
||||
import org.acra.ACRA;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
public class CheckOrderActivity extends Fragment implements OnClickListener, OnItemSelectedListener {
|
||||
|
||||
|
||||
protected static EditText txtStartDate;
|
||||
protected static EditText txtEndDate;
|
||||
protected EditText txtNomorOrder;
|
||||
protected Spinner spinnerSearch;
|
||||
protected View view;
|
||||
private String[] isiSearchBy;
|
||||
private Button btnSearch;
|
||||
private ImageView btnStartDate;
|
||||
private ImageView btnEndDate;
|
||||
private LinearLayout byDateLayout;
|
||||
private LinearLayout byNomorLayout;
|
||||
static CalendarView.OnDateChangeListener onDateChangeListener;
|
||||
|
||||
@Override
|
||||
public void onAttach(Context activity) {
|
||||
super.onAttach(activity);
|
||||
ACRA.getErrorReporter().putCustomData("LAST_CLASS_ACCESSED", getClass().getSimpleName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
Utility.freeMemory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
super.onCreateView(inflater, container, savedInstanceState);
|
||||
view = inflater.inflate(R.layout.new_fragment_check_survey_reassign, container, false);
|
||||
//onDateChangeListener = this;
|
||||
txtStartDate = (EditText)view.findViewById(R.id.txtStartDate);
|
||||
txtEndDate = (EditText)view.findViewById(R.id.txtEndDate);
|
||||
// txtNomorOrder = (EditText)view.findViewById(R.id.txtNomorOrder);
|
||||
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=(LinearLayout) view.findViewById(R.id.byDate);
|
||||
// byNomorLayout=(LinearLayout) view.findViewById(R.id.byNoOrder);
|
||||
|
||||
btnStartDate.setOnClickListener(this);
|
||||
btnEndDate.setOnClickListener(this);
|
||||
btnSearch.setOnClickListener(this);
|
||||
|
||||
// isiSearchBy = this.getResources().getStringArray(R.array.cbOrderReassign);
|
||||
// if(isiSearchBy.length>1){
|
||||
// ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource(
|
||||
// getActivity(), R.array.cbOrderReassign,
|
||||
// R.layout.spinner_style);
|
||||
//
|
||||
// spinnerSearch.setAdapter(adapter);
|
||||
// spinnerSearch.setOnItemSelectedListener(this);
|
||||
// }else{
|
||||
// view.findViewById(R.id.btnRefresh).setVisibility(View.GONE);
|
||||
// spinnerSearch.setVisibility(View.GONE);
|
||||
// }
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
Global.haveLogin = 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume(){
|
||||
super.onResume();
|
||||
// getActivity().getActionBar().removeAllTabs();
|
||||
// getActivity().getActionBar().setTitle(getString(R.string.title_mn_checkorder));
|
||||
// getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
|
||||
}
|
||||
|
||||
protected Intent getNextActivityIntent(){
|
||||
// return new Intent(getActivity().getApplicationContext(), ResultActivity.class);
|
||||
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.btnStartDate){
|
||||
DialogFragment datePicker = new DatePickerDialogCustom();
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString(Constants.KEY_DATE, Constants.KEY_START_DATE);
|
||||
bundle.putInt(Constants.KEY_START_DATE, Constants.START_DATE_DIALOG_ID);
|
||||
datePicker.setArguments(bundle);
|
||||
|
||||
datePicker.show(getFragmentManager(), Constants.KEY_START_DATE);
|
||||
|
||||
}
|
||||
if(id==R.id.btnEndDate){
|
||||
DialogFragment datePicker = new DatePickerDialogCustom();
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString(Constants.KEY_DATE, Constants.KEY_END_DATE);
|
||||
bundle.putInt(Constants.KEY_END_DATE, Constants.END_DATE_DIALOG_ID);
|
||||
datePicker.setArguments(bundle);
|
||||
|
||||
datePicker.show(getFragmentManager(), Constants.KEY_END_DATE);
|
||||
|
||||
}
|
||||
if(id==R.id.btnSearchOrder){
|
||||
// String starDate=txtStartDate.getText().toString();
|
||||
// String endDate=txtEndDate.getText().toString();
|
||||
// String noOrder=txtNomorOrder.getText().toString();
|
||||
//
|
||||
// if((starDate.length()>0&&endDate.length()>0)||noOrder.length()>0){
|
||||
// Intent nextActivity = getNextActivityIntent();
|
||||
//
|
||||
// nextActivity.putExtra("startDate", txtStartDate.getText().toString());
|
||||
// nextActivity.putExtra("endDate", txtEndDate.getText().toString());
|
||||
// nextActivity.putExtra("nomorOrder", txtNomorOrder.getText().toString());
|
||||
//
|
||||
// startActivity(nextActivity);
|
||||
// }else{
|
||||
// Toast.makeText(getActivity(), "input required !",
|
||||
// Toast.LENGTH_LONG).show();
|
||||
// }
|
||||
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());
|
||||
Calendar sCalendar = Calendar.getInstance();
|
||||
sCalendar.setTimeInMillis(sDate.getTime());
|
||||
Calendar eCalendar = Calendar.getInstance();
|
||||
eCalendar.setTimeInMillis(eDate.getTime());
|
||||
eCalendar.set(eCalendar.HOUR_OF_DAY, 23);
|
||||
eCalendar.set(eCalendar.MINUTE, 59);
|
||||
eCalendar.set(eCalendar.SECOND, 59);
|
||||
sLong = sCalendar.getTimeInMillis();
|
||||
eLong = eCalendar.getTimeInMillis();
|
||||
} 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) {
|
||||
FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
// } else {
|
||||
// if(txtNomorOrder.getText().toString().length()==0){
|
||||
// errorMessage.append(getString(R.string.nomor_order_rewuired));
|
||||
// }
|
||||
// }
|
||||
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());
|
||||
|
||||
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);
|
||||
txtStartDate.setText("");
|
||||
txtEndDate.setText("");
|
||||
}
|
||||
else if (itemSearchBy == 0){
|
||||
byDateLayout.setVisibility(View.VISIBLE);
|
||||
byNomorLayout.setVisibility(View.GONE);
|
||||
txtNomorOrder.setText("");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNothingSelected(AdapterView<?> arg0) {
|
||||
|
||||
}
|
||||
|
||||
/*@Override
|
||||
public void onStartDateSetListener(String startDate) {
|
||||
txtStartDate.setText(startDate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEndDateSetListener(String endDate) {
|
||||
txtEndDate.setText(endDate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
|
||||
|
||||
}*/
|
||||
|
||||
@SuppressLint("ValidFragment")
|
||||
public static 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;
|
||||
//onDateChangeListener.onStartDateSetListener(startDate);
|
||||
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;
|
||||
//onDateChangeListener.onEndDateSetListener(endDate);
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,91 @@
|
|||
package com.adins.mss.svy.reassignment;
|
||||
|
||||
import com.adins.mss.foundation.http.MssRequestType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
/**
|
||||
* @author gigin.ginanjar
|
||||
*
|
||||
*/
|
||||
public class JsonRequestCheckOrder extends MssRequestType{
|
||||
@SerializedName("order_number")
|
||||
String order_number;
|
||||
@SerializedName("start_date")
|
||||
String start_date;
|
||||
@SerializedName("end_date")
|
||||
String end_date;
|
||||
@SerializedName("status")
|
||||
String status;
|
||||
@SerializedName("flag")
|
||||
String flag;
|
||||
|
||||
/**
|
||||
* Gets the flag
|
||||
*/
|
||||
public String getFlag() {
|
||||
return this.flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the flag
|
||||
*/
|
||||
public void setFlag(String value) {
|
||||
this.flag = value;
|
||||
}
|
||||
/**
|
||||
* Gets the orderNumber
|
||||
*/
|
||||
public String getOrderNumber() {
|
||||
return this.order_number;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the orderNumber
|
||||
*/
|
||||
public void setOrderNumber(String value) {
|
||||
this.order_number = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the startDate
|
||||
*/
|
||||
public String getStartDate() {
|
||||
return this.start_date;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the startDate
|
||||
*/
|
||||
public void setStartDate(String value) {
|
||||
this.start_date = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the endDate
|
||||
*/
|
||||
public String getEndDate() {
|
||||
return this.end_date;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the endDate
|
||||
*/
|
||||
public void setEndDate(String value) {
|
||||
this.end_date = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the status
|
||||
*/
|
||||
public String getStatus() {
|
||||
return this.status;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the status
|
||||
*/
|
||||
public void setStatus(String value) {
|
||||
this.status = value;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
package com.adins.mss.svy.reassignment;
|
||||
|
||||
import com.adins.mss.foundation.http.MssRequestType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class JsonRequestDetailOrder extends MssRequestType{
|
||||
/** Property flag */
|
||||
@SerializedName("flag")
|
||||
String flag;
|
||||
|
||||
/** Property nomor_order */
|
||||
@SerializedName("nomor_order")
|
||||
String nomor_order;
|
||||
|
||||
@SerializedName("uuid_task_h")
|
||||
String uuid_task_h;
|
||||
|
||||
/** Property question_id */
|
||||
@SerializedName("question_id")
|
||||
String question_id;
|
||||
|
||||
/**
|
||||
* Gets the uuid_task_h
|
||||
*/
|
||||
public String getUuid_task_h() {
|
||||
return this.uuid_task_h;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the uuid_task_h
|
||||
*/
|
||||
public void setUuid_task_h(String value) {
|
||||
this.uuid_task_h = value;
|
||||
}
|
||||
/**
|
||||
* Gets the flag
|
||||
*/
|
||||
public String getFlag() {
|
||||
return this.flag;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the flag
|
||||
*/
|
||||
public void setFlag(String value) {
|
||||
this.flag = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the nomor_order
|
||||
*/
|
||||
public String getNomor_order() {
|
||||
return this.nomor_order;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the nomor_order
|
||||
*/
|
||||
public void setNomor_order(String value) {
|
||||
this.nomor_order = value;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
package com.adins.mss.svy.reassignment;
|
||||
|
||||
import com.adins.mss.foundation.http.MssRequestType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class JsonRequestImage extends MssRequestType{
|
||||
/** Property uuid_task_h */
|
||||
@SerializedName("uuid_task_h")
|
||||
String uuid_task_h;
|
||||
|
||||
/** Property question_id */
|
||||
@SerializedName("question_id")
|
||||
String question_id;
|
||||
|
||||
/**
|
||||
* Gets the uuid_task_h
|
||||
*/
|
||||
public String getUuid_task_h() {
|
||||
return this.uuid_task_h;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the uuid_task_h
|
||||
*/
|
||||
public void setUuid_task_h(String value) {
|
||||
this.uuid_task_h = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the question_id
|
||||
*/
|
||||
public String getQuestion_id() {
|
||||
return this.question_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the question_id
|
||||
*/
|
||||
public void setQuestion_id(String value) {
|
||||
this.question_id = value;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,78 @@
|
|||
package com.adins.mss.svy.reassignment;
|
||||
|
||||
import com.adins.mss.foundation.http.MssRequestType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class JsonRequestSubmitAssign extends MssRequestType{
|
||||
/** Property uuid_user */
|
||||
@SerializedName("uuidUserAssign")
|
||||
String uuidUserAssign;
|
||||
|
||||
/** Property uuid_task_h */
|
||||
@SerializedName("uuid_task_h")
|
||||
String uuid_task_h;
|
||||
|
||||
/** Property flag */
|
||||
@SerializedName("flag")
|
||||
String flag;
|
||||
|
||||
/** Property notes */
|
||||
@SerializedName("notes")
|
||||
String notes;
|
||||
|
||||
/**
|
||||
* Gets the uuid_user
|
||||
*/
|
||||
public String getUuidUserAssign() {
|
||||
return this.uuidUserAssign;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the uuid_user
|
||||
*/
|
||||
public void setUuidUserAssign(String value) {
|
||||
this.uuidUserAssign = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the uuid_task_h
|
||||
*/
|
||||
public String getUuid_task_h() {
|
||||
return this.uuid_task_h;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the uuid_task_h
|
||||
*/
|
||||
public void setUuid_task_h(String value) {
|
||||
this.uuid_task_h = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the flag
|
||||
*/
|
||||
public String getFlag() {
|
||||
return this.flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the flag
|
||||
*/
|
||||
public void setFlag(String value) {
|
||||
this.flag = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the notes
|
||||
*/
|
||||
public String getNotes() {
|
||||
return this.notes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the notes
|
||||
*/
|
||||
public void setNotes(String value) {
|
||||
this.notes = value;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
package com.adins.mss.svy.reassignment;
|
||||
|
||||
import com.adins.mss.foundation.http.KeyValue;
|
||||
import com.adins.mss.foundation.http.MssResponseType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class JsonResponseServer extends MssResponseType{
|
||||
@SerializedName("listResponseServer")
|
||||
List<ResponseServer> listResponseServer;
|
||||
|
||||
public List<ResponseServer> getListResponseServer() {
|
||||
return listResponseServer;
|
||||
}
|
||||
public void setListResponseServer(List<ResponseServer> listResponseServer) {
|
||||
this.listResponseServer = listResponseServer;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class ResponseServer extends KeyValue {
|
||||
@SerializedName("flag")
|
||||
String flag;
|
||||
@SerializedName("subListResponseServer")
|
||||
List<ResponseServer> subListResponseServer;
|
||||
@SerializedName("formName")
|
||||
String formName;
|
||||
|
||||
public ResponseServer(String key, String value) {
|
||||
super(key, value);
|
||||
}
|
||||
public String getFormName() {
|
||||
return this.formName;
|
||||
}
|
||||
|
||||
public void setFormName(String value) {
|
||||
this.formName = value;
|
||||
}
|
||||
|
||||
public String getFlag() {
|
||||
return flag;
|
||||
}
|
||||
|
||||
public void setFlag(String flag) {
|
||||
this.flag = flag;
|
||||
}
|
||||
|
||||
public List<ResponseServer> getSubListResponseServer() {
|
||||
return subListResponseServer;
|
||||
}
|
||||
|
||||
public void setSubListResponseServer(List<ResponseServer> subListResponseServer) {
|
||||
this.subListResponseServer = subListResponseServer;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
package com.adins.mss.svy.reassignment;
|
||||
|
||||
/**
|
||||
* Created by ahmadkamilalmasyhur on 26/03/2018.
|
||||
*/
|
||||
|
||||
public interface OnDateChangeListener {
|
||||
void onStartDateSetListener(String startDate);
|
||||
void onEndDateSetListener(String endDate);
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
package com.adins.mss.svy.reassignment;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by winy.firdasari on 20/01/2015.
|
||||
*/
|
||||
public class Order {
|
||||
public String orderNo;
|
||||
public String customerName;
|
||||
public List<StatusOrder> statusOrder;
|
||||
|
||||
|
||||
public Order(){
|
||||
|
||||
}
|
||||
|
||||
public String getOrderNo() {
|
||||
return orderNo;
|
||||
}
|
||||
public void setOrderNo(String orderNo) {
|
||||
this.orderNo = orderNo;
|
||||
}
|
||||
public String getCustomerName() {
|
||||
return customerName;
|
||||
}
|
||||
public void setCustomerName(String customerName) {
|
||||
this.customerName = customerName;
|
||||
}
|
||||
public List<StatusOrder> getStatusOrder() {
|
||||
return statusOrder;
|
||||
}
|
||||
public void setStatusOrder(List<StatusOrder> statusOrder) {
|
||||
this.statusOrder = statusOrder;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
package com.adins.mss.svy.reassignment;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by winy.firdasari on 20/01/2015.
|
||||
*/
|
||||
public class OrderChecking {
|
||||
public List<Order> orderList;
|
||||
|
||||
public OrderChecking(){
|
||||
|
||||
}
|
||||
|
||||
|
||||
public List<Order> getOrderList() {
|
||||
return orderList;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setOrderList(List<Order> orderList) {
|
||||
this.orderList = orderList;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,115 @@
|
|||
package com.adins.mss.svy.reassignment;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.foundation.UserHelp.UserHelp;
|
||||
import com.adins.mss.svy.R;
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
|
||||
import org.acra.ACRA;
|
||||
|
||||
import static com.adins.mss.constant.Global.SHOW_USERHELP_DELAY_DEFAULT;
|
||||
|
||||
public class OrderFilterActivity extends CheckOrderActivity{
|
||||
private int taskType;
|
||||
private Spinner cbSearchByStatus;
|
||||
private TextView labelSearchByStatus;
|
||||
private RelativeLayout layoutFilterByStatus;
|
||||
private Bundle mArguments;
|
||||
private FirebaseAnalytics screenName;
|
||||
public OrderFilterActivity() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttach(Context activity) {
|
||||
super.onAttach(activity);
|
||||
setHasOptionsMenu(true);
|
||||
ACRA.getErrorReporter().putCustomData("LAST_CLASS_ACCESSED", getClass().getSimpleName());
|
||||
mArguments = getArguments();
|
||||
taskType = mArguments.getInt(Global.BUND_KEY_TASK_TYPE, 0);
|
||||
}
|
||||
|
||||
@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() {
|
||||
UserHelp.showAllUserHelp(OrderFilterActivity.this.getActivity(), OrderFilterActivity.this.getClass().getSimpleName());
|
||||
}
|
||||
}, SHOW_USERHELP_DELAY_DEFAULT);
|
||||
}
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
super.onCreateView(inflater, container, savedInstanceState);
|
||||
screenName = FirebaseAnalytics.getInstance(getActivity());
|
||||
Handler handler = new Handler();
|
||||
handler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
UserHelp.showAllUserHelp(OrderFilterActivity.this.getActivity(),OrderFilterActivity.this.getClass().getSimpleName());
|
||||
}
|
||||
}, SHOW_USERHELP_DELAY_DEFAULT);
|
||||
return view;
|
||||
}
|
||||
|
||||
private void addStatusFilter() {
|
||||
labelSearchByStatus = (TextView)view.findViewById(R.id.lblSearchByStatus);
|
||||
cbSearchByStatus = (Spinner)view.findViewById(R.id.cbSearchByStatus);
|
||||
layoutFilterByStatus = (RelativeLayout)view.findViewById(R.id.filterByStatus);
|
||||
labelSearchByStatus.setVisibility(View.VISIBLE);
|
||||
layoutFilterByStatus.setVisibility(View.VISIBLE);
|
||||
ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource
|
||||
(getActivity(), R.array.cbSearchByStatus,R.layout.spinner_style);
|
||||
cbSearchByStatus.setAdapter(adapter);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Intent getNextActivityIntent() {
|
||||
Intent intent =null;
|
||||
if(taskType==Global.TASK_ORDER_REASSIGNMENT){
|
||||
intent = new Intent(getActivity(), OrderReassignmentResult.class);
|
||||
intent.putExtra(Global.BUND_KEY_TASK_TYPE, taskType);
|
||||
}
|
||||
|
||||
return intent;
|
||||
}
|
||||
@Override
|
||||
public void onResume(){
|
||||
super.onResume();
|
||||
// getActivity().getActionBar().removeAllTabs();
|
||||
//Set Firebase screen name
|
||||
screenName.setCurrentScreen(getActivity(), getString(R.string.screen_name_survey_reassignment), null);
|
||||
if(taskType==Global.TASK_CANCEL_ORDER){
|
||||
// getActivity().getActionBar().setTitle(getString(R.string.title_mn_cancelorder));
|
||||
}
|
||||
else if(taskType==Global.TASK_ORDER_REASSIGNMENT){
|
||||
// getActivity().getActionBar().setTitle(getString(R.string.title_mn_surveyreassign));
|
||||
|
||||
// olivia : set toolbar
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.search).setVisibility(View.GONE);
|
||||
getActivity().findViewById(com.adins.mss.base.R.id.spinner).setVisibility(View.GONE);
|
||||
getActivity().setTitle(getString(com.adins.mss.base.R.string.title_mn_surveyreassign));
|
||||
}
|
||||
// getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
package com.adins.mss.svy.reassignment;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.adins.mss.constant.Global;
|
||||
|
||||
import org.acra.ACRA;
|
||||
|
||||
public class OrderReassignmentActivity extends CheckOrderActivity{
|
||||
private int taskType;
|
||||
private Bundle mArguments;
|
||||
@Override
|
||||
public void onAttach(Context activity) {
|
||||
super.onAttach(activity);
|
||||
setHasOptionsMenu(false);
|
||||
ACRA.getErrorReporter().putCustomData("LAST_CLASS_ACCESSED", getClass().getSimpleName());
|
||||
mArguments = getArguments();
|
||||
taskType = mArguments.getInt(Global.BUND_KEY_TASK_TYPE, 0);
|
||||
}
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
super.onCreateView(inflater, container, savedInstanceState);
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Intent getNextActivityIntent() {
|
||||
// TODO Auto-generated method stub
|
||||
super.getNextActivityIntent();
|
||||
Intent fragment = new Intent(getActivity(), OrderReassignmentResult.class);
|
||||
Bundle args = new Bundle();
|
||||
args.putString("startDate", txtStartDate.getText().toString());
|
||||
args.putString("endDate", txtEndDate.getText().toString());
|
||||
args.putString("nomorOrder", txtNomorOrder.getText().toString());
|
||||
args.putString("status", "1");
|
||||
fragment.putExtras(args);
|
||||
return fragment;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,262 @@
|
|||
package com.adins.mss.svy.reassignment;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.ExpandableListView;
|
||||
import android.widget.ExpandableListView.OnGroupClickListener;
|
||||
|
||||
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.LocaleHelper;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.foundation.dialog.NiftyDialogBuilder;
|
||||
import com.adins.mss.foundation.formatter.Formatter;
|
||||
import com.adins.mss.svy.assignment.OrderAssignmentResult;
|
||||
import com.adins.mss.svy.models.ExpandableListAdapter;
|
||||
import com.adins.mss.svy.reassignment.JsonResponseServer.ResponseServer;
|
||||
|
||||
import org.acra.ACRA;
|
||||
import org.apache.http.NameValuePair;
|
||||
import org.apache.http.message.BasicNameValuePair;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
public class OrderReassignmentResult extends ResultOrderActivity implements OnGroupClickListener{
|
||||
public static final String ON_SURVEY = "OnSurvey";
|
||||
public static final String ON_PROGRESS_SURVEY = "On Progress Survey";
|
||||
public static final String ON_CA = "OnCA";
|
||||
public static final String ON_CA1 = "On CA";
|
||||
private int taskType;
|
||||
private String searchByStatus;
|
||||
private List<ResponseServer> responseServer;
|
||||
ExpandableListAdapter listAdapter;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
ACRA.getErrorReporter().putCustomData("LAST_CLASS_ACCESSED", getClass().getSimpleName());
|
||||
taskType = this.getIntent().getIntExtra(Global.BUND_KEY_TASK_TYPE, 0);
|
||||
}
|
||||
@Override
|
||||
protected void initialize() {
|
||||
super.initialize();
|
||||
expListView.setGroupIndicator(null);
|
||||
expListView.setOnGroupClickListener(this);
|
||||
|
||||
Intent i = getIntent();
|
||||
searchByStatus = i.getStringExtra("status");
|
||||
if(searchByStatus==null){
|
||||
searchByStatus="1";
|
||||
}
|
||||
}
|
||||
@Override
|
||||
protected void attachBaseContext(Context newBase) {
|
||||
Context context = newBase;
|
||||
Locale locale;
|
||||
try{
|
||||
locale = new Locale(GlobalData.getSharedGlobalData().getLocale());
|
||||
context = LocaleHelper.wrap(newBase, locale);
|
||||
} catch (Exception e) {
|
||||
locale = new Locale(LocaleHelper.ENGLSIH);
|
||||
context = LocaleHelper.wrap(newBase, locale);
|
||||
} finally {
|
||||
super.attachBaseContext(context);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onResume(){
|
||||
super.onResume();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getUsedURL() {
|
||||
return GlobalData.getSharedGlobalData().getURL_GET_LIST_REASSIGNMENT();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<NameValuePair> generateRequestParam() throws ParseException {
|
||||
String sdtSDate = "1";
|
||||
String sdtEDate = "1";
|
||||
if(startDate==null||endDate==null||"".equalsIgnoreCase(startDate)||"".equalsIgnoreCase(endDate)
|
||||
||"1".equalsIgnoreCase(startDate)||"1".equalsIgnoreCase(endDate)){
|
||||
|
||||
}else{
|
||||
//convert format date biar bisa di tranlate di DB servernya
|
||||
SimpleDateFormat f = new SimpleDateFormat(Global.DATE_STR_FORMAT);
|
||||
|
||||
Date sDate,eDate;
|
||||
sDate = f.parse(startDate);
|
||||
eDate = f.parse(endDate);
|
||||
sdtSDate = Formatter.formatDate(sDate, Global.DATE_STR_FORMAT_GSON);
|
||||
sdtEDate = Formatter.formatDate(eDate, Global.DATE_STR_FORMAT_GSON);
|
||||
}
|
||||
|
||||
if (orderNumber == null) orderNumber = "1";
|
||||
|
||||
String flag = flagParamForType(this.taskType);
|
||||
|
||||
List<NameValuePair> param = new ArrayList<NameValuePair>();
|
||||
|
||||
param.add(new BasicNameValuePair("startdate", sdtSDate));
|
||||
param.add(new BasicNameValuePair("enddate", sdtEDate));
|
||||
param.add(new BasicNameValuePair("ordernumber", orderNumber));
|
||||
param.add(new BasicNameValuePair("flag", flag));
|
||||
param.add(new BasicNameValuePair("status", searchByStatus ));
|
||||
|
||||
return param;
|
||||
}
|
||||
|
||||
protected String flagParamForType(int taskType){
|
||||
|
||||
String flagParam;
|
||||
switch (taskType) {
|
||||
case Global.TASK_ORDER_ASSIGNMENT:
|
||||
flagParam = Global.FLAG_FOR_ORDERASSIGNMENT;
|
||||
break;
|
||||
case Global.TASK_ORDER_REASSIGNMENT:
|
||||
flagParam = Global.FLAG_FOR_ORDERREASSIGNMENT;
|
||||
break;
|
||||
case Global.TASK_CANCEL_ORDER:
|
||||
//bangkit 20141027 change param from UO to UOC
|
||||
flagParam = Global.FLAG_FOR_CANCELORDER;
|
||||
break;
|
||||
default:
|
||||
flagParam = "";
|
||||
break;
|
||||
}
|
||||
return flagParam;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition,
|
||||
long id) {
|
||||
// TODO Auto-generated method stub
|
||||
String nomorOrder = responseServer.get(groupPosition).getKey();
|
||||
String uuid_task_h = responseServer.get(groupPosition).getFlag();
|
||||
String formName = responseServer.get(groupPosition).getFormName();
|
||||
gotoDetailData(taskType, nomorOrder, uuid_task_h, formName);
|
||||
return true;
|
||||
}
|
||||
|
||||
protected void gotoDetailData(int taskType, String nomorOrder, String uuid_task_h, String formName){
|
||||
|
||||
Intent intent = null;
|
||||
|
||||
switch (taskType) {
|
||||
case Global.TASK_ORDER_ASSIGNMENT:
|
||||
break;
|
||||
case Global.TASK_ORDER_REASSIGNMENT:
|
||||
intent = new Intent(this, OrderAssignmentResult.class);
|
||||
intent.putExtra(Global.BUND_KEY_ORDERNO, nomorOrder);
|
||||
intent.putExtra(Global.BUND_KEY_FORM_NAME, formName);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
intent.putExtra(Global.BUND_KEY_TASK_TYPE, taskType);
|
||||
intent.putExtra(Global.BUND_KEY_ORDERNO, nomorOrder);
|
||||
intent.putExtra(Global.BUND_KEY_UUID_TASKH, uuid_task_h);
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
protected String flagParamForStatusCode(String code){
|
||||
String flagParam;
|
||||
|
||||
if(ON_SURVEY.equalsIgnoreCase(code)){
|
||||
flagParam = ON_PROGRESS_SURVEY;
|
||||
}else if (ON_CA.equalsIgnoreCase(code)){
|
||||
flagParam = ON_CA1;
|
||||
}else{
|
||||
flagParam = "";
|
||||
}
|
||||
|
||||
return flagParam;
|
||||
}
|
||||
@Override
|
||||
protected void processServerResponse(String result) {
|
||||
listDataHeader = new ArrayList<String>();
|
||||
listDataChild = new HashMap<String, List<String>>();
|
||||
LinkedHashMap<String, String> listResult = new LinkedHashMap<>();
|
||||
|
||||
try {
|
||||
JsonResponseServer resultOrder= GsonHelper.fromJson(result, JsonResponseServer.class);
|
||||
if(resultOrder.getStatus().getCode() == 0){
|
||||
responseServer = resultOrder.getListResponseServer();
|
||||
if(responseServer != null && responseServer.size() > 0){
|
||||
for(int i=0; i<responseServer.size(); i++){
|
||||
ResponseServer mobileBean = responseServer.get(i);
|
||||
|
||||
String orderNo = "";
|
||||
if(mobileBean.getKey()!=null)
|
||||
orderNo = mobileBean.getKey();
|
||||
String customerName = mobileBean.getValue();
|
||||
listResult.put(orderNo, customerName);
|
||||
listAdapter = new ExpandableListAdapter(this, listResult);
|
||||
expListView.setAdapter(listAdapter);
|
||||
}
|
||||
}
|
||||
else{
|
||||
String message;
|
||||
if(resultOrder.getStatus().getMessage()!=null){
|
||||
message = getString(com.adins.mss.base.R.string.data_not_found) +resultOrder.getStatus().getMessage();
|
||||
}else{
|
||||
message = getString(com.adins.mss.base.R.string.data_not_found);
|
||||
}
|
||||
final NiftyDialogBuilder builder = NiftyDialogBuilder.getInstance(this);
|
||||
builder.withTitle(getString(com.adins.mss.base.R.string.info_capital))
|
||||
.withMessage(message)
|
||||
.withButton1Text(getString(com.adins.mss.base.R.string.btnOk))
|
||||
.setButton1Click(new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
builder.dismiss();
|
||||
finish();
|
||||
}
|
||||
}).show();
|
||||
}
|
||||
}else{
|
||||
if(GlobalData.isRequireRelogin()){
|
||||
return;
|
||||
}
|
||||
final NiftyDialogBuilder builder = NiftyDialogBuilder.getInstance(this);
|
||||
builder.withTitle(getString(com.adins.mss.base.R.string.info_capital))
|
||||
.withMessage(getString(com.adins.mss.base.R.string.data_not_found))
|
||||
.withButton1Text(getString(com.adins.mss.base.R.string.btnOk))
|
||||
.setButton1Click(new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
builder.dismiss();
|
||||
finish();
|
||||
}
|
||||
}).show();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
if(Global.IS_DEV) System.out.println(e);
|
||||
final NiftyDialogBuilder builder = NiftyDialogBuilder.getInstance(this);
|
||||
builder.withTitle(getString(com.adins.mss.base.R.string.info_capital))
|
||||
.withMessage(e.getMessage())
|
||||
.withButton1Text(getString(com.adins.mss.base.R.string.btnOk))
|
||||
.setButton1Click(new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
builder.dismiss();
|
||||
finish();
|
||||
}
|
||||
}).show();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,363 @@
|
|||
package com.adins.mss.svy.reassignment;
|
||||
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import android.view.View;
|
||||
import android.widget.ExpandableListView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.commons.TaskListener;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.util.GsonHelper;
|
||||
import com.adins.mss.base.util.LocaleHelper;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.foundation.dialog.NiftyDialogBuilder;
|
||||
import com.adins.mss.foundation.formatter.Formatter;
|
||||
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.R;
|
||||
import com.adins.mss.svy.models.ExpandableListAdapter;
|
||||
import com.adins.mss.svy.reassignment.JsonResponseServer.ResponseServer;
|
||||
|
||||
import org.acra.ACRA;
|
||||
import org.apache.http.NameValuePair;
|
||||
import org.apache.http.message.BasicNameValuePair;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* Created by winy.firdasari on 20/01/2015.
|
||||
*/
|
||||
public class ResultOrderActivity extends AppCompatActivity {
|
||||
private static String url = GlobalData.getSharedGlobalData().getURL_CHECKORDER();
|
||||
|
||||
protected String getUsedURL(){
|
||||
return GlobalData.getSharedGlobalData().getURL_CHECKORDER();
|
||||
}
|
||||
|
||||
ExpandableListAdapter listAdapter;
|
||||
|
||||
protected ExpandableListView expListView;
|
||||
protected List<String> listDataHeader;
|
||||
protected HashMap<String, List<String>> listDataChild;
|
||||
protected String startDate;
|
||||
protected String endDate;
|
||||
protected String orderNumber;
|
||||
protected String flag;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.new_survey_reassign_activity);
|
||||
|
||||
// olivia : set toolbar
|
||||
Toolbar toolbar = (Toolbar) findViewById(com.adins.mss.base.R.id.toolbar);
|
||||
toolbar.setTitle(getString(R.string.title_mn_surveyreassign));
|
||||
toolbar.setTitleTextColor(getResources().getColor(com.adins.mss.base.R.color.fontColorWhite));
|
||||
setSupportActionBar(toolbar);
|
||||
|
||||
ACRA.getErrorReporter().putCustomData("LAST_CLASS_ACCESSED", getClass().getSimpleName());
|
||||
initialize();
|
||||
|
||||
try {
|
||||
generateRequestParam();
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
new ResultOrderTask().execute();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void attachBaseContext(Context newBase) {
|
||||
Context context = newBase;
|
||||
Locale locale;
|
||||
try{
|
||||
locale = new Locale(GlobalData.getSharedGlobalData().getLocale());
|
||||
context = LocaleHelper.wrap(newBase, locale);
|
||||
} catch (Exception e) {
|
||||
locale = new Locale(LocaleHelper.ENGLSIH);
|
||||
context = LocaleHelper.wrap(newBase, locale);
|
||||
} finally {
|
||||
super.attachBaseContext(context);
|
||||
}
|
||||
}
|
||||
|
||||
TaskListener listener = new TaskListener() {
|
||||
@Override
|
||||
public void onCompleteTask(Object result) {
|
||||
processServerResponse(result.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancelTask(boolean value) {
|
||||
//EMPTY
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocalData(Object result) {
|
||||
//EMPTY
|
||||
}
|
||||
};
|
||||
|
||||
protected void initialize() {
|
||||
Intent i = getIntent();
|
||||
// Receiving the Data
|
||||
String mStartDate = i.getStringExtra("startDate");
|
||||
String mEndDate = i.getStringExtra("endDate");
|
||||
String newflag= i.getStringExtra("flag");
|
||||
|
||||
ResultOrderActivity.url = getUsedURL();
|
||||
startDate=mStartDate;
|
||||
endDate=mEndDate;
|
||||
flag=Global.FLAG_BY_DATE;
|
||||
|
||||
if(newflag!=null){
|
||||
flag = newflag;
|
||||
}
|
||||
|
||||
if("orderTracking".equalsIgnoreCase(flag)){
|
||||
startDate="1";
|
||||
endDate="1";
|
||||
}
|
||||
|
||||
expListView = (ExpandableListView) findViewById(R.id.resultOrderlist);
|
||||
|
||||
// Listview Group click listener
|
||||
expListView.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
|
||||
@Override
|
||||
public boolean onGroupClick(ExpandableListView parent, View v,
|
||||
int groupPosition, long id) {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
// Listview Group expanded listener
|
||||
expListView.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {
|
||||
@Override
|
||||
public void onGroupExpand(int groupPosition) {
|
||||
Toast.makeText(getApplicationContext(),
|
||||
listDataHeader.get(groupPosition) + " Expanded",
|
||||
Toast.LENGTH_SHORT);
|
||||
}
|
||||
});
|
||||
|
||||
// Listview Group collasped listener
|
||||
expListView.setOnGroupCollapseListener(new ExpandableListView.OnGroupCollapseListener() {
|
||||
@Override
|
||||
public void onGroupCollapse(int groupPosition) {
|
||||
Toast.makeText(getApplicationContext(),
|
||||
listDataHeader.get(groupPosition) + " Collapsed",
|
||||
Toast.LENGTH_SHORT);
|
||||
}
|
||||
});
|
||||
|
||||
// Listview on child click listener
|
||||
expListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
|
||||
@Override
|
||||
public boolean onChildClick(ExpandableListView parent, View v,
|
||||
int groupPosition, int childPosition, long id) {
|
||||
|
||||
Toast.makeText(
|
||||
getApplicationContext(),
|
||||
listDataHeader.get(groupPosition)
|
||||
+ " : "
|
||||
+ listDataChild.get(
|
||||
listDataHeader.get(groupPosition)).get(
|
||||
childPosition), Toast.LENGTH_SHORT);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public String getDataFromURL(String url) throws IOException {
|
||||
String resp = null;
|
||||
try {
|
||||
List<NameValuePair> param = generateRequestParam();
|
||||
|
||||
JsonRequestCheckOrder requestCheckOrder = new JsonRequestCheckOrder();
|
||||
requestCheckOrder.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
if(param.get(3).getValue().equals(Global.FLAG_BY_DATE)){
|
||||
requestCheckOrder.setStartDate(param.get(0).getValue());
|
||||
requestCheckOrder.setEndDate(param.get(1).getValue());
|
||||
}
|
||||
else if(param.get(3).getValue().equals(Global.FLAG_BY_ORDERNUMBER)){
|
||||
requestCheckOrder.setOrderNumber(param.get(2).getValue());
|
||||
}
|
||||
else if(param.get(3).getValue().equals(Global.FLAG_FOR_CANCELORDER)){
|
||||
if(param.get(2).getValue().equals("1")){
|
||||
requestCheckOrder.setStartDate(param.get(0).getValue());
|
||||
requestCheckOrder.setEndDate(param.get(1).getValue());
|
||||
}else{
|
||||
requestCheckOrder.setOrderNumber(param.get(2).getValue());
|
||||
}
|
||||
}
|
||||
else if(param.get(3).getValue().equals(Global.FLAG_FOR_ORDERREASSIGNMENT)){
|
||||
if(param.get(2).getValue().equals("1")){
|
||||
requestCheckOrder.setStartDate(param.get(0).getValue());
|
||||
requestCheckOrder.setEndDate(param.get(1).getValue());
|
||||
}else{
|
||||
requestCheckOrder.setOrderNumber(param.get(2).getValue());
|
||||
}
|
||||
requestCheckOrder.setFlag(param.get(3).getValue());
|
||||
}
|
||||
String json = GsonHelper.toJson(requestCheckOrder);
|
||||
boolean encrypt = GlobalData.getSharedGlobalData().isEncrypt();
|
||||
boolean decrypt = GlobalData.getSharedGlobalData().isDecrypt();
|
||||
HttpCryptedConnection httpConn = new HttpCryptedConnection(ResultOrderActivity.this, encrypt, decrypt);
|
||||
HttpConnectionResult serverResult = null;
|
||||
try {
|
||||
serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
resp = serverResult.getResult();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
|
||||
resp=e.getMessage();
|
||||
}
|
||||
|
||||
return resp;
|
||||
}
|
||||
|
||||
protected List<NameValuePair> generateRequestParam() throws ParseException {
|
||||
String sdtSDate = "1";
|
||||
String sdtEDate = "1";
|
||||
if(startDate==null||endDate==null||"".equalsIgnoreCase(startDate)||"".equalsIgnoreCase(endDate)
|
||||
||"1".equalsIgnoreCase(startDate)||"1".equalsIgnoreCase(endDate)){
|
||||
|
||||
}else{
|
||||
//convert format date biar bisa di tranlate di DB servernya
|
||||
SimpleDateFormat f = new SimpleDateFormat(Global.DATE_STR_FORMAT);
|
||||
|
||||
Date sDate,eDate;
|
||||
sDate = f.parse(startDate);
|
||||
eDate = f.parse(endDate);
|
||||
sdtSDate = Formatter.formatDate(sDate, Global.DATE_STR_FORMAT_GSON);
|
||||
sdtEDate = Formatter.formatDate(eDate, Global.DATE_STR_FORMAT_GSON);
|
||||
}
|
||||
|
||||
|
||||
List<NameValuePair> param = new ArrayList<>();
|
||||
param.add(new BasicNameValuePair("startdate", sdtSDate));
|
||||
param.add(new BasicNameValuePair("enddate", sdtEDate));
|
||||
param.add(new BasicNameValuePair("ordernumber", orderNumber));
|
||||
param.add(new BasicNameValuePair("flag", flag));
|
||||
return param;
|
||||
}
|
||||
|
||||
protected void processServerResponse(String result) {
|
||||
if(GlobalData.isRequireRelogin()){
|
||||
return;
|
||||
}
|
||||
|
||||
listDataHeader = new ArrayList<>();
|
||||
listDataChild = new HashMap<>();
|
||||
|
||||
try {
|
||||
JsonResponseServer resultOrder = GsonHelper.fromJson(result, JsonResponseServer.class);
|
||||
for(int i=0;i<resultOrder.getListResponseServer().size();i++){
|
||||
ResponseServer responseServer = resultOrder.getListResponseServer().get(i);
|
||||
|
||||
String orderNo = responseServer.getKey();
|
||||
String customerName = responseServer.getValue();
|
||||
|
||||
listDataHeader.add(orderNo+" - "+customerName);
|
||||
List<ResponseServer> SubResultOrder = responseServer.getSubListResponseServer();
|
||||
List<String> statusOrder = new ArrayList<>();
|
||||
for(int ii = 0; ii < SubResultOrder.size(); ii++){
|
||||
ResponseServer subResponseServer = SubResultOrder.get(ii);
|
||||
statusOrder.add(subResponseServer.getValue());
|
||||
}
|
||||
|
||||
listDataChild.put(listDataHeader.get(i), statusOrder);
|
||||
listAdapter = new ExpandableListAdapter(ResultOrderActivity.this, listDataHeader, listDataChild);
|
||||
expListView.setAdapter(listAdapter);
|
||||
}
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
if(Global.IS_DEV) System.out.println(e);
|
||||
final NiftyDialogBuilder builder = NiftyDialogBuilder.getInstance(this);
|
||||
builder.withTitle(getString(R.string.info_capital))
|
||||
.withMessage(this.getString(R.string.jsonParseFailed))
|
||||
.withButton1Text(getString(R.string.btnOk))
|
||||
.setButton1Click(new View.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(View arg0) {
|
||||
builder.dismiss();
|
||||
finish();
|
||||
}
|
||||
}).show();
|
||||
}
|
||||
}
|
||||
|
||||
private class ResultOrderTask extends AsyncTask<String, Void, String> {
|
||||
|
||||
private ProgressDialog progressDialog;
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
progressDialog = ProgressDialog.show(ResultOrderActivity.this,
|
||||
"", getString(R.string.progressWait), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String doInBackground(String... arg0) {
|
||||
|
||||
String result = null;
|
||||
if(Tool.isInternetconnected(getApplicationContext())){
|
||||
try {
|
||||
result = ResultOrderActivity.this.getDataFromURL(url);
|
||||
} catch (IOException ioe) {
|
||||
ioe.printStackTrace();
|
||||
try {
|
||||
progressDialog.dismiss();
|
||||
} catch (Exception e) { FireCrash.log(e);}
|
||||
|
||||
getApplicationContext().getString(R.string.jsonParseFailed);
|
||||
}
|
||||
}
|
||||
else{
|
||||
result = getString(R.string.no_internet_connection);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(String result) {
|
||||
|
||||
if (progressDialog!=null&&progressDialog.isShowing()){
|
||||
try {
|
||||
progressDialog.dismiss();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
if (getString(R.string.no_internet_connection).equals(result)) {
|
||||
NiftyDialogBuilder builder = NiftyDialogBuilder.getInstance(ResultOrderActivity.this);
|
||||
builder.withTitle(getString(R.string.info_capital))
|
||||
.withMessage(getString(R.string.no_internet_connection))
|
||||
.show();
|
||||
}else{
|
||||
processServerResponse(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
package com.adins.mss.svy.reassignment;
|
||||
|
||||
/**
|
||||
* Created by winy.firdasari on 20/01/2015.
|
||||
*/
|
||||
public class StatusOrder {
|
||||
public String Status;
|
||||
public String Tanggal;
|
||||
|
||||
public StatusOrder(){
|
||||
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return Status;
|
||||
}
|
||||
public String getTanggal() {
|
||||
return Tanggal;
|
||||
}
|
||||
public void setStatus(String Status) {
|
||||
this.Status = Status;
|
||||
}
|
||||
public void setTanggal(String Tanggal) {
|
||||
this.Tanggal = Tanggal;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
package com.adins.mss.svy.tool;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.dao.TaskH;
|
||||
import com.adins.mss.foundation.db.dataaccess.TaskHDataAccess;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class Constants {
|
||||
public static final int START_DATE_DIALOG_ID=0;
|
||||
public static final int END_DATE_DIALOG_ID=1;
|
||||
public static final String KEY_START_DATE="start date";
|
||||
public static final String KEY_END_DATE="end date";
|
||||
public static final String KEY_DATE="date";
|
||||
public static List<TaskH> listOfVerifiedTask;
|
||||
public static List<TaskH> listOfApprovalTask;
|
||||
|
||||
public static long getCounterVerificationTask(Context context){
|
||||
long counter=0;
|
||||
try {
|
||||
counter = TaskHDataAccess.getVerificationTaskCounterByUser(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
return counter;
|
||||
}
|
||||
|
||||
public static long getCounterApprovalTask(Context context){
|
||||
long counter=0;
|
||||
try {
|
||||
counter = TaskHDataAccess.getApprovalTaskCounterByUser(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
return counter;
|
||||
}
|
||||
|
||||
public static long getCounterVerificationTaskByBranch(Context context){
|
||||
long counter=0;
|
||||
try {
|
||||
counter = TaskHDataAccess.getVerificationTaskCounterByBranch(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
return counter;
|
||||
}
|
||||
|
||||
public static long getCounterApprovalTaskByBranch(Context context){
|
||||
long counter=0;
|
||||
try {
|
||||
counter = TaskHDataAccess.getApprovalTaskCounterByBranch(context, GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
return counter;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
package com.adins.mss.svy.tool;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.adins.mss.base.authentication.Authentication;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.foundation.db.DaoOpenHelper;
|
||||
import com.adins.mss.foundation.security.storepreferences.ObscuredSharedPreferences;
|
||||
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
//import android.content.SharedPreferences;
|
||||
|
||||
public class CopyDb extends DaoOpenHelper {
|
||||
|
||||
Context context;
|
||||
|
||||
public CopyDb(Context context) {
|
||||
super(context);
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
public void copyTable(){
|
||||
|
||||
final String DBDestination = "/data/data/" + context.getPackageName() + "/databases/msmdb";
|
||||
try(OutputStream os = new FileOutputStream(DBDestination);
|
||||
InputStream is = context.getAssets().open("msmdb")){
|
||||
// File file = new File("/data/data/" + context.getPackageName() + "/databases/", "msmdb");
|
||||
ObscuredSharedPreferences pref = ObscuredSharedPreferences.getPrefs(context,Authentication.SHARED_PREF, Context.MODE_PRIVATE);
|
||||
boolean isDbWrite = pref.getBoolean(Authentication.SHARED_PREF_KEY_DB_SAVED, false);
|
||||
if(!isDbWrite){
|
||||
|
||||
byte [] buffer = new byte[1024];
|
||||
int length;
|
||||
while((length = is.read(buffer)) > 0){
|
||||
os.write(buffer, 0, length);
|
||||
}
|
||||
os.flush();
|
||||
if(Global.IS_DEV)
|
||||
System.out.println("Copy db from assets success");
|
||||
ObscuredSharedPreferences.Editor sharedPrefEditor = pref.edit();
|
||||
sharedPrefEditor.putBoolean(Authentication.SHARED_PREF_KEY_DB_SAVED, true);
|
||||
sharedPrefEditor.apply();
|
||||
} else {
|
||||
if(Global.IS_DEV)
|
||||
System.out.println("Database msmdb already exist");
|
||||
}
|
||||
} catch (IOException e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
package com.adins.mss.svy.tool;
|
||||
|
||||
import com.adins.mss.foundation.formatter.Tool;
|
||||
import com.adins.mss.foundation.image.Utils;
|
||||
import com.adins.mss.svy.R;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Color;
|
||||
import android.view.Gravity;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
public class ImageThumbnail extends LinearLayout{
|
||||
|
||||
ImageView imgView;
|
||||
TextView detailText;
|
||||
private Bitmap thumbnail = null;
|
||||
byte[] resultImg = null;
|
||||
|
||||
|
||||
public ImageThumbnail(Context context, int width, int height) {
|
||||
super(context);
|
||||
|
||||
//Init container
|
||||
this.setOrientation(LinearLayout.VERTICAL);
|
||||
this.setGravity(Gravity.LEFT);
|
||||
|
||||
//Init image thumbnail
|
||||
imgView = new ImageView(context);
|
||||
ViewGroup.LayoutParams imgLayout = new LayoutParams(width, height);
|
||||
imgView.setLayoutParams(imgLayout);
|
||||
imgView.setImageResource(R.drawable.ic_image);
|
||||
|
||||
//Init detail text
|
||||
detailText = new TextView(context);
|
||||
detailText.setTextColor(Color.BLACK);
|
||||
|
||||
this.addView(imgView);
|
||||
// this.addView(detailText);
|
||||
}
|
||||
public byte[] getResultImg() {
|
||||
return resultImg;
|
||||
}
|
||||
|
||||
public void setResultImg(byte[] resultImg) throws Exception{
|
||||
this.resultImg = resultImg;
|
||||
|
||||
try{
|
||||
Bitmap bm = Utils.byteToBitmap(resultImg);
|
||||
int[] res = Tool.getThumbnailResolution(bm.getWidth(), bm.getHeight());
|
||||
Bitmap thumbnail = Bitmap.createScaledBitmap(bm, res[0], res[1], true);
|
||||
imgView.setImageBitmap(thumbnail);
|
||||
detailText.setText(" "+bm.getWidth()+" x " +bm.getHeight()+". Size "+ resultImg.length +" Bytes");
|
||||
}
|
||||
catch(Exception e){
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
public void setImageResource(int res){
|
||||
imgView.setImageResource(res);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
package com.adins.mss.svy.tool;
|
||||
|
||||
import com.adins.mss.foundation.http.KeyValue;
|
||||
import com.adins.mss.foundation.http.MssResponseType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class JsonResponseServer extends MssResponseType{
|
||||
@SerializedName("listResponseServer")
|
||||
List<ResponseServer> listResponseServer;
|
||||
|
||||
public List<ResponseServer> getListResponseServer() {
|
||||
return listResponseServer;
|
||||
}
|
||||
public void setListResponseServer(List<ResponseServer> listResponseServer) {
|
||||
this.listResponseServer = listResponseServer;
|
||||
}
|
||||
|
||||
public class ResponseServer extends KeyValue {
|
||||
@SerializedName("flag")
|
||||
String flag;
|
||||
@SerializedName("subListResponseServer")
|
||||
List<ResponseServer> subListResponseServer;
|
||||
|
||||
public ResponseServer(String key, String value) {
|
||||
super(key, value);
|
||||
}
|
||||
public String getFlag() {
|
||||
return flag;
|
||||
}
|
||||
|
||||
public void setFlag(String flag) {
|
||||
this.flag = flag;
|
||||
}
|
||||
|
||||
public List<ResponseServer> getSubListResponseServer() {
|
||||
return subListResponseServer;
|
||||
}
|
||||
|
||||
public void setSubListResponseServer(List<ResponseServer> subListResponseServer) {
|
||||
this.subListResponseServer = subListResponseServer;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package com.adins.mss.svy.tool;
|
||||
|
||||
import com.adins.mss.dao.TaskD;
|
||||
import com.adins.mss.foundation.http.MssResponseType;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class JsonTaskD extends MssResponseType {
|
||||
@SerializedName("listTaskD")
|
||||
List<TaskD> listTaskD;
|
||||
|
||||
public List<TaskD> getListTaskD(){
|
||||
return listTaskD;
|
||||
}
|
||||
public void setListTaskD (List<TaskD> listTaskD){
|
||||
this.listTaskD = listTaskD;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,127 @@
|
|||
package com.adins.mss.svy.tool;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.ProgressDialog;
|
||||
import android.os.AsyncTask;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.util.GsonHelper;
|
||||
import com.adins.mss.base.util.Utility;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.dao.TaskD;
|
||||
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.foundation.image.JsonResponseImage;
|
||||
import com.adins.mss.svy.R;
|
||||
import com.adins.mss.svy.assignment.OrderAssignmentResult;
|
||||
import com.adins.mss.svy.reassignment.JsonRequestImage;
|
||||
import com.google.firebase.perf.FirebasePerformance;
|
||||
import com.google.firebase.perf.metrics.HttpMetric;
|
||||
|
||||
import org.apache.http.NameValuePair;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
|
||||
public class getImageTask extends AsyncTask<Void, Void, byte[]> {
|
||||
private ProgressDialog progressDialog;
|
||||
private String errMessage = null;
|
||||
private WeakReference<Activity> activity;
|
||||
static byte[] imagebyte =null;
|
||||
List<NameValuePair> params;
|
||||
|
||||
public getImageTask(Activity activity, List<NameValuePair> params){
|
||||
this.activity = new WeakReference<Activity>(activity);
|
||||
this.params = params;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
progressDialog = ProgressDialog.show(activity.get(),
|
||||
"", activity.get().getString(R.string.progressWait), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected byte[] doInBackground(Void... arg0) {
|
||||
byte[] imageResult =null;
|
||||
JsonRequestImage request = new JsonRequestImage();
|
||||
request.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
request.setUuid_task_h(params.get(0).getValue());
|
||||
request.setQuestion_id(params.get(1).getValue());
|
||||
|
||||
String json = GsonHelper.toJson(request);
|
||||
String url = GlobalData.getSharedGlobalData().getURL_GET_IMAGE();
|
||||
|
||||
boolean encrypt = GlobalData.getSharedGlobalData().isEncrypt();
|
||||
boolean decrypt = GlobalData.getSharedGlobalData().isDecrypt();
|
||||
HttpCryptedConnection httpConn = new HttpCryptedConnection(activity.get(), encrypt, decrypt);
|
||||
HttpConnectionResult serverResult = null;
|
||||
|
||||
HttpMetric networkMetric =
|
||||
FirebasePerformance.getInstance().newHttpMetric(url, FirebasePerformance.HttpMethod.POST);
|
||||
Utility.metricStart(networkMetric, json);
|
||||
|
||||
try {
|
||||
serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
Utility.metricStop(networkMetric, serverResult);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
String result = serverResult.getResult();
|
||||
|
||||
JsonResponseImage resultServer = null;
|
||||
try {
|
||||
resultServer = GsonHelper.fromJson(result, JsonResponseImage.class);
|
||||
if(resultServer.getStatus().getCode()==0){
|
||||
List<TaskD> taskDs = resultServer.getImg();
|
||||
TaskD d = taskDs.get(0);
|
||||
imageResult = d.getImage();
|
||||
}else{
|
||||
errMessage = resultServer.getStatus().getMessage();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
errMessage = e.getMessage();
|
||||
}
|
||||
|
||||
return imageResult;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(byte[] result){
|
||||
if (progressDialog.isShowing()){
|
||||
try {
|
||||
progressDialog.dismiss();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
if(errMessage!=null){
|
||||
NiftyDialogBuilder dialogBuilder = NiftyDialogBuilder.getInstance(activity.get());
|
||||
dialogBuilder.withTitle(activity.get().getString(R.string.error_capital))
|
||||
.withMessage(errMessage)
|
||||
.show();
|
||||
}else{
|
||||
if(null==result){
|
||||
NiftyDialogBuilder dialogBuilder = NiftyDialogBuilder.getInstance(activity.get());
|
||||
dialogBuilder.withTitle(activity.get().getString(R.string.info_capital))
|
||||
.withMessage(activity.get().getString(R.string.no_image))
|
||||
.show();
|
||||
}else{
|
||||
try {
|
||||
OrderAssignmentResult.targetThumbnail.setResultImg(result);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,146 @@
|
|||
package com.services;
|
||||
|
||||
import android.app.NotificationChannel;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import androidx.core.app.NotificationCompat;
|
||||
|
||||
import com.adins.mss.base.GlobalData;
|
||||
import com.adins.mss.base.commons.BackupManager;
|
||||
import com.adins.mss.base.crashlytics.FireCrash;
|
||||
import com.adins.mss.base.timeline.TimelineManager;
|
||||
import com.adins.mss.constant.Global;
|
||||
import com.adins.mss.dao.User;
|
||||
import com.adins.mss.foundation.camerainapp.helper.Logger;
|
||||
import com.adins.mss.foundation.notification.Notification;
|
||||
import com.adins.mss.foundation.security.storepreferences.ObscuredSharedPreferences;
|
||||
import com.adins.mss.svy.MSMainMenuActivity;
|
||||
import com.adins.mss.svy.NewMSMainActivity;
|
||||
import com.google.firebase.messaging.RemoteMessage;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import static java.lang.Thread.NORM_PRIORITY;
|
||||
|
||||
public class FirebaseMessagingService extends com.google.firebase.messaging.FirebaseMessagingService {
|
||||
@Override
|
||||
public void onMessageReceived(RemoteMessage remoteMessage) {
|
||||
super.onMessageReceived(remoteMessage);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
NotificationManager mNotificationManager =
|
||||
(NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
|
||||
NotificationChannel channel = new NotificationChannel("messaging", "Notification", NotificationManager.IMPORTANCE_HIGH);
|
||||
channel.setDescription("Application Notification Message");
|
||||
mNotificationManager.createNotificationChannel(channel);
|
||||
}
|
||||
|
||||
// TODO(developer): Handle FCM messages here.
|
||||
// Not getting messages here? See why this may be: https://goo.gl/39bRNJ
|
||||
Logger.d("FirebaseMessagingServ", "From: " + remoteMessage.getFrom());
|
||||
|
||||
// Check if message contains a data payload.
|
||||
if (remoteMessage.getData().size() > 0) {
|
||||
Logger.d("FirebaseMessagingServ", "Message data payload: " + remoteMessage.getData());
|
||||
|
||||
//Nendi: 2019-01-18 | Add event listener
|
||||
Map<String, String> extras = remoteMessage.getData();
|
||||
if (extras.containsKey("event")) {
|
||||
String eventType = extras.get("event");
|
||||
if (eventType == null)
|
||||
return;
|
||||
|
||||
switch (eventType) {
|
||||
case "backup":
|
||||
String entity = extras.get("entity");
|
||||
String constraint = null;
|
||||
if (extras.containsKey("constraint")) {
|
||||
constraint = extras.get("constraint");
|
||||
BackupManager backupManager = new BackupManager(getApplicationContext());
|
||||
backupManager.backup(entity, constraint);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Check if message contains a notification payload.
|
||||
if (remoteMessage.getNotification() != null) {
|
||||
Logger.d("FirebaseMessagingServ", "Message Notification Body: " + remoteMessage.getNotification().getBody());
|
||||
}
|
||||
String notif = null;
|
||||
try {
|
||||
notif = remoteMessage.getData().get("message");
|
||||
if (notif == null || notif.equals("")) {
|
||||
notif = remoteMessage.getNotification().getBody();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
ObscuredSharedPreferences sharedPref = ObscuredSharedPreferences.getPrefs(getApplicationContext(),
|
||||
"GlobalData", Context.MODE_PRIVATE);
|
||||
boolean hasLogged = sharedPref.getBoolean("HAS_LOGGED", false);
|
||||
User user = GlobalData.getSharedGlobalData().getUser();
|
||||
if (null != user && hasLogged){
|
||||
showNotif("" + notif);
|
||||
TimelineManager.insertTimelinePushNotification(getBaseContext(), "" + notif);
|
||||
}
|
||||
}
|
||||
|
||||
// public static String MAINMENU_NOTIFICATION_KEY = "MAINMENU_NOTIFICATION_KEY";
|
||||
|
||||
public void showNotif(String notif) {
|
||||
String notifTitle = getApplicationContext().getString(com.adins.mss.base.R.string.push_notification);
|
||||
// String message = getApplicationContext().getString(com.adins.mss.base.R.string.push_notification_info);
|
||||
// TODO munculkan notifikasi di sini
|
||||
|
||||
Intent intent = new Intent(getApplicationContext(), NewMSMainActivity.class);
|
||||
ComponentName cn = intent.getComponent();
|
||||
intent.makeMainActivity(cn);
|
||||
intent.setAction(Global.MAINMENU_NOTIFICATION_KEY);
|
||||
|
||||
PendingIntent pendingIntent = PendingIntent
|
||||
.getActivity(getApplicationContext(), 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
|
||||
Notification.getSharedNotification().setDefaultIcon(
|
||||
com.adins.mss.base.R.drawable.icon_notif_new);
|
||||
|
||||
NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext(), "messaging");
|
||||
builder.setSmallIcon(getNotificationIcon());
|
||||
builder.setContentTitle(notifTitle);
|
||||
builder.setContentText(notif);
|
||||
builder.setPriority(NORM_PRIORITY);
|
||||
NotificationCompat.BigTextStyle inboxStyle =
|
||||
new NotificationCompat.BigTextStyle();
|
||||
// Sets a title for the Inbox in expanded layout
|
||||
inboxStyle.setBigContentTitle(notifTitle);
|
||||
inboxStyle.bigText(notif);
|
||||
inboxStyle.setSummaryText(getApplicationContext().getString(com.adins.mss.base.R.string.click_to_open));
|
||||
|
||||
|
||||
builder.setDefaults(android.app.Notification.DEFAULT_ALL);
|
||||
builder.setStyle(inboxStyle);
|
||||
builder.setAutoCancel(true);
|
||||
builder.setContentIntent(pendingIntent);
|
||||
|
||||
NotificationManager mNotificationManager =
|
||||
(NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
mNotificationManager.notify(1, builder.build());
|
||||
|
||||
}
|
||||
|
||||
public static int getNotificationIcon() {
|
||||
boolean useWhiteIcon = (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP);
|
||||
return useWhiteIcon ? com.adins.mss.base.R.drawable.icon_notif_new_white : com.adins.mss.base.R.drawable.icon_notif_new;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
package com.services;
|
||||
|
||||
import android.app.Notification;
|
||||
import android.app.NotificationChannel;
|
||||
import android.app.NotificationManager;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.IBinder;
|
||||
import androidx.core.app.NotificationCompat;
|
||||
|
||||
import com.adins.mss.foundation.security.storepreferences.ObscuredSharedPreferences;
|
||||
import com.adins.mss.svy.R;
|
||||
import com.tracking.LocationTrackingService;
|
||||
|
||||
public class MSLocationTrackingService extends LocationTrackingService {
|
||||
public MSLocationTrackingService() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
NotificationChannel channel = new NotificationChannel(getPackageName(), getString(R.string.app_name), NotificationManager.IMPORTANCE_HIGH);
|
||||
channel.setDescription("App Service Persistent");
|
||||
|
||||
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
|
||||
manager.createNotificationChannel(channel);
|
||||
}
|
||||
|
||||
ObscuredSharedPreferences sharedPref = ObscuredSharedPreferences.getPrefs(this,
|
||||
"GlobalData", Context.MODE_PRIVATE);
|
||||
if (sharedPref.contains("HAS_LOGGED")) {
|
||||
Notification notification = new NotificationCompat.Builder(this, getPackageName())
|
||||
.setSmallIcon(R.drawable.icon_notif_new)
|
||||
.setContentTitle(getString(R.string.app_name))
|
||||
.setContentText(getString(R.string.application_is_running))
|
||||
.setVisibility(NotificationCompat.VISIBILITY_PRIVATE)
|
||||
.setOngoing(true)
|
||||
.build();
|
||||
|
||||
startForeground(2043, notification);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBinder onBind(Intent intent) {
|
||||
// TODO: Return the communication channel to the service.
|
||||
throw new UnsupportedOperationException("Not yet implemented");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
String manufacture = Build.MANUFACTURER.toLowerCase();
|
||||
ObscuredSharedPreferences sharedPref = ObscuredSharedPreferences.getPrefs(getApplicationContext(),
|
||||
"GlobalData", Context.MODE_PRIVATE);
|
||||
boolean hasLogged = sharedPref.getBoolean("HAS_LOGGED", false);
|
||||
if(hasLogged) {
|
||||
switch (manufacture) {
|
||||
case "oppo":
|
||||
case "vivo":
|
||||
Intent autoRestartService = new Intent("com.adins.intent.action_RESTART_AUTOSEND_LOCATION");
|
||||
sendBroadcast(autoRestartService);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static class UserLogoutReceiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
Intent locationTrackingService = new Intent(context, MSLocationTrackingService.class);
|
||||
context.stopService(locationTrackingService);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
package com.services;
|
||||
|
||||
import android.app.ActivityManager;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.util.Log;
|
||||
|
||||
import com.adins.mss.foundation.security.storepreferences.ObscuredSharedPreferences;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class RestartAutoSendLocationReceiver extends BroadcastReceiver {
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
Log.i(getClass().getSimpleName(), "Received message to restart service Tracking History");
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
|
||||
return;
|
||||
|
||||
if (!isAppRunning(context, context.getPackageName())) {
|
||||
Intent main = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
|
||||
if (main != null) {
|
||||
main.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
}
|
||||
context.startActivity(main);
|
||||
}
|
||||
ObscuredSharedPreferences sharedPref = ObscuredSharedPreferences.getPrefs(context,
|
||||
"GlobalData", Context.MODE_PRIVATE);
|
||||
boolean hasLogged = sharedPref.getBoolean("HAS_LOGGED", false);
|
||||
if (!ForegroundServiceNotification.isServiceAvailable(context, MSLocationTrackingService.class)
|
||||
&& hasLogged) {
|
||||
String manufacture = Build.MANUFACTURER.toLowerCase();
|
||||
switch (manufacture) {
|
||||
case "vivo":
|
||||
context.startService(new Intent(context, MSLocationTrackingService.class));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isAppRunning(final Context context, final String packageName) {
|
||||
final ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
|
||||
final List<ActivityManager.RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses();
|
||||
if (procInfos != null)
|
||||
{
|
||||
for (final ActivityManager.RunningAppProcessInfo processInfo : procInfos) {
|
||||
if (processInfo.processName.equals(packageName)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
package com.services;
|
||||
|
||||
import android.app.Service;
|
||||
import android.content.Intent;
|
||||
import android.os.IBinder;
|
||||
|
||||
import com.adins.mss.base.mainmenu.MainMenuActivity;
|
||||
import com.adins.mss.svy.MSMainMenuActivity;
|
||||
|
||||
public class SurveyApprovalService extends Service {
|
||||
private SurveyApprovalThread auto;
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
stopSurveyApprovalThread();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
auto = MSMainMenuActivity.approvalThread;
|
||||
startSurveyApprovalThread();
|
||||
}
|
||||
|
||||
public synchronized void startSurveyApprovalThread() {
|
||||
if (auto == null) {
|
||||
auto = new SurveyApprovalThread(getApplicationContext());
|
||||
auto.start();
|
||||
}
|
||||
else {
|
||||
auto.start();
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized void stopSurveyApprovalThread() {
|
||||
if (auto != null) {
|
||||
auto.requestStop();
|
||||
auto = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public IBinder onBind(Intent arg0) {
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,510 @@
|
|||
package com.services;
|
||||
|
||||
import android.app.NotificationManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import androidx.core.app.NotificationCompat;
|
||||
|
||||
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.dynamicform.JsonRequestTaskD;
|
||||
import com.adins.mss.base.dynamicform.JsonResponseTaskD;
|
||||
import com.adins.mss.base.mainmenu.MainMenuActivity;
|
||||
import com.adins.mss.base.timeline.TimelineManager;
|
||||
import com.adins.mss.base.timeline.activity.Timeline_Activity;
|
||||
import com.adins.mss.base.todolist.ToDoList;
|
||||
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.TaskD;
|
||||
import com.adins.mss.dao.TaskH;
|
||||
import com.adins.mss.dao.Timeline;
|
||||
import com.adins.mss.foundation.db.dataaccess.GeneralParameterDataAccess;
|
||||
import com.adins.mss.foundation.db.dataaccess.SchemeDataAccess;
|
||||
import com.adins.mss.foundation.db.dataaccess.TaskDDataAccess;
|
||||
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.formatter.Tool;
|
||||
import com.adins.mss.foundation.http.HttpConnectionResult;
|
||||
import com.adins.mss.foundation.http.HttpCryptedConnection;
|
||||
import com.adins.mss.foundation.notification.Notification;
|
||||
import com.adins.mss.main.MSMApplication;
|
||||
import com.adins.mss.svy.MSMainMenuActivity;
|
||||
import com.adins.mss.svy.SurveyApprovalListTask;
|
||||
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 org.acra.ACRA;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
//import com.adins.mss.foundation.notification.Notification.Tone;
|
||||
//import com.adins.mss.foundation.notification.Notification.Vibrate;
|
||||
|
||||
public class SurveyApprovalThread extends Thread {
|
||||
public static final String APPROVALLIST_NOTIFICATION_KEY = "APPROVALLIST_NOTIFICATION_KEY";
|
||||
public static final String APPROVALBRANCHLIST_NOTIFICATION_KEY = "APPROVALBRANCHLIST_NOTIFICATION_KEY";
|
||||
private Context context;
|
||||
private int interval; // in miliseconds
|
||||
private volatile boolean keepRunning = true;
|
||||
private volatile boolean isWait = false;
|
||||
public static long lastAssigmentDate = 0;
|
||||
String sentStatus = "";
|
||||
public static List<TaskH> taskHList = new ArrayList<TaskH>();
|
||||
public static int notifCount = 0;
|
||||
public String uuidUser ;
|
||||
|
||||
public boolean firstNotif = true;
|
||||
|
||||
// public Class mss;
|
||||
|
||||
public SurveyApprovalThread(Context context) {
|
||||
// TODO Auto-generated constructor stub
|
||||
this.context = context;
|
||||
interval = Global.MINUTE * 10;
|
||||
try {
|
||||
uuidUser = GlobalData.getSharedGlobalData().getUser()
|
||||
.getUuid_user();
|
||||
if(uuidUser!=null){
|
||||
if (GeneralParameterDataAccess.getOne(context, uuidUser, "PRM04_F5IN")
|
||||
.getGs_value() != null
|
||||
&& !GeneralParameterDataAccess
|
||||
.getOne(context, uuidUser, "PRM04_F5IN").getGs_value()
|
||||
.isEmpty()) {
|
||||
interval = Integer.parseInt(GeneralParameterDataAccess.getOne(
|
||||
context, uuidUser, "PRM04_F5IN").getGs_value()) * 1000; // from
|
||||
// milisecond
|
||||
// to
|
||||
// second
|
||||
}
|
||||
}else{
|
||||
keepRunning = false;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
if(Global.user!=null){
|
||||
uuidUser = Global.user.getUuid_user();
|
||||
if(uuidUser!=null){
|
||||
if (GeneralParameterDataAccess.getOne(context, uuidUser, "PRM04_F5IN")
|
||||
.getGs_value() != null
|
||||
&& !GeneralParameterDataAccess
|
||||
.getOne(context, uuidUser, "PRM04_F5IN").getGs_value()
|
||||
.isEmpty()) {
|
||||
interval = Integer.parseInt(GeneralParameterDataAccess.getOne(
|
||||
context, uuidUser, "PRM04_F5IN").getGs_value()) * 1000; // from
|
||||
// milisecond
|
||||
// to
|
||||
// second
|
||||
}
|
||||
}
|
||||
}else{
|
||||
keepRunning = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
while (keepRunning) {
|
||||
try {
|
||||
synchronized (this) {
|
||||
if (isWait) {
|
||||
this.wait();
|
||||
}
|
||||
}
|
||||
|
||||
if (Tool.isInternetconnected(context)) {
|
||||
if(NewMainActivity.mnSurveyApproval!=null){
|
||||
notifCount = 0;
|
||||
taskHList = getServerNewTask(false);
|
||||
notifCount = taskHList.size();
|
||||
// save to local
|
||||
if(taskHList!=null && taskHList.size()>0)
|
||||
ProcessTaskList(notifCount, taskHList, false);
|
||||
} else if(NewMainActivity.mnApprovalByBranch !=null){
|
||||
notifCount = 0;
|
||||
taskHList = getServerNewTask(true);
|
||||
notifCount = taskHList.size();
|
||||
// save to local
|
||||
if(taskHList!=null &&taskHList.size()>0)
|
||||
ProcessTaskList(notifCount, taskHList, true);
|
||||
}
|
||||
}
|
||||
|
||||
// bong 10 apr 15 - Gigin request penjagaan jika PRM F5IN dari
|
||||
// server = 0
|
||||
// minimal notif jalan satu kali
|
||||
if (interval == 0) {
|
||||
keepRunning = false;
|
||||
}
|
||||
/*Handler handler = new Handler(Looper.getMainLooper());
|
||||
handler.post(new Runnable() {
|
||||
public void run() {
|
||||
// UI code goes here
|
||||
try {
|
||||
if (MainMenuActivity.mnSVYApproval != null)
|
||||
MainMenuActivity.mnSVYApproval.setCounter(String.valueOf(Constants.getCounterApprovalTask(context)));
|
||||
if (MSMainMenuActivity.mnSVYApprovalByBranch != null)
|
||||
MSMainMenuActivity.mnSVYApprovalByBranch.setCounter(String.valueOf(Constants.getCounterApprovalTaskByBranch(context)));
|
||||
if (MainMenuActivity.menuAdapter != null)
|
||||
MainMenuActivity.menuAdapter.notifyDataSetChanged();
|
||||
if (Timeline_Activity.getTimelineHandler() != null)
|
||||
Timeline_Activity.getTimelineHandler().sendEmptyMessage(0);
|
||||
// long taskListCounter = ToDoList.getAllCounter(context);
|
||||
// if(Timeline_Activity.query!=null)
|
||||
// Timeline_Activity.query.id(R.id.txtJumlahOutstanding).text(String.valueOf(taskListCounter));
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
});*/
|
||||
try {
|
||||
// MainMenuActivity.setDrawerCounter();
|
||||
NewMainActivity.setCounter();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
sleep(interval);
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ProcessTaskList(int notifCount, List<TaskH> taskHList, boolean isBranch) {
|
||||
// List<String> listUuidTaskH = null;
|
||||
if (taskHList.size() > 0) {
|
||||
// listUuidTaskH = new ArrayList<>();
|
||||
for (TaskH taskH : taskHList) {
|
||||
// listUuidTaskH.add(taskH.getUuid_task_h());
|
||||
taskH.setUser(GlobalData.getSharedGlobalData()
|
||||
.getUser());
|
||||
taskH.setUuid_user(GlobalData
|
||||
.getSharedGlobalData().getUser()
|
||||
.getUuid_user());
|
||||
taskH.setIs_verification(Global.TRUE_STRING);
|
||||
if (isBranch)
|
||||
taskH.setAccess_mode(TaskHDataAccess.ACCESS_MODE_BRANCH);
|
||||
else
|
||||
taskH.setAccess_mode(TaskHDataAccess.ACCESS_MODE_USER);
|
||||
String uuid_timelineType = TimelineTypeDataAccess
|
||||
.getTimelineTypebyType(context,
|
||||
Global.TIMELINE_TYPE_APPROVAL)
|
||||
.getUuid_timeline_type();
|
||||
boolean wasInTimeline = TimelineDataAccess
|
||||
.getOneTimelineByTaskH(context,
|
||||
GlobalData
|
||||
.getSharedGlobalData()
|
||||
.getUser()
|
||||
.getUuid_user(),
|
||||
taskH.getUuid_task_h(),
|
||||
uuid_timelineType) != null;
|
||||
|
||||
String uuid_scheme = taskH.getUuid_scheme();
|
||||
Scheme scheme = SchemeDataAccess.getOne(
|
||||
context, uuid_scheme);
|
||||
if (scheme != null) {
|
||||
taskH.setScheme(scheme);
|
||||
TaskH h = TaskHDataAccess.getOneTaskHeader(
|
||||
context, taskH.getTask_id());
|
||||
if (h != null && h.getStatus() != null) {
|
||||
if (!ToDoList.isOldTask(h)) {
|
||||
TaskHDataAccess.addOrReplace(
|
||||
context, taskH);
|
||||
if (!wasInTimeline)
|
||||
TimelineManager.insertTimeline(
|
||||
context, taskH);
|
||||
} else {
|
||||
if (h.getAccess_mode() != null && h.getAccess_mode().length() > 0) {
|
||||
if (!isBranch && h.getAccess_mode()
|
||||
.equals(TaskHDataAccess.ACCESS_MODE_BRANCH)) {
|
||||
h.setAccess_mode(TaskHDataAccess.ACCESS_MODE_HYBRID);
|
||||
TaskHDataAccess
|
||||
.addOrReplace(
|
||||
context, h);
|
||||
} else if (isBranch && h.getAccess_mode()
|
||||
.equals(TaskHDataAccess.ACCESS_MODE_USER)) {
|
||||
h.setAccess_mode(TaskHDataAccess.ACCESS_MODE_HYBRID);
|
||||
TaskHDataAccess
|
||||
.addOrReplace(
|
||||
context, h);
|
||||
}
|
||||
}
|
||||
notifCount--;
|
||||
}
|
||||
} else {
|
||||
TaskHDataAccess.addOrReplace(context,
|
||||
taskH);
|
||||
if (!wasInTimeline)
|
||||
TimelineManager.insertTimeline(
|
||||
context, taskH);
|
||||
}
|
||||
|
||||
// tambahin buat get answer
|
||||
TaskD d = TaskDDataAccess.getOneByTaskH(context, taskH.getUuid_task_h());
|
||||
boolean isHaveAnswer = d != null;
|
||||
if (!isHaveAnswer) {
|
||||
JsonRequestTaskD request = new JsonRequestTaskD();
|
||||
request.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
request.setuuid_task_h(taskH.getUuid_task_h());
|
||||
String json = GsonHelper.toJson(request);
|
||||
String url = GlobalData.getSharedGlobalData().getURL_GET_VERIFICATION();
|
||||
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, json);
|
||||
|
||||
try {
|
||||
serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
Utility.metricStop(networkMetric, serverResult);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (serverResult.isOK()) {
|
||||
try {
|
||||
String result = serverResult.getResult();
|
||||
|
||||
JsonResponseTaskD response = GsonHelper.fromJson(result, JsonResponseTaskD.class);
|
||||
if (response.getStatus().getCode() == 0) {
|
||||
List<TaskD> taskDs = response.getListTask();
|
||||
|
||||
if (taskDs.size() > 0) {
|
||||
|
||||
TaskH h2 = TaskHDataAccess.getOneHeader(
|
||||
context, taskH.getUuid_task_h());
|
||||
if (h2 != null && h2.getStatus() != null) {
|
||||
if (!ToDoList.isOldTask(h2)) {
|
||||
taskH.setScheme(scheme);
|
||||
taskH.setStatus(TaskHDataAccess.STATUS_TASK_APPROVAL_DOWNLOAD);
|
||||
TaskHDataAccess.addOrReplace(context, taskH);
|
||||
for (TaskD taskD : taskDs) {
|
||||
taskD.setTaskH(taskH);
|
||||
TaskDDataAccess.addOrReplace(context, taskD);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
taskH.setScheme(scheme);
|
||||
taskH.setStatus(TaskHDataAccess.STATUS_TASK_APPROVAL_DOWNLOAD);
|
||||
TaskHDataAccess.addOrReplace(context, taskH);
|
||||
for (TaskD taskD : taskDs) {
|
||||
taskD.setTaskH(taskH);
|
||||
TaskDDataAccess.addOrReplace(context, taskD);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
if (Global.IS_DEV)
|
||||
System.out.println(result);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
notifCount--;
|
||||
}
|
||||
}
|
||||
|
||||
String notifTitle = context.getString(R.string.approval_tasks, notifCount);
|
||||
String message = context.getString(R.string.approval_tasks_remaining, notifCount);
|
||||
Intent resultIntent = new Intent(context, MSMApplication.getInstance().getHomeClass());
|
||||
resultIntent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
|
||||
|
||||
/*Vibrate vibrate = null;
|
||||
try {
|
||||
vibrate = Vibrate
|
||||
.valueOf(GeneralParameterDataAccess.getOne(
|
||||
context, uuidUser, "PRM14_VIB")
|
||||
.getGs_value());
|
||||
} catch (Exception ex) {
|
||||
vibrate = Vibrate.OFF;
|
||||
}
|
||||
|
||||
Tone tone = null;
|
||||
try {
|
||||
tone = Tone.valueOf(GeneralParameterDataAccess
|
||||
.getOne(context, uuidUser, "PRM15_TON")
|
||||
.getGs_value());
|
||||
} catch (Exception ex) {
|
||||
tone = Tone.OFF;
|
||||
}*/
|
||||
// boolean autoClear = true;
|
||||
// try {
|
||||
// autoClear = Boolean
|
||||
// .parseBoolean(GeneralParameterDataAccess
|
||||
// .getOne(context, uuidUser,
|
||||
// "PRM16_ACN").getGs_value());
|
||||
// } catch (Exception ex) {
|
||||
// // ex.printStackTrace();
|
||||
// autoClear = true;
|
||||
// }
|
||||
|
||||
NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
|
||||
builder.setSmallIcon(NotificationThread.getNotificationIcon());
|
||||
builder.setContentTitle(notifTitle);
|
||||
builder.setContentText(message).setNumber(notifCount);
|
||||
builder.setPriority(NORM_PRIORITY);
|
||||
// Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
|
||||
// builder.setSound(alarmSound);
|
||||
// builder.setVibrate(new long[] { 1000});
|
||||
// builder.setLights(Color.RED, 3000, 3000);
|
||||
|
||||
NotificationCompat.BigTextStyle inboxStyle =
|
||||
new NotificationCompat.BigTextStyle();
|
||||
inboxStyle.setBigContentTitle(notifTitle);
|
||||
|
||||
if (isBranch) {
|
||||
inboxStyle.bigText(message + " " + context.getString(R.string.click_to_open_approval_branch));
|
||||
resultIntent.setAction(APPROVALBRANCHLIST_NOTIFICATION_KEY);
|
||||
} else {
|
||||
inboxStyle.bigText(message + " " + context.getString(R.string.click_to_open_approval));
|
||||
resultIntent.setAction(APPROVALLIST_NOTIFICATION_KEY);
|
||||
}
|
||||
|
||||
builder.setDefaults(android.app.Notification.DEFAULT_ALL);
|
||||
builder.setStyle(inboxStyle);
|
||||
builder.setAutoCancel(true);
|
||||
|
||||
PendingIntent pendingIntent = PendingIntent
|
||||
.getActivity(context, 0, resultIntent, 0);
|
||||
Notification.getSharedNotification().setDefaultIcon(
|
||||
R.drawable.icon_notif_new);
|
||||
|
||||
builder.setContentIntent(pendingIntent);
|
||||
|
||||
if (notifCount > 0) {
|
||||
NotificationManager mNotificationManager =
|
||||
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
mNotificationManager.notify(3, builder.build());
|
||||
notifCount = 0;
|
||||
}
|
||||
}
|
||||
//check for changed task in result(local db) data
|
||||
List<TaskH> localTaskHs = TaskHDataAccess.getAllApproval(context,GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
if(localTaskHs != null && localTaskHs.size() > 0){
|
||||
for (int i= 0; i<localTaskHs.size(); i++) {
|
||||
boolean taskNotfound = false;
|
||||
TaskH taskh_local = localTaskHs.get(i);
|
||||
if(taskh_local == null)
|
||||
continue;
|
||||
if(taskHList != null && taskHList.size() > 0){
|
||||
//delete taskh_local
|
||||
for(TaskH taskHServer :taskHList){
|
||||
if(taskHServer != null && taskHServer.getTask_id().equals(taskh_local.getTask_id())){
|
||||
taskNotfound = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!taskNotfound){
|
||||
taskh_local.setStatus(TaskHDataAccess.STATUS_TASK_CHANGED);
|
||||
taskh_local.setIs_prepocessed(Global.FORM_TYPE_APPROVAL);
|
||||
taskh_local.setMessage(context.getString(com.adins.mss.svy.R.string.taskChanged));
|
||||
TaskHDataAccess.addOrReplace(context,taskh_local);
|
||||
TimelineManager.insertTimeline(context,taskh_local);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// List<TaskH> taskHs = TaskHDataAccess.getAllTaskByStatus(context, GlobalData.getSharedGlobalData().getUser().getUuid_user(), TaskHDataAccess.STATUS_TASK_APPROVAL_DOWNLOAD);
|
||||
// if (listUuidTaskH != null) {
|
||||
// if (taskHs != null) {
|
||||
// for (TaskH h : taskHs) {
|
||||
// String uuid_task_h = h.getUuid_task_h();
|
||||
// boolean isSame = false;
|
||||
// for (String uuid_from_server : listUuidTaskH) {
|
||||
// if (uuid_task_h.equals(uuid_from_server)) {
|
||||
// isSame = true;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// if (!isSame) {
|
||||
// TaskHDataAccess.deleteWithRelation(context, h);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
public synchronized void requestWait() {
|
||||
isWait = true;
|
||||
}
|
||||
|
||||
public synchronized void stopWaiting() {
|
||||
isWait = false;
|
||||
synchronized (this) {
|
||||
this.notifyAll();
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized void requestStop() {
|
||||
Notification.getSharedNotification().clearNotifAll(context);
|
||||
keepRunning = false;
|
||||
}
|
||||
|
||||
public List<TaskH> getServerNewTask(boolean isBranch) {
|
||||
JsonRequestTaskWithMode requestType = new JsonRequestTaskWithMode();
|
||||
requestType.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
requestType.addImeiAndroidIdToUnstructured();
|
||||
if(isBranch)
|
||||
requestType.setMode(SurveyApprovalListTask.KEY_BRANCH);
|
||||
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(context, encrypt, decrypt);
|
||||
HttpConnectionResult serverResult = null;
|
||||
|
||||
//Firebase Performance Trace HTTP Request
|
||||
HttpMetric networkMetric =
|
||||
FirebasePerformance.getInstance().newHttpMetric(url, FirebasePerformance.HttpMethod.POST);
|
||||
Utility.metricStart(networkMetric, json);
|
||||
|
||||
try {
|
||||
serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
Utility.metricStop(networkMetric, serverResult);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
sentStatus = serverResult.getResult();
|
||||
|
||||
if(Global.IS_DEV)
|
||||
System.out.println("Here is sent status from notif Approval : " + sentStatus);
|
||||
// need object to get json reply from server
|
||||
JsonResponseRetrieveTaskList jrsrtl = new JsonResponseRetrieveTaskList();
|
||||
jrsrtl = GsonHelper.fromJson(sentStatus, JsonResponseRetrieveTaskList.class);
|
||||
|
||||
// new task must be saved to database
|
||||
if (jrsrtl.getListTaskList() != null)
|
||||
return jrsrtl.getListTaskList();
|
||||
else
|
||||
return new ArrayList<TaskH>();
|
||||
}
|
||||
|
||||
|
||||
public static List<TaskH> getTaskHList() {
|
||||
return taskHList;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
package com.services;
|
||||
|
||||
import android.app.Service;
|
||||
import android.content.Intent;
|
||||
import android.os.IBinder;
|
||||
|
||||
import com.adins.mss.base.mainmenu.MainMenuActivity;
|
||||
import com.adins.mss.svy.MSMainMenuActivity;
|
||||
|
||||
public class SurveyVerificationService extends Service {
|
||||
private SurveyVerificationThread auto;
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
super.onDestroy();
|
||||
stopSurveyVerificationThread();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
auto = MSMainMenuActivity.verificationThread;
|
||||
startSurveyVerificationThread();
|
||||
}
|
||||
|
||||
public synchronized void startSurveyVerificationThread() {
|
||||
if (auto == null) {
|
||||
auto = new SurveyVerificationThread(getApplicationContext());
|
||||
auto.start();
|
||||
}
|
||||
else {
|
||||
auto.start();
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized void stopSurveyVerificationThread() {
|
||||
if (auto != null) {
|
||||
auto.requestStop();
|
||||
auto = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public IBinder onBind(Intent arg0) {
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,512 @@
|
|||
package com.services;
|
||||
|
||||
import android.app.NotificationManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import androidx.core.app.NotificationCompat;
|
||||
|
||||
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.dynamicform.JsonRequestTaskD;
|
||||
import com.adins.mss.base.dynamicform.JsonResponseTaskD;
|
||||
import com.adins.mss.base.timeline.TimelineManager;
|
||||
import com.adins.mss.base.timeline.activity.Timeline_Activity;
|
||||
import com.adins.mss.base.todolist.ToDoList;
|
||||
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.TaskD;
|
||||
import com.adins.mss.dao.TaskH;
|
||||
import com.adins.mss.dao.Timeline;
|
||||
import com.adins.mss.foundation.db.dataaccess.GeneralParameterDataAccess;
|
||||
import com.adins.mss.foundation.db.dataaccess.SchemeDataAccess;
|
||||
import com.adins.mss.foundation.db.dataaccess.TaskDDataAccess;
|
||||
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.formatter.Tool;
|
||||
import com.adins.mss.foundation.http.HttpConnectionResult;
|
||||
import com.adins.mss.foundation.http.HttpCryptedConnection;
|
||||
import com.adins.mss.foundation.notification.Notification;
|
||||
import com.adins.mss.main.MSMApplication;
|
||||
import com.adins.mss.svy.SurveyVerificationListTask;
|
||||
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 org.acra.ACRA;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
//import com.adins.mss.foundation.notification.Notification;
|
||||
//import com.adins.mss.foundation.notification.Notification.Tone;
|
||||
//import com.adins.mss.foundation.notification.Notification.Vibrate;
|
||||
|
||||
public class SurveyVerificationThread extends Thread {
|
||||
public static final String VERIFICATIONLIST_NOTIFICATION_KEY = "VERIFICATIONLIST_NOTIFICATION_KEY";
|
||||
public static final String VERIFICATIONBRANCHLIST_NOTIFICATION_KEY = "VERIFICATIONBRANCHLIST_NOTIFICATION_KEY";
|
||||
private Context context;
|
||||
private int interval; // in miliseconds
|
||||
private volatile boolean keepRunning = true;
|
||||
private volatile boolean isWait = false;
|
||||
public static long lastAssigmentDate = 0;
|
||||
String sentStatus = "";
|
||||
public static List<TaskH> taskHList = new ArrayList<TaskH>();
|
||||
public static int notifCount = 0;
|
||||
public String uuidUser ;
|
||||
|
||||
public boolean firstNotif = true;
|
||||
|
||||
// public Class mss;
|
||||
|
||||
public SurveyVerificationThread(Context context) {
|
||||
// TODO Auto-generated constructor stub
|
||||
this.context = context;
|
||||
interval = Global.MINUTE * 10;
|
||||
try {
|
||||
uuidUser = GlobalData.getSharedGlobalData().getUser()
|
||||
.getUuid_user();
|
||||
if(uuidUser!=null){
|
||||
if (GeneralParameterDataAccess.getOne(context, uuidUser, "PRM04_F5IN")
|
||||
.getGs_value() != null
|
||||
&& !GeneralParameterDataAccess
|
||||
.getOne(context, uuidUser, "PRM04_F5IN").getGs_value()
|
||||
.isEmpty()) {
|
||||
interval = Integer.parseInt(GeneralParameterDataAccess.getOne(
|
||||
context, uuidUser, "PRM04_F5IN").getGs_value()) * 1000; // from
|
||||
// milisecond
|
||||
// to
|
||||
// second
|
||||
}
|
||||
}else{
|
||||
keepRunning = false;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
if(Global.user!=null){
|
||||
uuidUser = Global.user.getUuid_user();
|
||||
if(uuidUser!=null){
|
||||
if (GeneralParameterDataAccess.getOne(context, uuidUser, "PRM04_F5IN")
|
||||
.getGs_value() != null
|
||||
&& !GeneralParameterDataAccess
|
||||
.getOne(context, uuidUser, "PRM04_F5IN").getGs_value()
|
||||
.isEmpty()) {
|
||||
interval = Integer.parseInt(GeneralParameterDataAccess.getOne(
|
||||
context, uuidUser, "PRM04_F5IN").getGs_value()) * 1000; // from
|
||||
// milisecond
|
||||
// to
|
||||
// second
|
||||
}
|
||||
}
|
||||
}else{
|
||||
keepRunning = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
while (keepRunning) {
|
||||
try {
|
||||
synchronized (this) {
|
||||
if (isWait) {
|
||||
this.wait();
|
||||
}
|
||||
}
|
||||
|
||||
if (Tool.isInternetconnected(context)) {
|
||||
if(NewMainActivity.mnSurveyVerif!=null){
|
||||
notifCount = 0;
|
||||
taskHList = getServerNewTask(false);
|
||||
notifCount = taskHList.size();
|
||||
// save to local
|
||||
if(taskHList!=null &&taskHList.size()>0)
|
||||
ProcessTaskList(notifCount, taskHList, false);
|
||||
}
|
||||
|
||||
if(NewMainActivity.mnVerifByBranch !=null){
|
||||
notifCount = 0;
|
||||
taskHList = getServerNewTask(true);
|
||||
notifCount = taskHList.size();
|
||||
// save to local
|
||||
if(taskHList!=null &&taskHList.size()>0)
|
||||
ProcessTaskList(notifCount, taskHList, true);
|
||||
}
|
||||
}
|
||||
|
||||
// bong 10 apr 15 - Gigin request penjagaan jika PRM F5IN dari
|
||||
// server = 0
|
||||
// minimal notif jalan satu kali
|
||||
if (interval == 0) {
|
||||
keepRunning = false;
|
||||
}
|
||||
/*Handler handler = new Handler(Looper.getMainLooper());
|
||||
handler.post(new Runnable() {
|
||||
public void run() {
|
||||
// UI code goes here
|
||||
try {
|
||||
if (MainMenuActivity.mnSVYVerify != null)
|
||||
MainMenuActivity.mnSVYVerify.setCounter(String.valueOf(Constants.getCounterVerificationTask(context)));
|
||||
if (MainMenuActivity.mnSVYVerifyByBranch != null)
|
||||
MainMenuActivity.mnSVYVerifyByBranch.setCounter(String.valueOf(Constants.getCounterVerificationTaskByBranch(context)));
|
||||
if (MainMenuActivity.menuAdapter != null)
|
||||
MainMenuActivity.menuAdapter.notifyDataSetChanged();
|
||||
if (Timeline_Activity.getTimelineHandler() != null)
|
||||
Timeline_Activity.getTimelineHandler().sendEmptyMessage(0);
|
||||
// long taskListCounter = ToDoList.getAllCounter(context);
|
||||
// if(Timeline_Activity.query!=null)
|
||||
// Timeline_Activity.query.id(R.id.txtJumlahOutstanding).text(String.valueOf(taskListCounter));
|
||||
} catch (Exception e) { FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
});*/
|
||||
try {
|
||||
// MainMenuActivity.setDrawerCounter();
|
||||
NewMainActivity.setCounter();
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
// TODO: handle exception
|
||||
}
|
||||
|
||||
sleep(interval);
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ProcessTaskList(int notifCount, List<TaskH> taskHList, boolean isBranch) {
|
||||
// List<String> listUuidTaskH = null;
|
||||
if (taskHList.size() > 0) {
|
||||
// listUuidTaskH = new ArrayList<>();
|
||||
for (TaskH taskH : taskHList) {
|
||||
// listUuidTaskH.add(taskH.getUuid_task_h());
|
||||
taskH.setUser(GlobalData.getSharedGlobalData()
|
||||
.getUser());
|
||||
taskH.setUuid_user(GlobalData
|
||||
.getSharedGlobalData().getUser()
|
||||
.getUuid_user());
|
||||
if (isBranch)
|
||||
taskH.setAccess_mode(TaskHDataAccess.ACCESS_MODE_BRANCH);
|
||||
else
|
||||
taskH.setAccess_mode(TaskHDataAccess.ACCESS_MODE_USER);
|
||||
taskH.setIs_verification(Global.TRUE_STRING);
|
||||
String uuid_timelineType = TimelineTypeDataAccess
|
||||
.getTimelineTypebyType(context,
|
||||
Global.TIMELINE_TYPE_VERIFICATION)
|
||||
.getUuid_timeline_type();
|
||||
boolean wasInTimeline = TimelineDataAccess
|
||||
.getOneTimelineByTaskH(context,
|
||||
GlobalData
|
||||
.getSharedGlobalData()
|
||||
.getUser()
|
||||
.getUuid_user(),
|
||||
taskH.getUuid_task_h(),
|
||||
uuid_timelineType) != null;
|
||||
|
||||
String uuid_scheme = taskH.getUuid_scheme();
|
||||
Scheme scheme = SchemeDataAccess.getOne(
|
||||
context, uuid_scheme);
|
||||
if (scheme != null) {
|
||||
taskH.setScheme(scheme);
|
||||
TaskH h = TaskHDataAccess.getOneTaskHeader(
|
||||
context, taskH.getTask_id());
|
||||
if (h != null && h.getStatus() != null) {
|
||||
if (!ToDoList.isOldTask(h)) {
|
||||
TaskHDataAccess.addOrReplace(
|
||||
context, taskH);
|
||||
if (!wasInTimeline)
|
||||
TimelineManager.insertTimeline(
|
||||
context, taskH);
|
||||
} else {
|
||||
if (h.getAccess_mode() != null && h.getAccess_mode().length() > 0) {
|
||||
if (!isBranch && h.getAccess_mode()
|
||||
.equals(TaskHDataAccess.ACCESS_MODE_BRANCH)) {
|
||||
h.setAccess_mode(TaskHDataAccess.ACCESS_MODE_HYBRID);
|
||||
TaskHDataAccess
|
||||
.addOrReplace(
|
||||
context, h);
|
||||
} else if (isBranch && h.getAccess_mode()
|
||||
.equals(TaskHDataAccess.ACCESS_MODE_USER)) {
|
||||
h.setAccess_mode(TaskHDataAccess.ACCESS_MODE_HYBRID);
|
||||
TaskHDataAccess
|
||||
.addOrReplace(
|
||||
context, h);
|
||||
}
|
||||
}
|
||||
notifCount--;
|
||||
}
|
||||
} else {
|
||||
TaskHDataAccess.addOrReplace(context,
|
||||
taskH);
|
||||
if (!wasInTimeline)
|
||||
TimelineManager.insertTimeline(
|
||||
context, taskH);
|
||||
}
|
||||
|
||||
//TODO : tambahin buat get answer
|
||||
TaskD d = TaskDDataAccess.getOneByTaskH(context, taskH.getUuid_task_h());
|
||||
boolean isHaveAnswer = d != null;
|
||||
if (!isHaveAnswer) {
|
||||
JsonRequestTaskD request = new JsonRequestTaskD();
|
||||
request.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
request.setuuid_task_h(taskH.getUuid_task_h());
|
||||
String json = GsonHelper.toJson(request);
|
||||
String url = GlobalData.getSharedGlobalData().getURL_GET_VERIFICATION();
|
||||
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, json);
|
||||
|
||||
try {
|
||||
serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
Utility.metricStop(networkMetric, serverResult);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (serverResult != null && serverResult.isOK()) {
|
||||
try {
|
||||
String result = serverResult.getResult();
|
||||
|
||||
JsonResponseTaskD response = GsonHelper.fromJson(result, JsonResponseTaskD.class);
|
||||
if (response.getStatus().getCode() == 0) {
|
||||
List<TaskD> taskDs = response.getListTask();
|
||||
|
||||
if (taskDs.size() > 0) {
|
||||
|
||||
TaskH h2 = TaskHDataAccess.getOneTaskHeader(
|
||||
context, taskH.getTask_id());
|
||||
if (h2 != null && h2.getStatus() != null) {
|
||||
if (!ToDoList.isOldTask(h2)) {
|
||||
taskH.setScheme(scheme);
|
||||
taskH.setStatus(TaskHDataAccess.STATUS_TASK_VERIFICATION_DOWNLOAD);
|
||||
TaskHDataAccess.addOrReplace(context, taskH);
|
||||
for (TaskD taskD : taskDs) {
|
||||
taskD.setTaskH(taskH);
|
||||
TaskDDataAccess.addOrReplace(context, taskD);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
taskH.setScheme(scheme);
|
||||
taskH.setStatus(TaskHDataAccess.STATUS_TASK_VERIFICATION_DOWNLOAD);
|
||||
TaskHDataAccess.addOrReplace(context, taskH);
|
||||
for (TaskD taskD : taskDs) {
|
||||
taskD.setTaskH(taskH);
|
||||
TaskDDataAccess.addOrReplace(context, taskD);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (Global.IS_DEV)
|
||||
System.out.println(result);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
notifCount--;
|
||||
}
|
||||
}
|
||||
String notifTitle = notifCount + " Verification Tasks";
|
||||
String message = "You have " + notifCount
|
||||
+ " Verification Tasks to do.";
|
||||
Intent resultIntent;
|
||||
|
||||
resultIntent = new Intent(context, MSMApplication.getInstance().getHomeClass());
|
||||
|
||||
|
||||
/*Vibrate vibrate = null;
|
||||
try {
|
||||
vibrate = Vibrate
|
||||
.valueOf(GeneralParameterDataAccess.getOne(
|
||||
context, uuidUser, "PRM14_VIB")
|
||||
.getGs_value());
|
||||
} catch (Exception ex) {
|
||||
vibrate = Vibrate.OFF;
|
||||
}
|
||||
|
||||
Tone tone = null;
|
||||
try {
|
||||
tone = Tone.valueOf(GeneralParameterDataAccess
|
||||
.getOne(context, uuidUser, "PRM15_TON")
|
||||
.getGs_value());
|
||||
} catch (Exception ex) {
|
||||
tone = Tone.OFF;
|
||||
}*/
|
||||
// boolean autoClear = true;
|
||||
// try {
|
||||
// autoClear = Boolean
|
||||
// .parseBoolean(GeneralParameterDataAccess
|
||||
// .getOne(context, uuidUser,
|
||||
// "PRM16_ACN").getGs_value());
|
||||
// } catch (Exception ex) {
|
||||
// autoClear = true;
|
||||
// }
|
||||
|
||||
|
||||
NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
|
||||
builder.setSmallIcon(NotificationThread.getNotificationIcon());
|
||||
builder.setContentTitle(notifTitle);
|
||||
builder.setContentText(message).setNumber(notifCount);
|
||||
builder.setPriority(NORM_PRIORITY);
|
||||
// Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
|
||||
// builder.setSound(alarmSound);
|
||||
// builder.setVibrate(new long[] { 1000});
|
||||
// builder.setLights(Color.RED, 3000, 3000);
|
||||
|
||||
NotificationCompat.BigTextStyle inboxStyle =
|
||||
new NotificationCompat.BigTextStyle();
|
||||
inboxStyle.setBigContentTitle(notifTitle);
|
||||
if (isBranch) {
|
||||
inboxStyle.bigText(message + " " + context.getString(R.string.click_to_open_verification_branch));
|
||||
resultIntent.setAction(VERIFICATIONBRANCHLIST_NOTIFICATION_KEY);
|
||||
} else {
|
||||
inboxStyle.bigText(message + " " + context.getString(R.string.click_to_open_verification));
|
||||
resultIntent.setAction(VERIFICATIONLIST_NOTIFICATION_KEY);
|
||||
}
|
||||
builder.setDefaults(android.app.Notification.DEFAULT_ALL);
|
||||
builder.setStyle(inboxStyle);
|
||||
builder.setAutoCancel(true);
|
||||
|
||||
|
||||
PendingIntent pendingIntent = PendingIntent
|
||||
.getActivity(context, 0, resultIntent, 0);
|
||||
// Notification.getSharedNotification().setDefaultIcon(
|
||||
// R.drawable.icon_notif_new);
|
||||
|
||||
builder.setContentIntent(pendingIntent);
|
||||
|
||||
if (notifCount > 0) {
|
||||
NotificationManager mNotificationManager =
|
||||
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
mNotificationManager.notify(2, builder.build());
|
||||
notifCount = 0;
|
||||
}
|
||||
}
|
||||
//check for changed task in result(local db) data
|
||||
List<TaskH> localTaskHs = TaskHDataAccess.getAllVerified(context,GlobalData.getSharedGlobalData().getUser().getUuid_user());
|
||||
if(localTaskHs != null && localTaskHs.size() > 0){
|
||||
for (int i= 0; i<localTaskHs.size(); i++) {
|
||||
boolean taskNotfound = false;
|
||||
TaskH taskh_local = localTaskHs.get(i);
|
||||
if(taskh_local == null)
|
||||
continue;
|
||||
if(taskHList != null && taskHList.size() > 0){
|
||||
//delete taskh_local
|
||||
for(TaskH taskHServer :taskHList){
|
||||
if(taskHServer != null && taskHServer.getTask_id().equals(taskh_local.getTask_id())){
|
||||
taskNotfound = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!taskNotfound){
|
||||
taskh_local.setStatus(TaskHDataAccess.STATUS_TASK_CHANGED);
|
||||
taskh_local.setIs_prepocessed(Global.FORM_TYPE_VERIFICATION);
|
||||
taskh_local.setMessage(context.getString(com.adins.mss.svy.R.string.taskChanged));
|
||||
TaskHDataAccess.addOrReplace(context,taskh_local);
|
||||
TimelineManager.insertTimeline(context,taskh_local);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// List<TaskH> taskHs = TaskHDataAccess.getAllTaskByStatus(context, GlobalData.getSharedGlobalData().getUser().getUuid_user(), TaskHDataAccess.STATUS_TASK_VERIFICATION_DOWNLOAD);
|
||||
// if (listUuidTaskH != null) {
|
||||
// if (taskHs != null) {
|
||||
// for (TaskH h : taskHs) {
|
||||
// String uuid_task_h = h.getUuid_task_h();
|
||||
// boolean isSame = false;
|
||||
// for (String uuid_from_server : listUuidTaskH) {
|
||||
// if (uuid_task_h.equals(uuid_from_server)) {
|
||||
// isSame = true;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// if (!isSame) {
|
||||
// TaskHDataAccess.deleteWithRelation(context, h);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
public synchronized void requestWait() {
|
||||
isWait = true;
|
||||
}
|
||||
|
||||
public synchronized void stopWaiting() {
|
||||
isWait = false;
|
||||
synchronized (this) {
|
||||
this.notifyAll();
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized void requestStop() {
|
||||
Notification.getSharedNotification().clearNotifAll(context);
|
||||
keepRunning = false;
|
||||
}
|
||||
|
||||
public List<TaskH> getServerNewTask(boolean isBranch) {
|
||||
JsonRequestTaskWithMode requestType = new JsonRequestTaskWithMode();
|
||||
requestType.setAudit(GlobalData.getSharedGlobalData().getAuditData());
|
||||
requestType.addImeiAndroidIdToUnstructured();
|
||||
if(isBranch)
|
||||
requestType.setMode(SurveyVerificationListTask.KEY_BRANCH);
|
||||
|
||||
String json = GsonHelper.toJson(requestType);
|
||||
String url = GlobalData.getSharedGlobalData().getURL_GET_LIST_VERIFICATION();
|
||||
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, json);
|
||||
|
||||
try {
|
||||
serverResult = httpConn.requestToServer(url, json, Global.DEFAULTCONNECTIONTIMEOUT);
|
||||
Utility.metricStop(networkMetric, serverResult);
|
||||
} catch (Exception e) {
|
||||
FireCrash.log(e);
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
sentStatus = serverResult.getResult();
|
||||
|
||||
if(Global.IS_DEV)
|
||||
System.out.println("Here is sent status from notif Verify : " + sentStatus);
|
||||
|
||||
// need object to get json reply from server
|
||||
JsonResponseRetrieveTaskList jrsrtl = new JsonResponseRetrieveTaskList();
|
||||
jrsrtl = GsonHelper.fromJson(sentStatus, JsonResponseRetrieveTaskList.class);
|
||||
|
||||
// new task must be saved to database
|
||||
if (jrsrtl.getListTaskList() != null)
|
||||
return jrsrtl.getListTaskList();
|
||||
else
|
||||
return new ArrayList<TaskH>();
|
||||
}
|
||||
|
||||
|
||||
public static List<TaskH> getTaskHList() {
|
||||
return taskHList;
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 182 B |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 556 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 639 B |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 3.5 KiB |