Merge pull request #53 from CPM-INDIA-SALES-AND-MARKETING-PVT-LTD/GSK_Orange_Audit_and_Bulk_Image_Upload-06-04-2018

Audit and Bulk image upload
This commit is contained in:
YadavendraSinghYaduvanshi
2018-04-08 19:16:02 +05:30
committed by GitHub
52 changed files with 2569 additions and 325 deletions
-24
View File
@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<option name="BUILD_PROCESS_HEAP_SIZE" value="1024" />
<option name="BUILD_PROCESS_ADDITIONAL_VM_OPTIONS" value="-Xmx512m" />
<resourceExtensions />
<wildcardResourcePatterns>
<entry name="!?*.java" />
<entry name="!?*.form" />
<entry name="!?*.class" />
<entry name="!?*.groovy" />
<entry name="!?*.scala" />
<entry name="!?*.flex" />
<entry name="!?*.kt" />
<entry name="!?*.clj" />
<entry name="!?*.aj" />
</wildcardResourcePatterns>
<annotationProcessing>
<profile default="true" name="Default" enabled="false">
<processorPath useClasspath="true" />
</profile>
</annotationProcessing>
</component>
</project>
-3
View File
@@ -1,3 +0,0 @@
<component name="CopyrightManager">
<settings default="" />
</component>
+1 -2
View File
@@ -3,9 +3,8 @@
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="distributionType" value="LOCAL" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="C:\Program Files\Android\Android Studio2\gradle\gradle-2.14.1" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
+1 -21
View File
@@ -1,9 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AndroidDexCompilerConfiguration">
<option name="VM_OPTIONS" value="-Xmx512m" />
<option name="MAX_HEAP_SIZE" value="1024" />
</component>
<component name="NullableNotNullManager">
<option name="myDefaultNullable" value="android.support.annotation.Nullable" />
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
@@ -28,26 +24,10 @@
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
<component name="masterDetails">
<states>
<state key="ProjectJDKs.UI">
<settings>
<last-edited>1.8</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
</states>
</component>
</project>
Generated
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
<mapping directory="" vcs="Git" />
</component>
</project>
+26 -5
View File
@@ -1,4 +1,5 @@
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
android {
compileSdkVersion 26
@@ -19,8 +20,18 @@ android {
minSdkVersion 17
targetSdkVersion 22
//For Egypt
/*versionCode 14
versionName "2.6"*/
//For KSA
/* versionCode 12
versionName "2.5"*/
//For Turkey
versionCode 11
versionName "2.4"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
@@ -34,6 +45,9 @@ android {
}
dependencies {
//implementation 'com.google.firebase:firebase-crash:11.8.0'
implementation 'com.google.firebase:firebase-messaging:11.8.0'
compile fileTree(dir: 'libs', include: ['*.jar'])
compile files('libs/ksoap2-android-assembly-3.6.2-jar-with-dependencies.jar')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
@@ -46,15 +60,22 @@ dependencies {
implementation 'com.android.support:cardview-v7:26.1.0'
implementation 'com.android.support:recyclerview-v7:26.1.0'
compile 'com.google.android.gms:play-services-location:9.8.0'
compile 'com.google.android.gms:play-services-maps:9.8.0'
compile 'com.google.android.gms:play-services-appindexing:9.8.0'
compile 'com.google.code.gson:gson:2.7'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha4'
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta1'
implementation 'com.google.android.gms:play-services-location:11.8.0'
implementation 'com.google.android.gms:play-services-maps:11.8.0'
compile 'com.google.firebase:firebase-appindexing:11.8.0'
compile 'com.google.firebase:firebase-perf:11.8.0'
compile('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') {
transitive = true;
}
compile 'com.google.firebase:firebase-core:11.8.0'
testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
+21 -2
View File
@@ -12,10 +12,15 @@
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<meta-data
android:name="firebase_crashlytics_collection_enabled"
android:value="false" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
@@ -223,10 +228,24 @@
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".dailyentry.StockDataActivity"
android:label="@string/title_activity_stock_data"
android:configChanges="screenSize|orientation|keyboardHidden"
android:label="@string/title_activity_stock_data"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="adjustPan"></activity>
android:windowSoftInputMode="adjustPan" />
<activity
android:name=".dailyentry.AuditActivity"
android:label="@string/audit"
android:theme="@style/AppTheme.NoActionBar" />
<service
android:name=".service.FCMNotificationService"
android:enabled="true"
android:exported="true"
>
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
</application>
</manifest>
@@ -24,6 +24,8 @@ import cpm.com.gskmtorange.GetterSetter.StoreBean;
import cpm.com.gskmtorange.R;
import cpm.com.gskmtorange.constant.CommonString;
import cpm.com.gskmtorange.xmlGetterSetter.ADDITIONAL_DISPLAY_MASTERGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.AdditionalQuestiongetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.AuditDataGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.BrandMasterGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.CategoryGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.CategoryImagesAllowed;
@@ -68,8 +70,8 @@ import cpm.com.gskmtorange.xmlGetterSetter.TableBean;
*/
public class GSKOrangeDB extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "GSK_ORANGE_DB14";
public static final int DATABASE_VERSION = 13;
public static final String DATABASE_NAME = "GSK_ORANGE_DB19";
public static final int DATABASE_VERSION = 15;
TableBean tableBean;
private SQLiteDatabase db;
Context context;
@@ -94,7 +96,6 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
try {
db.execSQL(TableBean.getJourneyPlan());
//Gagan Start
db.execSQL(TableBean.getBrandMaster());
db.execSQL(TableBean.getSkuMaster());
@@ -160,9 +161,12 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
//db.execSQL(TableBean.getMappingCountrywisePlanogram());
db.execSQL(TableBean.getSkugroupMaster());
db.execSQL(TableBean.getTable_ADDITIONAL_QUESTION());
//15-03-2017
db.execSQL(CommonString.CREATE_TABLE_INSERT_MSL_AVAILABILITY_STOCK_FACING);
db.execSQL(CommonString.CREATE_TABLE_INSERT_NO_CAMERA_FACING_DATA);
db.execSQL(CommonString.CREATE_TABLE_AUDIT_DATA_SAVE);
} catch (SQLException e) {
e.printStackTrace();
@@ -307,7 +311,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
"T.CATEGORY_FIXTURE As CATEGORY_FIXTURE from BRAND_MASTER BM INNER JOIN MAPPING_T2P T " +
"ON BM.BRAND_ID = T.BRAND_ID INNER JOIN DISPLAY_MASTER DM " +
"ON T.DISPLAY_ID= DM.DISPLAY_ID INNER JOIN SUB_CATEGORY_MASTER SCM ON BM.SUB_CATEGORY_ID = SCM.SUB_CATEGORY_ID " +
"WHERE T.STORE_ID = '" + store_id + "' AND SCM.CATEGORY_ID ='"+ category_id +"'", null);
"WHERE T.STORE_ID = '" + store_id + "' AND SCM.CATEGORY_ID ='" + category_id + "'", null);
if (dbcursor != null) {
dbcursor.moveToFirst();
while (!dbcursor.isAfterLast()) {
@@ -452,7 +456,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
try {
dbcursor = db.rawQuery("SELECT DISTINCT SM.SKU, SM.SKU_ID, BR.BRAND_ID FROM MAPPING_STOCK MS INNER JOIN SKU_MASTER SM ON MS.SKU_ID = SM.SKU_ID INNER JOIN BRAND_MASTER BR ON SM.BRAND_ID=BR.BRAND_ID INNER JOIN SUB_CATEGORY_MASTER SCM ON BR.SUB_CATEGORY_ID = SCM.SUB_CATEGORY_ID WHERE MS.KEYACCOUNT_ID ='" + key_account_id + "' AND STORETYPE_ID ='" + store_type_id + "' AND CLASS_ID = '" + class_id + "' AND SM.BRAND_ID='" + brand_id + "'", null);
dbcursor = db.rawQuery("SELECT DISTINCT SM.SKU, SM.SKU_ID, BR.BRAND_ID FROM MAPPING_STOCK MS INNER JOIN SKU_MASTER SM ON MS.SKU_ID = SM.SKU_ID INNER JOIN BRAND_MASTER BR ON SM.BRAND_ID=BR.BRAND_ID INNER JOIN SUB_CATEGORY_MASTER SCM ON BR.SUB_CATEGORY_ID = SCM.SUB_CATEGORY_ID WHERE MS.KEYACCOUNT_ID ='" + key_account_id + "' AND STORETYPE_ID ='" + store_type_id + "' AND CLASS_ID = '" + class_id + "' AND SM.BRAND_ID='" + brand_id + "' ORDER BY SM.PROMO_SKU, SM.SKU", null);
if (dbcursor != null) {
dbcursor.moveToFirst();
@@ -898,6 +902,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
values.put("BRAND_ID", data.getBRAND_ID().get(i));
values.put("MRP", data.getMRP().get(i));
values.put("SKU_SEQUENCE", data.getSKU_SEQUENCE().get(i));
values.put("PROMO_SKU", data.getPROMO_SKU().get(i));
db.insert("SKU_MASTER", null, values);
}
@@ -3136,7 +3141,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
Cursor dbcursor = null;
try {
dbcursor = db.rawQuery("SELECT * FROM MAPPING_PLANOGRAM where CATEGORY_ID='" + category_id + "' AND STORETYPE_ID ='" + store_type_id
+"' AND CLASS_ID ='" + class_id + "'", null);
+ "' AND CLASS_ID ='" + class_id + "'", null);
if (dbcursor != null) {
dbcursor.moveToFirst();
@@ -3351,6 +3356,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
values.put("DISPLAY", data.getDISPLAY().get(i));
values.put("IMAGE_PATH", data.getIMAGE_PATH().get(i));
values.put("IMAGE_URL", data.getIMAGE_URL().get(i));
values.put("CATEGORY_ID", data.getCATEGORY_ID().get(i));
db.insert("ADDITIONAL_DISPLAY_MASTER", null, values);
}
} catch (Exception ex) {
@@ -3358,13 +3364,13 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
}
}
public ArrayList<ADDITIONAL_DISPLAY_MASTERGetterSetter> getADDITIONAL_DISPLAYData(String store_id) {
public ArrayList<ADDITIONAL_DISPLAY_MASTERGetterSetter> getADDITIONAL_DISPLAYData(String category_id) {
Cursor cursordata = null;
ArrayList<ADDITIONAL_DISPLAY_MASTERGetterSetter> Data = new ArrayList<ADDITIONAL_DISPLAY_MASTERGetterSetter>();
try {
cursordata = db.rawQuery("SELECT * FROM ADDITIONAL_DISPLAY_MASTER ", null);
cursordata = db.rawQuery("SELECT * FROM ADDITIONAL_DISPLAY_MASTER WHERE CATEGORY_ID='" + category_id + "'", null);
if (cursordata != null) {
cursordata.moveToFirst();
@@ -3375,7 +3381,6 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
sb.setIMAGE_URL(cursordata.getString(cursordata.getColumnIndexOrThrow("IMAGE_URL")));
sb.setIMAGE_PATH(cursordata.getString(cursordata.getColumnIndexOrThrow("IMAGE_PATH")));
Data.add(sb);
cursordata.moveToNext();
}
@@ -3438,7 +3443,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
}
//check if table is empty
public boolean isCoverageDataFilled(String visit_date) {
public boolean isPreviousCoverageDataFilled(String visit_date) {
boolean filled = false;
Cursor dbcursor = null;
@@ -5151,7 +5156,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
try {
dbcursor = db.rawQuery("SELECT * FROM SUB_CATEGORY_MASTER WHERE CATEGORY_ID = '"+ category_id +"'", null);
dbcursor = db.rawQuery("SELECT * FROM SUB_CATEGORY_MASTER WHERE CATEGORY_ID = '" + category_id + "'", null);
if (dbcursor != null) {
dbcursor.moveToFirst();
@@ -5183,7 +5188,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
try {
cursordata = db.rawQuery("SELECT * FROM SKUGROUP_MASTER " +
"WHERE CATEGORY_ID ='" + category_id + "' AND SUB_CATEGORY_ID ='"+ sub_category_id +"' ORDER BY SKUGROUP_SEQUENCE", null);
"WHERE CATEGORY_ID ='" + category_id + "' AND SUB_CATEGORY_ID ='" + sub_category_id + "' ORDER BY SKUGROUP_SEQUENCE", null);
if (cursordata != null) {
cursordata.moveToFirst();
@@ -5221,7 +5226,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
try {
db.beginTransaction();
for (int i = 1; i <=row_count; i++) {
for (int i = 1; i <= row_count; i++) {
for (int j = 0; j < hashMapRowData.get(i).size(); j++) {
NoCameraDataGetterSetter data = hashMapRowData.get(i).get(j);
@@ -5231,7 +5236,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
values.put(CommonString.KEY_SUB_CATEGORY_ID, sub_category_id);
values.put(CommonString.KEY_SKU_GROUP_ID, data.getSKUGROUP_ID());
values.put(CommonString.KEY_ROW_NO, i);
values.put(CommonString.KEY_COLUMN_NO, j+1);
values.put(CommonString.KEY_COLUMN_NO, j + 1);
values.put(CommonString.KEY_FACING, data.getFacing());
db.insert(CommonString.TABLE_INSERT_NO_CAMERA_FACING_DATA, null, values);
@@ -5254,17 +5259,15 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
try {
if(subcategory_id==null){
dbcursor = db.rawQuery("SELECT * FROM "+ CommonString.TABLE_INSERT_NO_CAMERA_FACING_DATA+" WHERE " + CommonString.KEY_STORE_ID + " = '"+ store_id
+"' AND "+ CommonString.KEY_CATEGORY_ID + " ='"+ category_id
+"'", null);
if (subcategory_id == null) {
dbcursor = db.rawQuery("SELECT * FROM " + CommonString.TABLE_INSERT_NO_CAMERA_FACING_DATA + " WHERE " + CommonString.KEY_STORE_ID + " = '" + store_id
+ "' AND " + CommonString.KEY_CATEGORY_ID + " ='" + category_id
+ "'", null);
} else {
dbcursor = db.rawQuery("SELECT * FROM " + CommonString.TABLE_INSERT_NO_CAMERA_FACING_DATA + " WHERE " + CommonString.KEY_STORE_ID + " = '" + store_id
+ "' AND " + CommonString.KEY_CATEGORY_ID + " ='" + category_id
+ "' AND " + CommonString.KEY_SUB_CATEGORY_ID + " ='" + subcategory_id + "'", null);
}
else {
dbcursor = db.rawQuery("SELECT * FROM "+ CommonString.TABLE_INSERT_NO_CAMERA_FACING_DATA+" WHERE " + CommonString.KEY_STORE_ID + " = '"+ store_id
+"' AND "+ CommonString.KEY_CATEGORY_ID + " ='"+ category_id
+"' AND "+ CommonString.KEY_SUB_CATEGORY_ID + " ='"+ subcategory_id +"'", null);
}
if (dbcursor != null) {
@@ -5272,7 +5275,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
while (!dbcursor.isAfterLast()) {
NoCameraDataGetterSetter cd = new NoCameraDataGetterSetter();
cd.setSKUGROUP_ID(dbcursor.getInt(dbcursor.getColumnIndexOrThrow(CommonString.KEY_SKU_GROUP_ID))+"");
cd.setSKUGROUP_ID(dbcursor.getInt(dbcursor.getColumnIndexOrThrow(CommonString.KEY_SKU_GROUP_ID)) + "");
cd.setRow_no(dbcursor.getInt(dbcursor.getColumnIndexOrThrow(CommonString.KEY_ROW_NO)));
cd.setColumn_no(dbcursor.getInt(dbcursor.getColumnIndexOrThrow(CommonString.KEY_COLUMN_NO)));
cd.setFacing(dbcursor.getInt(dbcursor.getColumnIndexOrThrow(CommonString.KEY_FACING)));
@@ -5302,8 +5305,8 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
try {
dbcursor = db.rawQuery("SELECT * FROM "+ CommonString.TABLE_INSERT_NO_CAMERA_FACING_DATA+" WHERE " +
CommonString.KEY_STORE_ID + " = '"+ store_id +"'", null);
dbcursor = db.rawQuery("SELECT * FROM " + CommonString.TABLE_INSERT_NO_CAMERA_FACING_DATA + " WHERE " +
CommonString.KEY_STORE_ID + " = '" + store_id + "'", null);
if (dbcursor != null) {
dbcursor.moveToFirst();
@@ -5397,8 +5400,8 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
dbcursor = db.rawQuery("SELECT NC.SKU_GROUP_ID, SM.SKUGROUP_NAME, NC.FACING FROM NO_CAMERA_FACING_DATA NC " +
"INNER JOIN SKUGROUP_MASTER SM ON NC.SKU_GROUP_ID = SM.SKUGROUP_ID " +
"WHERE NC.STORE_ID = '"+store_id +"' AND NC.CATEGORY_ID = '"+ category_id +"' AND NC.SUB_CATEGORY_ID = '"+ sub_category_id +"' AND ROW_NO = '"
+ row +"' AND COLUMN_NO = '" + column + "'", null);
"WHERE NC.STORE_ID = '" + store_id + "' AND NC.CATEGORY_ID = '" + category_id + "' AND NC.SUB_CATEGORY_ID = '" + sub_category_id + "' AND ROW_NO = '"
+ row + "' AND COLUMN_NO = '" + column + "'", null);
if (dbcursor != null) {
dbcursor.moveToFirst();
@@ -5498,7 +5501,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
"inner join CATEGORY_MASTER CA " +
"on SB.CATEGORY_ID=CA.CATEGORY_ID " +
"where CA.CATEGORY_ID='" + category_id + "' AND M.KEYACCOUNT_ID = '" + keyAccount_id +
"' AND M.STORETYPE_ID = '" + storeType_id + "' AND M.CLASS_ID = '" + class_id + "' AND BR.COMPANY_ID='"+ 1 +"' "+
"' AND M.STORETYPE_ID = '" + storeType_id + "' AND M.CLASS_ID = '" + class_id + "' AND BR.COMPANY_ID='" + 1 + "' " +
"order by SB.SUB_CATEGORY,BR.COMPANY_ID,BR.BRAND", null);
@@ -5526,4 +5529,203 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
}
return list;
}
public void deletePreviousCoverageData(String date) {
db.delete(CommonString.TABLE_COVERAGE_DATA, CommonString.KEY_VISIT_DATE + "<>'" + date + "'", null);
}
//ADDITIONAL_QUESTION
public void InsertADDITIONALQUESTION(AdditionalQuestiongetterSetter data) {
db.delete("ADDITIONAL_QUESTION", null, null);
ContentValues values = new ContentValues();
try {
for (int i = 0; i < data.getCATEGORY_ID().size(); i++) {
values.put("QUESTION_ID", data.getQUESTION_ID().get(i));
values.put("CULTURE_ID", data.getCULTURE_ID().get(i));
values.put("CATEGORY_ID", data.getCATEGORY_ID().get(i));
values.put("QUESTION", data.getQUESTION().get(i));
values.put("ANSWER_TYPE", data.getANSWER_TYPE().get(i));
values.put("ANSWER_ID", data.getANSWER_ID().get(i));
values.put("ANSWER", data.getANSWER().get(i));
values.put("STORETYPE_ID", data.getSTORETYPE_ID().get(i));
values.put("CAMERA_ALLOW", data.getCAMERA_ALLOW().get(i));
db.insert("ADDITIONAL_QUESTION", null, values);
}
} catch (Exception ex) {
Log.d("Exception ", " in ADDITIONAL_QUESTION " + ex.toString());
}
}
//Category wise Audit
public ArrayList<AuditDataGetterSetter> getAuditCategoryWise(String categoryId, String store_type_id) {
Cursor cursordata = null;
ArrayList<AuditDataGetterSetter> auditData = new ArrayList<>();
try {
cursordata = db.rawQuery("Select DISTINCT QUESTION ,QUESTION_ID, ANSWER_TYPE from ADDITIONAL_QUESTION " + "where CATEGORY_ID ='" + categoryId + "' AND STORETYPE_ID='"+ store_type_id +"'", null);
if (cursordata != null) {
cursordata.moveToFirst();
while (!cursordata.isAfterLast()) {
AuditDataGetterSetter sb = new AuditDataGetterSetter();
sb.setQUESTION(cursordata.getString(cursordata
.getColumnIndexOrThrow("QUESTION")));
sb.setQUESTION_ID(cursordata.getString(cursordata
.getColumnIndexOrThrow("QUESTION_ID")));
sb.setANSWER_TYPE(cursordata.getString(cursordata
.getColumnIndexOrThrow("ANSWER_TYPE")));
auditData.add(sb);
cursordata.moveToNext();
}
cursordata.close();
}
} catch (Exception ex) {
Log.d("Exception ", " in ADDITIONAL_QUESTION " + ex.toString());
}
return auditData;
}
public ArrayList<AuditDataGetterSetter> getAuditAnswerData(String question_id, String categoryId, String store_type_id, String select) {
Log.d("Fetching", "Storedata--------------->Start<------------");
ArrayList<AuditDataGetterSetter> list = new ArrayList<>();
AuditDataGetterSetter sb1 = new AuditDataGetterSetter();
sb1.setANSWER_ID("0");
sb1.setANSWER(select);
list.add(0, sb1);
Cursor dbcursor = null;
try {
dbcursor = db.rawQuery("Select * from ADDITIONAL_QUESTION " +
"where QUESTION_ID='" + question_id + "' AND CATEGORY_ID ='" + categoryId + "' AND STORETYPE_ID='"+ store_type_id +"'", null);
if (dbcursor != null) {
dbcursor.moveToFirst();
while (!dbcursor.isAfterLast()) {
AuditDataGetterSetter sb = new AuditDataGetterSetter();
sb.setANSWER_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("ANSWER_ID")));
sb.setANSWER(dbcursor.getString(dbcursor.getColumnIndexOrThrow("ANSWER")));
sb.setCAMERA_ALLOW(dbcursor.getString(dbcursor.getColumnIndexOrThrow("CAMERA_ALLOW")));
list.add(sb);
dbcursor.moveToNext();
}
dbcursor.close();
return list;
}
} catch (Exception e) {
Log.d("Exception", " answer " + e.toString());
return list;
}
Log.d("Fetching", " audit answer-->Stop<-");
return list;
}
//save audit insert data
public void saveAuditQuestionAnswerData(ArrayList<AuditDataGetterSetter> questionAnswerList,
String store_cd, String category_cd) {
db.delete(CommonString.TABLE_AUDIT_DATA_SAVE, "STORE_CD" + "='" + store_cd + "' AND CATEGORY_ID ='"
+ category_cd + "'", null);
ContentValues values = new ContentValues();
try {
for (int i = 0; i < questionAnswerList.size(); i++) {
AuditDataGetterSetter data = questionAnswerList.get(i);
values.put("STORE_CD", store_cd);
values.put("QUESTION_ID", data.getQUESTION_ID());
values.put("QUESTION", data.getQUESTION());
values.put("ANSWER_ID", data.getANSWER_ID());
values.put("ANSWER_TYPE", data.getANSWER_TYPE());
values.put("CATEGORY_ID", category_cd);
values.put("ANS_CAM_IMAGE", data.getCAM_IMAGE());
values.put("CAMERA_ALLOW", data.getCAMERA_ALLOW());
db.insert(CommonString.TABLE_AUDIT_DATA_SAVE, null, values);
}
} catch (Exception ex) {
Log.d("Database ", "Exception while Insert Audit Data " + ex.toString());
}
}
//get inserted Audit data
public ArrayList<AuditDataGetterSetter> getAfterSaveAuditQuestionAnswerData(String store_cd, String category_id) {
ArrayList<AuditDataGetterSetter> list = new ArrayList<>();
Cursor dbcursor = null;
try {
dbcursor = db.rawQuery("Select * " + "From " + CommonString.TABLE_AUDIT_DATA_SAVE
+ " where STORE_CD='" + store_cd + "' AND CATEGORY_ID ='" + category_id + "'", null);
if (dbcursor != null) {
dbcursor.moveToFirst();
while (!dbcursor.isAfterLast()) {
AuditDataGetterSetter sb = new AuditDataGetterSetter();
sb.setQUESTION_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("QUESTION_ID")));
sb.setQUESTION(dbcursor.getString(dbcursor.getColumnIndexOrThrow("QUESTION")));
sb.setANSWER_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("ANSWER_ID")));
sb.setANSWER_TYPE(dbcursor.getString(dbcursor.getColumnIndexOrThrow("ANSWER_TYPE")));
sb.setCATEGORY_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("CATEGORY_ID")));
sb.setCAM_IMAGE(dbcursor.getString(dbcursor.getColumnIndexOrThrow("ANS_CAM_IMAGE")));
sb.setCAMERA_ALLOW(dbcursor.getString(dbcursor.getColumnIndexOrThrow("CAMERA_ALLOW")));
list.add(sb);
dbcursor.moveToNext();
}
dbcursor.close();
return list;
}
} catch (Exception e) {
e.printStackTrace();
return list;
}
return list;
}
//Audit data for upload
public ArrayList<AuditDataGetterSetter> getAuditDataForUpload(String store_cd) {
ArrayList<AuditDataGetterSetter> list = new ArrayList<>();
Cursor dbcursor = null;
try {
dbcursor = db.rawQuery("Select * " + "From " + CommonString.TABLE_AUDIT_DATA_SAVE
+ " where STORE_CD='" + store_cd + "'", null);
if (dbcursor != null) {
dbcursor.moveToFirst();
while (!dbcursor.isAfterLast()) {
AuditDataGetterSetter sb = new AuditDataGetterSetter();
sb.setQUESTION_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("QUESTION_ID")));
sb.setQUESTION(dbcursor.getString(dbcursor.getColumnIndexOrThrow("QUESTION")));
sb.setANSWER_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("ANSWER_ID")));
sb.setANSWER_TYPE(dbcursor.getString(dbcursor.getColumnIndexOrThrow("ANSWER_TYPE")));
sb.setCATEGORY_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("CATEGORY_ID")));
sb.setCAM_IMAGE(dbcursor.getString(dbcursor.getColumnIndexOrThrow("ANS_CAM_IMAGE")));
list.add(sb);
dbcursor.moveToNext();
}
dbcursor.close();
return list;
}
} catch (Exception e) {
e.printStackTrace();
return list;
}
return list;
}
}
@@ -11,8 +11,6 @@ import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.res.ColorStateList;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
@@ -32,13 +30,13 @@ import android.support.design.widget.Snackbar;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.crashlytics.android.Crashlytics;
import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.appindexing.Thing;
@@ -70,16 +68,15 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Locale;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import cpm.com.gskmtorange.Database.GSKOrangeDB;
import cpm.com.gskmtorange.GetterSetter.GeotaggingBeans;
import cpm.com.gskmtorange.R;
import cpm.com.gskmtorange.constant.CommonFunctions;
import cpm.com.gskmtorange.constant.CommonString;
import cpm.com.gskmtorange.Database.GSKOrangeDB;
import cpm.com.gskmtorange.GetterSetter.GeotaggingBeans;
import cpm.com.gskmtorange.messgae.AlertMessage;
import cpm.com.gskmtorange.upload.Base64;
import cpm.com.gskmtorange.xmlGetterSetter.FailureGetterSetter;
@@ -410,19 +407,24 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb
protected void onStop() {
super.onStop();// ATTENTION: This was auto-generated to implement the App Indexing API.
// See https://g.co/AppIndexing/AndroidStudio for more information.
AppIndex.AppIndexApi.end(client, getIndexApiAction());
if (mGoogleApiClient.isConnected()) {
mGoogleApiClient.disconnect();
if(client!=null && mGoogleApiClient!=null){
AppIndex.AppIndexApi.end(client, getIndexApiAction());
if (mGoogleApiClient.isConnected()) {
mGoogleApiClient.disconnect();
}
// ATTENTION: This was auto-generated to implement the App Indexing API.
// See https://g.co/AppIndexing/AndroidStudio for more information.
client.disconnect();
}
// ATTENTION: This was auto-generated to implement the App Indexing API.
// See https://g.co/AppIndexing/AndroidStudio for more information.
client.disconnect();
}
@Override
protected void onPause() {
super.onPause();
stopLocationUpdates();
//stopLocationUpdates();
}
/*public String getCurrentTimeNotUsed() {
@@ -531,6 +533,9 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb
}
catch (Exception e) {
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception(e.getCause()));
e.printStackTrace();
}
}
@@ -736,10 +741,12 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb
GeoTagActivity.this.finish();
} catch (Exception ex) {
} catch (Exception e) {
ex.printStackTrace();
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception(e.getCause()));
e.printStackTrace();
Intent intent = new Intent(
GeoTagActivity.this,
GeoTagStoreList.class);
@@ -901,10 +908,12 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb
}
catch (Exception ex) {
ex.printStackTrace();
catch (Exception e) {
e.printStackTrace();
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception(e.getCause()));
Intent intent = new Intent(
GeoTagActivity.this,
GeoTagStoreList.class);
@@ -5,29 +5,20 @@ import android.animation.AnimatorListenerAdapter;
import android.annotation.TargetApi;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.ClipData;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.location.Location;
import android.location.LocationListener;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.preference.PreferenceManager;
import android.support.annotation.NonNull;
import android.support.design.widget.Snackbar;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
@@ -37,7 +28,9 @@ import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.crashlytics.android.Crashlytics;
import com.google.firebase.analytics.FirebaseAnalytics;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
@@ -54,7 +47,6 @@ import java.net.MalformedURLException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.List;
import java.util.Locale;
import cpm.com.gskmtorange.autoupdate.AutoUpdateActivity;
import cpm.com.gskmtorange.constant.CommonFunctions;
@@ -62,15 +54,18 @@ import cpm.com.gskmtorange.constant.CommonString;
import cpm.com.gskmtorange.xmlGetterSetter.FailureGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.LoginGetterSetter;
import cpm.com.gskmtorange.xmlHandlers.XMLHandlers;
import io.fabric.sdk.android.Fabric;
import static android.Manifest.permission.READ_CONTACTS;
import static android.R.attr.versionCode;
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;
/**
* A login screen that offers login via userid/password.
*/
public class LoginActivity extends AppCompatActivity {
private FirebaseAnalytics mFirebaseAnalytics;
TextView tv_version;
String app_ver;
@@ -111,12 +106,22 @@ public class LoginActivity extends AppCompatActivity {
Button museridSignInButton;
Trace myTrace;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();
setContentView(R.layout.activity_login);
// Obtain the FirebaseAnalytics instance.
mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
Fabric.with(this, new Crashlytics());
TextView tv_version = (TextView) findViewById(R.id.tv_version_code);
try {
@@ -128,7 +133,7 @@ public class LoginActivity extends AppCompatActivity {
e.printStackTrace();
}
tv_version.setText("Version/Versiyon - " + app_ver+"T6");
tv_version.setText("Version/Versiyon - " + app_ver);
preferences = PreferenceManager.getDefaultSharedPreferences(this);
editor = preferences.edit();
@@ -176,7 +181,7 @@ public class LoginActivity extends AppCompatActivity {
// Create a Folder for Images
File file = new File(Environment.getExternalStorageDirectory(), "GSK_MT_ORANGE_IMAGES");
File file = new File(Environment.getExternalStorageDirectory(), ".GSK_MT_ORANGE_IMAGES");
if (!file.isDirectory()) {
file.mkdir();
}
@@ -271,12 +276,18 @@ public class LoginActivity extends AppCompatActivity {
// form field with an error.
focusView.requestFocus();
} else if(!isuseridValid(userid)){
Snackbar.make(museridView,getString(R.string.error_incorrect_username),Snackbar.LENGTH_SHORT).show();
}else if(!isPasswordValid(password)){
Snackbar.make(museridView,getString(R.string.error_incorrect_password),Snackbar.LENGTH_SHORT).show();
}else{
} else if (!isuseridValid(userid)) {
Snackbar.make(museridView, getString(R.string.error_incorrect_username), Snackbar.LENGTH_SHORT).show();
} else if (!isPasswordValid(password)) {
Snackbar.make(museridView, getString(R.string.error_incorrect_password), Snackbar.LENGTH_SHORT).show();
} else {
/* ClipData.Item item = cache.fetch("item");
if (item != null) {
myTrace.incrementCounter("item_cache_hit");
} else {
myTrace.incrementCounter("item_cache_miss");
}*/
// Show a progress spinner, and kick off a background task to
// perform the user login attempt.
@@ -304,7 +315,7 @@ public class LoginActivity extends AppCompatActivity {
String pw = preferences.getString(CommonString.KEY_PASSWORD, "");
if(!pw.equals("") &&!password.equals(pw)){
if (!pw.equals("") && !password.equals(pw)) {
flag = false;
}
@@ -434,7 +445,7 @@ public class LoginActivity extends AppCompatActivity {
+ "[/PASSWORD]" + "[IN_TIME]" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext())
+ "[/IN_TIME]" + "[LATITUDE]" + lat
+ "[/LATITUDE]" + "[LONGITUDE]" + lon
+ "[/LONGITUDE]" + "[APP_VERSION]" + app_ver+"T6"
+ "[/LONGITUDE]" + "[APP_VERSION]" + app_ver
+ "[/APP_VERSION]" + "[ATT_MODE]OnLine[/ATT_MODE]"
+ "[NETWORK_STATUS]" + "LoginStatus"
+ "[/NETWORK_STATUS]" + "[/USER_DATA][/DATA]";
@@ -544,10 +555,19 @@ public class LoginActivity extends AppCompatActivity {
editor.putString(CommonString.KEY_PATH, lgs.getAPP_PATH());
editor.putString(CommonString.KEY_DATE, lgs.getCURRENTDATE());
editor.putString(CommonString.KEY_COUNTRY_ID, lgs.getCOUNTRY_ID());
//editor.putString(CommonString.KEY_DATE, "01/21/2017");
//editor.putString(CommonString.KEY_DATE, "02/04/2018");
editor.commit();
Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, userid);
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, CommonString.KEY_LOGIN_DATA);
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "Data");
bundle.putString(CommonString.KEY_LANGUAGE, preferences.getString(CommonString.KEY_LANGUAGE, ""));
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
Crashlytics.setUserIdentifier(userid);
return CommonString.KEY_SUCCESS;
}
@@ -593,11 +613,13 @@ public class LoginActivity extends AppCompatActivity {
/* final AlertMessage message = new AlertMessage(
LoginActivity.this, AlertMessage.MESSAGE_EXCEPTION,
"acra_login", e);*/
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception("My custom login Exception"));
runOnUiThread(new Runnable() {
@Override
public void run() {
showAlert(CommonString.MESSAGE_EXCEPTION);
}
});
@@ -611,6 +633,9 @@ public class LoginActivity extends AppCompatActivity {
super.onPostExecute(result);
//Stop performance trace
myTrace.stop();
if (result.equals(CommonString.KEY_SUCCESS)) {
// database.open();
@@ -704,7 +729,7 @@ public class LoginActivity extends AppCompatActivity {
if (preferences.getString(CommonString.KEY_LANGUAGE, "").equalsIgnoreCase(CommonString.KEY_LANGUAGE_ARABIC_KSA)) {
cdate = arabicToenglish(cdate);
}else if (preferences.getString(CommonString.KEY_LANGUAGE, "").equalsIgnoreCase(CommonString.KEY_LANGUAGE_ARABIC_UAE)) {
} else if (preferences.getString(CommonString.KEY_LANGUAGE, "").equalsIgnoreCase(CommonString.KEY_LANGUAGE_ARABIC_UAE)) {
cdate = arabicToenglish(cdate);
}
@@ -5,8 +5,6 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
@@ -28,8 +26,9 @@ import android.webkit.WebViewClient;
import android.widget.ImageView;
import android.widget.TextView;
import com.crashlytics.android.Crashlytics;
import java.util.ArrayList;
import java.util.Locale;
import cpm.com.gskmtorange.Database.GSKOrangeDB;
import cpm.com.gskmtorange.GeoTag.GeoTagStoreList;
@@ -45,6 +44,7 @@ import cpm.com.gskmtorange.dailyentry.StoreListActivity;
import cpm.com.gskmtorange.download.DownloadActivity;
import cpm.com.gskmtorange.upload.PreviousDataUploadActivity;
import cpm.com.gskmtorange.upload.UploadActivity;
import io.fabric.sdk.android.Fabric;
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
@@ -70,9 +70,13 @@ public class MainActivity extends AppCompatActivity
setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
preferences = PreferenceManager.getDefaultSharedPreferences(this);
Crashlytics.setBool(CommonString.KEY_LOGIN_DONE, true);
Crashlytics.setString(CommonString.KEY_LANGUAGE, preferences.getString(CommonString.KEY_LANGUAGE, ""));
Fabric.with(this, new Crashlytics());
CommonFunctions.updateLangResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, ""));
date = preferences.getString(CommonString.KEY_DATE, null);
@@ -82,6 +86,8 @@ public class MainActivity extends AppCompatActivity
String url = preferences.getString(CommonString.KEY_NOTICE_BOARD_LINK, "");
user_name = preferences.getString(CommonString.KEY_USERNAME, null);
Crashlytics.setString(CommonString.KEY_USER_ID, user_name);
//user_type = preferences.getString(CommonString.KEY_USER_TYPE, null);
db = new GSKOrangeDB(MainActivity.this);
@@ -195,7 +201,18 @@ public class MainActivity extends AppCompatActivity
} else if (id == R.id.nav_download) {
if (checkNetIsAvailable()) {
if (db.isCoverageDataFilled(date)) {
boolean previousflag = false;
if (db.isPreviousCoverageDataFilled(date)) {
if(isPreviousValid(date)){
previousflag =true;
}
else{
db.deletePreviousCoverageData(date);
}
}
if (previousflag) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Parinaam");
builder.setMessage(getResources().getString(R.string.previous_data_upload)).setCancelable(false)
@@ -264,7 +281,6 @@ public class MainActivity extends AppCompatActivity
if (storelist.size() > 0) {
Intent startDownload = new Intent(this, GeoTagStoreList.class);
startActivity(startDownload);
@@ -277,7 +293,23 @@ public class MainActivity extends AppCompatActivity
} else if (id == R.id.nav_exit) {
/* try {
int i = 1/0;
}
catch (Exception e){
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception("My custom error message"));
}
Integer.parseInt("");
*/
// finish();
Intent startDownload = new Intent(this, LoginActivity.class);
startActivity(startDownload);
ActivityCompat.finishAffinity(this);
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
@@ -401,4 +433,21 @@ public class MainActivity extends AppCompatActivity
return flag;
}
public boolean isPreviousValid(String visit_date){
boolean isvalid= false;
ArrayList<CoverageBean> coverage_list = db.getPreviousCoverageData(visit_date);
for(int i=0;i<coverage_list.size();i++){
StoreBean storeData = db.getSpecificStoreData(coverage_list.get(i).getVisitDate(), coverage_list.get(i).getStoreId());
if (storeData.getSTORE_ID() != null) {
if ( !storeData.getUPLOAD_STATUS().equals(CommonString.KEY_U) && (storeData.getCHECKOUT_STATUS().equals(CommonString.KEY_Y) ||
storeData.getCHECKOUT_STATUS().equals(CommonString.KEY_L)|| storeData.getUPLOAD_STATUS().equalsIgnoreCase(CommonString.KEY_P) )) {
isvalid = true;
break;
}
}
}
return isvalid;
}
}
@@ -3,17 +3,29 @@ package cpm.com.gskmtorange;
import android.content.Intent;
import android.graphics.PixelFormat;
import android.os.Handler;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Window;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.LinearLayout;
import java.io.File;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import cpm.com.gskmtorange.constant.CommonString;
import cpm.com.gskmtorange.upload.UploadImageWithRetrofit;
public class SplashScreenActivity extends AppCompatActivity {
private static int SPLASH_TIME_OUT = 3000;
LinearLayout linearLayout;
public void onAttachedToWindow() {
super.onAttachedToWindow();
@@ -26,8 +38,54 @@ public class SplashScreenActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash_main_layout);
linearLayout = findViewById(R.id.lin_lay);
StartAnimations();
File f = new File(CommonString.FILE_PATH_OLD);
if(f!=null){
File file[] = f.listFiles();
for (int i=0;i<file.length;i++){
Date lastModDate = new Date(file[0].lastModified());
String day = lastModDate.toString();
/*SimpleDateFormat spf= new SimpleDateFormat("MM/dd/yyyy");
date = spf.format(newDate);
System.out.println(date);*/
}
if(file.length>0){
UploadImageWithRetrofit.uploadedFiles = 0;
UploadImageWithRetrofit.totalFiles = file.length;
UploadImageWithRetrofit uploadImg = new UploadImageWithRetrofit( SplashScreenActivity.this);
uploadImg.UploadImageRecursive(SplashScreenActivity.this);
}
else {
sendToLogin();
}
}
else {
sendToLogin();
}
}
private void StartAnimations() {
Animation anim = AnimationUtils.loadAnimation(this, R.anim.alpha);
anim.reset();
LinearLayout l=(LinearLayout) findViewById(R.id.lin_lay);
l.clearAnimation();
l.startAnimation(anim);
anim = AnimationUtils.loadAnimation(this, R.anim.translate);
anim.reset();
ImageView iv = (ImageView) findViewById(R.id.logo);
iv.clearAnimation();
iv.startAnimation(anim);
}
public void sendToLogin(){
new Handler().postDelayed(new Runnable() {
/*
@@ -55,9 +113,7 @@ public class SplashScreenActivity extends AppCompatActivity {
}*/
// close this activity
Intent i = new Intent(SplashScreenActivity.this, LoginActivity.class);
startActivity(i);
@@ -66,21 +122,29 @@ public class SplashScreenActivity extends AppCompatActivity {
finish();
}
}, SPLASH_TIME_OUT);
}
private void StartAnimations() {
Animation anim = AnimationUtils.loadAnimation(this, R.anim.alpha);
anim.reset();
LinearLayout l=(LinearLayout) findViewById(R.id.lin_lay);
l.clearAnimation();
l.startAnimation(anim);
anim = AnimationUtils.loadAnimation(this, R.anim.translate);
anim.reset();
ImageView iv = (ImageView) findViewById(R.id.logo);
iv.clearAnimation();
iv.startAnimation(anim);
}
public static String getCalculatedDate(String date, String dateFormat, int days) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat s = new SimpleDateFormat(dateFormat);
cal.add(Calendar.DAY_OF_YEAR, days);
try {
return s.format(new Date(s.parse(date).getTime()));
} catch (ParseException e) {
// TODO Auto-generated catch block
Log.e("TAG", "Error in Parsing Date : " + e.getMessage());
}
return null;
}
/* public boolean isValidDateForUpload(String dateImg){
boolean flag=false;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date strDate = sdf.parse(valid_until);
if (System.currentTimeMillis() > strDate.getTime()) {
flag = true;
}
return flag;
}*/
}
@@ -1,6 +1,7 @@
package cpm.com.gskmtorange.adapter;
import android.content.Context;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
@@ -52,6 +53,16 @@ public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
final NoCameraDataGetterSetter current = data.get(position);
if(current.getSKUGROUP_ID()!=null){
if(current.getSKUGROUP_ID().equals("-1")){
holder.parent_card.setVisibility(View.INVISIBLE);
}
else {
holder.parent_card.setVisibility(View.VISIBLE);
}
}
//holder.parent_card.setOnDragListener(new DragListener(listener));
final String name = current.getSKUGROUP_NAME();
holder.name.setText(name);
@@ -65,7 +76,7 @@ public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
holder.linear_parent.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
listener.deleteItem(view, position, rec);
listener.deleteItem(view, position, rec,current);
return false;
}
@@ -101,12 +112,14 @@ public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> {
TextView name;
TextView tv_facing;
LinearLayout linear_parent;
CardView parent_card;
public MyViewHolder(View itemView) {
super(itemView);
name = (TextView) itemView.findViewById(R.id.tv_brand);
tv_facing = (TextView) itemView.findViewById(R.id.tv_facing);
linear_parent = (LinearLayout) itemView.findViewById(R.id.linear_parent);
parent_card = (CardView) itemView.findViewById(R.id.parent_card);
}
@@ -4,7 +4,11 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.preference.PreferenceManager;
import android.view.ViewTreeObserver;
import android.widget.ImageView;
import java.text.SimpleDateFormat;
import java.util.Calendar;
@@ -79,4 +83,53 @@ public class CommonFunctions {
}
return new String(chars);
}
public static void setScaledImage(ImageView imageView, final String path) {
final ImageView iv = imageView;
ViewTreeObserver viewTreeObserver = iv.getViewTreeObserver();
viewTreeObserver.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
public boolean onPreDraw() {
iv.getViewTreeObserver().removeOnPreDrawListener(this);
int imageViewHeight = iv.getMeasuredHeight();
int imageViewWidth = iv.getMeasuredWidth();
iv.setImageBitmap(decodeSampledBitmapFromPath(path, imageViewWidth, imageViewHeight));
return true;
}
});
}
private static Bitmap decodeSampledBitmapFromPath(String path,
int reqWidth, int reqHeight) {
// First decode with inJustDecodeBounds = true to check dimensions
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
//BitmapFactory.decodeResource(res, resId, options);
BitmapFactory.decodeFile(path, options);
// Calculate inSampleSize
options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
// Decode bitmap with inSampleSize set
options.inJustDecodeBounds = false;
return BitmapFactory.decodeFile(path, options);
}
private static int calculateInSampleSize(
BitmapFactory.Options options, int reqWidth, int reqHeight) {
// Raw height and width of image
final int height = options.outHeight;
final int width = options.outWidth;
int inSampleSize = 1;
if (height > reqHeight || width > reqWidth) {
final int halfHeight = height / 2;
final int halfWidth = width / 2;
// Calculate the largest inSampleSize value that is a power of 2 and keeps both
// height and width larger than the requested height and width.
while ((halfHeight / inSampleSize) > reqHeight
&& (halfWidth / inSampleSize) > reqWidth) {
inSampleSize *= 2;
}
}
return inSampleSize;
}
}
@@ -2,8 +2,6 @@ package cpm.com.gskmtorange.constant;
import android.os.Environment;
import org.xmlpull.v1.XmlPullParserException;
/**
* Created by yadavendras on 19-12-2016.
*/
@@ -65,6 +63,9 @@ public class CommonString {
public static final String KEY_LOOGIN_PREF = "LOGIN_PREF";
public static final String KEY_LOGIN_DONE = "IS_LOGGED_IN";
public static final String KEY_DOWNLOAD_DONE = "IS_DOWNLOAD_DONE";
//KEYS RELATED TO T2P COMPLIANCE
public static final String KEY_DISPLAY = "DISPLAY";
@@ -220,7 +221,8 @@ public class CommonString {
//Gagan Code Start
//File Path
public static final String FILE_PATH = Environment.getExternalStorageDirectory() + "/GSK_MT_ORANGE_IMAGES/";
public static final String FILE_PATH = Environment.getExternalStorageDirectory() + "/.GSK_MT_ORANGE_IMAGES/";
public static final String FILE_PATH_OLD = Environment.getExternalStorageDirectory() + "/GSK_MT_ORANGE_IMAGES/";
public static final String FILE_PATH_PDF = Environment.getExternalStorageDirectory() + "/GSK_MT_ORANGE_Planogram/";
@@ -844,4 +846,37 @@ public class CommonString {
+ KEY_ROW_NO + " INTEGER,"
+ KEY_COLUMN_NO + " INTEGER,"
+ KEY_FACING + " INTEGER)";
public static final String TABLE_AUDIT_DATA_SAVE = "Audit_Data_Save";
public static final String CREATE_TABLE_AUDIT_DATA_SAVE = "CREATE TABLE IF NOT EXISTS "
+ TABLE_AUDIT_DATA_SAVE
+ " ("
+ "KEY_ID"
+ " INTEGER PRIMARY KEY AUTOINCREMENT ,"
+ "STORE_CD"
+ " INTEGER,"
+ "QUESTION_ID"
+ " INTEGER,"
+ "QUESTION"
+ " VARCHAR,"
+ "ANS_CAM_IMAGE"
+ " VARCHAR,"
+ "CAMERA_ALLOW"
+ " INTEGER,"
+ "ANSWER_ID"
+ " INTEGER,"
+ "CATEGORY_ID"
+ " INTEGER,"
+ "ANSWER_TYPE"
+ " VARCHAR"
+ ")";
}
@@ -179,7 +179,7 @@ public class AdditionalVisibility extends AppCompatActivity implements View.OnCl
///Display List
DisplayMaster_list = db.getADDITIONAL_DISPLAYData(store_id);
DisplayMaster_list = db.getADDITIONAL_DISPLAYData(categoryId);
ADDITIONAL_DISPLAY_MASTERGetterSetter select = new ADDITIONAL_DISPLAY_MASTERGetterSetter();
select.setDISPLAY_ID(str);
@@ -360,6 +360,7 @@ public class AdditionalVisibility extends AppCompatActivity implements View.OnCl
db.InsertMainListAdditionalData(listdata, categoryId);
finish();
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
}
})
.setNegativeButton(getResources().getString(R.string.no), new DialogInterface.OnClickListener() {
@@ -414,6 +415,7 @@ public class AdditionalVisibility extends AppCompatActivity implements View.OnCl
db.InsertMainListAdditionalData(listdata, categoryId);
finish();
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
}
})
.setNegativeButton(getResources().getString(R.string.no), new DialogInterface.OnClickListener() {
@@ -0,0 +1,517 @@
package cpm.com.gskmtorange.dailyentry;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.provider.MediaStore;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.CardView;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ExpandableListView;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.Spinner;
import android.widget.TextView;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import cpm.com.gskmtorange.Database.GSKOrangeDB;
import cpm.com.gskmtorange.R;
import cpm.com.gskmtorange.constant.CommonFunctions;
import cpm.com.gskmtorange.constant.CommonString;
import cpm.com.gskmtorange.xmlGetterSetter.AdditionalQuestiongetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.AuditDataGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityStockFacingGetterSetter;
public class AuditActivity extends AppCompatActivity {
List<Integer> checkHeaderArray = new ArrayList<>();
boolean checkflag = true;
private SharedPreferences preferences;
String categoryName, categoryId, Error_Message = "", pathforcheck = "", _path = "",str,img_str="";
String store_id, visit_date, username, intime, date, keyAccount_id, class_id, storeType_id;
GSKOrangeDB db;
ArrayList<AuditDataGetterSetter> question_list, childListData;
HashMap<AuditDataGetterSetter, ArrayList<AuditDataGetterSetter>> hashMapAnsListChildData;
AnswerAdapter questionAdapter;
RecyclerView recyclerView;
Uri outputFileUri;
String gallery_package = "";
int child_position = -1;
String error_msg="";
Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_audit);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
preferences = PreferenceManager.getDefaultSharedPreferences(this);
CommonFunctions.updateLangResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, ""));
store_id = preferences.getString(CommonString.KEY_STORE_ID, null);
visit_date = preferences.getString(CommonString.KEY_DATE, null);
date = preferences.getString(CommonString.KEY_DATE, null);
username = preferences.getString(CommonString.KEY_USERNAME, null);
intime = preferences.getString(CommonString.KEY_STORE_IN_TIME, "");
keyAccount_id = preferences.getString(CommonString.KEY_KEYACCOUNT_ID, "");
class_id = preferences.getString(CommonString.KEY_CLASS_ID, "");
storeType_id = preferences.getString(CommonString.KEY_STORETYPE_ID, "");
toolbar.setTitle(getResources().getString(R.string.audit));
str = CommonString.FILE_PATH;
recyclerView = (RecyclerView) findViewById(R.id.list);
db = new GSKOrangeDB(this);
db.open();
//Intent data
categoryName = getIntent().getStringExtra("categoryName");
categoryId = getIntent().getStringExtra("categoryId");
//Header
question_list = db.getAfterSaveAuditQuestionAnswerData(store_id, categoryId);
if (question_list.size() == 0) {
question_list = db.getAuditCategoryWise(categoryId, storeType_id);
}
hashMapAnsListChildData = new HashMap<>();
childListData = new ArrayList<>();
if (question_list.size() > 0) {
String select = getString(R.string.title_activity_select_dropdown);
// Adding child data
for (int i = 0; i < question_list.size(); i++) {
childListData = db.getAuditAnswerData(question_list.get(i).getQUESTION_ID(), categoryId, storeType_id, select);
ArrayList<AuditDataGetterSetter> answerList = new ArrayList<>();
for (int j = 0; j < childListData.size(); j++) {
answerList.add(childListData.get(j));
}
hashMapAnsListChildData.put(question_list.get(i), answerList); // Header, Child data
}
}
questionAdapter = new AnswerAdapter(question_list, hashMapAnsListChildData);
recyclerView.setAdapter(questionAdapter);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (validateData(question_list)) {
AlertDialog.Builder builder = new AlertDialog.Builder(AuditActivity.this);
builder.setMessage(R.string.title_activity_Want_save)
.setCancelable(false)
.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
db.saveAuditQuestionAnswerData(question_list, store_id, categoryId);
finish();
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
}
})
.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
} else {
questionAdapter.notifyDataSetChanged();
Snackbar.make(recyclerView,error_msg , Snackbar.LENGTH_SHORT).show();
}
}
});
}
@Override
protected void onResume() {
super.onResume();
CommonFunctions.updateLangResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, ""));
toolbar.setTitle(getResources().getString(R.string.audit));
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == android.R.id.home) {
android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(AuditActivity.this);
builder.setTitle("Parinaam");
builder.setMessage(getResources().getString(R.string.data_will_be_lost)).setCancelable(false)
.setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
}
})
.setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
android.app.AlertDialog alert = builder.create();
alert.show();
}
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
//super.onBackPressed();
android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(AuditActivity.this);
builder.setTitle("Parinaam");
builder.setMessage(getResources().getString(R.string.data_will_be_lost)).setCancelable(false)
.setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
}
})
.setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
android.app.AlertDialog alert = builder.create();
alert.show();
}
class AnswerAdapter extends RecyclerView.Adapter<AnswerAdapter.ViewHolder> {
ArrayList<AuditDataGetterSetter> questionList;
HashMap<AuditDataGetterSetter, ArrayList<AuditDataGetterSetter>> answerHashMap;
ArrayList<AuditDataGetterSetter> answerList;
// ArrayList<Audit_QuestionDataGetterSetter> ans_list;
public AnswerAdapter(ArrayList<AuditDataGetterSetter> questionList,
HashMap<AuditDataGetterSetter, ArrayList<AuditDataGetterSetter>> answerHashMap) {
this.questionList = questionList;
this.answerHashMap = answerHashMap;
}
public AnswerAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.audit_question_list_item, parent, false);
return new ViewHolder(view);
}
public void onBindViewHolder(final AnswerAdapter.ViewHolder holder, final int position) {
holder.data = questionList.get(position);
holder.txt_question.setText(holder.data.getQUESTION());
ArrayList<AuditDataGetterSetter> ans_list = answerHashMap.get(holder.data);
if (holder.data.getANSWER_TYPE().equalsIgnoreCase("Dropdown")) {
holder.sp_auditAnswer.setVisibility(View.VISIBLE);
holder.edt_answer.setVisibility(View.GONE);
} else {
holder.edt_answer.setVisibility(View.VISIBLE);
holder.sp_auditAnswer.setVisibility(View.GONE);
}
holder.sp_auditAnswer.setAdapter(new AnswerSpinnerAdapter(AuditActivity.this, R.layout.custom_spinner_item, ans_list));
final ArrayList<AuditDataGetterSetter> finalAns_list = ans_list;
holder.sp_auditAnswer.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
AuditDataGetterSetter ans = finalAns_list.get(position);
holder.data.setANSWER_ID(ans.getANSWER_ID());
holder.data.setANSWER(ans.getANSWER());
holder.data.setCAMERA_ALLOW(ans.getCAMERA_ALLOW());
if (holder.data.getCAMERA_ALLOW().equals("1")) {
holder.parent_cam_layout.setVisibility(View.VISIBLE);
} else {
holder.parent_cam_layout.setVisibility(View.GONE);
if (holder.data.getCAM_IMAGE()!=null && holder.data.getCAM_IMAGE().equals("")) {
if (new File(str + holder.data.getCAM_IMAGE()).exists()) {
new File(str + holder.data.getCAM_IMAGE()).delete();
}
}
holder.data.setCAM_IMAGE("");
holder.img_cam.setBackgroundResource(R.mipmap.camera_orange);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
holder.img_cam.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pathforcheck = store_id + "AuditAnsPic" + categoryId + date.replace("/", "") + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg";
_path = CommonString.FILE_PATH + pathforcheck;
intime = CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext());
child_position = position;
startCameraActivity();
}
});
holder.edt_answer.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
holder.data.setANSWER_ID("0");
holder.data.setANSWER(((EditText) v).getText().toString());
}
}
});
for (int i = 0; i < ans_list.size(); i++) {
if (holder.data.getANSWER_TYPE().equalsIgnoreCase("Dropdown") && ans_list.get(i).getANSWER_ID().equals(holder.data.getANSWER_ID())) {
holder.sp_auditAnswer.setSelection(i);
break;
} else {
holder.edt_answer.setText(ans_list.get(i).getANSWER());
}
}
if(!img_str.equals("")){
if(child_position==position){
holder.data.setCAM_IMAGE(img_str);
img_str="";
child_position = -1;
}
}
if(holder.data.getCAM_IMAGE().equals("")){
holder.img_cam.setBackgroundResource(R.mipmap.camera_orange);
}
else {
holder.img_cam.setBackgroundResource(R.mipmap.camera_green);
}
if (!checkflag) {
if (checkHeaderArray.contains(position)) {
holder.card_view.setBackgroundColor(getResources().getColor(R.color.red));
} else {
holder.card_view.setBackgroundColor(getResources().getColor(R.color.white));
}
}
}
@Override
public int getItemCount() {
return questionList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
public final View mView;
public final TextView txt_question;
public final Spinner sp_auditAnswer;
public final EditText edt_answer;
public final ImageView img_cam;
public final RelativeLayout parent_cam_layout;
CardView card_view;
AuditDataGetterSetter data;
public ViewHolder(View view) {
super(view);
mView = view;
txt_question = (TextView) view.findViewById(R.id.txt_question);
sp_auditAnswer = (Spinner) view.findViewById(R.id.sp_auditAnswer);
card_view = (CardView) view.findViewById(R.id.card_view);
edt_answer = (EditText) view.findViewById(R.id.edt_answer);
img_cam = (ImageView) view.findViewById(R.id.img_cam);
parent_cam_layout = (RelativeLayout) view.findViewById(R.id.parent_cam_layout);
}
}
}
public class AnswerSpinnerAdapter extends ArrayAdapter<AuditDataGetterSetter> {
List<AuditDataGetterSetter> list;
Context context;
int resourceId;
public AnswerSpinnerAdapter(Context context, int resourceId, ArrayList<AuditDataGetterSetter> list) {
super(context, resourceId, list);
this.context = context;
this.list = list;
this.resourceId = resourceId;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
view = inflater.inflate(resourceId, parent, false);
AuditDataGetterSetter cm = list.get(position);
TextView txt_spinner = (TextView) view.findViewById(R.id.tv_text);
txt_spinner.setText(list.get(position).getANSWER());
return view;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
View view = convertView;
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
view = inflater.inflate(resourceId, parent, false);
AuditDataGetterSetter cm = list.get(position);
TextView txt_spinner = (TextView) view.findViewById(R.id.tv_text);
txt_spinner.setText(cm.getANSWER());
return view;
}
}
boolean validateData(ArrayList<AuditDataGetterSetter> data) {
//boolean flag = true;
checkHeaderArray.clear();
for (int i = 0; i < data.size(); i++) {
if (data.get(i).getANSWER_ID().equalsIgnoreCase("0")) {
error_msg = getString(R.string.pls_answer_all_qns);
checkflag = false;
} else if(data.get(i).getCAMERA_ALLOW().equals("1")&& data.get(i).getCAM_IMAGE().equals("")){
error_msg = getString(R.string.click_image);
checkflag = false;
}
else {
checkflag = true;
}
if (checkflag == false) {
if (!checkHeaderArray.contains(i)) {
checkHeaderArray.add(i);
}
break;
}
}
return checkflag;
}
protected void startCameraActivity() {
try {
Log.i("MakeMachine", "startCameraActivity()");
File file = new File(_path);
outputFileUri = Uri.fromFile(file);
String defaultCameraPackage = "";
final PackageManager packageManager = getPackageManager();
List<ApplicationInfo> list = packageManager.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);
for (int n = 0; n < list.size(); n++) {
if ((list.get(n).flags & ApplicationInfo.FLAG_SYSTEM) == 1) {
Log.e("TAG", "Installed Applications : " + list.get(n).loadLabel(packageManager).toString());
Log.e("TAG", "package name : " + list.get(n).packageName);
//temp value in case camera is gallery app above jellybean
String packag = list.get(n).loadLabel(packageManager).toString();
if (packag.equalsIgnoreCase("Gallery") || packag.equalsIgnoreCase("Galeri") || packag.equalsIgnoreCase("الاستوديو")) {
gallery_package = list.get(n).packageName;
}
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
if (packag.equalsIgnoreCase("Camera") || packag.equalsIgnoreCase("Kamera") || packag.equalsIgnoreCase("الكاميرا")) {
defaultCameraPackage = list.get(n).packageName;
break;
}
} else {
if (packag.equalsIgnoreCase("Camera") || packag.equalsIgnoreCase("Kamera") || packag.equalsIgnoreCase("الكاميرا")) {
defaultCameraPackage = list.get(n).packageName;
break;
}
}
}
}
//com.android.gallery3d
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
intent.setPackage(defaultCameraPackage);
startActivityForResult(intent, 0);
} catch (ActivityNotFoundException e) {
e.printStackTrace();
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
intent.setPackage(gallery_package);
startActivityForResult(intent, 0);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.i("MakeMachine", "resultCode: " + resultCode);
switch (resultCode) {
case 0:
Log.i("MakeMachine", "User cancelled");
break;
case -1:
if (pathforcheck != null && !pathforcheck.equals("")) {
if (new File(str + pathforcheck).exists()) {
img_str = pathforcheck;
pathforcheck = "";
questionAdapter.notifyDataSetChanged();
}
}
}
}
}
@@ -41,6 +41,7 @@ import android.widget.TextView;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import cpm.com.gskmtorange.Database.GSKOrangeDB;
@@ -133,10 +134,10 @@ public class NoCameraActivity extends AppCompatActivity implements Listener {
//tvEmptyListTop.setOnDragListener(topListAdapter.getDragInstance());
rvTop.setOnDragListener(topListAdapter.getDragInstance());
if(FROM==1){
ArrayList<RowColumnGetterSetter> rows_data = db.getrowColumnNoCamera(store_id, categoryId,sub_category_data.getSub_category_id());
if (FROM == 1) {
ArrayList<RowColumnGetterSetter> rows_data = db.getrowColumnNoCamera(store_id, categoryId, sub_category_data.getSub_category_id());
number_of_rows = rows_data.size();
for(int i=1;i<=rows_data.size();i++){
for (int i = 1; i <= rows_data.size(); i++) {
DynamycIdsGetterSetter dynamic_ids = new DynamycIdsGetterSetter();
@@ -165,7 +166,7 @@ public class NoCameraActivity extends AppCompatActivity implements Listener {
dynamic_ids.setRecycler_id(rec_id);
rec_bottom.setLayoutParams(lprams);
rec_bottom.setPadding(0, 0, 0, 2);
rec_bottom.setPadding(0, 0, 0, 0);
rec_bottom.setVisibility(View.GONE);
@@ -196,23 +197,24 @@ public class NoCameraActivity extends AppCompatActivity implements Listener {
List<NoCameraDataGetterSetter> sku_group_master = new ArrayList<>();
for(int j=1; j<=rows_data.get(i-1).getColumn(); j++){
for (int j = 1; j <= rows_data.get(i - 1).getColumn(); j++) {
NoCameraDataGetterSetter column_data = new NoCameraDataGetterSetter();
column_data = db.getRowSkuGroupCamera(store_id, categoryId,sub_category_data.getSub_category_id(), i, j);
column_data = db.getRowSkuGroupCamera(store_id, categoryId, sub_category_data.getSub_category_id(), i, j);
sku_group_master.add(column_data);
}
MyAdapter adapter = new MyAdapter(getApplicationContext(), sku_group_master, this, rec_bottom);
rec_bottom.setAdapter(adapter);
rec_bottom.scrollToPosition(sku_group_master.size() - 1);
tv.setOnDragListener(adapter.getDragInstance());
rec_bottom.setOnDragListener(adapter.getDragInstance());
setEmptyListBottom(false,tv.getId(),rec_bottom);
setEmptyListBottom(false, tv.getId(), rec_bottom);
}
}
else {
} else {
for (int i = 1; i <= number_of_rows; i++) {
DynamycIdsGetterSetter dynamic_ids = new DynamycIdsGetterSetter();
@@ -242,7 +244,7 @@ public class NoCameraActivity extends AppCompatActivity implements Listener {
dynamic_ids.setRecycler_id(rec_id);
rec_bottom.setLayoutParams(lprams);
rec_bottom.setPadding(0, 0, 0, 2);
rec_bottom.setPadding(0, 0, 0, 0);
rec_bottom.setVisibility(View.GONE);
@@ -290,39 +292,52 @@ public class NoCameraActivity extends AppCompatActivity implements Listener {
}
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
boolean flag_all_rows_filled = true;
String error_msg = "";
HashMap<Integer, List<NoCameraDataGetterSetter>> hashMapRowData = new HashMap<>();
for(int i=0; i < number_of_rows;i++){
for (int i = 0; i < number_of_rows; i++) {
int rec_id = ids.get(i).getRecycler_id();
RecyclerView target = (RecyclerView) findViewById(rec_id);
MyAdapter adapterMYTarget = (MyAdapter) target.getAdapter();
List<NoCameraDataGetterSetter> customListMyTarget = adapterMYTarget.getList();
if(customListMyTarget.size()==0){
if (customListMyTarget.size() == 0) {
flag_all_rows_filled = false;
error_msg = getString(R.string.please_add_subgroup_facing);
break;
}
else{
hashMapRowData.put(i+1, customListMyTarget);
} else {
boolean flag_empty = true;
for (int k = 0; k < customListMyTarget.size(); k++) {
if (customListMyTarget.get(k).getSKUGROUP_ID().equals("-1")) {
flag_empty = false;
break;
}
}
if (flag_empty) {
hashMapRowData.put(i + 1, customListMyTarget);
} else {
flag_all_rows_filled = false;
error_msg = getString(R.string.please_add_subgroup_for_empty);
break;
}
}
}
if(flag_all_rows_filled){
if (flag_all_rows_filled) {
db.open();
db.InsertNoCameraAddedData(store_id, categoryId, sub_category_data.getSub_category_id(), number_of_rows, hashMapRowData);
finish();
}
else {
Snackbar.make(linear_bottom_parent,R.string.please_add_subgroup_facing,Snackbar.LENGTH_SHORT).show();
} else {
Snackbar.make(linear_bottom_parent, error_msg, Snackbar.LENGTH_SHORT).show();
}
}
});
@@ -340,7 +355,7 @@ public class NoCameraActivity extends AppCompatActivity implements Listener {
}
@Override
public void deleteItem(View v, final int column_no, final RecyclerView rec) {
public void deleteItem(View v, final int column_no, final RecyclerView rec, final NoCameraDataGetterSetter item) {
final Dialog dialog = new Dialog(NoCameraActivity.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
@@ -401,26 +416,77 @@ public class NoCameraActivity extends AppCompatActivity implements Listener {
dialog.cancel();
MyAdapter adapterMYTarget = (MyAdapter) rec.getAdapter();
List<NoCameraDataGetterSetter> customListMyTarget = adapterMYTarget.getList();
customListMyTarget.remove(column_no);
adapterMYTarget.updateList(customListMyTarget);
adapterMYTarget.notifyDataSetChanged();
if(customListMyTarget.size()==0){
int view_id = rec.getId();
int tv_id =0;
if (item.getSKUGROUP_ID().equals("21")) {
for (int i = 0; i < ids.size(); i++) {
RecyclerView rec = findViewById(ids.get(i).getRecycler_id());
MyAdapter adapterMYTarget = (MyAdapter) rec.getAdapter();
List<NoCameraDataGetterSetter> customListMyTarget = adapterMYTarget.getList();
customListMyTarget.remove(column_no);
if (ids.get(i).getRecycler_id() == view_id) {
tv_id = ids.get(i).getTextview_id();
Iterator<NoCameraDataGetterSetter> iterator = customListMyTarget.iterator();
while (iterator.hasNext()) {
NoCameraDataGetterSetter item = iterator.next(); // must be called before you can call iterator.remove()
// Check condition
if (item.getSKUGROUP_ID().equals("-1")) {
iterator.remove();
}
}
adapterMYTarget.updateList(customListMyTarget);
adapterMYTarget.notifyDataSetChanged();
if (customListMyTarget.size() == 0) {
((TextView) findViewById(ids.get(i).getTextview_id())).setVisibility(View.VISIBLE);
rec.setVisibility(View.GONE);
}
}
} else {
MyAdapter adapterMYTarget = (MyAdapter) rec.getAdapter();
if(tv_id!=0){
((TextView) findViewById(tv_id)).setVisibility(View.VISIBLE);
rec.setVisibility(View.GONE);
List<NoCameraDataGetterSetter> customListMyTarget = adapterMYTarget.getList();
if (customListMyTarget.size() - 1 > column_no) {
boolean flag = false;
for (int l = column_no + 1; l < customListMyTarget.size(); l++) {
if (customListMyTarget.get(l).getSKUGROUP_ID().equals("21")) {
flag = true;
break;
}
}
if (flag) {
NoCameraDataGetterSetter item = new NoCameraDataGetterSetter();
item.setSKUGROUP_ID("-1");
item.setSKUGROUP_NAME("");
item.setFacing(0);
customListMyTarget.set(column_no, item);
} else {
customListMyTarget.remove(column_no);
}
} else {
customListMyTarget.remove(column_no);
}
adapterMYTarget.updateList(customListMyTarget);
adapterMYTarget.notifyDataSetChanged();
if (customListMyTarget.size() == 0) {
int view_id = rec.getId();
int tv_id = 0;
for (int i = 0; i < ids.size(); i++) {
if (ids.get(i).getRecycler_id() == view_id) {
tv_id = ids.get(i).getTextview_id();
}
}
if (tv_id != 0) {
((TextView) findViewById(tv_id)).setVisibility(View.VISIBLE);
rec.setVisibility(View.GONE);
}
}
}
@@ -435,7 +501,7 @@ public class NoCameraActivity extends AppCompatActivity implements Listener {
@Override
public void addNUpdateRow(View v, int view_id, NoCameraDataGetterSetter parent_item) {
int rv_id = 0;
/* int rv_id = 0;
if (v instanceof TextView) {
for (int i = 0; i < ids.size(); i++) {
@@ -457,10 +523,10 @@ public class NoCameraActivity extends AppCompatActivity implements Listener {
target = (RecyclerView) v.getRootView().findViewById(rv_id);
MyAdapter adapterMYTarget = (MyAdapter) target.getAdapter();
List<NoCameraDataGetterSetter> customListMyTarget = adapterMYTarget.getList();
List<NoCameraDataGetterSetter> customListMyTarget = adapterMYTarget.getList();*/
showAddFacingDialog(adapterMYTarget, customListMyTarget, parent_item);
showAddFacingDialog(parent_item, v, view_id);
}
@@ -468,10 +534,10 @@ public class NoCameraActivity extends AppCompatActivity implements Listener {
public void smoothScrollToRow(View v, DragEvent event) {
//no action necessary
int y = Math.round(v.getY())+Math.round(event.getY());
int y = Math.round(v.getY()) + Math.round(event.getY());
int translatedY = y - mScrollDistance;
//Log.i("translated",""+translatedY+" "+ mScrollDistance+" "+y);
int threshold =50 ;
int threshold = 50;
// make a scrolling up due the y has passed the threshold
/* if (translatedY < 200) {
// make a scroll up by 30 px
@@ -494,8 +560,8 @@ public class NoCameraActivity extends AppCompatActivity implements Listener {
return true;
}
public void showAddFacingDialog(final MyAdapter adapterMYTarget, final List<NoCameraDataGetterSetter> customListMyTarget, final NoCameraDataGetterSetter parent_item) {
//public void showAddFacingDialog(final MyAdapter adapterMYTarget, final List<NoCameraDataGetterSetter> customListMyTarget, final NoCameraDataGetterSetter parent_item, final View view, final int view_id) {
public void showAddFacingDialog(final NoCameraDataGetterSetter parent_item, final View view, final int view_id) {
// ArrayList<SkuMasterGetterSetter> skuMasterGetterSetterArrayList = db.getSkuT2PData("1", "1", "1",)
final Dialog dialog = new Dialog(NoCameraActivity.this);
@@ -517,16 +583,110 @@ public class NoCameraActivity extends AppCompatActivity implements Listener {
if (facing.equals("")) {
Snackbar.make(btn_ok, R.string.please_facing, Snackbar.LENGTH_SHORT).show();
} else {
int facing_int = Integer.parseInt(facing);
parent_item.setFacing(facing_int);
NoCameraDataGetterSetter item = new NoCameraDataGetterSetter();
item.setSKUGROUP_ID(parent_item.getSKUGROUP_ID());
item.setSKUGROUP_NAME(parent_item.getSKUGROUP_NAME());
item.setFacing(facing_int);
customListMyTarget.add(item);
adapterMYTarget.updateList(customListMyTarget);
adapterMYTarget.notifyDataSetChanged();
int rv_id = 0;
if (view instanceof TextView) {
for (int i = 0; i < ids.size(); i++) {
if (ids.get(i).getTextview_id() == view_id) {
rv_id = ids.get(i).getRecycler_id();
}
}
RecyclerView target = (RecyclerView) view.getRootView().findViewById(rv_id);
((TextView) findViewById(view_id)).setVisibility(false ? View.VISIBLE : View.GONE);
target.setVisibility(false ? View.GONE : View.VISIBLE);
} else {
rv_id = view_id;
}
if (parent_item.getSKUGROUP_ID().equals("21")) {
//If Block Seperator is added
int max = 0;
HashMap<DynamycIdsGetterSetter, List<NoCameraDataGetterSetter>> biglistMap = new HashMap<>();
for (int i = 0; i < ids.size(); i++) {
RecyclerView target;
target = (RecyclerView) view.getRootView().findViewById(ids.get(i).getRecycler_id());
MyAdapter adapterMYTarget = (MyAdapter) target.getAdapter();
List<NoCameraDataGetterSetter> customListMyTarget = adapterMYTarget.getList();
biglistMap.put(ids.get(i), customListMyTarget);
if (max < customListMyTarget.size()) {
max = customListMyTarget.size();
}
}
for (int i = 0; i < ids.size(); i++) {
List<NoCameraDataGetterSetter> customList = biglistMap.get(ids.get(i));
if (customList.size() < max) {
int count = max - customList.size();
for (int j = 0; j < count; j++) {
NoCameraDataGetterSetter item = new NoCameraDataGetterSetter();
item.setSKUGROUP_ID("-1");
item.setSKUGROUP_NAME("");
item.setFacing(0);
customList.add(item);
}
}
int facing_int = Integer.parseInt(facing);
parent_item.setFacing(facing_int);
NoCameraDataGetterSetter item = new NoCameraDataGetterSetter();
item.setSKUGROUP_ID(parent_item.getSKUGROUP_ID());
item.setSKUGROUP_NAME(parent_item.getSKUGROUP_NAME());
item.setFacing(facing_int);
customList.add(item);
RecyclerView target = (RecyclerView) view.getRootView().findViewById(rv_id);
MyAdapter adapterMYTarget = (MyAdapter) target.getAdapter();
adapterMYTarget.notifyDataSetChanged();
target.scrollToPosition(customList.size() - 1);
((TextView) findViewById(ids.get(i).getTextview_id())).setVisibility(View.GONE);
((RecyclerView) findViewById(ids.get(i).getRecycler_id())).setVisibility(View.VISIBLE);
}
} else {
RecyclerView target;
target = (RecyclerView) view.getRootView().findViewById(rv_id);
MyAdapter adapterMYTarget = (MyAdapter) target.getAdapter();
List<NoCameraDataGetterSetter> customListMyTarget = adapterMYTarget.getList();
int facing_int = Integer.parseInt(facing);
parent_item.setFacing(facing_int);
NoCameraDataGetterSetter item = new NoCameraDataGetterSetter();
item.setSKUGROUP_ID(parent_item.getSKUGROUP_ID());
item.setSKUGROUP_NAME(parent_item.getSKUGROUP_NAME());
item.setFacing(facing_int);
boolean flag = true;
for (int i = 0; i < customListMyTarget.size(); i++) {
if (customListMyTarget.get(i).getSKUGROUP_ID().equals("-1")) {
customListMyTarget.set(i, item);
flag = false;
break;
}
}
if (flag) {
customListMyTarget.add(item);
}
adapterMYTarget.updateList(customListMyTarget);
adapterMYTarget.notifyDataSetChanged();
target.scrollToPosition(customListMyTarget.size() - 1);
}
dialog.cancel();
}
@@ -554,7 +714,7 @@ public class NoCameraActivity extends AppCompatActivity implements Listener {
dialog.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);
dialog.setCancelable(false);
ArrayList<MAPPING_PLANOGRAM_DataGetterSetter> mappingPlanogramList = db.getMappingPlanogramData(categoryId, storeType_id, class_id);
ArrayList<MAPPING_PLANOGRAM_DataGetterSetter> mappingPlanogramList = db.getMappingPlanogramData(categoryId, storeType_id, class_id);
//ImageView img_planogram = (ImageView) dialog.findViewById(R.id.img_planogram);
WebView webView = (WebView) dialog.findViewById(R.id.webview);
@@ -631,7 +791,7 @@ public class NoCameraActivity extends AppCompatActivity implements Listener {
@Override
public void onBackPressed() {
// super.onBackPressed();
// super.onBackPressed();
android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(NoCameraActivity.this);
builder.setTitle("Parinaam");
@@ -9,8 +9,6 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
@@ -35,6 +33,8 @@ import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import com.crashlytics.android.Crashlytics;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
@@ -48,29 +48,22 @@ import java.io.IOException;
import java.io.InterruptedIOException;
import java.io.StringReader;
import java.net.MalformedURLException;
import java.net.SocketException;
import java.net.SocketTimeoutException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Locale;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import cpm.com.gskmtorange.Database.GSKOrangeDB;
import cpm.com.gskmtorange.GeoTag.GeoTagActivity;
import cpm.com.gskmtorange.GeoTag.GeoTagStoreList;
import cpm.com.gskmtorange.GetterSetter.CoverageBean;
import cpm.com.gskmtorange.GetterSetter.StoreBean;
import cpm.com.gskmtorange.R;
import cpm.com.gskmtorange.constant.CommonFunctions;
import cpm.com.gskmtorange.constant.CommonString;
import cpm.com.gskmtorange.download.DownloadActivity;
import cpm.com.gskmtorange.messgae.AlertMessage;
import cpm.com.gskmtorange.xmlGetterSetter.FailureGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.JourneyPlanGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingReasonGetterSetter;
import cpm.com.gskmtorange.xmlHandlers.FailureXMLHandler;
@@ -295,6 +288,9 @@ public class NonWorkingReason extends AppCompatActivity implements
startActivityForResult(intent, 0);
} catch (Exception e) {
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception(e.getCause()));
e.printStackTrace();
}
}
@@ -735,6 +731,11 @@ public class NonWorkingReason extends AppCompatActivity implements
strflag = CommonString.MESSAGE_XmlPull;
} catch (Exception e) {
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception(e.getCause()));
ResultFlag = false;
strflag = CommonString.MESSAGE_EXCEPTION;
@@ -1,6 +1,7 @@
package cpm.com.gskmtorange.dailyentry;
import android.app.Dialog;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
@@ -11,6 +12,7 @@ import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.preference.PreferenceManager;
import android.support.design.widget.BaseTransientBottomBar;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
@@ -27,6 +29,8 @@ import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.crashlytics.android.Crashlytics;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.SoapFault;
import org.ksoap2.serialization.SoapObject;
@@ -47,8 +51,6 @@ import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.text.DecimalFormat;
import java.util.Collections;
import java.util.List;
import cpm.com.gskmtorange.Database.GSKOrangeDB;
import cpm.com.gskmtorange.R;
@@ -210,6 +212,9 @@ public class PlanogramPDFActivity extends AppCompatActivity {
publishProgress(data);
} catch (XmlPullParserException e) {
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception(e.getCause()));
e.printStackTrace();
resultHttp = getString(R.string.nonetwork);
flag = false;
@@ -223,6 +228,9 @@ public class PlanogramPDFActivity extends AppCompatActivity {
flag = false;
}
catch ( Exception e){
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception(e.getCause()));
resultHttp = getString(R.string.nonetwork);
flag = false;
}
@@ -409,15 +417,22 @@ public class PlanogramPDFActivity extends AppCompatActivity {
@Override
public void onClick(View v) {
String file_path = Path + name;
try{
String file_path = Path + name;
File file = new File(file_path);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file),"application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
//finish();
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
}
catch (ActivityNotFoundException ae){
Snackbar.make(fab, R.string.no_app_found_for_pdf, BaseTransientBottomBar.LENGTH_SHORT).show();
}
File file = new File(file_path);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file),"application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
//finish();
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
}
});
}
@@ -302,8 +302,13 @@ public class StoreCheckoutImageActivity extends AppCompatActivity implements Vie
case -1:
if (_pathforcheck != null && !_pathforcheck.equals("")) {
if (new File(str + _pathforcheck).exists()) {
Bitmap bmp = BitmapFactory.decodeFile(str + _pathforcheck);
img_cam.setImageBitmap(bmp);
try {
Bitmap bmp = BitmapFactory.decodeFile(str + _pathforcheck);
img_cam.setImageBitmap(bmp);
} catch (OutOfMemoryError ex) {
CommonFunctions.setScaledImage(img_cam, str + _pathforcheck);
}
img_clicked.setVisibility(View.GONE);
img_cam.setVisibility(View.VISIBLE);
@@ -10,8 +10,6 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.location.Location;
@@ -35,6 +33,7 @@ import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.crashlytics.android.Crashlytics;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.common.api.GoogleApiClient;
@@ -60,16 +59,15 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Locale;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import cpm.com.gskmtorange.Database.GSKOrangeDB;
import cpm.com.gskmtorange.GetterSetter.CoverageBean;
import cpm.com.gskmtorange.R;
import cpm.com.gskmtorange.constant.CommonFunctions;
import cpm.com.gskmtorange.constant.CommonString;
import cpm.com.gskmtorange.Database.GSKOrangeDB;
import cpm.com.gskmtorange.GetterSetter.CoverageBean;
import cpm.com.gskmtorange.gsk_dailyentry.StoreWisePerformanceActivity;
import cpm.com.gskmtorange.xmlGetterSetter.FailureGetterSetter;
import cpm.com.gskmtorange.xmlHandlers.FailureXMLHandler;
@@ -335,9 +333,9 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic
super.onStop();// ATTENTION: This was auto-generated to implement the App Indexing API.
// See https://g.co/AppIndexing/AndroidStudio for more information.
// AppIndex.AppIndexApi.end(client, getIndexApiAction());
if (mGoogleApiClient.isConnected()) {
/* if (mGoogleApiClient.isConnected()) {
mGoogleApiClient.disconnect();
}
}*/
// ATTENTION: This was auto-generated to implement the App Indexing API.
// See https://g.co/AppIndexing/AndroidStudio for more information.
//client.disconnect();
@@ -346,7 +344,7 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic
@Override
protected void onPause() {
super.onPause();
stopLocationUpdates();
//stopLocationUpdates();
}
@Override
@@ -498,6 +496,9 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic
} catch (Exception e) {
e.printStackTrace();
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception(e.getCause()));
}
}
@@ -513,8 +514,14 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic
case -1:
if (_pathforcheck != null && !_pathforcheck.equals("")) {
if (new File(str + _pathforcheck).exists()) {
Bitmap bmp = BitmapFactory.decodeFile(str + _pathforcheck);
img_cam.setImageBitmap(bmp);
try {
Bitmap bmp = BitmapFactory.decodeFile(str + _pathforcheck);
img_cam.setImageBitmap(bmp);
} catch (OutOfMemoryError ex) {
CommonFunctions.setScaledImage(img_cam, str + _pathforcheck);
}
img_clicked.setVisibility(View.GONE);
img_cam.setVisibility(View.VISIBLE);
@@ -536,7 +543,7 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic
if (preferences.getString(CommonString.KEY_LANGUAGE, "").equalsIgnoreCase(CommonString.KEY_LANGUAGE_ARABIC_KSA)
|| preferences.getString(CommonString.KEY_LANGUAGE, "").equalsIgnoreCase(CommonString.KEY_LANGUAGE_ARABIC_UAE)
|| preferences.getString(CommonString.KEY_LANGUAGE, "").equalsIgnoreCase(CommonString.KEY_LANGUAGE_ARABIC_EGYPT)) {
|| preferences.getString(CommonString.KEY_LANGUAGE, "").equalsIgnoreCase(CommonString.KEY_LANGUAGE_ARABIC_EGYPT)) {
cdate = arabicToenglish(cdate);
}
@@ -730,10 +737,20 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic
strflag = CommonString.MESSAGE_SOCKETEXCEPTION;
} catch (XmlPullParserException e) {
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception(e.getCause()));
ResultFlag = false;
strflag = CommonString.MESSAGE_XmlPull;
} catch (Exception e) {
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception(e.getCause()));
ResultFlag = false;
strflag = CommonString.MESSAGE_EXCEPTION;
@@ -1,18 +1,13 @@
package cpm.com.gskmtorange.download;
import android.app.ActionBar;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.drawable.ColorDrawable;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
@@ -20,6 +15,8 @@ import android.view.Window;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.crashlytics.android.Crashlytics;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
@@ -39,13 +36,13 @@ import java.net.MalformedURLException;
import java.net.SocketTimeoutException;
import java.net.URL;
import java.text.DecimalFormat;
import java.util.Locale;
import cpm.com.gskmtorange.Database.GSKOrangeDB;
import cpm.com.gskmtorange.R;
import cpm.com.gskmtorange.constant.CommonFunctions;
import cpm.com.gskmtorange.constant.CommonString;
import cpm.com.gskmtorange.xmlGetterSetter.ADDITIONAL_DISPLAY_MASTERGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.AdditionalQuestiongetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.BrandMasterGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.CategoryMasterGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.DisplayChecklistMasterGetterSetter;
@@ -98,6 +95,7 @@ public class DownloadActivity extends AppCompatActivity {
MappingSubCategoryImageAllowGetterSetter mappingSubCategoryImageAllowGetterSetter;
MappingCategoryImageAllowGetterSetter mappingCategoryImageAllowGetterSetter;
SkuGroupMasterGetterSetter skuGroupMasterGetterSetter;
AdditionalQuestiongetterSetter additionalQuestiongetterSetter;
private Dialog dialog;
private ProgressBar pb;
@@ -926,6 +924,40 @@ public class DownloadActivity extends AppCompatActivity {
}
publishProgress(data);
//ADDITIONAL_QUESTION
request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD);
request.addProperty("UserName", userId);
request.addProperty("Type", "ADDITIONAL_QUESTION");
request.addProperty("cultureid", culture_id);
envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
androidHttpTransport = new HttpTransportSE(CommonString.URL);
androidHttpTransport.call(CommonString.SOAP_ACTION_UNIVERSAL, envelope);
result = envelope.getResponse();
if (result.toString() != null) {
xpp.setInput(new StringReader(result.toString()));
xpp.next();
eventType = xpp.getEventType();
additionalQuestiongetterSetter = XMLHandlers.additionalXMLHandler(xpp, eventType);
String table_additionalQns_table = additionalQuestiongetterSetter.getTable_ADDITIONAL_QUESTION();
if (table_additionalQns_table != null) {
resultHttp = CommonString.KEY_SUCCESS;
TableBean.setTable_ADDITIONAL_QUESTION(table_additionalQns_table);
}
if (additionalQuestiongetterSetter.getCATEGORY_ID().size() > 0) {
data.value = 97;
data.name = "ADDITIONAL_QUESTION " + getResources().getString(R.string.download_data);
}
}
publishProgress(data);
/* //MAPPING_COUNTRYWISE_PLANOGRAM
request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD);
request.addProperty("UserName", userId);
@@ -1217,8 +1249,9 @@ public class DownloadActivity extends AppCompatActivity {
db.InsertMappingSubCategoryImageAllow(mappingSubCategoryImageAllowGetterSetter);
db.InsertMappingCategoryImageAllow(mappingCategoryImageAllowGetterSetter);
// db.InsertMappingCountrywisePlanogram(mappingPlanogramCountrywiseGetterSetter);
//db.InsertMappingCountrywisePlanogram(mappingPlanogramCountrywiseGetterSetter);
db.InsertSkuGroupMaster(skuGroupMasterGetterSetter);
db.InsertADDITIONALQUESTION(additionalQuestiongetterSetter);
} catch (MalformedURLException e) {
@@ -1245,6 +1278,9 @@ public class DownloadActivity extends AppCompatActivity {
str = CommonString.MESSAGE_XmlPull;
return CommonString.MESSAGE_XmlPull;
} catch (Exception e) {
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception(e.getCause()));
ResultFlag = false;
str = CommonString.MESSAGE_EXCEPTION;
@@ -1291,6 +1327,7 @@ public class DownloadActivity extends AppCompatActivity {
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Crashlytics.setBool(CommonString.KEY_DOWNLOAD_DONE, true);
/* Intent i = new Intent(activity, StorelistActivity.class);
activity.startActivity(i);
activity.finish();*/
@@ -2,12 +2,13 @@ package cpm.com.gskmtorange.fragment;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Environment;
import android.preference.PreferenceManager;
import android.support.design.widget.Snackbar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.util.SortedList;
import android.support.v7.widget.CardView;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
@@ -17,6 +18,7 @@ import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;
import com.crashlytics.android.Crashlytics;
import com.squareup.okhttp.MediaType;
import com.squareup.okhttp.MultipartBuilder;
import com.squareup.okhttp.RequestBody;
@@ -31,13 +33,12 @@ import java.util.ArrayList;
import cpm.com.gskmtorange.Database.GSKOrangeDB;
import cpm.com.gskmtorange.R;
import cpm.com.gskmtorange.constant.CommonFunctions;
import cpm.com.gskmtorange.constant.CommonString;
import cpm.com.gskmtorange.dailyentry.ServiceActivity;
import cpm.com.gskmtorange.messgae.AlertMessage;
import cpm.com.gskmtorange.retrofit.PostApiForFile;
import cpm.com.gskmtorange.retrofit.StringConverterFactory;
import cpm.com.gskmtorange.upload.UploadImageWithRetrofit;
import retrofit.Call;
import retrofit.Callback;
import retrofit.Response;
@@ -56,22 +57,39 @@ public class ServiceActivityFragment extends Fragment {
ArrayList<ServiceGetterSetter> serviceList;
private SharedPreferences preferences = null;
String username, visit_date;
RecyclerView rec;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_service, container, false);
RecyclerView rec = (RecyclerView) view.findViewById(R.id.rec_settings);
preferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
username = preferences.getString(CommonString.KEY_USERNAME, "");
visit_date = preferences.getString(CommonString.KEY_DATE, null);
rec = (RecyclerView) view.findViewById(R.id.rec_settings);
ServiceGetterSetter service = new ServiceGetterSetter();
service.setName(getString(R.string.export_database));
service.setIcon(R.mipmap.entry_grey);
//SelectLanguageFragment selectLanguageFragment = new SelectLanguageFragment();
service.setFragment(null);
serviceList = new ArrayList<>();
serviceList.add(service);
//Upload all images from folder
ServiceGetterSetter service2 = new ServiceGetterSetter();
service2.setName(getString(R.string.image));
service2.setIcon(R.mipmap.entry_grey);
//SelectLanguageFragment selectLanguageFragment = new SelectLanguageFragment();
service2.setFragment(null);
serviceList.add(service2);
rec.setLayoutManager(new LinearLayoutManager(getActivity()));
ServiceAdapter serviceAdapter = new ServiceAdapter();
rec.setAdapter(serviceAdapter);
@@ -85,11 +103,12 @@ public class ServiceActivityFragment extends Fragment {
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.settings_item_layout, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
public void onBindViewHolder(ViewHolder holder, final int position) {
final ServiceGetterSetter mItem = serviceList.get(position);
holder.tv_settings.setText(mItem.getName());
@@ -98,17 +117,27 @@ public class ServiceActivityFragment extends Fragment {
public void onClick(View v) {
Fragment nextFrag= mItem.getFragment();
if(nextFrag != null){
getActivity().getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment, nextFrag,"Settings")
.addToBackStack(null)
.commit();
}
else{
showExportDialog();
//restoreBackup();
}
if(position==0){
showExportDialog();
// restoreBackup();
}
else if(position==1){
File f = new File(CommonString.FILE_PATH);
if(f!=null){
File file[] = f.listFiles();
if(file.length>0){
UploadImageWithRetrofit.uploadedFiles = 0;
UploadImageWithRetrofit.totalFiles = file.length;
UploadImageWithRetrofit uploadImg = new UploadImageWithRetrofit(getActivity());
uploadImg.UploadImageRecursive(getActivity());
}
else {
Snackbar.make(rec, R.string.no_data_for_upload,Snackbar.LENGTH_SHORT).show();
}
}
}
}
});
@@ -217,7 +246,8 @@ public class ServiceActivityFragment extends Fragment {
String dateString = sdf.format(date);
String currentDBPath = "//data//cpm.com.gskmtorange//databases//" + GSKOrangeDB.DATABASE_NAME;
String backupDBPath = "GSKMT_ORANGE_Database_backup" + dateString.replace('/', '-');
String backupDBPath = "GSKMT_ORANGE_Database_backup" + "_"+username+"_"+ visit_date.replace("/", "") + "_" +
CommonFunctions.getCurrentTimeWithLanguage(getActivity()).replace(":", "") ;
String path = Environment.getExternalStorageDirectory().getPath()+ "/gsk_orange_backup";
@@ -245,19 +275,22 @@ public class ServiceActivityFragment extends Fragment {
list = getFileNames(dir.listFiles());
if (list.size() > 0) {
for (int i1 = 0; i1 < list.size(); i1++) {
if (list.get(i1).contains("gsk_orange_backup")) {
File originalFile = new File(CommonString.BACKUP_PATH + list.get(i1));
Object result = uploadBackup(getActivity(), originalFile.getName(), "DBBackup");
if (result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) {
}
if (list.get(i1).contains("GSKMT_ORANGE_Database_backup")) {
// File originalFile = new File(CommonString.BACKUP_PATH + list.get(i1));
Object result = uploadBackup(getActivity(), list.get(i1), "DBBackup");
/* if (result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) {
Toast.makeText(getActivity(), getString(R.string.databasexported), Toast.LENGTH_SHORT).show();
}*/
}
}
}
Toast.makeText(getActivity(), getString(R.string.databasexported), Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception(e.getCause()));
System.out.println(e.getMessage());
}
}
@@ -284,7 +317,7 @@ public class ServiceActivityFragment extends Fragment {
RequestBody body1;
result = "";
isvalid = false;
final File originalFile = new File(CommonString.BACKUP_PATH + file_name);
final File originalFile = new File(CommonString.BACKUP_PATH +"/"+ file_name);
RequestBody photo = RequestBody.create(MediaType.parse("application/octet-stream"), originalFile);
body1 = new MultipartBuilder().type(MultipartBuilder.FORM)
.addFormDataPart("file", originalFile.getName(), photo)
@@ -304,6 +337,7 @@ public class ServiceActivityFragment extends Fragment {
isvalid = true;
result = CommonString.KEY_SUCCESS;
originalFile.delete();
Toast.makeText(context, getString(R.string.databasexported), Toast.LENGTH_SHORT).show();
} else {
result = "Servererror!";
}
@@ -314,6 +348,10 @@ public class ServiceActivityFragment extends Fragment {
@Override
public void onFailure(Throwable t) {
Crashlytics.logException(t);
Crashlytics.logException(new Exception(t.getCause()));
isvalid = true;
if (t instanceof UnknownHostException) {
result = AlertMessage.MESSAGE_SOCKETEXCEPTION;
@@ -158,6 +158,15 @@ public class CategoryListActivity extends AppCompatActivity {
}
}
if (flag)
if(db.getAuditCategoryWise(category_id,storeType_id).size()>0){
if(db.getAfterSaveAuditQuestionAnswerData(store_id, category_id).size() == 0){
flag = false;
}
}
flag_filled = flag;
}
@@ -205,6 +214,7 @@ public class CategoryListActivity extends AppCompatActivity {
if (id == android.R.id.home) {
finish();
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
}
//noinspection SimplifiableIfStatement
@@ -215,6 +225,13 @@ public class CategoryListActivity extends AppCompatActivity {
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
}
public class CategoryListAdapter extends RecyclerView.Adapter<CategoryListAdapter.MyViewHolder> {
List<CategoryGetterSetter> list = Collections.emptyList();
Context context;
@@ -248,6 +265,7 @@ public class CategoryListActivity extends AppCompatActivity {
intent.putExtra("categoryName", categoryData.getCategory());
intent.putExtra("categoryId", categoryData.getCategory_id());
startActivity(intent);
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
}
});
}
@@ -340,6 +358,14 @@ public class CategoryListActivity extends AppCompatActivity {
}
}
if(db.getAuditCategoryWise(category_id, storeType_id).size()>0){
if(db.getAfterSaveAuditQuestionAnswerData(store_id, category_id).size() == 0){
flag_filled = false;
break;
}
}
flag_filled = true;
} else {
flag_filled = false;
@@ -87,6 +87,7 @@ public class CategoryWisePerformanceActivity extends AppCompatActivity {
intent.putExtra("categoryId", categoryId);
startActivity(intent);
finish();
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
}
});
} catch (Resources.NotFoundException e) {
@@ -119,6 +120,7 @@ public class CategoryWisePerformanceActivity extends AppCompatActivity {
if (id == android.R.id.home) {
finish();
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
}
//noinspection SimplifiableIfStatement
@@ -129,6 +131,13 @@ public class CategoryWisePerformanceActivity extends AppCompatActivity {
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
}
public class CategoryWisePerformaceAdapter extends RecyclerView.Adapter<CategoryWisePerformaceAdapter.MyViewHolder> {
Context context;
List<CategoryWisePerformaceGetterSetter> list = Collections.emptyList();
@@ -31,6 +31,7 @@ import cpm.com.gskmtorange.R;
import cpm.com.gskmtorange.constant.CommonFunctions;
import cpm.com.gskmtorange.constant.CommonString;
import cpm.com.gskmtorange.dailyentry.AdditionalVisibility;
import cpm.com.gskmtorange.dailyentry.AuditActivity;
import cpm.com.gskmtorange.dailyentry.CategoryPicture;
import cpm.com.gskmtorange.dailyentry.CreateSelfActivity;
import cpm.com.gskmtorange.dailyentry.StockDataActivity;
@@ -113,7 +114,7 @@ public class DailyDataMenuActivity extends AppCompatActivity {
DailyDataMenuGetterSetter data = new DailyDataMenuGetterSetter();
if(country_id.equals("6") && categoryId.equals("3")){
if (country_id.equals("6") && categoryId.equals("3")) {
data = new DailyDataMenuGetterSetter();
data.setCategory_name(getResources().getString(R.string.daily_data_menu_stock_facing));
if (db.isMappingStockDataStockFacing(categoryId, keyAccount_id, storeType_id, class_id)) {
@@ -126,8 +127,7 @@ public class DailyDataMenuActivity extends AppCompatActivity {
data.setCategory_img(R.mipmap.msl_availability_grey);
}
categoryList.add(data);
}
else {
} else {
data = new DailyDataMenuGetterSetter();
data.setCategory_name(getResources().getString(R.string.daily_data_menu_msl_availability));
if (db.isMappingStockDataStockFacing(categoryId, keyAccount_id, storeType_id, class_id)) {
@@ -225,9 +225,8 @@ public class DailyDataMenuActivity extends AppCompatActivity {
data.setCategory_img(R.mipmap.picturecatogory_grey);
}*/
}
else {
if (db.getNoCameraCategoryDataInserted(store_id, categoryId, null).size()>0) {
} else {
if (db.getNoCameraCategoryDataInserted(store_id, categoryId, null).size() > 0) {
data.setCategory_img(R.mipmap.picturecatogory_done);
} else {
data.setCategory_img(R.mipmap.picturecatogory);
@@ -236,6 +235,20 @@ public class DailyDataMenuActivity extends AppCompatActivity {
}
categoryList.add(data);
//Audit
data = new DailyDataMenuGetterSetter();
if (db.getAuditCategoryWise(categoryId, storeType_id).size() > 0) {
if (db.getAfterSaveAuditQuestionAnswerData(store_id, categoryId).size() > 0) {
data.setCategory_img(R.mipmap.msl_availability_done);
} else {
data.setCategory_img(R.mipmap.msl_availability);
}
} else{
data.setCategory_img(R.mipmap.msl_availability_grey);
}
data.setCategory_name(getString(R.string.audit));
categoryList.add(data);
/*data = new DailyDataMenuGetterSetter();
@@ -341,18 +354,25 @@ public class DailyDataMenuActivity extends AppCompatActivity {
} /*else {
holder.categoryName.setTextColor(getResources().getColor(R.color.grey_background));
}*/
}else if (dailyData.getCategory_name().equalsIgnoreCase(getResources().getString(R.string.daily_data_menu_msl_availability))) {
} else if (dailyData.getCategory_name().equalsIgnoreCase(getResources().getString(R.string.daily_data_menu_msl_availability))) {
if (db.isMappingStockDataStockFacing(categoryId, keyAccount_id, storeType_id, class_id)) {
holder.categoryName.setTextColor(getResources().getColor(R.color.colorPrimaryDark));
} else {
holder.categoryName.setTextColor(getResources().getColor(R.color.grey_background));
}
}else if (dailyData.getCategory_name().equalsIgnoreCase(getResources().getString(R.string.daily_data_menu_stock_facing))) {
} else if (dailyData.getCategory_name().equalsIgnoreCase(getResources().getString(R.string.daily_data_menu_stock_facing))) {
if (db.isMappingStockDataStockFacing(categoryId, keyAccount_id, storeType_id, class_id)) {
holder.categoryName.setTextColor(getResources().getColor(R.color.colorPrimaryDark));
} else {
holder.categoryName.setTextColor(getResources().getColor(R.color.grey_background));
}
}else if (dailyData.getCategory_name().equalsIgnoreCase(getResources().getString(R.string.audit))) {
if (db.getAuditCategoryWise(categoryId, storeType_id).size()>0) {
holder.categoryName.setTextColor(getResources().getColor(R.color.colorPrimaryDark));
} else {
holder.categoryName.setTextColor(getResources().getColor(R.color.grey_background));
}
}
holder.lay_menu.setOnClickListener(new View.OnClickListener() {
@@ -420,14 +440,25 @@ public class DailyDataMenuActivity extends AppCompatActivity {
intent.putExtra("categoryName", dailyData.getCategory_name());
intent.putExtra("categoryId", categoryId);
startActivity(intent);
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
}
}else if (dailyData.getCategory_name().equalsIgnoreCase(getResources().getString(R.string.daily_data_menu_stock_facing))) {
} else if (dailyData.getCategory_name().equalsIgnoreCase(getResources().getString(R.string.daily_data_menu_stock_facing))) {
if (db.isMappingStockDataStockFacing(categoryId, keyAccount_id, storeType_id, class_id)) {
Intent intent = new Intent(DailyDataMenuActivity.this, StockDataActivity.class);
intent.putExtra("categoryName", dailyData.getCategory_name());
intent.putExtra("categoryId", categoryId);
startActivity(intent);
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
}
} else if (dailyData.getCategory_name().equalsIgnoreCase(getResources().getString(R.string.audit))) {
if (db.getAuditCategoryWise(categoryId, storeType_id).size()>0) {
Intent intent = new Intent(DailyDataMenuActivity.this, AuditActivity.class);
intent.putExtra("categoryName", dailyData.getCategory_name());
intent.putExtra("categoryId", categoryId);
startActivity(intent);
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
}
}
@@ -304,6 +304,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity {
}
}
finish();
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
}
})
.setNegativeButton(getResources().getString(R.string.cancel), new DialogInterface.OnClickListener() {
@@ -680,6 +681,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity {
}
}
finish();
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
}
})
.setNegativeButton(getResources().getString(R.string.cancel), new DialogInterface.OnClickListener() {
@@ -897,6 +897,7 @@ public class PromoComplianceActivity extends AppCompatActivity {
.setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
}
})
.setNegativeButton(getResources().getString(R.string.cancel), new DialogInterface.OnClickListener() {
@@ -928,6 +929,7 @@ public class PromoComplianceActivity extends AppCompatActivity {
.setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
}
})
.setNegativeButton(getResources().getString(R.string.cancel), new DialogInterface.OnClickListener() {
@@ -79,6 +79,7 @@ public class StoreWisePerformanceActivity extends AppCompatActivity {
Intent intent = new Intent(StoreWisePerformanceActivity.this, CategoryListActivity.class);
startActivity(intent);
finish();
overridePendingTransition(R.anim.activity_in, R.anim.activity_out);
}
});
} catch (Resources.NotFoundException e) {
@@ -112,6 +113,7 @@ public class StoreWisePerformanceActivity extends AppCompatActivity {
if (id == android.R.id.home) {
finish();
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
}
//noinspection SimplifiableIfStatement
@@ -122,6 +124,13 @@ public class StoreWisePerformanceActivity extends AppCompatActivity {
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out);
}
public class StoreWisePerformaceAdapter extends RecyclerView.Adapter<StoreWisePerformaceAdapter.MyViewHolder> {
Context context;
List<StoreWisePerformaceGetterSetter> list = Collections.emptyList();
@@ -1,8 +1,10 @@
package cpm.com.gskmtorange.listener;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.view.DragEvent;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.ArrayList;
@@ -38,7 +40,7 @@ public class DragListener implements View.OnDragListener {
isDropped = true;
int positionTarget = -1;
if( v instanceof TextView || v instanceof RecyclerView){
if( v instanceof TextView || v instanceof RecyclerView || v instanceof LinearLayout){
if (viewSource != null) {
@@ -50,10 +52,14 @@ public class DragListener implements View.OnDragListener {
NoCameraDataGetterSetter parent_item = adapterSource.getList().get(positionSource);
if(viewId != rvTop){
if(v instanceof LinearLayout){
v = (RecyclerView) v.getParent();
viewId = v.getId();
}
listener.addNUpdateRow(v, viewId, parent_item);
}
if(viewId != rvTop){
listener.addNUpdateRow(v, viewId, parent_item);
}
}
}
@@ -19,5 +19,5 @@ public interface Listener {
void setEmptyListBottom(boolean visibility, int tv, RecyclerView rv);
void addNUpdateRow(View v, int view_id, NoCameraDataGetterSetter parent_item);
void smoothScrollToRow(View v, DragEvent event);
void deleteItem(View v, int column_no, RecyclerView rec);
void deleteItem(View v, int column_no, RecyclerView rec, NoCameraDataGetterSetter parent_item);
}
@@ -0,0 +1,117 @@
package cpm.com.gskmtorange.service;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Build;
import android.os.IBinder;
import android.support.v4.app.NotificationCompat;
import android.util.Log;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
import cpm.com.gskmtorange.MainActivity;
import cpm.com.gskmtorange.R;
public class FCMNotificationService extends FirebaseMessagingService {
String TAG ="FCM Notification";
public FCMNotificationService() {
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
// ...
// TODO(developer): Handle FCM messages here.
// Not getting messages here? See why this may be: https://goo.gl/39bRNJ
Log.d(TAG, "From: " + remoteMessage.getFrom());
// Check if message contains a data payload.
if (remoteMessage.getData().size() > 0) {
Log.d(TAG, "Message data payload: " + remoteMessage.getData());
if (/* Check if data needs to be processed by long running job */ true) {
// For long-running tasks (10 seconds or more) use Firebase Job Dispatcher.
// scheduleJob();
} else {
// Handle message within 10 seconds
// handleNow();
}
}
// Check if message contains a notification payload.
if (remoteMessage.getNotification() != null) {
Log.d(TAG, "Message Notification Body: " + remoteMessage.getNotification().getBody());
sendNotification(remoteMessage.getNotification().getBody());
}
// Also if you intend on generating your own notifications as a result of a received FCM
// message, here is where that should be initiated. See sendNotification method below.
}
/**
* Schedule a job using FirebaseJobDispatcher.
*/
private void scheduleJob() {
// [START dispatch_job]
/* FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(this));
Job myJob = dispatcher.newJobBuilder()
.setService(MyJobService.class)
.setTag("my-job-tag")
.build();
dispatcher.schedule(myJob);*/
// [END dispatch_job]
}
/**
* Handle time allotted to BroadcastReceivers.
*/
private void handleNow() {
Log.d(TAG, "Short lived task is done.");
}
/**
* Create and show a simple notification containing the received FCM message.
*
* @param messageBody FCM message body received.
*/
private void sendNotification(String messageBody) {
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,
PendingIntent.FLAG_ONE_SHOT);
String channelId = getString(R.string.default_notification_channel_id);
Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(this, channelId)
.setSmallIcon(R.drawable.save_icon)
.setContentTitle("FCM Message")
.setContentText(messageBody)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// Since android Oreo notification channel is needed.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel channel = new NotificationChannel(channelId,
"Channel human readable title",
NotificationManager.IMPORTANCE_DEFAULT);
notificationManager.createNotificationChannel(channel);
}
notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());
}
}
@@ -5,8 +5,6 @@ import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
@@ -17,6 +15,8 @@ import android.view.WindowManager;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.crashlytics.android.Crashlytics;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
@@ -31,7 +31,6 @@ import java.io.IOException;
import java.io.StringReader;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.Locale;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
@@ -1482,8 +1481,14 @@ public class PreviousDataUploadActivity extends AppCompatActivity {
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception(e.getCause()));
e.printStackTrace();
} catch (Exception e) {
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception(e.getCause()));
e.printStackTrace();
}
@@ -1504,7 +1509,7 @@ public class PreviousDataUploadActivity extends AppCompatActivity {
if (result.contains(CommonString.KEY_SUCCESS)) {
//db.deleteAllTables();
showAlert(getString(R.string.menu_upload_data));
showAlert(getString(R.string.data_downloaded_successfully));
db.deleteAllTables();
//showAlert(getString(R.string.menu_upload_data));
} else {
@@ -1,23 +1,30 @@
package cpm.com.gskmtorange.upload;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.graphics.RectF;
import android.os.AsyncTask;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.WindowManager;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.crashlytics.android.Crashlytics;
import com.google.gson.JsonSyntaxException;
import com.squareup.okhttp.MultipartBuilder;
import com.squareup.okhttp.RequestBody;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
@@ -28,11 +35,15 @@ import org.xmlpull.v1.XmlPullParserException;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import java.net.MalformedURLException;
import java.net.SocketException;
import java.net.SocketTimeoutException;
import java.util.ArrayList;
import java.util.Locale;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
@@ -47,6 +58,9 @@ import cpm.com.gskmtorange.GetterSetter.StoreBean;
import cpm.com.gskmtorange.R;
import cpm.com.gskmtorange.constant.CommonFunctions;
import cpm.com.gskmtorange.constant.CommonString;
import cpm.com.gskmtorange.retrofit.PostApiForFile;
import cpm.com.gskmtorange.retrofit.StringConverterFactory;
import cpm.com.gskmtorange.xmlGetterSetter.AuditDataGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.FailureGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.GapsChecklistGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityGetterSetter;
@@ -59,6 +73,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.Stock_FacingGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.Store_wise_camera_DataGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.T2PGetterSetter;
import cpm.com.gskmtorange.xmlHandlers.FailureXMLHandler;
import retrofit.Retrofit;
public class UploadActivity extends AppCompatActivity {
@@ -94,6 +109,13 @@ public class UploadActivity extends AppCompatActivity {
ArrayList<Store_wise_camera_DataGetterSetter> storeWiseCameraDataGetterSetters;
RequestBody body1;
private Retrofit adapter;
int status = 0;
int count = 0;
public static int uploadedFiles = 0;
public static int totalFiles = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -148,6 +170,8 @@ public class UploadActivity extends AppCompatActivity {
ByteArrayOutputStream bao = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, bao);
byte[] ba = bao.toByteArray();
String ba1 = Base64.encodeBytes(ba);
SoapObject request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_IMAGE);
@@ -222,6 +246,8 @@ public class UploadActivity extends AppCompatActivity {
pb = (ProgressBar) dialog.findViewById(R.id.progressBar1);
percentage = (TextView) dialog.findViewById(R.id.percentage);
message = (TextView) dialog.findViewById(R.id.message);
((TextView) dialog.findViewById(R.id.tv_title)).setText(getString(R.string.uploaddata));
}
@Override
@@ -943,16 +969,15 @@ public class UploadActivity extends AppCompatActivity {
/*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) {
return CommonString.METHOD_UPLOAD_STOCK_XML_DATA;
}*/
}
else{
} else {
db.open();
ArrayList<NoCameraDataGetterSetter> nocamera_data_list = db.getNoCameraCategoryStoreWiseDataInserted(coverageList.get(i).getStoreId());
if(nocamera_data_list.size()>0){
if (nocamera_data_list.size() > 0) {
String onXml_nodata="", No_camera_data="";
for(int n=0; n<nocamera_data_list.size(); n++){
String onXml_nodata = "", No_camera_data = "";
for (int n = 0; n < nocamera_data_list.size(); n++) {
onXml_nodata = "[NO_CAMERA_POG_DATA]"
+ "[MID]" + mid + "[/MID]"
@@ -986,13 +1011,53 @@ public class UploadActivity extends AppCompatActivity {
result = envelope.getResponse();
}
}
data.value = 60;
data.name = getString(R.string.additional_data_uploading);
publishProgress(data);
//Audit data
db.open();
ArrayList<AuditDataGetterSetter> audit_data = db.getAuditDataForUpload(coverageList.get(i).getStoreId());
if (audit_data.size() > 0) {
String onXml_audit_data = "", Audit_data = "";
for (int n = 0; n < audit_data.size(); n++) {
onXml_audit_data = "[AUDIT_DATA]"
+ "[MID]" + mid + "[/MID]"
+ "[USER_ID]" + userId + "[/USER_ID]"
+ "[CATEGORY_ID]" + audit_data.get(n).getCATEGORY_ID() + "[/CATEGORY_ID]"
+ "[QUESTION_ID]" + audit_data.get(n).getQUESTION_ID() + "[/QUESTION_ID]"
+ "[ANSWER_ID]" + audit_data.get(n).getANSWER_ID() + "[/ANSWER_ID]"
+ "[ANSWER_IMAGE]" + audit_data.get(n).getCAM_IMAGE() + "[/ANSWER_IMAGE]"
+ "[/AUDIT_DATA]";
Audit_data = Audit_data + onXml_audit_data;
}
final String sos_xml = "[DATA]" + Audit_data + "[/DATA]";
request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA);
request.addProperty("XMLDATA", sos_xml);
request.addProperty("KEYS", "AUDIT_DATA");
request.addProperty("USERNAME", userId);
request.addProperty("MID", mid);
envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
androidHttpTransport = new HttpTransportSE(CommonString.URL);
androidHttpTransport.call(CommonString.SOAP_ACTION + CommonString.METHOD_UPLOAD_STOCK_XML_DATA, envelope);
result = envelope.getResponse();
}
data.value = 62;
data.name = getString(R.string.audit);
publishProgress(data);
// Images Upload
@@ -1063,7 +1128,7 @@ public class UploadActivity extends AppCompatActivity {
}
}
data.value = 60;
data.value = 64;
publishProgress(data);
// ashish close image
@@ -1482,6 +1547,29 @@ public class UploadActivity extends AppCompatActivity {
}
}
}
//Audit Answer Image
for (int m = 0; m < audit_data.size(); m++) {
if (audit_data.get(m).getCAM_IMAGE() != null && !audit_data.get(m).getCAM_IMAGE().equals("")) {
if (new File(CommonString.FILE_PATH + audit_data.get(m).getCAM_IMAGE()).exists()) {
try {
result = UploadImage(audit_data.get(m).getCAM_IMAGE(), "AuditImages");
runOnUiThread(new Runnable() {
public void run() {
message.setText("Audit Images Uploaded");
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
data.value = 90;
publishProgress(data);
@@ -1537,10 +1625,16 @@ public class UploadActivity extends AppCompatActivity {
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception(e.getCause()));
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (Exception e) {
Crashlytics.log(7, CommonString.MESSAGE_EXCEPTION, e.toString());
Crashlytics.logException(e.getCause());
Crashlytics.logException(new Exception(e.getCause()));
e.printStackTrace();
}
@@ -1554,7 +1648,7 @@ public class UploadActivity extends AppCompatActivity {
dialog.dismiss();
if (result.contains(CommonString.KEY_SUCCESS)) {
//db.deleteAllTables();
showAlert(getString(R.string.menu_upload_data));
showAlert(getString(R.string.data_uploaded_successfully));
//showAlert(getString(R.string.menu_upload_data));
} else {
showAlert(getString(R.string.error) + result.toString());
@@ -1570,7 +1664,6 @@ public class UploadActivity extends AppCompatActivity {
}
public void showAlert(String str) {
AlertDialog.Builder builder = new AlertDialog.Builder(UploadActivity.this);
@@ -1589,4 +1682,6 @@ public class UploadActivity extends AppCompatActivity {
AlertDialog alert = builder.create();
alert.show();
}
}
@@ -0,0 +1,255 @@
package cpm.com.gskmtorange.upload;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.graphics.RectF;
import android.util.Log;
import com.google.gson.JsonSyntaxException;
import com.squareup.okhttp.MultipartBuilder;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.RequestBody;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.SocketException;
import java.net.SocketTimeoutException;
import java.util.ArrayList;
import java.util.concurrent.TimeUnit;
import cpm.com.gskmtorange.LoginActivity;
import cpm.com.gskmtorange.R;
import cpm.com.gskmtorange.constant.CommonString;
import cpm.com.gskmtorange.retrofit.PostApiForFile;
import cpm.com.gskmtorange.retrofit.StringConverterFactory;
import retrofit.Retrofit;
/**
* Created by yadavendras on 4/5/2018.
*/
public class UploadImageWithRetrofit {
RequestBody body1;
private Retrofit adapter;
int status = 0;
int count = 0;
public static int uploadedFiles = 0;
public static int totalFiles = 0;
boolean isvalid = false, statusUpdated = true;
Context context;
String visitDate, userID, uploadStatus;
int storeId = 0;
//GSKGTMerDB db;
ProgressDialog pd;
//ArrayList<JourneyPlan> storeList;
public UploadImageWithRetrofit(Context context) {
/*this.visitDate = visitDate;
this.userID = userId;*/
this.context = context;
pd = new ProgressDialog(context);
pd.setCancelable(false);
pd.setTitle("Please wait");
pd.setMessage("Uploading images");
pd.show();
}
public void UploadImageRecursive(final Context context) {
try {
status = 0;
String filename = null, foldername = null;
int totalfiles = 0;
File f = new File(CommonString.FILE_PATH_OLD);
File file[] = f.listFiles();
count = file.length;
if (file.length > 0) {
filename = "";
totalfiles = f.listFiles().length;
pd.setMessage(context.getString(R.string.uploaddata)+" - " +context.getString(R.string.image) + " (" + uploadedFiles + "/" + totalFiles + ")");
for (int i = 0; i < file.length; i++) {
if (new File(CommonString.FILE_PATH_OLD + file[i].getName()).exists()) {
if (file[i].getName().contains("SI_") || file[i].getName().contains("CHK_SI_") || file[i].getName().contains("NonWorking")) {
foldername = "StoreImages";
} else if (file[i].getName().contains("GeoTag")) {
foldername = "GeotagImages";
} else if (file[i].getName().contains("T2P_Image")) {
foldername = "T2PImages";
} else if (file[i].getName().contains("AddPromo_Image")) {
foldername = "AdditionalPromotionImages";
} else if (file[i].getName().contains("Promo_Image")) {
foldername = "PromotionImages";
} else if (file[i].getName().contains("CategoryPicture")) {
foldername = "CategoryImages";
} else if (file[i].getName().contains("AuditAnsPic ")) {
foldername = "AuditImages";
} else {
foldername = "Bulkimages";
}
filename = file[i].getName();
}
break;
}
File originalFile = new File(CommonString.FILE_PATH_OLD + filename);
final File finalFile = saveBitmapToFileSmaller(originalFile);
OkHttpClient okHttpClient = new OkHttpClient();
okHttpClient.setConnectTimeout(20, TimeUnit.SECONDS);
okHttpClient.setWriteTimeout(20, TimeUnit.SECONDS);
okHttpClient.setReadTimeout(20, TimeUnit.SECONDS);
com.squareup.okhttp.RequestBody photo = com.squareup.okhttp.RequestBody.create(com.squareup.okhttp.MediaType.parse("application/octet-stream"), finalFile);
body1 = new MultipartBuilder()
.type(MultipartBuilder.FORM)
.addFormDataPart("file", finalFile.getName(), photo)
.addFormDataPart("FolderName", foldername)
.build();
adapter = new retrofit.Retrofit.Builder()
.baseUrl(CommonString.URL + "/")
.addConverterFactory(new StringConverterFactory())
.build();
PostApiForFile api = adapter.create(PostApiForFile.class);
retrofit.Call<String> call = api.getUploadImage(body1);
call.enqueue(new retrofit.Callback<String>() {
@Override
public void onResponse(retrofit.Response<String> response) {
if (response.isSuccess() && response.body().contains("Success")) {
finalFile.delete();
status = 1;
uploadedFiles++;
} else {
status = 0;
//uploadedFiles = 0;
}
if (status == 0) {
pd.dismiss();
if (!((Activity) context).isFinishing()) {
showAlert((Activity) context, "Image not uploaded");
}
} else {
UploadImageRecursive(context);
}
}
@Override
public void onFailure(Throwable t) {
if (t instanceof IOException || t instanceof SocketTimeoutException || t instanceof SocketException) {
status = -1;
//uploadedFiles = 0;
pd.dismiss();
// AlertandMessages.showAlert((Activity) context, "Network Error in upload", false);
if (!((Activity) context).isFinishing()) {
showAlert((Activity) context, "Network Error in upload");
} else {
}
}
}
});
} else {
if (totalFiles == uploadedFiles) {
//region Coverage upload status Data
//new StatusUpload().execute();
//endregion
pd.cancel();
showAlert((Activity) context, context.getString(R.string.data_uploaded_successfully));
}
}
} catch (JsonSyntaxException e) {
e.printStackTrace();
showAlert((Activity) context, "Invalid Json");
} catch (Exception e) {
e.printStackTrace();
if (totalFiles == uploadedFiles) {
showAlert((Activity) context, "All images uploaded");
} else {
showAlert((Activity) context, CommonString.KEY_FAILURE);
}
}
}
public File saveBitmapToFileSmaller(File file) {
File file2 = file;
try {
int inWidth = 0;
int inHeight = 0;
InputStream in = new FileInputStream(file2);
// decode image size (decode metadata only, not the whole image)
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(in, null, options);
in.close();
in = null;
// save width and height
inWidth = options.outWidth;
inHeight = options.outHeight;
// decode full image pre-resized
in = new FileInputStream(file2);
options = new BitmapFactory.Options();
// calc rought re-size (this is no exact resize)
options.inSampleSize = Math.max(inWidth / 800, inHeight / 500);
// decode full image
Bitmap roughBitmap = BitmapFactory.decodeStream(in, null, options);
// calc exact destination size
Matrix m = new Matrix();
RectF inRect = new RectF(0, 0, roughBitmap.getWidth(), roughBitmap.getHeight());
RectF outRect = new RectF(0, 0, 800, 500);
m.setRectToRect(inRect, outRect, Matrix.ScaleToFit.CENTER);
float[] values = new float[9];
m.getValues(values);
// resize bitmap
Bitmap resizedBitmap = Bitmap.createScaledBitmap(roughBitmap, (int) (roughBitmap.getWidth() * values[0]), (int) (roughBitmap.getHeight() * values[4]), true);
// save image
FileOutputStream out = new FileOutputStream(file2);
resizedBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
} catch (Exception e) {
Log.e("Image", e.toString(), e);
return file;
}
return file2;
}
public void showAlert(final Context context, String str) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Parinaam");
builder.setMessage(str).setCancelable(false)
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Activity activity =(Activity) context;
Intent i = new Intent(activity, LoginActivity.class);
activity.startActivity(i);
activity.finish();
}
});
AlertDialog alert = builder.create();
alert.show();
}
}
@@ -11,6 +11,14 @@ public class ADDITIONAL_DISPLAY_MASTERGetterSetter {
ArrayList<String> DISPLAY_ID = new ArrayList<>();
ArrayList<String> DISPLAY = new ArrayList<>();
ArrayList<String> IMAGE_URL = new ArrayList<>();
ArrayList<String> IMAGE_PATH = new ArrayList<>();
ArrayList<String> CATEGORY_ID = new ArrayList<>();
public String getTable_STORE_ADDITIONAL_DISPLAY() {
return table_STORE_ADDITIONAL_DISPLAY;
}
@@ -46,8 +54,6 @@ public class ADDITIONAL_DISPLAY_MASTERGetterSetter {
this.IMAGE_URL.add(IMAGE_URL);
}
ArrayList<String> DISPLAY = new ArrayList<>();
ArrayList<String> IMAGE_URL = new ArrayList<>();
public ArrayList<String> getIMAGE_PATH() {
return IMAGE_PATH;
@@ -57,8 +63,12 @@ public class ADDITIONAL_DISPLAY_MASTERGetterSetter {
this.IMAGE_PATH.add(IMAGE_PATH);
}
ArrayList<String> IMAGE_PATH = new ArrayList<>();
public ArrayList<String> getCATEGORY_ID() {
return CATEGORY_ID;
}
public void setCATEGORY_ID(String CATEGORY_ID) {
this.CATEGORY_ID.add(CATEGORY_ID);
}
}
@@ -0,0 +1,102 @@
package cpm.com.gskmtorange.xmlGetterSetter;
import java.util.ArrayList;
/**
* Created by yadavendras on 3/22/2018.
*/
public class AdditionalQuestiongetterSetter {
String table_ADDITIONAL_QUESTION;
ArrayList<String> QUESTION_ID = new ArrayList<>();
ArrayList<String> CULTURE_ID = new ArrayList<>();
ArrayList<String> CATEGORY_ID = new ArrayList<>();
ArrayList<String> QUESTION = new ArrayList<>();
ArrayList<String> ANSWER_TYPE = new ArrayList<>();
ArrayList<String> ANSWER_ID = new ArrayList<>();
ArrayList<String> ANSWER = new ArrayList<>();
ArrayList<String> STORETYPE_ID = new ArrayList<>();
ArrayList<String> CAMERA_ALLOW = new ArrayList<>();
public String getTable_ADDITIONAL_QUESTION() {
return table_ADDITIONAL_QUESTION;
}
public void setTable_ADDITIONAL_QUESTION(String table_ADDITIONAL_QUESTION) {
this.table_ADDITIONAL_QUESTION = table_ADDITIONAL_QUESTION;
}
public ArrayList<String> getQUESTION_ID() {
return QUESTION_ID;
}
public void setQUESTION_ID(String QUESTION_ID) {
this.QUESTION_ID.add(QUESTION_ID);
}
public ArrayList<String> getCULTURE_ID() {
return CULTURE_ID;
}
public void setCULTURE_ID(String CULTURE_ID) {
this.CULTURE_ID.add(CULTURE_ID);
}
public ArrayList<String> getCATEGORY_ID() {
return CATEGORY_ID;
}
public void setCATEGORY_ID(String CATEGORY_ID) {
this.CATEGORY_ID.add(CATEGORY_ID);
}
public ArrayList<String> getQUESTION() {
return QUESTION;
}
public void setQUESTION(String QUESTION) {
this.QUESTION.add(QUESTION);
}
public ArrayList<String> getANSWER_TYPE() {
return ANSWER_TYPE;
}
public void setANSWER_TYPE(String ANSWER_TYPE) {
this.ANSWER_TYPE.add(ANSWER_TYPE);
}
public ArrayList<String> getANSWER_ID() {
return ANSWER_ID;
}
public void setANSWER_ID(String ANSWER_ID) {
this.ANSWER_ID.add(ANSWER_ID);
}
public ArrayList<String> getANSWER() {
return ANSWER;
}
public void setANSWER(String ANSWER) {
this.ANSWER.add(ANSWER);
}
public ArrayList<String> getSTORETYPE_ID() {
return STORETYPE_ID;
}
public void setSTORETYPE_ID(String STORETYPE_ID) {
this.STORETYPE_ID.add(STORETYPE_ID);
}
public ArrayList<String> getCAMERA_ALLOW() {
return CAMERA_ALLOW;
}
public void setCAMERA_ALLOW(String CAMERA_ALLOW) {
this.CAMERA_ALLOW.add(CAMERA_ALLOW);
}
}
@@ -0,0 +1,83 @@
package cpm.com.gskmtorange.xmlGetterSetter;
/**
* Created by yadavendras on 3/22/2018.
*/
public class AuditDataGetterSetter {
String QUESTION_ID, CULTURE_ID, CATEGORY_ID, QUESTION, ANSWER_TYPE, ANSWER_ID, ANSWER, CAM_IMAGE="", CAMERA_ALLOW="0";
public String getQUESTION_ID() {
return QUESTION_ID;
}
public void setQUESTION_ID(String QUESTION_ID) {
this.QUESTION_ID = QUESTION_ID;
}
public String getCULTURE_ID() {
return CULTURE_ID;
}
public void setCULTURE_ID(String CULTURE_ID) {
this.CULTURE_ID = CULTURE_ID;
}
public String getCATEGORY_ID() {
return CATEGORY_ID;
}
public void setCATEGORY_ID(String CATEGORY_ID) {
this.CATEGORY_ID = CATEGORY_ID;
}
public String getQUESTION() {
return QUESTION;
}
public void setQUESTION(String QUESTION) {
this.QUESTION = QUESTION;
}
public String getANSWER_TYPE() {
return ANSWER_TYPE;
}
public void setANSWER_TYPE(String ANSWER_TYPE) {
this.ANSWER_TYPE = ANSWER_TYPE;
}
public String getANSWER_ID() {
return ANSWER_ID;
}
public void setANSWER_ID(String ANSWER_ID) {
this.ANSWER_ID = ANSWER_ID;
}
public String getANSWER() {
return ANSWER;
}
public void setANSWER(String ANSWER) {
this.ANSWER = ANSWER;
}
public String getCAM_IMAGE() {
return CAM_IMAGE;
}
public void setCAM_IMAGE(String CAM_IMAGE) {
this.CAM_IMAGE = CAM_IMAGE;
}
public String getCAMERA_ALLOW() {
return CAMERA_ALLOW;
}
public void setCAMERA_ALLOW(String CAMERA_ALLOW) {
this.CAMERA_ALLOW = CAMERA_ALLOW;
}
}
@@ -15,6 +15,7 @@ public class SkuMasterGetterSetter {
ArrayList<String> BRAND_ID = new ArrayList<>();
ArrayList<String> MRP = new ArrayList<>();
ArrayList<String> SKU_SEQUENCE = new ArrayList<>();
ArrayList<String> PROMO_SKU = new ArrayList<>();
public ArrayList<String> getSKU_ID() {
return SKU_ID;
@@ -63,4 +64,12 @@ public class SkuMasterGetterSetter {
public void setTable_SKU_MASTER(String table_SKU_MASTER) {
this.table_SKU_MASTER = table_SKU_MASTER;
}
public ArrayList<String> getPROMO_SKU() {
return PROMO_SKU;
}
public void setPROMO_SKU(String PROMO_SKU) {
this.PROMO_SKU.add(PROMO_SKU);
}
}
@@ -31,6 +31,7 @@ public class TableBean {
//YSY
public static String MAPPING_CATEGORY_IMAGE_ALLOW;
public static String MAPPING_COUNTRYWISE_PLANOGRAM;
public static String Table_ADDITIONAL_QUESTION;
public static String getAdditionalDisplay() {
@@ -217,4 +218,12 @@ public class TableBean {
public static void setMappingCountrywisePlanogram(String mappingCountrywisePlanogram) {
MAPPING_COUNTRYWISE_PLANOGRAM = mappingCountrywisePlanogram;
}
public static String getTable_ADDITIONAL_QUESTION() {
return Table_ADDITIONAL_QUESTION;
}
public static void setTable_ADDITIONAL_QUESTION(String table_ADDITIONAL_QUESTION) {
Table_ADDITIONAL_QUESTION = table_ADDITIONAL_QUESTION;
}
}
@@ -6,6 +6,7 @@ import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
import cpm.com.gskmtorange.xmlGetterSetter.ADDITIONAL_DISPLAY_MASTERGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.AdditionalQuestiongetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.BrandMasterGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.CategoryMasterGetterSetter;
import cpm.com.gskmtorange.xmlGetterSetter.DisplayChecklistMasterGetterSetter;
@@ -233,6 +234,9 @@ public class XMLHandlers {
if (xpp.getName().equals("SKU_SEQUENCE")) {
sku.setSKU_SEQUENCE(xpp.nextText());
}
if (xpp.getName().equals("PROMO_SKU")) {
sku.setPROMO_SKU(xpp.nextText());
}
}
xpp.next();
@@ -761,6 +765,9 @@ public class XMLHandlers {
if (xpp.getName().equals("IMAGE_PATH")) {
st.setIMAGE_PATH(xpp.nextText());
}
if (xpp.getName().equals("CATEGORY_ID")) {
st.setCATEGORY_ID(xpp.nextText());
}
}
xpp.next();
@@ -969,4 +976,53 @@ public class XMLHandlers {
}
return st;
}
//ADDITIONAL_QUESTION
public static AdditionalQuestiongetterSetter additionalXMLHandler(XmlPullParser xpp, int eventType) {
AdditionalQuestiongetterSetter st = new AdditionalQuestiongetterSetter();
try {
while (xpp.getEventType() != XmlPullParser.END_DOCUMENT) {
if (xpp.getEventType() == XmlPullParser.START_TAG) {
if (xpp.getName().equals("META_DATA")) {
st.setTable_ADDITIONAL_QUESTION(xpp.nextText());
}
if (xpp.getName().equals("QUESTION_ID")) {
st.setQUESTION_ID(xpp.nextText());
}
if (xpp.getName().equals("CATEGORY_ID")) {
st.setCATEGORY_ID(xpp.nextText());
}
if (xpp.getName().equals("QUESTION")) {
st.setQUESTION(xpp.nextText());
}
if (xpp.getName().equals("CULTURE_ID")) {
st.setCULTURE_ID(xpp.nextText());
}
if (xpp.getName().equals("ANSWER_TYPE")) {
st.setANSWER_TYPE(xpp.nextText());
}
if (xpp.getName().equals("ANSWER_ID")) {
st.setANSWER_ID(xpp.nextText());
}
if (xpp.getName().equals("ANSWER")) {
st.setANSWER(xpp.nextText());
}
if (xpp.getName().equals("STORETYPE_ID")) {
st.setSTORETYPE_ID(xpp.nextText());
}
if (xpp.getName().equals("CAMERA_ALLOW")) {
st.setCAMERA_ALLOW(xpp.nextText());
}
}
xpp.next();
}
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return st;
}
}
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="cpm.com.gskmtorange.dailyentry.AuditActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_audit" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
app:srcCompat="@drawable/save_icon" />
</android.support.design.widget.CoordinatorLayout>
@@ -1,5 +1,6 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
@@ -84,7 +85,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:paddingRight="5dp">
android:paddingRight="5dp"
app:passwordToggleEnabled="true">
<EditText
android:id="@+id/password"
@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
card_view:cardBackgroundColor="#ffffff"
card_view:cardCornerRadius="5dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/txt_question"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingBottom="5dp"
android:paddingLeft="10dp"
android:paddingRight="20dp"
android:paddingTop="5dp"
android:text="Question"
android:textColor="@color/black"
android:textSize="16dip" />
</LinearLayout>
<LinearLayout
android:id="@+id/editTextlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:orientation="horizontal"
android:weightSum="10">
<Spinner
android:id="@+id/sp_auditAnswer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
<EditText
android:id="@+id/edt_answer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:visibility="gone"
/>
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/parent_cam_layout">
<ImageView
android:id="@+id/img_cam"
android:layout_width="50dp"
android:layout_height="50dp"
android:background="@mipmap/camera_orange"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"/>
</RelativeLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
@@ -3,18 +3,20 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:id="@+id/linear_parent"
android:layout_marginBottom="10dp"
android:layout_marginBottom="2dp"
>
<android.support.v7.widget.CardView
android:id="@+id/parent_card"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="match_parent"
app:cardBackgroundColor="@color/white"
android:layout_margin="2dp">
<LinearLayout
android:id="@+id/lin_child"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:orientation="vertical">
@@ -44,6 +46,7 @@
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:textSize="14sp"
android:text="kdfkdfjk"
android:gravity="center"
/>
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="cpm.com.gskmtorange.dailyentry.AuditActivity"
tools:showIn="@layout/activity_audit">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/ll_recycler"
android:name="com.cpm.fragment.QuizFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/grey_background"
android:orientation="vertical"
tools:context="fragment.QuizFragment">
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
/>
</LinearLayout>
</android.support.constraint.ConstraintLayout>
@@ -53,6 +53,7 @@
<string name="update_message">تم تحديث البيانات</string>
<string name="datanotfound">لم يتم العثور على البيانات</string>
<string name="data_exported_successfully">تم تصدير قاعدة البيانات بنجاح</string>
<string name="data_uploaded_successfully">تم تحميل البيانات بنجاح</string>
<string name="delete">حذف</string>
<string name="display">عرض</string>
<string name="Display">عرض</string>
@@ -236,4 +237,5 @@
<string name="select_date">اختيار التاريخ</string>
<string name="no_route_plan_for_day">لا يوجد خط سير لليوم</string>
<string name="check_faceup_not_zero">لا يمكن ان يكون عدد أوجه الأصناف صفر علي الرف اذا كانت الأصناف متوفره</string>
<string name="audit">التقارير</string>
</resources>
@@ -203,6 +203,7 @@
<string name="DELETE_ALERT_MESSAGE">Kaydedilen veriler kaybolacak - Devam etmek istiyor musunuz?</string>
<string name="NodataAvailable">Veri yok</string>
<string name="Pleasedownaloaddata">Lütfen verileri indirin</string>
<string name="data_uploaded_successfully">Veriler Başarıyla Yüklendi</string>
<!--Gagan start code 3-->
<string name="cancel">İptal etmek</string>
@@ -273,6 +274,8 @@
<string name="msl_availability_new_stock_value"> Lütfen önce stok değerini giriniz</string>
<string name="check_faceing">Önyüz miktarı minimum stok miktarından daha fazla veya eşit olamaz</string>
<string name="audit">Kontrol</string>
</resources>
@@ -15,6 +15,7 @@
<color name="grey_textview">#cccccc</color>
<color name="colorOrange">#FFE0B2</color>
<color name="red">#ff0000</color>
</resources>
+16 -1
View File
@@ -57,7 +57,7 @@
<string name="menu_daily_route_plan">Daily Route Plan</string>
<string name="menu_daily_download">Daily Data Download</string>
<string name="menu_upload_data">Data Uploaded Successfully</string>
<string name="menu_upload_data">Upload Data</string>
<string name="menu_geotag">Geo Tag</string>
<string name="menu_export">Data Export</string>
@@ -227,6 +227,7 @@
<string name="databasexported">Database Exported And Uploaded Successfully</string>
<string name="data_uploaded_successfully">Data Uploaded Successfully</string>
<string name="uploadeddata">Uploaded Data</string>
@@ -332,4 +333,18 @@
<string name="Download_pdf_Error">File not downloaded</string>
<string name="title_activity_stock_data">Stock</string>
<string name="no_app_found_for_pdf">No App found for opening PDF</string>
<string name="title_activity_audit">AuditActivity</string>
<string name="please_add_subgroup_for_empty">Please add a Sub Group to empty spaces</string>
<string name="audit">Audit</string>
<string name="pls_answer_all_qns">"Please answer all questions"</string>
//notification
<string name="default_notification_channel_id" translatable="false">fcm_default_channel</string>
<!--
This is the name that users will see when interacting with this channel.
It should describe the category of notifications that will be sent through this channel
-->
<string name="default_notification_channel_name" translatable="true">News</string>
</resources>
+8 -1
View File
@@ -4,12 +4,16 @@ buildscript {
repositories {
google()
jcenter()
maven {
url 'https://maven.fabric.io/public'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'io.fabric.tools:gradle:1.24.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.google.gms:google-services:3.1.0'
}
}
@@ -17,6 +21,9 @@ allprojects {
repositories {
google()
jcenter()
maven {
url 'https://maven.google.com/'
}
}
}