diff --git a/.idea/misc.xml b/.idea/misc.xml index bd841ff..bf61f48 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -12,21 +12,32 @@ diff --git a/GSKMTOrange/build.gradle b/GSKMTOrange/build.gradle index 95b7406..60cef8f 100644 --- a/GSKMTOrange/build.gradle +++ b/GSKMTOrange/build.gradle @@ -2,8 +2,8 @@ apply plugin: 'com.android.application' apply plugin: 'io.fabric' android { - compileSdkVersion 26 - buildToolsVersion '27.0.3' + compileSdkVersion 28 + buildToolsVersion '28.0.3' useLibrary 'org.apache.http.legacy' @@ -18,11 +18,11 @@ android { defaultConfig { applicationId "cpm.com.gskmtorange" minSdkVersion 17 - targetSdkVersion 22 + targetSdkVersion 26 //For Egypt - /*versionCode 21 - versionName "3.3"*/ + /*versionCode 22 + versionName "3.4"*/ //For UAE /*versionCode 18 @@ -37,8 +37,8 @@ android { versionName "3.4"*/ //For SA - versionCode 1 - versionName "1.0" + versionCode 23 + versionName "3.5" multiDexEnabled true @@ -56,32 +56,31 @@ android { dependencies { //implementation 'com.google.firebase:firebase-crash:11.8.0' - implementation 'com.google.firebase:firebase-messaging:11.8.0' + implementation 'com.google.firebase:firebase-messaging:17.3.3' implementation fileTree(dir: 'libs', include: ['*.jar']) implementation files('libs/ksoap2-android-assembly-3.6.2-jar-with-dependencies.jar') androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) - implementation 'com.android.support:appcompat-v7:26.1.0' - implementation 'com.android.support:design:26.1.0' + implementation 'com.android.support:appcompat-v7:28.0.0' + implementation 'com.android.support:design:28.0.0' - implementation 'com.android.support:cardview-v7:26.1.0' - implementation 'com.android.support:recyclerview-v7:26.1.0' + implementation 'com.android.support:cardview-v7:28.0.0' + implementation 'com.android.support:recyclerview-v7:28.0.0' implementation 'com.google.code.gson:gson:2.7' - implementation 'com.android.support.constraint:constraint-layout:1.0.0-alpha4' + implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation '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' - implementation 'com.google.firebase:firebase-appindexing:11.8.0' - implementation 'com.google.firebase:firebase-perf:11.8.0' + implementation 'com.google.android.gms:play-services-location:16.0.0' + implementation 'com.google.android.gms:play-services-maps:16.0.0' + implementation 'com.google.firebase:firebase-appindexing:17.1.0' + implementation 'com.google.firebase:firebase-perf:16.2.3' - implementation('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') { - transitive = true; - } - implementation 'com.google.firebase:firebase-core:11.8.0' + // Add dependency + implementation 'com.crashlytics.sdk.android:crashlytics:2.9.7' + implementation 'com.google.firebase:firebase-core:16.0.6' testImplementation 'junit:junit:4.12' implementation project(':library') diff --git a/GSKMTOrange/src/main/AndroidManifest.xml b/GSKMTOrange/src/main/AndroidManifest.xml index 0130118..0d091f0 100644 --- a/GSKMTOrange/src/main/AndroidManifest.xml +++ b/GSKMTOrange/src/main/AndroidManifest.xml @@ -11,6 +11,7 @@ + + android:screenOrientation="portrait" + android:theme="@style/AppTheme.NoActionBar" /> + android:screenOrientation="portrait" + android:theme="@style/AppTheme.NoActionBar" /> + android:screenOrientation="portrait" + android:theme="@style/AppTheme.NoActionBar" /> + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java index c5d5954..6870438 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java @@ -52,6 +52,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityStockFacingGetterSett import cpm.com.gskmtorange.xmlGetterSetter.MappingCategoryImageAllowGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingDisplayChecklistGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingPlanogramCountrywiseGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.MappingPlanogramStorewiseGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingPromotionGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingStockGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingStockStorewiseGetterSetter; @@ -63,6 +64,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingReasonGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NonWorkingSubReasonGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.POGGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.POGQuestionGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.PromoComplianceSkuwiseGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.Promo_Compliance_DataGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.RowColumnGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.STORE_PERFORMANCE_MasterGetterSetter; @@ -84,7 +86,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.TableBean; */ public class GSKOrangeDB extends SQLiteOpenHelper { - public static final String DATABASE_NAME = "GSK_ORANGE_DB42"; + public static final String DATABASE_NAME = "GSK_ORANGE_DB46"; public static final int DATABASE_VERSION = 15; TableBean tableBean; private SQLiteDatabase db; @@ -190,6 +192,10 @@ public class GSKOrangeDB extends SQLiteOpenHelper { db.execSQL(TableBean.getTable_MAPPING_STOCK_STOREWISE());//--Added 04.12.2018 } + if(TableBean.getTable_MAPPING_PLANOGRAM_STORE_WISE()!=null){ + db.execSQL(TableBean.getTable_MAPPING_PLANOGRAM_STORE_WISE());//--Added 17.01.2019 + } + //15-03-2017 db.execSQL(CommonString.CREATE_TABLE_INSERT_MSL_AVAILABILITY_STOCK_FACING); db.execSQL(CommonString.CREATE_TABLE_INSERT_NO_CAMERA_FACING_DATA); @@ -197,6 +203,8 @@ public class GSKOrangeDB extends SQLiteOpenHelper { db.execSQL(CommonString.CREATE_TABLE_POG_DATA_SAVE); db.execSQL(CommonString.CREATE_TABLE_COACHING_VISIT); db.execSQL(CommonString.CREATE_TABLE_DELIVERY_CALLS);//--Added 09.10.2018 + db.execSQL(CommonString.CREATE_TABLE_INSERT_PROMO_SKUWISE);//--Added 10.12.2018 + db.execSQL(CommonString.CREATE_TABLE_INSERT_PROMO_SKUWISE_EXISTS);//--Added 11.12.2018 } catch (SQLException e) { e.printStackTrace(); @@ -228,6 +236,8 @@ public class GSKOrangeDB extends SQLiteOpenHelper { db.delete(CommonString.TABLE_INSERT_STOCK_FACING_CHILD, "Store_Id='" + storeid + "'", null); db.delete(CommonString.TABLE_INSERT_ADDITIONAL_PROMO_COMPLIANCE, "STORE_ID='" + storeid + "'", null); db.delete(CommonString.TABLE_INSERT_PROMO_SKU, "STORE_ID='" + storeid + "'", null); + db.delete(CommonString.TABLE_INSERT_PROMO_SKUWISE, "STORE_ID='" + storeid + "'", null); + db.delete(CommonString.TABLE_INSERT_PROMO_SKUWISE_EXISTS, "STORE_ID='" + storeid + "'", null); //Gagan end code t2PGetterSetters = getT2pCompliancedaletedata(storeid); @@ -270,6 +280,8 @@ public class GSKOrangeDB extends SQLiteOpenHelper { db.delete(CommonString.TABLE_INSERT_STOCK_FACING_CHILD, null, null); db.delete(CommonString.TABLE_INSERT_ADDITIONAL_PROMO_COMPLIANCE, null, null); db.delete(CommonString.TABLE_INSERT_PROMO_SKU, null, null); + db.delete(CommonString.TABLE_INSERT_PROMO_SKUWISE, null, null); + db.delete(CommonString.TABLE_INSERT_PROMO_SKUWISE_EXISTS, null, null); //Gagan end code db.delete(CommonString.TABLE_INSERT_T2P_COMPLIANCE, null, null); @@ -2634,13 +2646,19 @@ public class GSKOrangeDB extends SQLiteOpenHelper { } - public ArrayList getSKUMasterData() { + public ArrayList getSKUMasterData(String brand_id) { Cursor cursordata = null; ArrayList Data = new ArrayList(); try { - cursordata = db.rawQuery("SELECT * FROM SKU_MASTER ", null); + if(brand_id==null){ + cursordata = db.rawQuery("SELECT * FROM SKU_MASTER ", null); + } + else { + cursordata = db.rawQuery("SELECT * FROM SKU_MASTER where BRAND_ID = '"+ brand_id +"' ORDER BY SKU_SEQUENCE", null); + } + if (cursordata != null) { cursordata.moveToFirst(); @@ -3276,21 +3294,28 @@ public class GSKOrangeDB extends SQLiteOpenHelper { } } - public ArrayList getMappingPlanogramData(String category_id, String store_type_id, String class_id) { + public ArrayList getMappingPlanogramData(String category_id, String store_type_id, String class_id, String store_id) { ArrayList list = new ArrayList<>(); 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); + + if(store_type_id!=null){ + dbcursor = db.rawQuery("SELECT * FROM MAPPING_PLANOGRAM where CATEGORY_ID='" + category_id + "' AND STORETYPE_ID ='" + store_type_id + + "' AND CLASS_ID ='" + class_id + "'", null); + }else { + dbcursor = db.rawQuery("SELECT * FROM MAPPING_PLANOGRAM_STORE_WISE where CATEGORY_ID='" + category_id + "' AND STORE_ID ='" + store_id + "'", null); + } + + if (dbcursor != null) { dbcursor.moveToFirst(); while (!dbcursor.isAfterLast()) { MAPPING_PLANOGRAM_DataGetterSetter mp = new MAPPING_PLANOGRAM_DataGetterSetter(); - mp.setKEYACCOUNT_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("KEYACCOUNT_ID"))); + /*mp.setKEYACCOUNT_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("KEYACCOUNT_ID"))); mp.setSTORETYPE_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("STORETYPE_ID"))); - mp.setCLASS_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("CLASS_ID"))); + mp.setCLASS_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("CLASS_ID")));*/ mp.setCATEGORY_ID(dbcursor.getString(dbcursor.getColumnIndexOrThrow("CATEGORY_ID"))); mp.setPLANOGRAM_IMAGE(dbcursor.getString(dbcursor.getColumnIndexOrThrow("PLANOGRAM_IMAGE"))); mp.setIMAGE_PATH(dbcursor.getString(dbcursor.getColumnIndexOrThrow("IMAGE_PATH"))); @@ -6971,6 +6996,7 @@ public class GSKOrangeDB extends SQLiteOpenHelper { values.put("MUST_HAVE", data.getMUST_HAVE().get(i)); values.put("MBQ", data.getMBQ().get(i)); values.put("SHOW_ADDITIONAL_VISIBILITY", data.getSHOW_ADDITIONAL_VISIBILITY().get(i)); + values.put("COUNTRY_ID", data.getCOUNTRY_ID().get(i)); db.insert("MAPPING_STOCK_STOREWISE", null, values); } @@ -6978,4 +7004,263 @@ public class GSKOrangeDB extends SQLiteOpenHelper { Log.d("Exception ", " in MAPPING_STOCK_STOREWISE " + ex.toString()); } } + + public ArrayList getBrandMasterDataBySubCategory(String sub_category_id) { + Cursor cursordata = null; + ArrayList Data = new ArrayList(); + + try { + + cursordata = db.rawQuery("SELECT DISTINCT BM.BRAND_ID, BM.BRAND FROM BRAND_MASTER BM INNER JOIN " + + "SKU_MASTER SM ON BM.BRAND_ID = SM.BRAND_ID INNER JOIN " + + "MAPPING_STOCK_STOREWISE M ON M.SKU_ID = SM.SKU_ID WHERE SUB_CATEGORY_ID ='" + sub_category_id + "' AND COMPANY_ID ='1' ORDER BY BRAND_SEQUENCE", null); + + if (cursordata != null) { + cursordata.moveToFirst(); + while (!cursordata.isAfterLast()) { + BrandMasterGetterSetter sb = new BrandMasterGetterSetter(); + + sb.setBRAND_ID(cursordata.getString(cursordata.getColumnIndexOrThrow("BRAND_ID"))); + + sb.setBRAND(cursordata.getString(cursordata.getColumnIndexOrThrow("BRAND"))); + + Data.add(sb); + cursordata.moveToNext(); + } + cursordata.close(); + + } + + + } catch (Exception ex) { + + } + return Data; + } + + //insert Addditional Promo SKU wise + public void InsertPromoSKUwiseData(ArrayList promoSkuwiseListData, String category_id, String store_id, boolean exists) { + + try { + db.delete(CommonString.TABLE_INSERT_PROMO_SKUWISE, "STORE_ID = '"+ store_id +"' AND CATEGORY_ID ='"+ category_id +"'", null); + db.delete(CommonString.TABLE_INSERT_PROMO_SKUWISE_EXISTS, "STORE_ID = '"+ store_id +"' AND CATEGORY_ID ='"+ category_id +"'", null); + + ContentValues values = new ContentValues(); + ContentValues values1 = new ContentValues(); + int existexist_int = 0; + + if(exists){ + existexist_int = 1; + } + + values1.put("STORE_ID", Integer.parseInt(store_id)); + values1.put("CATEGORY_ID", Integer.parseInt(category_id)); + values1.put("Existss", existexist_int); + + long id = db.insert(CommonString.TABLE_INSERT_PROMO_SKUWISE_EXISTS, null, values1); + + + db.beginTransaction(); + for (int i = 0; i < promoSkuwiseListData.size(); i++) { + PromoComplianceSkuwiseGetterSetter data = promoSkuwiseListData.get(i); + + values.put("STORE_ID", Integer.parseInt(store_id)); + values.put("CATEGORY_ID", Integer.parseInt(category_id)); + values.put("SKU_ID", Integer.parseInt(data.getSku_id())); + values.put("SKU", data.getSku()); + values.put("BRAND_ID", Integer.parseInt(data.getBrand_id())); + values.put("BRAND", data.getBrand()); + values.put("SUB_CATEGORY_ID", Integer.parseInt(data.getSub_category_id())); + values.put("SUB_CATEGORY", data.getSub_category()); + values.put("DISCOUNT_VALUE", data.getDiscount_value()); + values.put("PRICE", data.getPrice()); + values.put("PROMO_IMAGE", data.getImg()); + values.put("PRICE_FLASHER_AVAILABLE", data.getPrice_flasher()); + values.put("COMMON_ID", id); + + db.insert(CommonString.TABLE_INSERT_PROMO_SKUWISE, null, values); + } + db.setTransactionSuccessful(); + db.endTransaction(); + } catch (Exception ex) { + Log.d("Exception ", " Promo_SKUwise_Data " + ex.toString()); + } + } + + public ArrayList getPromoComplianceSkuwiseAfterData(String store_id, String category_id) { + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + try { + + if(category_id==null){ + //common_id is passed in variable store_id in this case + dbcursor = db.rawQuery("Select * from Promo_SKUwise_Data " + + "where COMMON_ID='" + store_id + "'", null); + } + else { + dbcursor = db.rawQuery("Select * from Promo_SKUwise_Data " + + "where STORE_ID='" + store_id + "' AND CATEGORY_ID='" + category_id + "'", null); + } + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + PromoComplianceSkuwiseGetterSetter cd = new PromoComplianceSkuwiseGetterSetter(); + + cd.setSku_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SKU_ID"))); + cd.setSku(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SKU"))); + cd.setBrand_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("BRAND_ID"))); + cd.setBrand(dbcursor.getString(dbcursor.getColumnIndexOrThrow("BRAND"))); + cd.setSub_category_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SUB_CATEGORY_ID"))); + cd.setSub_category(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SUB_CATEGORY"))); + cd.setDiscount_value(dbcursor.getString(dbcursor.getColumnIndexOrThrow("DISCOUNT_VALUE"))); + cd.setPrice(dbcursor.getString(dbcursor.getColumnIndexOrThrow("PRICE"))); + cd.setImg(dbcursor.getString(dbcursor.getColumnIndexOrThrow("PROMO_IMAGE"))); + cd.setCategory_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("CATEGORY_ID"))); + cd.setPrice_flasher(Integer.parseInt(dbcursor.getString(dbcursor.getColumnIndexOrThrow("PRICE_FLASHER_AVAILABLE")))); + + list.add(cd); + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + } catch (Exception e) { + Log.d("Exception ", "getPromoComplianceSkuwiseAfterData!" + e.toString()); + return list; + } + return list; + } + + public ArrayList getPromoComplianceSkuwiseExistsAfterData(String store_id, String category_id) { + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + try { + + if(category_id==null){ + dbcursor = db.rawQuery("Select * from Promo_SKUwise_Exists_Data " + + "where STORE_ID='" + store_id + "'", null); + } + else { + dbcursor = db.rawQuery("Select * from Promo_SKUwise_Exists_Data " + + "where STORE_ID='" + store_id + "' AND CATEGORY_ID='" + category_id + "'", null); + } + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + PromoComplianceSkuwiseGetterSetter cd = new PromoComplianceSkuwiseGetterSetter(); + + cd.setExists(dbcursor.getString(dbcursor.getColumnIndexOrThrow("Existss")).equals("1")); + cd.setCategory_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("CATEGORY_ID"))); + cd.set_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("KEY_ID"))); + + list.add(cd); + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + } catch (Exception e) { + Log.d("Exception ", "getPromoComplianceSkuwiseAfterData!" + e.toString()); + return list; + } + return list; + } + + //get Sub Category Master + public ArrayList getSubCategoryMasterSKUwise( + String category_id) { + + ArrayList list = new ArrayList<>(); + Cursor dbcursor = null; + + try { + dbcursor = db.rawQuery("SELECT DISTINCT SC.SUB_CATEGORY_ID, SUB_CATEGORY FROM SUB_CATEGORY_MASTER SC INNER JOIN " + + "BRAND_MASTER BM ON SC.SUB_CATEGORY_ID = BM.SUB_CATEGORY_ID INNER JOIN " + + "SKU_MASTER SM ON BM.BRAND_ID = SM.BRAND_ID INNER JOIN " + + "MAPPING_STOCK_STOREWISE M ON M.SKU_ID = SM.SKU_ID WHERE CATEGORY_ID = '"+ category_id + "'", null); + + if (dbcursor != null) { + dbcursor.moveToFirst(); + while (!dbcursor.isAfterLast()) { + MSL_AvailabilityStockFacingGetterSetter cd = new MSL_AvailabilityStockFacingGetterSetter(); + + cd.setSub_category_id(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SUB_CATEGORY_ID"))); + cd.setSub_category(dbcursor.getString(dbcursor.getColumnIndexOrThrow("SUB_CATEGORY"))); + + list.add(cd); + dbcursor.moveToNext(); + } + dbcursor.close(); + return list; + } + } catch (Exception e) { + Log.d("Exception ", "get MSL_AvailabilityHeader!" + e.toString()); + return list; + } + return list; + } + + public ArrayList getSKUMasterNewData(String brand_id) { + Cursor cursordata = null; + ArrayList Data = new ArrayList(); + + try { + + cursordata = db.rawQuery("SELECT DISTINCT SM.SKU_ID, SM.SKU,SM.BRAND_ID,SM.SKU_SEQUENCE,SM.MRP FROM BRAND_MASTER BM INNER JOIN " + + "SKU_MASTER SM ON BM.BRAND_ID = SM.BRAND_ID INNER JOIN " + + "MAPPING_STOCK_STOREWISE M ON M.SKU_ID = SM.SKU_ID WHERE BM.BRAND_ID = '"+ brand_id +"' ORDER BY SKU_SEQUENCE", null); + + if (cursordata != null) { + cursordata.moveToFirst(); + while (!cursordata.isAfterLast()) { + SkuMasterGetterSetter sb = new SkuMasterGetterSetter(); + + sb.setSKU_ID(cursordata.getString(cursordata.getColumnIndexOrThrow("SKU_ID"))); + + sb.setSKU(cursordata.getString(cursordata.getColumnIndexOrThrow("SKU"))); + + sb.setBRAND_ID(cursordata.getString(cursordata.getColumnIndexOrThrow("BRAND_ID"))); + + + sb.setMRP(cursordata.getString(cursordata.getColumnIndexOrThrow("MRP"))); + + sb.setSKU_SEQUENCE(cursordata.getString(cursordata.getColumnIndexOrThrow("SKU_SEQUENCE"))); + + Data.add(sb); + cursordata.moveToNext(); + } + cursordata.close(); + + } + + + } catch (Exception ex) { + + } + return Data; + + } + + public void InsertMAPPING_PLANOGRAM_STORE_WISE(MappingPlanogramStorewiseGetterSetter data) { + db.delete("MAPPING_PLANOGRAM_STORE_WISE", null, null); + + ContentValues values = new ContentValues(); + try { + for (int i = 0; i < data.getSTORE_ID().size(); i++) { + + values.put("STORE_ID", data.getSTORE_ID().get(i)); + values.put("CATEGORY_ID", data.getCATEGORY_ID().get(i)); + values.put("PLANOGRAM_IMAGE", data.getPLANOGRAM_IMAGE().get(i)); + values.put("IMAGE_PATH", data.getIMAGE_PATH().get(i)); + + db.insert("MAPPING_PLANOGRAM_STORE_WISE", null, values); + } + } catch (Exception ex) { + Log.d("Exception ", " MAPPING_PLANOGRAM_STORE_WISE " + ex.toString()); + } + } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagActivity.java index c9d304d..2ec7334 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/GeoTag/GeoTagActivity.java @@ -27,7 +27,9 @@ import android.provider.MediaStore; import android.provider.Settings; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; +import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; +import android.support.v4.content.FileProvider; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.util.Log; @@ -121,7 +123,7 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb ArrayList geotaglist = new ArrayList(); ArrayList geotaglistImage = new ArrayList(); - Boolean markerflag=true; + Boolean markerflag = true; private TextView percentage, message; private FailureGetterSetter failureGetterSetter = null; /** @@ -139,7 +141,7 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb setSupportActionBar(toolbar); preferences = PreferenceManager.getDefaultSharedPreferences(this); - CommonFunctions.updateLangResources(getApplicationContext(),preferences.getString(CommonString.KEY_LANGUAGE, "")); + CommonFunctions.updateLangResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, "")); username = preferences.getString(CommonString.KEY_USERNAME, null); storeid = preferences.getString(CommonString.KEY_STORE_ID, null); @@ -167,6 +169,16 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb locationManager = (LocationManager) this .getSystemService(LOCATION_SERVICE); geocoder = new Geocoder(this); + if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { + // TODO: Consider calling + // ActivityCompat#requestPermissions + // here to request the missing permissions, and then overriding + // public void onRequestPermissionsResult(int requestCode, String[] permissions, + // int[] grantResults) + // to handle the case where the user grants the permission. See the documentation + // for ActivityCompat#requestPermissions for more details. + return; + } Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); if (checkPlayServices()) { @@ -475,7 +487,7 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb try { /*Log.i("MakeMachine", "startCameraActivity()"); File file = new File(_path); - Uri outputFileUri = Uri.fromFile(file); + Uri outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); Intent intent = new Intent( MediaStore.ACTION_IMAGE_CAPTURE); @@ -485,7 +497,7 @@ public class GeoTagActivity extends AppCompatActivity implements OnMapReadyCallb Log.i("MakeMachine", "startCameraActivity()"); File file = new File(_path); - outputFileUri = Uri.fromFile(file); + outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); String defaultCameraPackage = ""; final PackageManager packageManager = getPackageManager(); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java index 03b990f..e69fae3 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/LoginActivity.java @@ -1,5 +1,6 @@ package cpm.com.gskmtorange; +import android.Manifest; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.annotation.TargetApi; @@ -17,6 +18,8 @@ import android.os.Environment; import android.preference.PreferenceManager; import android.support.annotation.NonNull; import android.support.design.widget.Snackbar; +import android.support.v4.app.ActivityCompat; +import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.view.KeyEvent; @@ -34,6 +37,7 @@ import com.crashlytics.android.Crashlytics; import com.google.firebase.analytics.FirebaseAnalytics; import com.google.firebase.perf.FirebasePerformance; import com.google.firebase.perf.metrics.Trace; +import com.google.gson.Gson; import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.SoapObject; @@ -71,6 +75,11 @@ import static android.Manifest.permission.READ_CONTACTS; */ public class LoginActivity extends AppCompatActivity { + private static final int MY_PERMISSIONS_REQUEST_CAMERA = 10; + private static final int MY_PERMISSIONS_REQUEST_LOCATION = 11; + private static final int MY_PERMISSIONS_REQUEST_STORAGE_READ = 12; + private static final int MY_PERMISSIONS_REQUEST_STORAGE_WRITE = 14; + private FirebaseAnalytics mFirebaseAnalytics; TextView tv_version; @@ -178,7 +187,8 @@ public class LoginActivity extends AppCompatActivity { museridSignInButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { - attemptLogin(); + checkAppPermission(Manifest.permission.CAMERA, MY_PERMISSIONS_REQUEST_CAMERA); + //attemptLogin(); } }); @@ -188,14 +198,14 @@ 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(); } File file_planogram = new File(Environment.getExternalStorageDirectory(), "GSK_MT_ORANGE_Planogram_Images"); if (!file_planogram.isDirectory()) { file_planogram.mkdir(); - } + }*/ } @@ -569,6 +579,8 @@ public class LoginActivity extends AppCompatActivity { editor.commit(); + setDataFromSharedPreferences(lgs); + Bundle bundle = new Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, userid); bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, CommonString.KEY_LOGIN_DATA); @@ -677,6 +689,7 @@ public class LoginActivity extends AppCompatActivity { } else { + Intent intent = new Intent(getBaseContext(), AutoUpdateActivity.class); @@ -826,5 +839,97 @@ public class LoginActivity extends AppCompatActivity { finish(); } + + private void setDataFromSharedPreferences(LoginGetterSetter lgs) { + Gson gson = new Gson(); + String jsonCurProduct = gson.toJson(lgs); + + //SharedPreferences sharedPref = getApplicationContext().getSharedPreferences(CommonString.KEY_LOOGIN_PREF, Context.MODE_PRIVATE); + SharedPreferences.Editor editor = preferences.edit(); + + editor.putString(CommonString.KEY_LOOGIN_PREF, jsonCurProduct); + editor.commit(); + } + + void checkAppPermission(String permission, int requestCode) { + + boolean permission_flag = false; + // Here, thisActivity is the current activity + if (ContextCompat.checkSelfPermission(LoginActivity.this, + permission) + != PackageManager.PERMISSION_GRANTED) { + + // Permission is not granted + // Should we show an explanation? + if (ActivityCompat.shouldShowRequestPermissionRationale(LoginActivity.this, + permission)) { + // Show an explanation to the user *asynchronously* -- don't block + // this thread waiting for the user's response! After the user + // sees the explanation, try again to request the permission. + showOnPermissiondenied(Manifest.permission.CAMERA, MY_PERMISSIONS_REQUEST_CAMERA, 1); + } else { + // No explanation needed; request the permission + ActivityCompat.requestPermissions(LoginActivity.this, + new String[]{permission}, + requestCode); + + // MY_PERMISSIONS_REQUEST_READ_CONTACTS is an + // app-defined int constant. The callback method gets the + // result of the request. + } + } else { + // Permission has already been granted + if (requestCode == MY_PERMISSIONS_REQUEST_CAMERA) { + checkAppPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE, MY_PERMISSIONS_REQUEST_STORAGE_WRITE); + } else if (requestCode == MY_PERMISSIONS_REQUEST_STORAGE_WRITE) { + checkAppPermission(Manifest.permission.READ_EXTERNAL_STORAGE, MY_PERMISSIONS_REQUEST_STORAGE_READ); + } else if (requestCode == MY_PERMISSIONS_REQUEST_STORAGE_READ) { + checkAppPermission(Manifest.permission.ACCESS_FINE_LOCATION, MY_PERMISSIONS_REQUEST_LOCATION); + } else { + + // Create a Folder for Images + + File file = new File(Environment.getExternalStorageDirectory(), ".GSK_MT_ORANGE_IMAGES"); + if (!file.isDirectory()) { + file.mkdir(); + } + File file_planogram = new File(Environment.getExternalStorageDirectory(), "GSK_MT_ORANGE_Planogram_Images"); + if (!file_planogram.isDirectory()) { + file_planogram.mkdir(); + } + + attemptLogin(); + } + + } + } + + void showOnPermissiondenied(final String permissionsRequired, final int request_code, final int check) { + AlertDialog.Builder builder = new AlertDialog.Builder(LoginActivity.this); + builder.setTitle("Need Multiple Permissions"); + builder.setMessage("This app needs Camera, Storage and Location permissions."); + builder.setPositiveButton("Grant", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.cancel(); + if (check == 0) { + checkAppPermission(permissionsRequired, request_code); + } else { + ActivityCompat.requestPermissions(LoginActivity.this, + new String[]{permissionsRequired}, + request_code); + } + + } + }); + /* builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.cancel(); + finish(); + } + });*/ + builder.show(); + } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java index f5ede16..14ce50a 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java @@ -1,23 +1,31 @@ package cpm.com.gskmtorange; +import android.Manifest; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; +import android.content.pm.PackageManager; import android.graphics.Bitmap; import android.net.ConnectivityManager; import android.net.NetworkInfo; +import android.net.Uri; import android.os.Bundle; +import android.os.Environment; import android.preference.PreferenceManager; +import android.provider.Settings; +import android.support.annotation.NonNull; import android.support.design.widget.NavigationView; import android.support.design.widget.Snackbar; import android.support.v4.app.ActivityCompat; +import android.support.v4.content.ContextCompat; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; +import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; @@ -26,10 +34,15 @@ import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.ImageView; import android.widget.TextView; +import android.widget.Toast; import com.crashlytics.android.Crashlytics; +import java.io.File; import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import cpm.com.gskmtorange.Database.GSKOrangeDB; import cpm.com.gskmtorange.GeoTag.GeoTagStoreList; @@ -70,6 +83,11 @@ public class MainActivity extends AppCompatActivity NavigationView navigationView; + private static final int MY_PERMISSIONS_REQUEST_CAMERA = 10; + private static final int MY_PERMISSIONS_REQUEST_LOCATION = 11; + private static final int MY_PERMISSIONS_REQUEST_STORAGE_READ = 12; + private static final int MY_PERMISSIONS_REQUEST_STORAGE_WRITE = 14; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -136,6 +154,8 @@ public class MainActivity extends AppCompatActivity navigationView.addHeaderView(headerView); navigationView.setNavigationItemSelectedListener(this); + + } @Override @@ -148,6 +168,7 @@ public class MainActivity extends AppCompatActivity db.open(); + /*//Deviation - Ad hoc Stores - enable ArrayList configuration_data = db.getConfigurationData(country_id); if(configuration_data.size()>0){ @@ -164,23 +185,23 @@ public class MainActivity extends AppCompatActivity //Enable disable According to Configuration ArrayList configurationData = db.getConfigurationMasterData(country_id); - if(configurationData.size()>0){ - for(int i=0; i 0) { + for (int i = 0; i < configurationData.size(); i++) { - if(configurationData.get(i).getCONFIGURE().get(0).equalsIgnoreCase("ADHOC REPORTING") && - configurationData.get(i).getACTIVE().get(0).equalsIgnoreCase("1")){ + if (configurationData.get(i).getCONFIGURE().get(0).equalsIgnoreCase("ADHOC REPORTING") && + configurationData.get(i).getACTIVE().get(0).equalsIgnoreCase("1")) { Menu nav_Menu = navigationView.getMenu(); nav_Menu.findItem(R.id.nav_deviation).setVisible(true); } - if(configurationData.get(i).getCONFIGURE().get(0).equalsIgnoreCase("PDF ALLOW") && - configurationData.get(i).getACTIVE().get(0).equalsIgnoreCase("1")){ + if (configurationData.get(i).getCONFIGURE().get(0).equalsIgnoreCase("PDF ALLOW") && + configurationData.get(i).getACTIVE().get(0).equalsIgnoreCase("1")) { Menu nav_Menu = navigationView.getMenu(); nav_Menu.findItem(R.id.nav_planogram).setVisible(true); } - if(configurationData.get(i).getCONFIGURE().get(0).equalsIgnoreCase("DELIVERY CALLS") && - configurationData.get(i).getACTIVE().get(0).equalsIgnoreCase("1")){ + if (configurationData.get(i).getCONFIGURE().get(0).equalsIgnoreCase("DELIVERY CALLS") && + configurationData.get(i).getACTIVE().get(0).equalsIgnoreCase("1")) { Menu nav_Menu = navigationView.getMenu(); nav_Menu.findItem(R.id.nav_delivery_call).setVisible(true); } @@ -233,50 +254,18 @@ public class MainActivity extends AppCompatActivity if (id == R.id.nav_route_plan) { + + + Intent in_jcp = new Intent(this, StoreListActivity.class); in_jcp.putExtra(CommonString.KEY_STORE_FLAG, CommonString.FROM_JCP); startActivity(in_jcp); overridePendingTransition(R.anim.activity_in, R.anim.activity_out); - - // Handle the camera action } else if (id == R.id.nav_download) { - if (checkNetIsAvailable()) { - 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) - .setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - - Intent in = new Intent(getApplicationContext(), PreviousDataUploadActivity.class); - startActivity(in); - //finish(); - } - }); - AlertDialog alert = builder.create(); - alert.show(); - - } else { - Intent in = new Intent(getApplicationContext(), DownloadActivity.class); - startActivity(in); - } - } else { - Snackbar.make(webView, getResources().getString(R.string.nonetwork), Snackbar.LENGTH_SHORT) - .setAction("Action", null).show(); - } + checkAppPermission(Manifest.permission.CAMERA, MY_PERMISSIONS_REQUEST_CAMERA); } else if (id == R.id.nav_upload) { @@ -287,7 +276,7 @@ public class MainActivity extends AppCompatActivity //Alert need to change this check so than user can work on Adhoc even having no JCP //storelist = db.getStoreData(date, CommonString.KEY_JOURNEY_PLAN); - if ( db.getSKUMasterData().size() == 0) { + if (db.getSKUMasterData(null).size() == 0) { Snackbar.make(webView, R.string.title_store_list_download_data, Snackbar.LENGTH_SHORT) .setAction("Action", null).show(); @@ -392,11 +381,11 @@ public class MainActivity extends AppCompatActivity .setAction("Action", null).show(); } - }else if(id == R.id.nav_deviation){ + } else if (id == R.id.nav_deviation) { db.open(); - if ( db.getSKUMasterData().size() == 0) { + if (db.getSKUMasterData(null).size() == 0) { Snackbar.make(webView, R.string.title_store_list_download_data, Snackbar.LENGTH_SHORT) .setAction("Action", null).show(); @@ -412,7 +401,7 @@ public class MainActivity extends AppCompatActivity overridePendingTransition(R.anim.activity_in, R.anim.activity_out); } - }else if(id == R.id.nav_delivery_call){ + } else if (id == R.id.nav_delivery_call) { Intent in = new Intent(this, DeliveryCallActivity.class); startActivity(in); @@ -506,7 +495,7 @@ public class MainActivity extends AppCompatActivity boolean isvalid = false; ArrayList 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(),coverage_list.get(i).getFlag_from()); + StoreBean storeData = db.getSpecificStoreData(coverage_list.get(i).getVisitDate(), coverage_list.get(i).getStoreId(), coverage_list.get(i).getFlag_from()); if (storeData.getSTORE_ID() != null) { if (!storeData.getUPLOAD_STATUS().equals(CommonString.KEY_U) && (storeData.getCHECKOUT_STATUS().equals(CommonString.KEY_Y) || @@ -519,4 +508,234 @@ public class MainActivity extends AppCompatActivity return isvalid; } + void checkPermissionCamera(String permission) { + + boolean permission_flag = false; + // Here, thisActivity is the current activity + if (ContextCompat.checkSelfPermission(MainActivity.this, + Manifest.permission.CAMERA) + != PackageManager.PERMISSION_GRANTED) { + + // Permission is not granted + // Should we show an explanation? + if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, + Manifest.permission.CAMERA)) { + // Show an explanation to the user *asynchronously* -- don't block + // this thread waiting for the user's response! After the user + // sees the explanation, try again to request the permission. + } else { + // No explanation needed; request the permission + ActivityCompat.requestPermissions(MainActivity.this, + new String[]{Manifest.permission.CAMERA}, + 10); + + // MY_PERMISSIONS_REQUEST_READ_CONTACTS is an + // app-defined int constant. The callback method gets the + // result of the request. + } + } else { + // Permission has already been granted + } + } + + void checkAppPermission(String permission, int requestCode) { + + boolean permission_flag = false; + // Here, thisActivity is the current activity + if (ContextCompat.checkSelfPermission(MainActivity.this, + permission) + != PackageManager.PERMISSION_GRANTED) { + + // Permission is not granted + // Should we show an explanation? + if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, + permission)) { + // Show an explanation to the user *asynchronously* -- don't block + // this thread waiting for the user's response! After the user + // sees the explanation, try again to request the permission. + showOnPermissiondenied(Manifest.permission.CAMERA, MY_PERMISSIONS_REQUEST_CAMERA, 1); + } else { + // No explanation needed; request the permission + ActivityCompat.requestPermissions(MainActivity.this, + new String[]{permission}, + requestCode); + + // MY_PERMISSIONS_REQUEST_READ_CONTACTS is an + // app-defined int constant. The callback method gets the + // result of the request. + } + } else { + // Permission has already been granted + if (requestCode == MY_PERMISSIONS_REQUEST_CAMERA) { + checkAppPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE, MY_PERMISSIONS_REQUEST_STORAGE_WRITE); + } else if (requestCode == MY_PERMISSIONS_REQUEST_STORAGE_WRITE) { + checkAppPermission(Manifest.permission.READ_EXTERNAL_STORAGE, MY_PERMISSIONS_REQUEST_STORAGE_READ); + } else if (requestCode == MY_PERMISSIONS_REQUEST_STORAGE_READ) { + checkAppPermission(Manifest.permission.ACCESS_FINE_LOCATION, MY_PERMISSIONS_REQUEST_LOCATION); + } else { + + // Create a Folder for Images + + File file = new File(Environment.getExternalStorageDirectory(), ".GSK_MT_ORANGE_IMAGES"); + if (!file.isDirectory()) { + file.mkdir(); + } + File file_planogram = new File(Environment.getExternalStorageDirectory(), "GSK_MT_ORANGE_Planogram_Images"); + if (!file_planogram.isDirectory()) { + file_planogram.mkdir(); + } + + downloadMethod(); + } + + } + } + + @Override + public void onRequestPermissionsResult(int requestCode, + String permissions[], int[] grantResults) { + switch (requestCode) { + case MY_PERMISSIONS_REQUEST_CAMERA: { + // If request is cancelled, the result arrays are empty. + if (grantResults.length > 0 + && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + // permission was granted, yay! Do the + // contacts-related task you need to do. + checkAppPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE, MY_PERMISSIONS_REQUEST_STORAGE_WRITE); + } else { + // permission denied, boo! Disable the + // functionality that depends on this permission. + // finish(); + showOnPermissiondenied(Manifest.permission.CAMERA, MY_PERMISSIONS_REQUEST_CAMERA, 1); + } + //return; + } + + break; + + case MY_PERMISSIONS_REQUEST_STORAGE_WRITE: { + // If request is cancelled, the result arrays are empty. + if (grantResults.length > 0 + && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + // permission was granted, yay! Do the + // contacts-related task you need to do. + checkAppPermission(Manifest.permission.READ_EXTERNAL_STORAGE, MY_PERMISSIONS_REQUEST_STORAGE_READ); + } else { + // permission denied, boo! Disable the + // functionality that depends on this permission. + // finish(); + showOnPermissiondenied(Manifest.permission.WRITE_EXTERNAL_STORAGE, MY_PERMISSIONS_REQUEST_STORAGE_WRITE, 1); + } + //return; + } + + break; + + + case MY_PERMISSIONS_REQUEST_STORAGE_READ: { + // If request is cancelled, the result arrays are empty. + if (grantResults.length > 0 + && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + // permission was granted, yay! Do the + // contacts-related task you need to do. + checkAppPermission(Manifest.permission.ACCESS_FINE_LOCATION, MY_PERMISSIONS_REQUEST_LOCATION); + } else { + // permission denied, boo! Disable the + // functionality that depends on this permission. + // finish(); + showOnPermissiondenied(Manifest.permission.READ_EXTERNAL_STORAGE, MY_PERMISSIONS_REQUEST_STORAGE_READ, 1); + } + //return; + } + + break; + + case MY_PERMISSIONS_REQUEST_LOCATION: { + // If request is cancelled, the result arrays are empty. + if (grantResults.length > 0 + && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + // permission was granted, yay! Do the + // contacts-related task you need to do. + + } else { + // permission denied, boo! Disable the + // functionality that depends on this permission. + showOnPermissiondenied(Manifest.permission.ACCESS_FINE_LOCATION, MY_PERMISSIONS_REQUEST_LOCATION, 1); + } + //return; + } + + break; + + // other 'case' lines to check for other + // permissions this app might request. + } + } + + void showOnPermissiondenied(final String permissionsRequired, final int request_code, final int check) { + AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); + builder.setTitle("Need Multiple Permissions"); + builder.setMessage("This app needs Camera, Storage and Location permissions."); + builder.setPositiveButton("Grant", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.cancel(); + if (check == 0) { + checkAppPermission(permissionsRequired, request_code); + } else { + ActivityCompat.requestPermissions(MainActivity.this, + new String[]{permissionsRequired}, + request_code); + } + + } + }); + /* builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.cancel(); + finish(); + } + });*/ + builder.show(); + } + + //for download + public void downloadMethod(){ + if (checkNetIsAvailable()) { + + 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) + .setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + + Intent in = new Intent(getApplicationContext(), PreviousDataUploadActivity.class); + startActivity(in); + //finish(); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + + } else { + Intent in = new Intent(getApplicationContext(), DownloadActivity.class); + startActivity(in); + } + } else { + Snackbar.make(webView, getResources().getString(R.string.nonetwork), Snackbar.LENGTH_SHORT) + .setAction("Action", null).show(); + } + } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/autoupdate/AutoUpdateActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/autoupdate/AutoUpdateActivity.java index 293c931..55b54fa 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/autoupdate/AutoUpdateActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/autoupdate/AutoUpdateActivity.java @@ -13,6 +13,7 @@ import android.net.Uri; import android.os.AsyncTask; import android.os.Environment; import android.preference.PreferenceManager; +import android.support.v4.content.FileProvider; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ProgressBar; @@ -251,7 +252,7 @@ public class AutoUpdateActivity extends AppCompatActivity { if (result.equals(CommonString.KEY_SUCCESS)) { Intent i = new Intent(Intent.ACTION_VIEW); - i.setDataAndType(Uri.fromFile(new File(Environment + i.setDataAndType(FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", new File(Environment .getExternalStorageDirectory() + "/download/" + "app.apk")), diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java index a338834..0c8e664 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/constant/CommonString.java @@ -530,6 +530,74 @@ public class CommonString { //Gagan Code End + public static final String TABLE_INSERT_PROMO_SKUWISE = "Promo_SKUwise_Data"; + + public static final String CREATE_TABLE_INSERT_PROMO_SKUWISE = "CREATE TABLE IF NOT EXISTS " + + TABLE_INSERT_PROMO_SKUWISE + + "(" + + "KEY_ID" + + " INTEGER PRIMARY KEY AUTOINCREMENT ," + + + "STORE_ID" + + " INTEGER," + + + "CATEGORY_ID" + + " INTEGER," + + + "COMMON_ID" + + " INTEGER," + + + "SKU_ID" + + " INTEGER," + + + "SKU" + + " VARCHAR," + + + "BRAND_ID" + + " INTEGER," + + + "BRAND" + + " VARCHAR," + + + "SUB_CATEGORY_ID" + + " INTEGER," + + + "SUB_CATEGORY" + + " VARCHAR," + + + "PRICE" + + " VARCHAR," + + + "DISCOUNT_VALUE" + + " VARCHAR," + + + "PRICE_FLASHER_AVAILABLE" + + " INTEGER," + + + "PROMO_IMAGE" + + " VARCHAR" + + + ")"; + + public static final String TABLE_INSERT_PROMO_SKUWISE_EXISTS = "Promo_SKUwise_Exists_Data"; + + public static final String CREATE_TABLE_INSERT_PROMO_SKUWISE_EXISTS = "CREATE TABLE IF NOT EXISTS " + + TABLE_INSERT_PROMO_SKUWISE_EXISTS + + "(" + + "KEY_ID" + + " INTEGER PRIMARY KEY AUTOINCREMENT ," + + + "STORE_ID" + + " INTEGER," + + + "CATEGORY_ID" + + " INTEGER," + + + "Existss" + + " INTEGER" + + + ")"; + public static final String TABLE_INSERT_STOCK_ADDITIONAL_DATA = "ADDITIONAL_STOCK_DATA"; public static final String CREATE_TABLE_STOCK_ADDITIONAL_STOCK_DATA = "CREATE TABLE " + TABLE_INSERT_STOCK_ADDITIONAL_DATA + " (" + KEY_ID diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/AdditionalPromoSKUwiseActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/AdditionalPromoSKUwiseActivity.java new file mode 100644 index 0000000..892207c --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/AdditionalPromoSKUwiseActivity.java @@ -0,0 +1,988 @@ +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.v4.content.FileProvider; +import android.support.v7.app.AppCompatActivity; +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.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.CheckBox; +import android.widget.CompoundButton; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.Spinner; +import android.widget.TextView; + +import java.io.File; +import java.util.ArrayList; +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.BrandMasterGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.ConfigurationMasterGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityStockFacingGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.PromoComplianceSkuwiseGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.SelectGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.SkuGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.SkuMasterGetterSetter; + +public class AdditionalPromoSKUwiseActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener, View.OnClickListener{ + + GSKOrangeDB db; + String store_id, visit_date, username, intime, date; + String categoryName, categoryId; + String sub_category="", sub_category_id="0", brand="", brand_id="0", sku="", sku_id="0", discount="", price="", _pathforcheck = "", _path = "", img_str="", country_id; + private SharedPreferences preferences; + Spinner spinner_sub_category_list, spinner_brand_list, spinner_sku_list, sp_flasher; + ArrayList sub_category_list; + ArrayList brand_list = new ArrayList<>(); + ArrayList sku_list= new ArrayList<>(); + Toolbar toolbar; + FloatingActionButton fab_save, fab_add; + + ArrayList exists_data = new ArrayList<>(); + ArrayList added_promo_list = new ArrayList<>(); + + RecyclerView rec_added_promo; + EditText et_discount, et_price; + String gallery_package = ""; + Uri outputFileUri; + ImageView img_cam; + boolean isdata_added = false, isExists = true, is_camera_compulsory = false; + LinearLayout lin_parent; + PromoAdapter promoAdapter; + int price_flasher_available = -1; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_additional_promo_skuwise); + toolbar = (Toolbar) findViewById(R.id.toolbar); + toolbar.setTitle(getResources().getString(R.string.title_activity_promo_compliance)); + setSupportActionBar(toolbar); + + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + spinner_sub_category_list = (Spinner) findViewById(R.id.sp_sub_category); + spinner_brand_list = (Spinner) findViewById(R.id.sp_brand); + spinner_sku_list = (Spinner) findViewById(R.id.sp_sku); + sp_flasher = (Spinner) findViewById(R.id.sp_flasher); + fab_save = (FloatingActionButton) findViewById(R.id.fab); + fab_add = (FloatingActionButton) findViewById(R.id.fab_add); + rec_added_promo = (RecyclerView) findViewById(R.id.rec_added_promo_skuwise); + et_discount = (EditText) findViewById(R.id.et_discount); + et_price = (EditText) findViewById(R.id.et_price); + img_cam = (ImageView) findViewById(R.id.img_promotion_add); + lin_parent = (LinearLayout) findViewById(R.id.lin_parent); + + //preference data + preferences = PreferenceManager.getDefaultSharedPreferences(this); + store_id = preferences.getString(CommonString.KEY_STORE_ID, null); + visit_date = preferences.getString(CommonString.KEY_DATE, null); + username = preferences.getString(CommonString.KEY_USERNAME, null); + country_id = preferences.getString(CommonString.KEY_COUNTRY_ID, null); + + CommonFunctions.updateLangResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, "")); + + //Intent data + categoryName = getIntent().getStringExtra("categoryName"); + categoryId = getIntent().getStringExtra("categoryId"); + + db = new GSKOrangeDB(AdditionalPromoSKUwiseActivity.this); + db.open(); + + //Enable camera compulsory According to Configuration + ArrayList configurationData = db.getConfigurationMasterData(country_id); + if(configurationData.size()>0){ + for(int i=0; i0){ + isExists = exists_data.get(0).isExists(); + if(exists_data.get(0).isExists()){ + added_promo_list = db.getPromoComplianceSkuwiseAfterData(store_id, categoryId); + } + else { + fab_add.hide();//.setVisibility(View.GONE); + added_promo_list.clear(); + if(promoAdapter!=null){ + promoAdapter.list.clear(); + promoAdapter.notifyDataSetChanged(); + } + + lin_parent.setVisibility(View.GONE); + } + } + + if(added_promo_list.size()>0){ + rec_added_promo.setLayoutManager(new LinearLayoutManager(getApplicationContext())); + promoAdapter = new PromoAdapter(added_promo_list); + rec_added_promo.setAdapter(promoAdapter); + } + + sub_category_list = db.getSubCategoryMasterSKUwise(categoryId); + + MSL_AvailabilityStockFacingGetterSetter sub_category = new MSL_AvailabilityStockFacingGetterSetter(); + String str = getResources().getString(R.string.select); + sub_category.setSub_category(str); + sub_category_list.add(0, sub_category); + CustomSubCategoryAdapter adapter = new CustomSubCategoryAdapter(AdditionalPromoSKUwiseActivity.this, R.layout.custom_spinner_item, sub_category_list); + + spinner_sub_category_list.setAdapter(adapter); + + spinner_sub_category_list.setOnItemSelectedListener(this); + + ArrayList ans_list = new ArrayList<>(); + SelectGetterSetter select = new SelectGetterSetter(); + select.setAns(getString(R.string.select)); + select.setAns_id(0); + ans_list.clear(); + ans_list.add(select); + + select = new SelectGetterSetter(); + select.setAns(getString(R.string.yes)); + select.setAns_id(1); + ans_list.add(select); + + select = new SelectGetterSetter(); + select.setAns(getString(R.string.no)); + select.setAns_id(2); + ans_list.add(select); + + CustomSpinnerAdapter ansAdapter = new CustomSpinnerAdapter(AdditionalPromoSKUwiseActivity.this, R.layout.custom_t2p_spinner_item, ans_list); + sp_flasher.setAdapter(ansAdapter); + sp_flasher.setOnItemSelectedListener(this); + + fab_add.setOnClickListener(this); + fab_save.setOnClickListener(this); + img_cam.setOnClickListener(this); + } + + @Override + protected void onResume() { + super.onResume(); + + toolbar.setTitle(getResources().getString(R.string.title_activity_promo_compliance)); + } + + @Override + public void onItemSelected(AdapterView parent, View view, int position, long id) { + + switch (parent.getId()) { + case R.id.sp_sub_category: + + if(position!=0){ + sub_category = sub_category_list.get(position).getSub_category(); + sub_category_id = sub_category_list.get(position).getSub_category_id(); + + brand_list = db.getBrandMasterDataBySubCategory(sub_category_id); + + BrandMasterGetterSetter brand_select = new BrandMasterGetterSetter(); + String str = getResources().getString(R.string.select); + brand_select.setBRAND(str); + brand_select.setBRAND_ID("0"); + brand_list.add(0, brand_select); + CustomBrandAdapter adapter = new CustomBrandAdapter(AdditionalPromoSKUwiseActivity.this, R.layout.custom_spinner_item, brand_list); + + spinner_brand_list.setAdapter(adapter); + spinner_brand_list.setOnItemSelectedListener(this); + } + else { + + clearBrandSpinner(); + } + + break; + + case R.id.sp_brand: + + if(position!=0){ + brand = brand_list.get(position).getBRAND().get(0); + brand_id = brand_list.get(position).getBRAND_ID().get(0); + + sku_list = db.getSKUMasterNewData(brand_id); + + SkuMasterGetterSetter sku_select = new SkuMasterGetterSetter(); + String str = getResources().getString(R.string.select); + sku_select.setSKU(str); + sku_select.setSKU_ID("0"); + sku_list.add(0, sku_select); + CustomSkuAdapter adapter = new CustomSkuAdapter(AdditionalPromoSKUwiseActivity.this, R.layout.custom_spinner_item, sku_list); + + spinner_sku_list.setAdapter(adapter); + spinner_sku_list.setOnItemSelectedListener(this); + } + else { + + clearSkuSpinner(); + } + + break; + + case R.id.sp_sku: + + if(position!=0) { + sku = sku_list.get(position).getSKU().get(0); + sku_id = sku_list.get(position).getSKU_ID().get(0); + } + + break; + + case R.id.sp_flasher: + + switch (position){ + + case 0: + + price_flasher_available = -1; + break; + + case 1: + price_flasher_available = 1; + break; + + case 2: + price_flasher_available = 0; + break; + } + + break; + } + } + + @Override + public void onNothingSelected(AdapterView parent) { + + } + + void clearBrandSpinner(){ + brand_list.clear(); + + BrandMasterGetterSetter brand_select = new BrandMasterGetterSetter(); + String str = getResources().getString(R.string.select); + brand_select.setBRAND(str); + brand_select.setBRAND_ID("0"); + brand_list.add(0, brand_select); + CustomBrandAdapter adapter = new CustomBrandAdapter(AdditionalPromoSKUwiseActivity.this, R.layout.custom_spinner_item, brand_list); + + spinner_brand_list.setAdapter(adapter); + spinner_brand_list.setOnItemSelectedListener(this); + } + + void clearSkuSpinner(){ + sku_list.clear(); + + SkuMasterGetterSetter sku_select = new SkuMasterGetterSetter(); + String str = getResources().getString(R.string.select); + sku_select.setSKU(str); + sku_select.setSKU_ID("0"); + sku_list.add(0, sku_select); + CustomSkuAdapter adapter = new CustomSkuAdapter(AdditionalPromoSKUwiseActivity.this, R.layout.custom_spinner_item, sku_list); + + spinner_sku_list.setAdapter(adapter); + spinner_sku_list.setOnItemSelectedListener(this); + } + + @Override + public void onClick(View v) { + int id = v.getId(); + + switch (id){ + + case R.id.fab: + + boolean valid_flag = true; + + if(isExists){ + if(added_promo_list.size()==0){ + valid_flag = false; + } + } + + if(!valid_flag){ + Snackbar.make(rec_added_promo, R.string.title_activity_Want_add,Snackbar.LENGTH_SHORT).show(); + } + else if(isdata_added){ + + + AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder( + AdditionalPromoSKUwiseActivity.this); + // set title + alertDialogBuilder.setTitle(getResources().getString(R.string.dialog_title)); + // set dialog message + alertDialogBuilder + .setMessage(getResources().getString(R.string.title_activity_Want_save)) + .setCancelable(false) + .setPositiveButton(getResources().getString(R.string.yes), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + + db.InsertPromoSKUwiseData(added_promo_list, categoryId, store_id, isExists); + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + }) + .setNegativeButton(getResources().getString(R.string.no), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + // if this button is clicked, just close + // the dialog box and do nothing + dialog.cancel(); + } + }); + + // create alert dialog + AlertDialog alertDialog = alertDialogBuilder.create(); + + // show it + alertDialog.show(); + + }else { + finish(); + } + + break; + + case R.id.fab_add: + + discount = et_discount.getText().toString(); + price = et_price.getText().toString(); + + if(sub_category.equals("")){ + Snackbar.make(rec_added_promo, R.string.pls_select_sub_category,Snackbar.LENGTH_SHORT).show(); + } + else if(brand.equals("")){ + Snackbar.make(rec_added_promo, R.string.pls_select_brand,Snackbar.LENGTH_SHORT).show(); + }else if(sku.equals("")){ + Snackbar.make(rec_added_promo, R.string.pls_select_sku,Snackbar.LENGTH_SHORT).show(); + }/*else if(discount.equals("")){ + Snackbar.make(rec_added_promo, R.string.pls_enter_discount,Snackbar.LENGTH_SHORT).show(); + }*/else if(price.equals("")){ + Snackbar.make(rec_added_promo, R.string.pls_enter_price,Snackbar.LENGTH_SHORT).show(); + }else if(is_camera_compulsory && img_str.equals("")){ + Snackbar.make(rec_added_promo, R.string.click_image,Snackbar.LENGTH_SHORT).show(); + }else if(price_flasher_available==-1){ + Snackbar.make(rec_added_promo, R.string.pls_select_price,Snackbar.LENGTH_SHORT).show(); + }else { + PromoComplianceSkuwiseGetterSetter promo = new PromoComplianceSkuwiseGetterSetter(); + promo.setBrand(brand); + promo.setBrand_id(brand_id); + promo.setSub_category(sub_category); + promo.setSub_category_id(sub_category_id); + promo.setSku(sku); + promo.setSku_id(sku_id); + promo.setImg(img_str); + promo.setDiscount_value(discount); + promo.setPrice(price); + promo.setPrice_flasher(price_flasher_available); + + added_promo_list.add(promo); + + rec_added_promo.setLayoutManager(new LinearLayoutManager(getApplicationContext())); + PromoAdapter gapAdapter = new PromoAdapter(added_promo_list); + rec_added_promo.setAdapter(gapAdapter); + + sub_category = ""; + sub_category_id = "0"; + brand= ""; + brand_id = "0"; + sku = ""; + sku_id = "0"; + discount = ""; + price = ""; + img_str = ""; + price_flasher_available = -1; + + et_discount.setText(""); + et_price.setText(""); + spinner_sub_category_list.setSelection(0); + clearBrandSpinner(); + clearSkuSpinner(); + sp_flasher.setSelection(0); + + if(is_camera_compulsory){ + img_cam.setBackgroundResource(R.drawable.camera_orange_star_green); + } + else { + img_cam.setBackgroundResource(R.mipmap.camera_orange); + } + isdata_added = true; + } + + break; + + case R.id.img_promotion_add: + + _pathforcheck = "Additional_Promo_Skuwise_Image" + store_id + categoryId + visit_date.replace("/", "") + "_" + + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; + + _path = CommonString.FILE_PATH + _pathforcheck; + + startCameraActivity(1); + break; + } + } + + private void startCameraActivity(int pos) { + try { + + Log.i("Stock & Facing ", "startCameraActivity()"); + File file = new File(_path); + outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); + + String defaultCameraPackage = ""; + final PackageManager packageManager = getPackageManager(); + List 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; + } + } + } + } + + Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); + intent.setPackage(defaultCameraPackage); + //startActivityForResult(intent, 1); + startActivityForResult(intent, pos); + //startActivityForResult(intent, position); + + } 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); + startActivityForResult(intent, pos); + + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent 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(CommonString.FILE_PATH + _pathforcheck).exists()) { + + img_cam.setBackgroundResource(R.mipmap.camera_green); + + img_str = _pathforcheck; + _pathforcheck = ""; + } + } + + break; + } + + super.onActivityResult(requestCode, resultCode, data); + } + + public class CustomBrandAdapter extends ArrayAdapter { + + private Activity activity; + private ArrayList data; + BrandMasterGetterSetter tempValues = null; + LayoutInflater inflater; + + /************* + * CustomBrandAdapter Constructor + *****************/ + public CustomBrandAdapter( + AdditionalPromoSKUwiseActivity activitySpinner, + int textViewResourceId, + ArrayList objects + + ) { + super(activitySpinner, textViewResourceId, objects); + + /********** Take passed values **********/ + activity = activitySpinner; + data = objects; + /*********** Layout inflator to call external xml layout () **********************/ + inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + + } + + @Override + public View getDropDownView(int position, View convertView, ViewGroup parent) { + return getCustomView(position, convertView, parent); + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + return getCustomView(position, convertView, parent); + } + + // This funtion called for each row ( Called data.size() times ) + public View getCustomView(int position, View convertView, ViewGroup parent) { + + /********** Inflate spinner_rows.xml file for each row ( Defined below ) ************/ + View row = inflater.inflate(R.layout.custom_spinner_item, parent, false); + + /***** Get each Model object from Arraylist ********/ + tempValues = null; + tempValues = (BrandMasterGetterSetter) data.get(position); + + TextView label = (TextView) row.findViewById(R.id.tv_text); + + if (position == 0) { + + // Default selected Spinner item + label.setText(getResources().getString(R.string.select)); + //sub.setText(""); + } else { + // Set values for spinner each row + label.setText(tempValues.getBRAND().get(0)); + } + + return row; + } + } + + public class CustomSkuAdapter extends ArrayAdapter { + + private Activity activity; + private ArrayList data; + SkuMasterGetterSetter tempValues = null; + LayoutInflater inflater; + + /************* + * CustomSkuAdapter Constructor + *****************/ + public CustomSkuAdapter( + AdditionalPromoSKUwiseActivity activitySpinner, + int textViewResourceId, + ArrayList objects + + ) { + super(activitySpinner, textViewResourceId, objects); + + /********** Take passed values **********/ + activity = activitySpinner; + data = objects; + /*********** Layout inflator to call external xml layout () **********************/ + inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + + } + + @Override + public View getDropDownView(int position, View convertView, ViewGroup parent) { + return getCustomView(position, convertView, parent); + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + return getCustomView(position, convertView, parent); + } + + // This funtion called for each row ( Called data.size() times ) + public View getCustomView(int position, View convertView, ViewGroup parent) { + + /********** Inflate spinner_rows.xml file for each row ( Defined below ) ************/ + View row = inflater.inflate(R.layout.custom_spinner_item, parent, false); + + /***** Get each Model object from Arraylist ********/ + tempValues = null; + tempValues = (SkuMasterGetterSetter) data.get(position); + + TextView label = (TextView) row.findViewById(R.id.tv_text); + + if (position == 0) { + + // Default selected Spinner item + label.setText(getResources().getString(R.string.select)); + //sub.setText(""); + } else { + // Set values for spinner each row + label.setText(tempValues.getSKU().get(0)); + } + + return row; + } + } + + public class CustomSubCategoryAdapter extends ArrayAdapter { + + private Activity activity; + private ArrayList data; + MSL_AvailabilityStockFacingGetterSetter tempValues = null; + LayoutInflater inflater; + + /************* + * CustomSubCategoryAdapter Constructor + *****************/ + public CustomSubCategoryAdapter( + AdditionalPromoSKUwiseActivity activitySpinner, + int textViewResourceId, + ArrayList objects + + ) { + super(activitySpinner, textViewResourceId, objects); + + /********** Take passed values **********/ + activity = activitySpinner; + data = objects; + /*********** Layout inflator to call external xml layout () **********************/ + inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + + } + + @Override + public View getDropDownView(int position, View convertView, ViewGroup parent) { + return getCustomView(position, convertView, parent); + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + return getCustomView(position, convertView, parent); + } + + // This funtion called for each row ( Called data.size() times ) + public View getCustomView(int position, View convertView, ViewGroup parent) { + + /********** Inflate spinner_rows.xml file for each row ( Defined below ) ************/ + View row = inflater.inflate(R.layout.custom_spinner_item, parent, false); + + /***** Get each Model object from Arraylist ********/ + tempValues = null; + tempValues = (MSL_AvailabilityStockFacingGetterSetter) data.get(position); + + TextView label = (TextView) row.findViewById(R.id.tv_text); + + if (position == 0) { + + // Default selected Spinner item + label.setText(getResources().getString(R.string.select)); + //sub.setText(""); + } else { + // Set values for spinner each row + label.setText(tempValues.getSub_category()); + } + + return row; + } + } + + public class PromoAdapter extends RecyclerView.Adapter { + + private ArrayList list; + + public PromoAdapter(ArrayList promoList) { + list = promoList; + } + + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.item_added_promo, parent, false); + return new ViewHolder(view); + } + + @Override + public void onBindViewHolder(final ViewHolder holder, int position) { + + final PromoComplianceSkuwiseGetterSetter mItem = list.get(position); + holder.tv_sub_category.setText(getString(R.string.sub_category) + " - " + mItem.getSub_category()); + holder.tv_brand.setText(getString(R.string.brand) + " - " + mItem.getBrand()); + holder.tv_sku.setText(getString(R.string.sku) + " - " + mItem.getSku()); + holder.tv_discount_val.setText(getString(R.string.discount_value) + " - " + mItem.getDiscount_value()); + holder.tv_price.setText(getString(R.string.price) + " - " + mItem.getPrice()); + String exists = ""; + if(mItem.getPrice_flasher()==1){ + exists = getString(R.string.yes); + } + else { + exists = getString(R.string.no); + } + holder.tv_promo_flasher_exists.setText(" - " + exists); + + } + + @Override + public int getItemCount() { + return list.size(); + } + + public class ViewHolder extends RecyclerView.ViewHolder { + public final View mView; + public final TextView tv_sub_category, tv_brand, tv_sku, tv_discount_val, tv_price, tv_promo_flasher_exists; + + public ViewHolder(View view) { + super(view); + + mView = view; + + tv_sub_category = (TextView) mView.findViewById(R.id.tv_sub_category); + tv_brand = (TextView) mView.findViewById(R.id.tv_brand); + tv_sku = (TextView) mView.findViewById(R.id.tv_sku); + tv_discount_val = (TextView) mView.findViewById(R.id.tv_discount); + tv_price = (TextView) mView.findViewById(R.id.tv_price); + tv_promo_flasher_exists = (TextView) mView.findViewById(R.id.tv_promo_flasher_exists); + + + } + + } + } + + @Override + public void onBackPressed() { + ischanged(); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menu_promo_skuwise, menu); + + final CheckBox checkBox = (CheckBox) menu.findItem(R.id.menuShowDue).getActionView(); + checkBox.setText(R.string.exists); + checkBox.setChecked(isExists); + + checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + isExists = isChecked; + + if(isExists){ + lin_parent.setVisibility(View.VISIBLE); + fab_add.show();//.setVisibility(View.VISIBLE); + } + else { + android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(AdditionalPromoSKUwiseActivity.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) { + + fab_add.hide();//.setVisibility(View.GONE); + added_promo_list.clear(); + + rec_added_promo.setLayoutManager(new LinearLayoutManager(getApplicationContext())); + promoAdapter = new PromoAdapter(added_promo_list); + rec_added_promo.setAdapter(promoAdapter); + + /* if(promoAdapter!=null){ + promoAdapter.list.clear(); + promoAdapter.notifyDataSetChanged(); + }*/ + + lin_parent.setVisibility(View.GONE); + + sub_category = ""; + sub_category_id = "0"; + brand= ""; + brand_id = "0"; + sku = ""; + sku_id = "0"; + discount = ""; + price = ""; + img_str = ""; + + et_discount.setText(""); + et_price.setText(""); + spinner_sub_category_list.setSelection(0); + clearBrandSpinner(); + clearSkuSpinner(); + if(is_camera_compulsory){ + img_cam.setBackgroundResource(R.drawable.camera_orange_star_green); + } + else { + img_cam.setBackgroundResource(R.mipmap.camera_orange); + } + isdata_added = true; + + } + }) + .setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + checkBox.setChecked(true); + } + }); + android.app.AlertDialog alert = builder.create(); + alert.show(); + } + } + }); + + return true; + } + + @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) { + ischanged(); + } + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + } + + void ischanged(){ + if(isdata_added){ + android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(AdditionalPromoSKUwiseActivity.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(); + } + else { + super.onBackPressed(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + } + + public class CustomSpinnerAdapter extends ArrayAdapter { + + SelectGetterSetter tempValues = null; + LayoutInflater inflater; + private Activity activity; + private ArrayList data; + + /************* + * CustomAdapter Constructor + *****************/ + public CustomSpinnerAdapter( + AdditionalPromoSKUwiseActivity activitySpinner, + int textViewResourceId, + ArrayList objects + + ) { + super(activitySpinner, textViewResourceId, objects); + + /********** Take passed values **********/ + activity = activitySpinner; + data = objects; + /*********** Layout inflator to call external xml layout () **********************/ + inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + + } + + @Override + public View getDropDownView(int position, View convertView, ViewGroup parent) { + return getCustomView(position, convertView, parent); + } + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + return getCustomView(position, convertView, parent); + } + + // This funtion called for each row ( Called data.size() times ) + public View getCustomView(int position, View convertView, ViewGroup parent) { + + /********** Inflate spinner_rows.xml file for each row ( Defined below ) ************/ + View row = inflater.inflate(R.layout.custom_spinner_item, parent, false); + + /***** Get each Model object from Arraylist ********/ + tempValues = null; + tempValues = (SelectGetterSetter) data.get(position); + + TextView label = (TextView) row.findViewById(R.id.tv_text); + + if (position == 0) { + + // Default selected Spinner item + label.setText(getString(R.string.select)); + //sub.setText(""); + } else { + // Set values for spinner each row + label.setText(tempValues.getAns()); + } + + return row; + } + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/AdditionalVisibility.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/AdditionalVisibility.java index 0ffb5a5..f6d70ad 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/AdditionalVisibility.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/AdditionalVisibility.java @@ -8,10 +8,12 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; +import android.content.pm.ActivityInfo; 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.drawable.ColorDrawable; import android.net.Uri; import android.os.Build; @@ -20,6 +22,7 @@ import android.preference.PreferenceManager; import android.provider.MediaStore; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; +import android.support.v4.content.FileProvider; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.CardView; import android.support.v7.widget.Toolbar; @@ -29,6 +32,9 @@ import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.view.Window; +import android.view.WindowManager; +import android.webkit.WebView; +import android.webkit.WebViewClient; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.BaseAdapter; @@ -80,7 +86,7 @@ public class AdditionalVisibility extends AppCompatActivity implements View.OnCl Button btnsku, btnaddlayout; GSKOrangeDB db; ArrayList sku_list; - String brand_name = "", brand_id = "", SKU_name = "", SKU_ID = "", brand_list_name = "", brand_list_id = "", sku_list_name = "", sku_list_id = ""; + String brand_name = "", brand_id = "", SKU_name = "", SKU_ID = "", brand_list_name = "", brand_list_id = "", sku_list_name = "", sku_list_id = "", display_planogram_url=""; public ListView listview; LinearLayout linearlay; CardView cardlay; @@ -95,7 +101,7 @@ public class AdditionalVisibility extends AppCompatActivity implements View.OnCl String _pathforcheck1, _pathforcheck2, _pathforcheck3, _path, str, msg; private SharedPreferences preferences; String store_id, date, intime, img_str1="", img_str2="", img_str3="", togglevalue = "1", CATEGORY_ID, camera_allow, store_type_id, class_id, key_account_id; - ImageView img_cam, img_clicked; + ImageView img_cam, img_clicked, img_planogram; Button btn_add, btn_close; EditText Edt_txt; MyAdaptorStock adapterData; @@ -161,6 +167,14 @@ public class AdditionalVisibility extends AppCompatActivity implements View.OnCl cameralayout = (LinearLayout) findViewById(R.id.tv_cameralayout); fab = (FloatingActionButton) findViewById(R.id.fab); maincard = (CardView) findViewById(R.id.cardviewid); + img_planogram = (ImageView) findViewById(R.id.img_planogram); + + img_planogram.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + showPlanogram(display_planogram_url); + } + }); btntoggle.setChecked(true); @@ -211,10 +225,15 @@ public class AdditionalVisibility extends AppCompatActivity implements View.OnCl if (position != 0) { + img_planogram.setEnabled(true); sku_list_name = DisplayMaster_list.get(position).getDISPLAY().get(0); sku_list_id = DisplayMaster_list.get(position).getDISPLAY_ID().get(0); + display_planogram_url = DisplayMaster_list.get(position).getIMAGE_PATH().get(0) + DisplayMaster_list.get(position).getIMAGE_URL().get(0); } + else { + img_planogram.setEnabled(false); + } } @Override @@ -476,31 +495,7 @@ public class AdditionalVisibility extends AppCompatActivity implements View.OnCl //Adding data to existing parent list listdata.add(adGt); - spinner_brand_list.setSelection(0); - spinner_sku_list.setSelection(0); - img_str1 = ""; - img_str2 = ""; - img_str3 = ""; - brand_list_name = ""; - brand_list_id = ""; - sku_list_name = ""; - sku_list_id = ""; - defdata.clear(); - - btnsku.setBackgroundResource(R.color.colorPrimary); - - if (camera_allow.equals("1")) { - btnimage.setBackgroundResource(R.mipmap.camera_orange); - - btnimage1.setBackgroundResource(R.mipmap.camera_orange); - btnimage2.setBackgroundResource(R.mipmap.camera_orange); - - } else { - btnimage.setBackgroundResource(R.mipmap.camera_grey); - - btnimage1.setBackgroundResource(R.mipmap.camera_grey); - btnimage2.setBackgroundResource(R.mipmap.camera_grey); - } + clearViews(); //listdata = db.getAdditionalStock(store_id, categoryId); @@ -705,7 +700,15 @@ public class AdditionalVisibility extends AppCompatActivity implements View.OnCl /* adapteradditional = new MyAdaptorAdditionalStock(AdditionalVisibility.this, listdata); listviewlay.setAdapter(adapteradditional); listviewlay.invalidateViews();*/ - + togglevalue = "0"; + btntoggle.setChecked(false); + defdata.clear(); + btnaddlayout.setVisibility(View.INVISIBLE); + brandlayout.setVisibility(View.GONE); + diaplylayout.setVisibility(View.INVISIBLE); + cameralayout.setVisibility(View.INVISIBLE); + btnsku.setVisibility(View.INVISIBLE); + maincard.setVisibility(View.INVISIBLE); adapteradditional.notifyDataSetChanged(); } @@ -719,14 +722,16 @@ public class AdditionalVisibility extends AppCompatActivity implements View.OnCl togglevalue = "1"; btntoggle.setChecked(true); - brandlayout.setVisibility(View.GONE); + /* brandlayout.setVisibility(View.GONE); diaplylayout.setVisibility(View.VISIBLE); cameralayout.setVisibility(View.VISIBLE); btnsku.setVisibility(View.VISIBLE); btnaddlayout.setVisibility(View.VISIBLE); cardvew.setVisibility(View.VISIBLE); listviewlay.setVisibility(View.INVISIBLE); - maincard.setVisibility(View.INVISIBLE); + maincard.setVisibility(View.INVISIBLE);*/ + + } }); @@ -736,18 +741,18 @@ public class AdditionalVisibility extends AppCompatActivity implements View.OnCl alertDialog.show(); + }else { + togglevalue = "0"; + btntoggle.setChecked(false); + defdata.clear(); + btnaddlayout.setVisibility(View.INVISIBLE); + brandlayout.setVisibility(View.GONE); + diaplylayout.setVisibility(View.INVISIBLE); + cameralayout.setVisibility(View.INVISIBLE); + btnsku.setVisibility(View.INVISIBLE); + maincard.setVisibility(View.INVISIBLE); + clearViews(); } - - togglevalue = "0"; - btntoggle.setChecked(false); - defdata.clear(); - btnaddlayout.setVisibility(View.INVISIBLE); - brandlayout.setVisibility(View.GONE); - diaplylayout.setVisibility(View.INVISIBLE); - cameralayout.setVisibility(View.INVISIBLE); - btnsku.setVisibility(View.INVISIBLE); - maincard.setVisibility(View.INVISIBLE); - } } }); @@ -808,6 +813,98 @@ public class AdditionalVisibility extends AppCompatActivity implements View.OnCl } + void clearViews(){ + spinner_brand_list.setSelection(0); + spinner_sku_list.setSelection(0); + img_str1 = ""; + img_str2 = ""; + img_str3 = ""; + brand_list_name = ""; + brand_list_id = ""; + sku_list_name = ""; + sku_list_id = ""; + defdata.clear(); + + btnsku.setBackgroundResource(R.color.colorPrimary); + + if (camera_allow.equals("1")) { + btnimage.setBackgroundResource(R.drawable.camera_orange_star_green); + + btnimage1.setBackgroundResource(R.mipmap.camera_orange); + btnimage2.setBackgroundResource(R.mipmap.camera_orange); + + } else { + btnimage.setBackgroundResource(R.mipmap.camera_grey); + + btnimage1.setBackgroundResource(R.mipmap.camera_grey); + btnimage2.setBackgroundResource(R.mipmap.camera_grey); + } + + } + + public void showPlanogram(String planogram_image) { + + final Dialog dialog = new Dialog(AdditionalVisibility.this); + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); + //dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + dialog.setContentView(R.layout.planogram_dialog_layout); + dialog.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT); + dialog.setCancelable(false); + + //ArrayList mp = db.getMappingPlanogramData(""); + + //setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); + + WebView webView = (WebView) dialog.findViewById(R.id.webview); + webView.setWebViewClient(new MyWebViewClient()); + + webView.getSettings().setAllowFileAccess(true); + webView.getSettings().setJavaScriptEnabled(true); + webView.getSettings().setBuiltInZoomControls(true); + + //String planogram_image = mp.get(0).getPLANOGRAM_IMAGE(); + /* if (new File(CommonString.FILE_PATH_PLANOGRAM + planogram_image).exists()) { + + String imagePath = "file://" + CommonString.FILE_PATH_PLANOGRAM + planogram_image; + //String imagePath = "file://" + CommonString.FILE_PATH + "/" + "image_ref.png"; + + }*/ + + String html = ""; + webView.loadDataWithBaseURL("", html, "text/html", "utf-8", ""); + + dialog.show(); + + ImageView cancel = (ImageView) dialog.findViewById(R.id.img_cancel); + cancel.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + //setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); + dialog.dismiss(); + } + }); + } + + private class MyWebViewClient extends WebViewClient { + + @Override + public boolean shouldOverrideUrlLoading(WebView view, String url) { + view.loadUrl(url); + return true; + } + + @Override + public void onPageFinished(WebView view, String url) { + super.onPageFinished(view, url); + view.clearCache(true); + } + + @Override + public void onPageStarted(WebView view, String url, Bitmap favicon) { + super.onPageStarted(view, url, favicon); + } + } + private static String arabicToenglish(String number) { char[] chars = new char[number.length()]; for (int i = 0; i < number.length(); i++) { @@ -1038,7 +1135,7 @@ public class AdditionalVisibility extends AppCompatActivity implements View.OnCl Log.i("MakeMachine", "startCameraActivity()"); File file = new File(_path); - outputFileUri = Uri.fromFile(file); + outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); String defaultCameraPackage = ""; final PackageManager packageManager = getPackageManager(); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/AuditActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/AuditActivity.java index 0114e8b..06f5605 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/AuditActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/AuditActivity.java @@ -16,6 +16,7 @@ import android.preference.PreferenceManager; import android.provider.MediaStore; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; +import android.support.v4.content.FileProvider; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.CardView; import android.support.v7.widget.LinearLayoutManager; @@ -151,7 +152,7 @@ public class AuditActivity extends AppCompatActivity { recyclerView.setLayoutManager(new LinearLayoutManager(this)); } else { no_data_lay.setVisibility(View.VISIBLE); - fab.setVisibility(View.GONE); + fab.hide();//setVisibility(View.GONE); recyclerView.setVisibility(View.GONE); } @@ -575,7 +576,7 @@ public class AuditActivity extends AppCompatActivity { Log.i("MakeMachine", "startCameraActivity()"); File file = new File(_path); - outputFileUri = Uri.fromFile(file); + outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); String defaultCameraPackage = ""; final PackageManager packageManager = getPackageManager(); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CategoryPicture.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CategoryPicture.java index e91220c..2f54d1b 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CategoryPicture.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CategoryPicture.java @@ -16,6 +16,7 @@ import android.preference.PreferenceManager; import android.provider.MediaStore; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; +import android.support.v4.content.FileProvider; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.util.Log; @@ -288,7 +289,7 @@ public class CategoryPicture extends AppCompatActivity { Log.i("MakeMachine", "startCameraActivity()"); File file = new File(_path); - outputFileUri = Uri.fromFile(file); + outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); String defaultCameraPackage = ""; final PackageManager packageManager = getPackageManager(); @@ -543,10 +544,12 @@ public class CategoryPicture extends AppCompatActivity { boolean validateData(CategoryPictureGetterSetter data, ArrayList list) { boolean flag = true; + if(categoryImagesAllowed.size()>0){ + if(categoryImagesAllowed.get(0).isImg_cam1()){ - if(data.getCategoryImage1().equals("")){ - flag = false; - } + if(data.getCategoryImage1().equals("")){ + flag = false; + } } if(flag){ @@ -557,23 +560,23 @@ public class CategoryPicture extends AppCompatActivity { } } - if(flag){ - if(categoryImagesAllowed.get(0).isImg_cam3()){ - if(data.getCategoryImage3().equals("")){ - flag = false; + if(flag){ + if(categoryImagesAllowed.get(0).isImg_cam3()){ + if(data.getCategoryImage3().equals("")){ + flag = false; + } + } + } + + if(flag){ + if(categoryImagesAllowed.get(0).isImg_cam4()){ + if(data.getCategoryImage4().equals("")){ + flag = false; + } } } } - if(flag){ - if(categoryImagesAllowed.get(0).isImg_cam4()){ - if(data.getCategoryImage4().equals("")){ - flag = false; - } - } - } - - if (flag) { for (int i = 0; i < list.size(); i++) { diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CoachingVisitActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CoachingVisitActivity.java index 7031f3b..8490a16 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CoachingVisitActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CoachingVisitActivity.java @@ -12,6 +12,7 @@ import android.preference.PreferenceManager; import android.provider.MediaStore; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; +import android.support.v4.content.FileProvider; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.util.Log; @@ -146,8 +147,8 @@ public class CoachingVisitActivity extends AppCompatActivity implements AdapterV if (coachingVisitdata.size() != 0) { update_flag = true; - fab_save.setVisibility(View.GONE); - fab_next.setVisibility(View.VISIBLE); + fab_save.hide();//setVisibility(View.GONE); + fab_next.show();//setVisibility(View.VISIBLE); if (coachingVisitdata.get(0).isExists()) { exist_spinner.setSelection(1); } else { @@ -171,7 +172,7 @@ public class CoachingVisitActivity extends AppCompatActivity implements AdapterV if (!update_flag) { - fab_save.setVisibility(View.VISIBLE); + fab_save.show();//setVisibility(View.VISIBLE); if (position == 1) { @@ -240,7 +241,7 @@ public class CoachingVisitActivity extends AppCompatActivity implements AdapterV coaching_visit = -1; linear_supervisor.setVisibility(View.GONE); - fab_save.setVisibility(View.GONE); + fab_save.hide();//setVisibility(View.GONE); } break; @@ -305,7 +306,7 @@ public class CoachingVisitActivity extends AppCompatActivity implements AdapterV saved_flag = true; - fab_next.setVisibility(View.VISIBLE); + fab_next.show();//setVisibility(View.VISIBLE); } else { Snackbar.make(linear_supervisor, error_msg, Snackbar.LENGTH_SHORT).show(); } @@ -319,7 +320,7 @@ public class CoachingVisitActivity extends AppCompatActivity implements AdapterV Toast.makeText(getApplicationContext(), getString(R.string.save_message), Toast.LENGTH_SHORT).show(); saved_flag = true; - fab_next.setVisibility(View.VISIBLE); + fab_next.show();//setVisibility(View.VISIBLE); } @@ -360,7 +361,7 @@ public class CoachingVisitActivity extends AppCompatActivity implements AdapterV Log.i("MakeMachine", "startCameraActivity()"); File file = new File(_path); - outputFileUri = Uri.fromFile(file); + outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); String defaultCameraPackage = ""; final PackageManager packageManager = getPackageManager(); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallActivity.java index 8ee3b6d..3fdb9b6 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallActivity.java @@ -209,9 +209,9 @@ public class DeliveryCallActivity extends AppCompatActivity implements View.OnCl recyclerView.setLayoutManager(new LinearLayoutManager(this)); if (isCheckedIn()) { - fab_upload.setVisibility(View.GONE); + fab_upload.hide();//setVisibility(View.GONE); } else if (isUploadAble()) { - fab_upload.setVisibility(View.VISIBLE); + fab_upload.show();//setVisibility(View.VISIBLE); } } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallAddStoreActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallAddStoreActivity.java index 925586c..fb7a60e 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallAddStoreActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/DeliveryCallAddStoreActivity.java @@ -22,7 +22,9 @@ import android.provider.Settings; import android.support.design.widget.BaseTransientBottomBar; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; +import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; +import android.support.v4.content.FileProvider; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.util.Log; @@ -58,7 +60,7 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V EditText et_customer, et_address; ImageView img_checkin, img_checkout; - String name, address, error_msg, img_checkin_path="", img_checkout_path=""; + String name, address, error_msg, img_checkin_path = "", img_checkout_path = ""; boolean checkin_flag = true; protected String _pathforcheck = "", _path, str, visit_date, in_time, out_time; private SharedPreferences preferences; @@ -108,10 +110,9 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V checkin_flag = getIntent().getBooleanExtra(CommonString.KEY_STORE_FLAG, true); deliveryCallsData = (DeliveryCallsGetterSetter) getIntent().getSerializableExtra(CommonString.KEY_STORE_ID); - if(checkin_flag){ + if (checkin_flag) { img_checkin.setOnClickListener(this); - } - else { + } else { et_customer.setText(deliveryCallsData.getSTORE_NAME()); et_address.setText(deliveryCallsData.getADDRESS()); et_customer.setEnabled(false); @@ -124,40 +125,37 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - if(isValid()){ + if (isValid()) { - if(checkin_flag){ + if (checkin_flag) { - if(lat == 0.0 || lon == 0.0){ + if (lat == 0.0 || lon == 0.0) { - } - else { - DeliveryCallsGetterSetter deliveryCallsGetterSetter = new DeliveryCallsGetterSetter(); - deliveryCallsGetterSetter.setSTORE_NAME(name); - deliveryCallsGetterSetter.setADDRESS(address); - deliveryCallsGetterSetter.setIN_TIME_IMAGE(img_checkin_path); - deliveryCallsGetterSetter.setOUT_TIME_IMAGE(img_checkout_path); - deliveryCallsGetterSetter.setUPLOAD_STATUS(CommonString.KEY_CHECK_IN); - deliveryCallsGetterSetter.setVISIT_DATE(visit_date); - deliveryCallsGetterSetter.setIn_time(in_time); - deliveryCallsGetterSetter.setLATITUDE(lat); - deliveryCallsGetterSetter.setLONGITUDE(lon); + } else { + DeliveryCallsGetterSetter deliveryCallsGetterSetter = new DeliveryCallsGetterSetter(); + deliveryCallsGetterSetter.setSTORE_NAME(name); + deliveryCallsGetterSetter.setADDRESS(address); + deliveryCallsGetterSetter.setIN_TIME_IMAGE(img_checkin_path); + deliveryCallsGetterSetter.setOUT_TIME_IMAGE(img_checkout_path); + deliveryCallsGetterSetter.setUPLOAD_STATUS(CommonString.KEY_CHECK_IN); + deliveryCallsGetterSetter.setVISIT_DATE(visit_date); + deliveryCallsGetterSetter.setIn_time(in_time); + deliveryCallsGetterSetter.setLATITUDE(lat); + deliveryCallsGetterSetter.setLONGITUDE(lon); - database.InsertDeliveryCalls(deliveryCallsGetterSetter); - } - } - else { + database.InsertDeliveryCalls(deliveryCallsGetterSetter); + } + } else { - deliveryCallsData.setOut_time(out_time); - database.updateDeliveryCallsOut(deliveryCallsData, CommonString.KEY_C, img_checkout_path); - } + deliveryCallsData.setOut_time(out_time); + database.updateDeliveryCallsOut(deliveryCallsData, CommonString.KEY_C, img_checkout_path); + } finish(); - overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); - } - else { - Snackbar.make(et_customer,error_msg,Snackbar.LENGTH_SHORT).show(); - } + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } else { + Snackbar.make(et_customer, error_msg, Snackbar.LENGTH_SHORT).show(); + } } }); @@ -235,7 +233,7 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V private boolean checkgpsEnableDevice() { boolean flag = true; if (!hasGPSDevice(context)) { - Toast.makeText(context, "Gps not Supported",Toast.LENGTH_SHORT).show(); + Toast.makeText(context, "Gps not Supported", Toast.LENGTH_SHORT).show(); } final LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER) && hasGPSDevice(context)) { @@ -286,28 +284,25 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V } } - protected boolean isValid(){ + protected boolean isValid() { boolean flag = true; name = et_customer.getText().toString().replaceAll("[&^<>{}'$]", " "); address = et_address.getText().toString().replaceAll("[&^<>{}'$]", " "); - if(name.equals("")){ - error_msg = getString(R.string.please_fill) + " "+ getString(R.string.customer_store_name); + if (name.equals("")) { + error_msg = getString(R.string.please_fill) + " " + getString(R.string.customer_store_name); flag = false; - } - else if(address.equals("")){ - error_msg = getString(R.string.please_fill) + " "+ getString(R.string.address); + } else if (address.equals("")) { + error_msg = getString(R.string.please_fill) + " " + getString(R.string.address); flag = false; - } - else if(checkin_flag){ - if(img_checkin_path.equals("")){ - error_msg = getString(R.string.please_click) + " "+ getString(R.string.intime_image).toLowerCase(); + } else if (checkin_flag) { + if (img_checkin_path.equals("")) { + error_msg = getString(R.string.please_click) + " " + getString(R.string.intime_image).toLowerCase(); flag = false; } - } - else if(img_checkout_path.equals("")){ - error_msg = getString(R.string.please_click) + " "+ getString(R.string.outtime_image).toLowerCase(); + } else if (img_checkout_path.equals("")) { + error_msg = getString(R.string.please_click) + " " + getString(R.string.outtime_image).toLowerCase(); flag = false; } @@ -316,12 +311,12 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V @Override public void onClick(View v) { - switch (v.getId()){ + switch (v.getId()) { case R.id.img_checkin: in_time = CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()); - _pathforcheck = "DeliveryCalls" + visit_date.replace("/", "")+ "InTime" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; + _pathforcheck = "DeliveryCalls" + visit_date.replace("/", "") + "InTime" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; _path = CommonString.FILE_PATH + _pathforcheck; @@ -332,7 +327,7 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V out_time = CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()); - _pathforcheck = "DeliveryCalls" + visit_date.replace("/", "")+ "OutTime" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; + _pathforcheck = "DeliveryCalls" + visit_date.replace("/", "") + "OutTime" + CommonFunctions.getCurrentTimeWithLanguage(getApplicationContext()).replace(":", "") + ".jpg"; _path = CommonString.FILE_PATH + _pathforcheck; @@ -346,7 +341,7 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V Log.i("MakeMachine", "startCameraActivity()"); File file = new File(_path); - outputFileUri = Uri.fromFile(file); + outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); String defaultCameraPackage = ""; final PackageManager packageManager = getPackageManager(); @@ -358,18 +353,18 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V //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("الاستوديو") ) { + 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("الكاميرا")) { + 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("الكاميرا")) { + if (packag.equalsIgnoreCase("Camera") || packag.equalsIgnoreCase("Kamera") || packag.equalsIgnoreCase("الكاميرا")) { defaultCameraPackage = list.get(n).packageName; break; @@ -414,11 +409,10 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V if (_pathforcheck != null && !_pathforcheck.equals("")) { if (new File(str + _pathforcheck).exists()) { - if(requestCode == 0){ + if (requestCode == 0) { img_checkin.setImageDrawable(getResources().getDrawable(R.mipmap.camera_green)); img_checkin_path = _pathforcheck; - } - else { + } else { img_checkout.setImageDrawable(getResources().getDrawable(R.mipmap.camera_green)); img_checkout_path = _pathforcheck; } @@ -488,6 +482,16 @@ public class DeliveryCallAddStoreActivity extends AppCompatActivity implements V @Override public void onConnected(Bundle bundle) { + if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { + // TODO: Consider calling + // ActivityCompat#requestPermissions + // here to request the missing permissions, and then overriding + // public void onRequestPermissionsResult(int requestCode, String[] permissions, + // int[] grantResults) + // to handle the case where the user grants the permission. See the documentation + // for ActivityCompat#requestPermissions for more details. + return; + } mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient); if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NoCameraActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NoCameraActivity.java index de314ce..a3f8cec 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NoCameraActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NoCameraActivity.java @@ -63,7 +63,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.RowColumnGetterSetter; public class NoCameraActivity extends AppCompatActivity implements Listener { GSKOrangeDB db; - String store_id, visit_date, username, intime, date, keyAccount_id, class_id, storeType_id, camera_allow, str; + String store_id, visit_date, username, intime, date, keyAccount_id, class_id, storeType_id, camera_allow, str, country_id; String categoryName, categoryId; int number_of_rows, FROM; private SharedPreferences preferences; @@ -115,6 +115,7 @@ public class NoCameraActivity extends AppCompatActivity implements Listener { username = preferences.getString(CommonString.KEY_USERNAME, null); storeType_id = preferences.getString(CommonString.KEY_STORETYPE_ID, ""); class_id = preferences.getString(CommonString.KEY_CLASS_ID, ""); + country_id = preferences.getString(CommonString.KEY_COUNTRY_ID, ""); str = CommonString.FILE_PATH; @@ -1023,7 +1024,13 @@ public class NoCameraActivity extends AppCompatActivity implements Listener { dialog.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT); dialog.setCancelable(false); - ArrayList mappingPlanogramList = db.getMappingPlanogramData(categoryId, storeType_id, class_id); + ArrayList mappingPlanogramList; + + if (country_id.equals("7")) { + mappingPlanogramList= db.getMappingPlanogramData(categoryId, null, null, store_id); + } else { + mappingPlanogramList= db.getMappingPlanogramData(categoryId, storeType_id, class_id, null); + } //ImageView img_planogram = (ImageView) dialog.findViewById(R.id.img_planogram); WebView webView = (WebView) dialog.findViewById(R.id.webview); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java index 0f5270a..ff6a6b6 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/NonWorkingReason.java @@ -15,6 +15,7 @@ import android.os.Build; import android.os.Bundle; import android.preference.PreferenceManager; import android.provider.MediaStore; +import android.support.v4.content.FileProvider; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.util.Log; @@ -291,7 +292,7 @@ public class NonWorkingReason extends AppCompatActivity implements Log.i("MakeMachine", "startCameraActivity()"); File file = new File(_path); - outputFileUri = Uri.fromFile(file); + outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); String defaultCameraPackage = ""; final PackageManager packageManager = getPackageManager(); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreCheckoutImageActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreCheckoutImageActivity.java index 397bb97..aca57da 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreCheckoutImageActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreCheckoutImageActivity.java @@ -21,6 +21,7 @@ import android.os.Bundle; import android.preference.PreferenceManager; import android.provider.MediaStore; import android.support.v4.content.ContextCompat; +import android.support.v4.content.FileProvider; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.util.Log; @@ -233,7 +234,7 @@ public class StoreCheckoutImageActivity extends AppCompatActivity implements Vie try { /*Log.i("MakeMachine", "startCameraActivity()"); File file = new File(_path); - Uri outputFileUri = Uri.fromFile(file); + Uri outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); Intent intent = new Intent( MediaStore.ACTION_IMAGE_CAPTURE); @@ -243,7 +244,7 @@ public class StoreCheckoutImageActivity extends AppCompatActivity implements Vie Log.i("MakeMachine", "startCameraActivity()"); File file = new File(_path); - outputFileUri = Uri.fromFile(file); + outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); String defaultCameraPackage = ""; final PackageManager packageManager = getPackageManager(); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java index 73f70df..5c9b253 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java @@ -22,6 +22,7 @@ import android.preference.PreferenceManager; import android.provider.Settings; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; +import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.CardView; @@ -263,6 +264,16 @@ public class StoreListActivity extends AppCompatActivity implements GoogleApiCli @Override public void onConnected(Bundle bundle) { + if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { + // TODO: Consider calling + // ActivityCompat#requestPermissions + // here to request the missing permissions, and then overriding + // public void onRequestPermissionsResult(int requestCode, String[] permissions, + // int[] grantResults) + // to handle the case where the user grants the permission. See the documentation + // for ActivityCompat#requestPermissions for more details. + return; + } mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient); if (ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) { @@ -400,7 +411,7 @@ public class StoreListActivity extends AppCompatActivity implements GoogleApiCli recyclerView.setVisibility(View.INVISIBLE); linearlay.setVisibility(View.VISIBLE); if(store_flag_str.equals(CommonString.FROM_JCP)){ - fab.setVisibility(View.VISIBLE); + //fab.show();//setVisibility(View.VISIBLE); } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreimageActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreimageActivity.java index 250c642..33f75d3 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreimageActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreimageActivity.java @@ -23,7 +23,9 @@ import android.os.Bundle; import android.preference.PreferenceManager; import android.provider.MediaStore; import android.provider.Settings; +import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; +import android.support.v4.content.FileProvider; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.util.Log; @@ -293,6 +295,16 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic @Override public void onConnected(Bundle bundle) { + if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { + // TODO: Consider calling + // ActivityCompat#requestPermissions + // here to request the missing permissions, and then overriding + // public void onRequestPermissionsResult(int requestCode, String[] permissions, + // int[] grantResults) + // to handle the case where the user grants the permission. See the documentation + // for ActivityCompat#requestPermissions for more details. + return; + } mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient); if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED @@ -556,7 +568,7 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic try { /*Log.i("MakeMachine", "startCameraActivity()"); File file = new File(_path); - Uri outputFileUri = Uri.fromFile(file); + Uri outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); Intent intent = new Intent( MediaStore.ACTION_IMAGE_CAPTURE); @@ -566,7 +578,11 @@ public class StoreimageActivity extends AppCompatActivity implements View.OnClic Log.i("MakeMachine", "startCameraActivity()"); File file = new File(_path); - outputFileUri = Uri.fromFile(file); + + //android.os.FileUriExposedException: file:///storage/emulated/0/.GSK_MT_ORANGE_IMAGES/15024SI_01022019_120426.jpg exposed beyond app through ClipData.Item.getUri() + //outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); + + outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); String defaultCameraPackage = ""; final PackageManager packageManager = getPackageManager(); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/T2PComplianceActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/T2PComplianceActivity.java index aa8223d..933919e 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/T2PComplianceActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/T2PComplianceActivity.java @@ -22,6 +22,7 @@ import android.preference.PreferenceManager; import android.provider.MediaStore; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; +import android.support.v4.content.FileProvider; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; @@ -1049,7 +1050,7 @@ public class T2PComplianceActivity extends AppCompatActivity { Log.i("Stock & Facing ", "startCameraActivity()"); File file = new File(path); - outputFileUri = Uri.fromFile(file); + outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); String defaultCameraPackage = ""; final PackageManager packageManager = getPackageManager(); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java index dcb5c0b..2906514 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java @@ -58,6 +58,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.MAPPING_SOS_TARGET_MasterGetterSetter import cpm.com.gskmtorange.xmlGetterSetter.MappingCategoryImageAllowGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingDisplayChecklistGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingPlanogramCountrywiseGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.MappingPlanogramStorewiseGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingPromotionGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingStockGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingStockStorewiseGetterSetter; @@ -116,6 +117,8 @@ public class DownloadActivity extends AppCompatActivity { SupervisorListGetterSetter supervisorListGetterSetter; ConfigurationMasterGetterSetter configurationMasterGetterSetter; + MappingPlanogramStorewiseGetterSetter mappingPlanogramStorewiseGetterSetter; + private Dialog dialog; private ProgressBar pb; private TextView percentage, message; @@ -929,6 +932,42 @@ public class DownloadActivity extends AppCompatActivity { } publishProgress(data); + // + //MAPPING_PLANOGRAM_STORE_WISE + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); + request.addProperty("UserName", userId); + request.addProperty("Type", "MAPPING_PLANOGRAM_STORE_WISE"); + 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(); + mappingPlanogramStorewiseGetterSetter = XMLHandlers.MAPPING_PLANOGRAM_STORE_WISE_XMLHandler(xpp, eventType); + + String table_mapping_planogram = mappingPlanogramStorewiseGetterSetter.getTable_MAPPING_PLANOGRAM_STORE_WISE(); + if (table_mapping_planogram != null) { + resultHttp = CommonString.KEY_SUCCESS; + TableBean.setTable_MAPPING_PLANOGRAM_STORE_WISE(table_mapping_planogram); + } + if (mappingPlanogramStorewiseGetterSetter.getSTORE_ID().size() > 0) { + data.value = 92; + data.name = "MAPPING_PLANOGRAM Data Download"; + } else { + //return "MAPPING_PLANOGRAM"; + } + } + publishProgress(data); + // MAPPING_SOS_TARGET request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_NAME_UNIVERSAL_DOWNLOAD); @@ -1396,43 +1435,46 @@ public class DownloadActivity extends AppCompatActivity { String image_name = mapping_planogram_masterGetterSetter.getPLANOGRAM_IMAGE().get(i); String path = mapping_planogram_masterGetterSetter.getIMAGE_PATH().get(i); - if (!image_name.equalsIgnoreCase("NA") && !image_name.equalsIgnoreCase("")) { - URL url = new URL(path + "/" + image_name); - HttpURLConnection c = (HttpURLConnection) url.openConnection(); - c.setRequestMethod("GET"); - c.getResponseCode(); - c.connect(); + String PATH = CommonString.FILE_PATH_PLANOGRAM; + File file = new File(PATH); + if (!file.isDirectory()) { + file.mkdir(); + } - if (c.getResponseCode() == 200) { - int length = c.getContentLength(); + if(!new File(PATH + image_name).exists()){ + if (!image_name.equalsIgnoreCase("NA") && !image_name.equalsIgnoreCase("")) { + URL url = new URL(path + "/" + image_name); + HttpURLConnection c = (HttpURLConnection) url.openConnection(); + c.setRequestMethod("GET"); + c.getResponseCode(); + c.connect(); - String size = new DecimalFormat("##.##").format((double) length / 1024) + " KB"; + if (c.getResponseCode() == 200) { + int length = c.getContentLength(); - //String PATH = Environment.getExternalStorageDirectory() + "/Download/GT_GSK_Images/"; - String PATH = CommonString.FILE_PATH_PLANOGRAM; - File file = new File(PATH); - if (!file.isDirectory()) { - file.mkdir(); - } + String size = new DecimalFormat("##.##").format((double) length / 1024) + " KB"; - // Environment.getExternalStorageDirectory() + "/GT_GSK_Images/" + _pathforcheck1; - if (!new File(PATH + image_name).exists() && !size.equalsIgnoreCase("0 KB")) { - File outputFile = new File(file, image_name); - FileOutputStream fos = new FileOutputStream(outputFile); - InputStream is1 = c.getInputStream(); + //String PATH = Environment.getExternalStorageDirectory() + "/Download/GT_GSK_Images/"; - int bytes = 0; - byte[] buffer = new byte[1024]; - int len1 = 0; + // Environment.getExternalStorageDirectory() + "/GT_GSK_Images/" + _pathforcheck1; + if (!size.equalsIgnoreCase("0 KB")) { + File outputFile = new File(file, image_name); + FileOutputStream fos = new FileOutputStream(outputFile); + InputStream is1 = c.getInputStream(); - while ((len1 = is1.read(buffer)) != -1) { - bytes = (bytes + len1); - // data.value = (int) ((double) (((double) - // bytes) / length) * 100); - fos.write(buffer, 0, len1); + int bytes = 0; + byte[] buffer = new byte[1024]; + int len1 = 0; + + while ((len1 = is1.read(buffer)) != -1) { + bytes = (bytes + len1); + // data.value = (int) ((double) (((double) + // bytes) / length) * 100); + fos.write(buffer, 0, len1); + } + fos.close(); + is1.close(); } - fos.close(); - is1.close(); } } } @@ -1455,43 +1497,110 @@ public class DownloadActivity extends AppCompatActivity { String image_name = displayMasterGetterSetter.getIMAGE_URL().get(i); String img_url = displayMasterGetterSetter.getIMAGE_PATH().get(i); - if (!img_url.equalsIgnoreCase("") && !image_name.equalsIgnoreCase("")) { - URL url = new URL(img_url + image_name); - HttpURLConnection c = (HttpURLConnection) url.openConnection(); - c.setRequestMethod("GET"); - c.getResponseCode(); - c.connect(); + String PATH = CommonString.FILE_PATH_PLANOGRAM; + File file = new File(PATH); + if (!file.isDirectory()) { + file.mkdir(); + } - if (c.getResponseCode() == 200) { - int length = c.getContentLength(); + if (!new File(PATH + image_name).exists()) { + if (!img_url.equalsIgnoreCase("") && !image_name.equalsIgnoreCase("")) { + URL url = new URL(img_url + image_name); + HttpURLConnection c = (HttpURLConnection) url.openConnection(); + c.setRequestMethod("GET"); + c.getResponseCode(); + c.connect(); - String size = new DecimalFormat("##.##").format((double) length / 1024) + " KB"; + if (c.getResponseCode() == 200) { + int length = c.getContentLength(); - //String PATH = Environment.getExternalStorageDirectory() + "/Download/GT_GSK_Images/"; - String PATH = CommonString.FILE_PATH_PLANOGRAM; - File file = new File(PATH); - if (!file.isDirectory()) { - file.mkdir(); - } + String size = new DecimalFormat("##.##").format((double) length / 1024) + " KB"; - // Environment.getExternalStorageDirectory() + "/GT_GSK_Images/" + _pathforcheck1; - if (!new File(PATH + image_name).exists() && !size.equalsIgnoreCase("0 KB")) { - File outputFile = new File(file, image_name); - FileOutputStream fos = new FileOutputStream(outputFile); - InputStream is1 = c.getInputStream(); + //String PATH = Environment.getExternalStorageDirectory() + "/Download/GT_GSK_Images/"; - int bytes = 0; - byte[] buffer = new byte[1024]; - int len1 = 0; - while ((len1 = is1.read(buffer)) != -1) { - bytes = (bytes + len1); - // data.value = (int) ((double) (((double) - // bytes) / length) * 100); - fos.write(buffer, 0, len1); + // Environment.getExternalStorageDirectory() + "/GT_GSK_Images/" + _pathforcheck1; + if (!size.equalsIgnoreCase("0 KB")) { + File outputFile = new File(file, image_name); + FileOutputStream fos = new FileOutputStream(outputFile); + InputStream is1 = c.getInputStream(); + + int bytes = 0; + byte[] buffer = new byte[1024]; + int len1 = 0; + + while ((len1 = is1.read(buffer)) != -1) { + bytes = (bytes + len1); + // data.value = (int) ((double) (((double) + // bytes) / length) * 100); + fos.write(buffer, 0, len1); + } + fos.close(); + is1.close(); + } + } + } + } + + + } + } + + + //MAPPING_PLANOGRAM_STORE_WISE Image save into folder + if (mappingPlanogramStorewiseGetterSetter != null) { + + for (int i = 0; i < mappingPlanogramStorewiseGetterSetter.getIMAGE_PATH().size(); i++) { + //publishing image download + + if (data.value < 100) { + data.value = data.value + 1; + publishProgress(data); + } + + String image_name = mappingPlanogramStorewiseGetterSetter.getPLANOGRAM_IMAGE().get(i); + String path = mappingPlanogramStorewiseGetterSetter.getIMAGE_PATH().get(i); + + String PATH = CommonString.FILE_PATH_PLANOGRAM; + File file = new File(PATH); + if (!file.isDirectory()) { + file.mkdir(); + } + + if(!new File(PATH + image_name).exists()){ + if (!image_name.equalsIgnoreCase("NA") && !image_name.equalsIgnoreCase("")) { + URL url = new URL(path + "/" + image_name); + HttpURLConnection c = (HttpURLConnection) url.openConnection(); + c.setRequestMethod("GET"); + c.getResponseCode(); + c.connect(); + + if (c.getResponseCode() == 200) { + int length = c.getContentLength(); + + String size = new DecimalFormat("##.##").format((double) length / 1024) + " KB"; + + //String PATH = Environment.getExternalStorageDirectory() + "/Download/GT_GSK_Images/"; + + // Environment.getExternalStorageDirectory() + "/GT_GSK_Images/" + _pathforcheck1; + if (!size.equalsIgnoreCase("0 KB")) { + File outputFile = new File(file, image_name); + FileOutputStream fos = new FileOutputStream(outputFile); + InputStream is1 = c.getInputStream(); + + int bytes = 0; + byte[] buffer = new byte[1024]; + int len1 = 0; + + while ((len1 = is1.read(buffer)) != -1) { + bytes = (bytes + len1); + // data.value = (int) ((double) (((double) + // bytes) / length) * 100); + fos.write(buffer, 0, len1); + } + fos.close(); + is1.close(); } - fos.close(); - is1.close(); } } } @@ -1651,6 +1760,8 @@ public class DownloadActivity extends AppCompatActivity { db.InsertGeoTag_DATA(geoFencingGetterSetter); db.InsertCONFIGURATION_MASTER(configurationMasterGetterSetter); db.InsertMappingStockSTOREWISE(mappingStockStorewiseGetterSetter); + db.InsertMAPPING_PLANOGRAM_STORE_WISE(mappingPlanogramStorewiseGetterSetter); + } catch (MalformedURLException e) { diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fileprovider/GenericFileProvider.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fileprovider/GenericFileProvider.java new file mode 100644 index 0000000..9c91195 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fileprovider/GenericFileProvider.java @@ -0,0 +1,9 @@ +package cpm.com.gskmtorange.fileprovider; + +import android.database.Cursor; +import android.net.Uri; +import android.support.v4.content.FileProvider; + +public class GenericFileProvider extends FileProvider { + +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fragment/ServiceActivityFragment.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fragment/ServiceActivityFragment.java index fff1082..9801766 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fragment/ServiceActivityFragment.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fragment/ServiceActivityFragment.java @@ -119,7 +119,7 @@ public class ServiceActivityFragment extends Fragment { if(position==0){ showExportDialog(); - // restoreBackup(); + //restoreBackup(); } /* else if(position==1){ @@ -201,7 +201,7 @@ public class ServiceActivityFragment extends Fragment { if (sd.canWrite()) { String currentDBPath = "//data//cpm.com.gskmtorange//databases//" + GSKOrangeDB.DATABASE_NAME; - String backupDBPath = "GSKMT_ORANGE_Database_backup.dat"; + String backupDBPath = "GSKMT_ORANGE_Database_backup_carmen.s_01182019_150602"; File currentDB = new File(data, currentDBPath); File backupDB = new File(sd, backupDBPath); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/CategoryListActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/CategoryListActivity.java index 967c3fe..0c02167 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/CategoryListActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/CategoryListActivity.java @@ -3,8 +3,6 @@ package cpm.com.gskmtorange.gsk_dailyentry; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; -import android.content.res.Configuration; -import android.content.res.Resources; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.design.widget.FloatingActionButton; @@ -26,14 +24,12 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; -import java.util.Locale; import cpm.com.gskmtorange.Database.GSKOrangeDB; import cpm.com.gskmtorange.GetterSetter.AddittionalGetterSetter; 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.CategoryGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.T2PGetterSetter; @@ -151,11 +147,19 @@ public class CategoryListActivity extends AppCompatActivity { //Promo Compliance if (flag) { - if (db.isMappingPromotionData(store_id, category_id)) { - if (!db.checkPromoComplianceData(store_id, category_id)) { + if(country_id.equals("7")){ + if(db.getPromoComplianceSkuwiseExistsAfterData(store_id, category_id).size()==0){ flag = false; } } + else { + if (db.isMappingPromotionData(store_id, category_id)) { + if (!db.checkPromoComplianceData(store_id, category_id)) { + flag = false; + } + } + } + } //T2P @@ -197,19 +201,39 @@ public class CategoryListActivity extends AppCompatActivity { if (flag_filled) { if (category_id.equals("1")) { - categoryList.get(i).setCategory_img(R.mipmap.nutritionals_tick); + categoryList.get(i).setCategory_img(R.mipmap.health_food_drink_tick); } else if (category_id.equals("2")) { categoryList.get(i).setCategory_img(R.mipmap.oralcare_tick); } else if (category_id.equals("3")) { categoryList.get(i).setCategory_img(R.mipmap.wellness_tick); + }else if (category_id.equals("4")) { + categoryList.get(i).setCategory_img(R.mipmap.nutritionals_tick); + }else if (category_id.equals("5")) { + categoryList.get(i).setCategory_img(R.mipmap.gastro_n_indigestion_tick); + }else if (category_id.equals("6")) { + categoryList.get(i).setCategory_img(R.mipmap.cough_n_cold_tick); + }else if (category_id.equals("7")) { + categoryList.get(i).setCategory_img(R.mipmap.analgesics_tick); + }else if (category_id.equals("8")) { + categoryList.get(i).setCategory_img(R.mipmap.first_aid_tick); } } else { if (category_id.equals("1")) { - categoryList.get(i).setCategory_img(R.mipmap.nutritionals); + categoryList.get(i).setCategory_img(R.mipmap.health_food_drink); } else if (category_id.equals("2")) { categoryList.get(i).setCategory_img(R.mipmap.oral_care); } else if (category_id.equals("3")) { categoryList.get(i).setCategory_img(R.mipmap.wellness); + }else if (category_id.equals("4")) { + categoryList.get(i).setCategory_img(R.mipmap.nutritionals); + }else if (category_id.equals("5")) { + categoryList.get(i).setCategory_img(R.mipmap.gastro_n_indigestion); + }else if (category_id.equals("6")) { + categoryList.get(i).setCategory_img(R.mipmap.cough_n_cold); + }else if (category_id.equals("7")) { + categoryList.get(i).setCategory_img(R.mipmap.analgesics); + }else if (category_id.equals("8")) { + categoryList.get(i).setCategory_img(R.mipmap.first_aid); } } } @@ -436,12 +460,20 @@ public class CategoryListActivity extends AppCompatActivity { } } - if (db.isMappingPromotionData(store_id, category_id)) { - if (!db.checkPromoComplianceData(store_id, category_id)) { + if(country_id.equals("7")){ + if(db.getPromoComplianceSkuwiseExistsAfterData(store_id, category_id).size()==0){ flag_filled = false; break; } } + else { + if (db.isMappingPromotionData(store_id, category_id)) { + if (!db.checkPromoComplianceData(store_id, category_id)) { + flag_filled = false; + break; + } + } + } if (db.isMappingT2PData(store_id, category_id)) { diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/DailyDataMenuActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/DailyDataMenuActivity.java index 2368091..b509484 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/DailyDataMenuActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/DailyDataMenuActivity.java @@ -32,6 +32,7 @@ import cpm.com.gskmtorange.GetterSetter.CategoryPictureGetterSetter; import cpm.com.gskmtorange.R; import cpm.com.gskmtorange.constant.CommonFunctions; import cpm.com.gskmtorange.constant.CommonString; +import cpm.com.gskmtorange.dailyentry.AdditionalPromoSKUwiseActivity; import cpm.com.gskmtorange.dailyentry.AdditionalVisibility; import cpm.com.gskmtorange.dailyentry.AuditActivity; import cpm.com.gskmtorange.dailyentry.CategoryPicture; @@ -205,16 +206,27 @@ public class DailyDataMenuActivity extends AppCompatActivity { data = new DailyDataMenuGetterSetter(); data.setCategory_name(getResources().getString(R.string.daily_data_menu_promo_compliance)); - if (db.isMappingPromotionData(store_id, categoryId) || db.isMappingAdditionalPromotionData(store_id, categoryId)) { - if (db.checkPromoComplianceData(store_id, categoryId) || - db.checkAdditionalPromoComplianceData(store_id, categoryId)) { - data.setCategory_img(R.mipmap.promo_compliance_done); - } else { + if(country_id.equals("7")){ + if(db.getPromoComplianceSkuwiseExistsAfterData(store_id, categoryId).size()==0){ data.setCategory_img(R.mipmap.promo_compliance); } - } else { - data.setCategory_img(R.mipmap.promocompliance_grey); + else { + data.setCategory_img(R.mipmap.promo_compliance_done); + } } + else { + if (db.isMappingPromotionData(store_id, categoryId) || db.isMappingAdditionalPromotionData(store_id, categoryId)) { + if (db.checkPromoComplianceData(store_id, categoryId) || + db.checkAdditionalPromoComplianceData(store_id, categoryId)) { + data.setCategory_img(R.mipmap.promo_compliance_done); + } else { + data.setCategory_img(R.mipmap.promo_compliance); + } + } else { + data.setCategory_img(R.mipmap.promocompliance_grey); + } + } + categoryList.add(data); //Category Pictures @@ -415,11 +427,18 @@ public class DailyDataMenuActivity extends AppCompatActivity { } } else*/ if (dailyData.getCategory_name().equalsIgnoreCase(getResources().getString(R.string.daily_data_menu_promo_compliance))) { - if (db.isMappingPromotionData(store_id, categoryId) || db.isMappingAdditionalPromotionData(store_id, categoryId)) { + + if(country_id.equals("7")){ holder.categoryName.setTextColor(getResources().getColor(R.color.colorPrimaryDark)); - } else { - holder.categoryName.setTextColor(getResources().getColor(R.color.grey_background)); } + else { + if (db.isMappingPromotionData(store_id, categoryId) || db.isMappingAdditionalPromotionData(store_id, categoryId)) { + 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_t2p)))) { if (db.isMappingT2PData(store_id, categoryId)) { holder.categoryName.setTextColor(getResources().getColor(R.color.colorPrimaryDark)); @@ -481,12 +500,21 @@ public class DailyDataMenuActivity extends AppCompatActivity { } else */ if (dailyData.getCategory_name().equalsIgnoreCase(getResources().getString(R.string.daily_data_menu_promo_compliance))) { - if (db.isMappingPromotionData(store_id, categoryId) || db.isMappingAdditionalPromotionData(store_id, categoryId)) { - Intent intent = new Intent(DailyDataMenuActivity.this, PromoComplianceActivity.class); + if(country_id.equals("7")){ + Intent intent = new Intent(DailyDataMenuActivity.this, AdditionalPromoSKUwiseActivity.class); intent.putExtra("categoryName", dailyData.getCategory_name()); intent.putExtra("categoryId", categoryId); startActivity(intent); } + else { + if (db.isMappingPromotionData(store_id, categoryId) || db.isMappingAdditionalPromotionData(store_id, categoryId)) { + Intent intent = new Intent(DailyDataMenuActivity.this, PromoComplianceActivity.class); + intent.putExtra("categoryName", dailyData.getCategory_name()); + intent.putExtra("categoryId", categoryId); + startActivity(intent); + } + } + } else if (dailyData.getCategory_name().equalsIgnoreCase((getResources().getString(R.string.daily_data_menu_t2p)))) { if (db.isMappingT2PData(store_id, categoryId)) { diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_Availability_StockFacingActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_Availability_StockFacingActivity.java index f058138..3bef74f 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_Availability_StockFacingActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/MSL_Availability_StockFacingActivity.java @@ -85,7 +85,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { private SharedPreferences preferences; int scrollPosition = 0; - String str_planogram= "", _pathforcheck = ""; + String str_planogram = "", _pathforcheck = ""; ArrayList planogramShelfHeaderDataList = new ArrayList<>(); ArrayList planogramSkuChildDataList; @@ -140,7 +140,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); - str_planogram= CommonString.FILE_PATH_PLANOGRAM; + str_planogram = CommonString.FILE_PATH_PLANOGRAM; prepareList(); @@ -155,6 +155,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { public void onClick(final View view) { expandableListView.clearFocus(); + adapter.notifyDataSetChanged(); if (validateData(hashMapListHeaderData, hashMapListChildData)) { AlertDialog.Builder builder = new AlertDialog.Builder(MSL_Availability_StockFacingActivity.this); @@ -212,11 +213,11 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { int lastItem = firstVisibleItem + visibleItemCount; if (firstVisibleItem == 0) { - fab.setVisibility(View.VISIBLE); + fab.show();//.setVisibility(View.VISIBLE); } else if (lastItem == totalItemCount) { - fab.setVisibility(View.INVISIBLE); + fab.hide();//setVisibility(View.INVISIBLE); } else { - fab.setVisibility(View.VISIBLE); + fab.show();//setVisibility(View.VISIBLE); } } @@ -297,6 +298,8 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { .setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { + //adapter.notifyDataSetChanged(); + if (!validateData(hashMapListHeaderData, hashMapListChildData)) { if (!camera_allow.equals("1")) { db.deletePlanogramListStoreAndCategorywise(store_id, categoryId, @@ -316,10 +319,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { AlertDialog alert = builder.create(); alert.show(); //finish(); - } - - //Planogram Dialog - if (id == R.id.action_planogram) { + } else if (id == R.id.action_planogram) {//Planogram Dialog expandableListView.clearFocus(); //final Dialog dialog = new Dialog(Stock_FacingActivity.this, android.R.style.Theme_Black_NoTitleBar_Fullscreen); @@ -330,7 +330,16 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { dialog.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT); dialog.setCancelable(false); - ArrayList mappingPlanogramList = db.getMappingPlanogramData(categoryId, storeType_id, class_id); + ArrayList mappingPlanogramList; + + //Header + if (country_id.equals("7")) { + mappingPlanogramList= db.getMappingPlanogramData(categoryId, null, null, store_id); + } else { + mappingPlanogramList= db.getMappingPlanogramData(categoryId, storeType_id, class_id, null); + } + + //ImageView img_planogram = (ImageView) dialog.findViewById(R.id.img_planogram); WebView webView = (WebView) dialog.findViewById(R.id.webview); @@ -345,8 +354,8 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { planogram_image = mappingPlanogramList.get(0).getPLANOGRAM_IMAGE(); } if (!planogram_image.equals("")) { - if (new File(str_planogram+ planogram_image).exists()) { - Bitmap bmp = BitmapFactory.decodeFile(str_planogram+ planogram_image); + if (new File(str_planogram + planogram_image).exists()) { + Bitmap bmp = BitmapFactory.decodeFile(str_planogram + planogram_image); // img_planogram.setRotation(90); //img_planogram.setImageBitmap(bmp); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); @@ -561,10 +570,9 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { hashMapListChildData = new HashMap<>(); //Header - if(country_id.equals("7")){ + if (country_id.equals("7")) { headerDataList = db.getMSL_Availability_StockFacingHeaderData(categoryId, null, null, null, store_id); - } - else { + } else { headerDataList = db.getMSL_Availability_StockFacingHeaderData(categoryId, keyAccount_id, storeType_id, class_id, store_id); } @@ -576,10 +584,9 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { //childDataList = new ArrayList<>(); childDataList = db.getMSL_Availability_StockFacingSKU_AfterSaveData(categoryId, headerDataList.get(i).getBrand_id(), store_id); if (!(childDataList.size() > 0)) { - if(country_id.equals("7")){ + if (country_id.equals("7")) { childDataList = db.getMSL_Availability_StockFacingSKUData(categoryId, headerDataList.get(i).getBrand_id(), null, null, null, store_id); - } - else { + } else { childDataList = db.getMSL_Availability_StockFacingSKUData(categoryId, headerDataList.get(i).getBrand_id(), keyAccount_id, storeType_id, class_id, store_id); } } @@ -643,6 +650,21 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { Error_Message = getResources().getString(R.string.stock_value); break; } + } else { + //for Egypt + if (country_id.equals("6")) { + if (stock.equals("")) { + if (!checkHeaderArray.contains(i)) { + checkHeaderArray.add(i); + } + //expandableListView.smoothScrollToPosition(i); + scrollPosition = i; + + flag = false; + Error_Message = getResources().getString(R.string.stock_value); + break; + } + } } } } @@ -669,8 +691,6 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { } } - adapter.notifyDataSetChanged(); - return checkflag; } @@ -684,6 +704,8 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { builder.setMessage(getResources().getString(R.string.data_will_be_lost)).setCancelable(false) .setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { + + //adapter.notifyDataSetChanged(); if (!validateData(hashMapListHeaderData, hashMapListChildData)) { if (!camera_allow.equals("1")) { @@ -842,13 +864,20 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { holder.toggle_available.setVisibility(View.VISIBLE); holder.facing.setVisibility(View.VISIBLE); - if (childData.getToggleValue().equals("1")) { - holder.stock.setVisibility(View.GONE); - holder.stock_view.setVisibility(View.GONE); - } else { + if (country_id.equals("6")) { holder.stock.setVisibility(View.VISIBLE); holder.stock_view.setVisibility(View.VISIBLE); + } else { + if (childData.getToggleValue().equals("1")) { + holder.stock.setVisibility(View.GONE); + holder.stock_view.setVisibility(View.GONE); + } else { + holder.stock.setVisibility(View.VISIBLE); + holder.stock_view.setVisibility(View.VISIBLE); + } } + + } else { holder.lin_category.setBackgroundColor(getResources().getColor(R.color.white)); @@ -859,17 +888,15 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { holder.stock_view.setVisibility(View.GONE); } - if(childData.getCompany_id().equals("1")){ + if (childData.getCompany_id().equals("1")) { - if(childData.getMust_have().equals("1")){ + if (childData.getMust_have().equals("1")) { holder.txt_skuName.setTextColor(getResources().getColor(R.color.colorPrimary)); - } - else{ + } else { holder.txt_skuName.setTextColor(getResources().getColor(R.color.blue)); } - } - else{ + } else { holder.txt_skuName.setTextColor(getResources().getColor(R.color.black)); } @@ -889,22 +916,37 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { holder.toggle_available.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - if (isChecked) { - childData.setToggleValue("1"); - finalHolder.stock.setVisibility(View.GONE); + if(buttonView.isPressed()){ + if (isChecked) { + childData.setToggleValue("1"); + //for Egypt + if (country_id.equals("6")) { + finalHolder.stock.setVisibility(View.VISIBLE); + } else { + finalHolder.stock.setVisibility(View.GONE); + } + /*childData.setStock(""); childData.setFacing("");*/ - } else { + } else { /* childData.setStock(""); childData.setFacing("");*/ - childData.setToggleValue("0"); - finalHolder.stock.setVisibility(View.VISIBLE); + childData.setToggleValue("0"); + finalHolder.stock.setVisibility(View.VISIBLE); - //If MBQ Value is 0 - if (Integer.parseInt(childData.getMbq()) == 0) { - childData.setStock("0"); - childData.setFacing("0"); - }/* else { + //If MBQ Value is 0 + if (Integer.parseInt(childData.getMbq()) == 0) { + childData.setStock("0"); + childData.setFacing("0"); + } else { + //for Egypt + if (country_id.equals("6")) { + childData.setStock(""); + childData.setFacing(""); + } + } + + /* else { if (finalHolder.facing.getText().toString() != null && !finalHolder.facing.getText().toString().equals("")) { if (Integer.parseInt(finalHolder.facing.getText().toString()) >= 0 && Integer.parseInt(finalHolder.facing.getText().toString()) >= Integer.parseInt(childData.getMbq())) { @@ -913,17 +955,24 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { } } }*/ - } + } - expandableListView.clearFocus(); - expandableListView.invalidateViews(); + expandableListView.clearFocus(); + expandableListView.invalidateViews(); + } } }); if (childData.getToggleValue().equals("1")) { holder.toggle_available.setChecked(true); - finalHolder.stock.setVisibility(View.GONE); - childData.setStock(""); + if (country_id.equals("6") && childData.getCompany_id().equals("1") && childData.getMust_have().equals("1")) { + finalHolder.stock.setVisibility(View.VISIBLE); + } else { + finalHolder.stock.setVisibility(View.GONE); + childData.setStock(""); + } + + } else { holder.toggle_available.setChecked(false); finalHolder.stock.setVisibility(View.VISIBLE); @@ -942,65 +991,90 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { if (!edStock.equals("")) { String stock = edStock; - int mbq = Integer.parseInt(childData.getMbq()); - if(mbq!=0){ - if (Integer.parseInt(stock) >= 0 && Integer.parseInt(stock) < mbq) { - if (!childData.getFacing().equals("")) { - if (Integer.parseInt(stock) >= 0 && Double.parseDouble(childData.getFacing()) <= Integer.parseInt(stock)) { + //for Egypt + if (country_id.equals("6") && childData.getToggleValue().equals("1")) { + if (!childData.getFacing().equals("")) { + if (Integer.parseInt(stock) >= 0 && Double.parseDouble(childData.getFacing()) <= Integer.parseInt(stock)) { - childData.setStock(stock); + childData.setStock(stock); + } else { + AlertDialog.Builder builder = new AlertDialog.Builder(MSL_Availability_StockFacingActivity.this); + builder.setMessage(getString(R.string.check_faceup)) + .setCancelable(false) + .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + finalHolder.stock.setText(""); + dialog.dismiss(); + + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } else { + childData.setStock(stock); + } + } else { + int mbq = Integer.parseInt(childData.getMbq()); + if (mbq != 0) { + if (Integer.parseInt(stock) >= 0 && Integer.parseInt(stock) < mbq) { + + if (!childData.getFacing().equals("")) { + if (Integer.parseInt(stock) >= 0 && Double.parseDouble(childData.getFacing()) <= Integer.parseInt(stock)) { + + childData.setStock(stock); + } else { + AlertDialog.Builder builder = new AlertDialog.Builder(MSL_Availability_StockFacingActivity.this); + builder.setMessage(getString(R.string.check_faceup)) + .setCancelable(false) + .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + finalHolder.stock.setText(""); + dialog.dismiss(); + + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } } else { + childData.setStock(stock); + } + } else { + if (isDialogOpen) { + isDialogOpen = !isDialogOpen; AlertDialog.Builder builder = new AlertDialog.Builder(MSL_Availability_StockFacingActivity.this); - builder.setMessage(getString(R.string.check_faceup)) + builder.setMessage(getString(R.string.check_stock)) .setCancelable(false) .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { finalHolder.stock.setText(""); dialog.dismiss(); - + isDialogOpen = !isDialogOpen; } }); AlertDialog alert = builder.create(); alert.show(); } - } else { - childData.setStock(stock); } } else { - if (isDialogOpen) { - isDialogOpen = !isDialogOpen; - AlertDialog.Builder builder = new AlertDialog.Builder(MSL_Availability_StockFacingActivity.this); - builder.setMessage(getString(R.string.check_stock)) - .setCancelable(false) - .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - finalHolder.stock.setText(""); - dialog.dismiss(); - isDialogOpen = !isDialogOpen; - } - }); - AlertDialog alert = builder.create(); - alert.show(); - } - } - } - else{ - if(Integer.parseInt(stock) > 0){ - if (isDialogOpen) { - isDialogOpen = !isDialogOpen; - AlertDialog.Builder builder = new AlertDialog.Builder(MSL_Availability_StockFacingActivity.this); - builder.setMessage(getString(R.string.check_stock)) - .setCancelable(false) - .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - finalHolder.stock.setText(""); - dialog.dismiss(); - isDialogOpen = !isDialogOpen; - } - }); - AlertDialog alert = builder.create(); - alert.show(); + if (Integer.parseInt(stock) > 0) { + if (isDialogOpen) { + isDialogOpen = !isDialogOpen; + AlertDialog.Builder builder = new AlertDialog.Builder(MSL_Availability_StockFacingActivity.this); + builder.setMessage(getString(R.string.check_stock)) + .setCancelable(false) + .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + finalHolder.stock.setText(""); + dialog.dismiss(); + isDialogOpen = !isDialogOpen; + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } } } } @@ -1062,7 +1136,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { } else {*/ if (edFaceup != null && !edFaceup.equals("") && !edFaceup.equals(".")) { int mbq = Integer.parseInt(childData.getMbq()); - if(mbq!=0){ + if (mbq != 0) { if (Double.parseDouble(edFaceup) >= 0 && Double.parseDouble(edFaceup) < mbq) { if (!childData.getStock().equals("")) { @@ -1114,9 +1188,8 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { alert.show(); } } - } - else { - if(Double.parseDouble(edFaceup) > 0){ + } else { + if (Double.parseDouble(edFaceup) > 0) { if (isDialogOpen) { isDialogOpen = !isDialogOpen; AlertDialog.Builder builder = new AlertDialog.Builder(MSL_Availability_StockFacingActivity.this); @@ -1137,8 +1210,50 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { } //} - } else{ - isFill = true; + } else { + + if (country_id.equals("6")) { + if (!childData.getStock().equals("")) { + + //if (edFaceup != null && !edFaceup.equals("")) { + + String faceup = edFaceup.replaceFirst("^0+(?!$)", ""); + + if (edFaceup != null && !edFaceup.equals("") && !edFaceup.equals(".")) { + if (Double.parseDouble(faceup) <= Integer.parseInt(childData.getStock())) { + + isFill = true; + + /* if (!edFaceup.equals("")) { + childData.setFacing(faceup); + } else { + childData.setFacing(""); + }*/ + } else { + AlertDialog.Builder builder = new AlertDialog.Builder(MSL_Availability_StockFacingActivity.this); + builder.setMessage(getString(R.string.check_faceup)) + .setCancelable(false) + .setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + finalHolder1.facing.setText(""); + dialog.dismiss(); + finalHolder2.facing.setText(""); + } + }); + AlertDialog alert = builder.create(); + alert.show(); + } + } else { + isFill = true; + } + // } + } else { + isFill = true; + } + } else { + isFill = true; + } + } /* //If toggle is yes then facing cannot be 0 if (childData.getCompany_id().equals("1") && childData.getMust_have().equals("1") @@ -1165,12 +1280,11 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { if (isFill) { if (!edFaceup.equals("") && !edFaceup.equals(".")) { String faceup = ""; - if(edFaceup.equals("0") ||edFaceup.equals(".0")){ + if (edFaceup.equals("0") || edFaceup.equals(".0")) { faceup = "0"; - } - else{ + } else { faceup = edFaceup.replaceFirst("^0+(?!$)", ""); - //faceup = new DecimalFormat("##.#").format(Double.parseDouble(faceup)); + //faceup = new DecimalFormat("##.#").format(Double.parseDouble(faceup)); } // String str2 = PerfectDecimal(faceup, 3, 1); @@ -1218,6 +1332,17 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { }*/ tempflag = true; } + + //for Egypt + if(country_id.equals("6")){ + if (holder.stock.getText().toString().equals("")) { + holder.stock.setBackgroundColor(getResources().getColor(R.color.white)); + holder.stock.setHintTextColor(getResources().getColor(android.R.color.holo_red_dark)); + holder.stock.setHint(getString(R.string.empty)); + tempflag = true; + } + } + } else { holder.facing.setHint(""); } @@ -1303,7 +1428,7 @@ public class MSL_Availability_StockFacingActivity extends AppCompatActivity { } public String PerfectDecimal(String str, int MAX_BEFORE_POINT, int MAX_DECIMAL) { - if (str.charAt(0) == '.') str= "0" + str; + if (str.charAt(0) == '.') str = "0" + str; int max = str.length(); String rFinal = ""; diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/PromoComplianceActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/PromoComplianceActivity.java index b7b0da1..8437f45 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/PromoComplianceActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/PromoComplianceActivity.java @@ -18,6 +18,7 @@ import android.preference.PreferenceManager; import android.provider.MediaStore; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; +import android.support.v4.content.FileProvider; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.util.Log; @@ -948,7 +949,7 @@ public class PromoComplianceActivity extends AppCompatActivity { Log.i("Stock & Facing ", "startCameraActivity()"); File file = new File(path); - outputFileUri = Uri.fromFile(file); + outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); String defaultCameraPackage = ""; final PackageManager packageManager = getPackageManager(); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java index 126995a..8672cdb 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/gsk_dailyentry/Stock_FacingActivity.java @@ -27,6 +27,7 @@ import android.preference.PreferenceManager; import android.provider.MediaStore; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; +import android.support.v4.content.FileProvider; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.CardView; import android.support.v7.widget.Toolbar; @@ -92,7 +93,7 @@ public class Stock_FacingActivity extends AppCompatActivity { String path = "", str = "", _pathforcheck = "", img1 = "", img2 = ""; boolean isDialogOpen = true; boolean checkflag = true; - String store_id, visit_date, username, intime, date, keyAccount_id, class_id, storeType_id, camera_allow; + String store_id, visit_date, username, intime, date, keyAccount_id, class_id, storeType_id, camera_allow, country_id; Uri outputFileUri = null; String gallery_package = ""; private SharedPreferences preferences; @@ -143,6 +144,7 @@ public class Stock_FacingActivity extends AppCompatActivity { class_id = preferences.getString(CommonString.KEY_CLASS_ID, ""); storeType_id = preferences.getString(CommonString.KEY_STORETYPE_ID, ""); camera_allow = preferences.getString(CommonString.KEY_CAMERA_ALLOW, ""); + country_id = preferences.getString(CommonString.KEY_COUNTRY_ID, ""); categoryName = getIntent().getStringExtra("categoryName"); categoryId = getIntent().getStringExtra("categoryId"); @@ -236,11 +238,11 @@ public class Stock_FacingActivity extends AppCompatActivity { if (isExpand) { if (firstVisibleItem == 0) { - fab.setVisibility(View.VISIBLE); + fab.show();//setVisibility(View.VISIBLE); } else if (lastItem == totalItemCount) { - fab.setVisibility(View.INVISIBLE); + fab.hide();//setVisibility(View.INVISIBLE); } else { - fab.setVisibility(View.VISIBLE); + fab.show();//setVisibility(View.VISIBLE); } } } @@ -283,7 +285,7 @@ public class Stock_FacingActivity extends AppCompatActivity { isExpand = true; } - fab.setVisibility(View.INVISIBLE); + fab.hide();//setVisibility(View.INVISIBLE); } }); @@ -303,7 +305,7 @@ public class Stock_FacingActivity extends AppCompatActivity { } else { isExpand = true; } - fab.setVisibility(View.VISIBLE); + fab.show();//setVisibility(View.VISIBLE); } }); @@ -712,7 +714,7 @@ public class Stock_FacingActivity extends AppCompatActivity { try { Log.e("MakeMachine", "startCameraActivity()"); File file = new File(path); - outputFileUri = Uri.fromFile(file); + outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); String defaultCameraPackage = ""; final PackageManager packageManager = getPackageManager(); @@ -762,7 +764,7 @@ public class Stock_FacingActivity extends AppCompatActivity { /*try { Log.e("Stock & Facing ", "startCameraActivity()"); File file = new File(path); - Uri outputFileUri = Uri.fromFile(file); + Uri outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); String defaultCameraPackage = ""; final PackageManager packageManager = getPackageManager(); @@ -799,7 +801,7 @@ public class Stock_FacingActivity extends AppCompatActivity { try { Log.e("MakeMachine", "startCameraActivity()"); File file = new File(path); - outputFileUri = Uri.fromFile(file); + outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); String defaultCameraPackage = ""; final PackageManager packageManager = getPackageManager(); @@ -848,7 +850,7 @@ public class Stock_FacingActivity extends AppCompatActivity { /*try { Log.i("Stock & Facing ", "startCameraActivity()"); File file = new File(path); - Uri outputFileUri = Uri.fromFile(file); + Uri outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); String defaultCameraPackage = ""; final PackageManager packageManager = getPackageManager(); @@ -883,7 +885,7 @@ public class Stock_FacingActivity extends AppCompatActivity { try { Log.e("MakeMachine", "startCameraActivity()"); File file = new File(path); - outputFileUri = Uri.fromFile(file); + outputFileUri = FileProvider.getUriForFile(getApplicationContext(), "cpm.com.gskmtorange.fileprovider", file); String defaultCameraPackage = ""; final PackageManager packageManager = getPackageManager(); @@ -1171,7 +1173,13 @@ public class Stock_FacingActivity extends AppCompatActivity { dialog.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT); dialog.setCancelable(false); - ArrayList mappingPlanogramList = db.getMappingPlanogramData(categoryId, storeType_id, class_id); + ArrayList mappingPlanogramList; + + if (country_id.equals("7")) { + mappingPlanogramList= db.getMappingPlanogramData(categoryId, null, null, store_id); + } else { + mappingPlanogramList= db.getMappingPlanogramData(categoryId, storeType_id, class_id, null); + } //ImageView img_planogram = (ImageView) dialog.findViewById(R.id.img_planogram); WebView webView = (WebView) dialog.findViewById(R.id.webview); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/PreviousDataUploadActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/PreviousDataUploadActivity.java index b338465..83075e0 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/PreviousDataUploadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/PreviousDataUploadActivity.java @@ -53,6 +53,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityStockFacingGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NoCameraDataGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.POGGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.PromoComplianceSkuwiseGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.Promo_Compliance_DataGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SkuGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.StockFacing_PlanogramTrackerDataGetterSetter; @@ -96,6 +97,8 @@ public class PreviousDataUploadActivity extends AppCompatActivity { ArrayList stockFacingPlanogramDataList; ArrayList storeWiseCameraDataGetterSetters; + ArrayList promoComplianceSkuwiseGetterSetters, promoComplianceSkuwiseExistsGetterSetters; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -528,6 +531,81 @@ public class PreviousDataUploadActivity extends AppCompatActivity { data.name = getString(R.string.promo_data_uploading); publishProgress(data); + //Promo Compliance - Country Id - 7 (SA) Promotion Data + String promotion_sku_wise_data_xml = "", add_promotion_data_xml = "", exists_xml = "", add_xml = ""; + + db.open(); + promoComplianceSkuwiseExistsGetterSetters = db.getPromoComplianceSkuwiseExistsAfterData(coverageList.get(i).getStoreId(), null); + if (promoComplianceSkuwiseExistsGetterSetters.size() > 0) { + + for (int l = 0; l < promoComplianceSkuwiseExistsGetterSetters.size(); l++) { + + promoComplianceSkuwiseGetterSetters = db.getPromoComplianceSkuwiseAfterData(promoComplianceSkuwiseExistsGetterSetters.get(l).get_id(), null); + + for (int i1 = 0; i1 < promoComplianceSkuwiseGetterSetters.size(); i1++) { + if (!promoComplianceSkuwiseGetterSetters.get(i1).getCategory_id().equals("0")) { + + String discount_val = promoComplianceSkuwiseGetterSetters.get(i1).getDiscount_value(); + if(discount_val.equals("")){ + discount_val = "0"; + } + + add_xml = "[PROMOTION_DATA]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[CATEGORY_ID]" + Integer.parseInt(promoComplianceSkuwiseGetterSetters.get(i1).getCategory_id()) + "[/CATEGORY_ID]" + + "[SUB_CATEGORY_ID]" + Integer.parseInt(promoComplianceSkuwiseGetterSetters.get(i1).getSub_category_id()) + "[/SUB_CATEGORY_ID]" + + "[SKU_ID]" + Integer.parseInt(promoComplianceSkuwiseGetterSetters.get(i1).getSku_id()) + "[/SKU_ID]" + + "[BRAND_ID]" + Integer.parseInt(promoComplianceSkuwiseGetterSetters.get(i1).getBrand_id()) + "[/BRAND_ID]" + + "[DISCOUNT_VALUE]" + discount_val + "[/DISCOUNT_VALUE]" + + "[PRICE]" + promoComplianceSkuwiseGetterSetters.get(i1).getPrice() + "[/PRICE]" + + "[PROMO_IMAGE]" + promoComplianceSkuwiseGetterSetters.get(i1).getImg() + "[/PROMO_IMAGE]" + + "[PRICE_FLASHER_AVAILABLE]" + promoComplianceSkuwiseGetterSetters.get(i1).getPrice_flasher() + "[/PRICE_FLASHER_AVAILABLE]" + + "[/PROMOTION_DATA]"; + + add_promotion_data_xml = add_promotion_data_xml + add_xml; + } + } + + int exists = 0; + if (promoComplianceSkuwiseExistsGetterSetters.get(l).isExists()) { + exists = 1; + } + + exists_xml = "[ADDITIONAL_PROMOTION_SKUWISE_DATA]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[CATEGORY_ID]" + Integer.parseInt(promoComplianceSkuwiseExistsGetterSetters.get(l).getCategory_id()) + "[/CATEGORY_ID]" + + "[IS_EXISTS]" + exists + "[/IS_EXISTS]" + + "[ADDITIONAL_PROMOTION_DATA]" + add_promotion_data_xml + "[/ADDITIONAL_PROMOTION_DATA]" + + "[/ADDITIONAL_PROMOTION_SKUWISE_DATA]"; + + promotion_sku_wise_data_xml = promotion_sku_wise_data_xml + exists_xml; + + } + + final String sos_xml = "[DATA]" + promotion_sku_wise_data_xml + "[/DATA]"; + + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); + request.addProperty("XMLDATA", sos_xml); + request.addProperty("KEYS", "ADDITIONAL_PROMOTION_SKUWISE_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(); + + /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; + }*/ + } + //Promo Compliance -Additional Promotion Data String additional_promoition_data_xml = ""; diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java index acfa803..84883fe 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadActivity.java @@ -69,6 +69,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MSL_AvailabilityStockFacingGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.NoCameraDataGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.POGGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.PromoComplianceSkuwiseGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.Promo_Compliance_DataGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.SkuGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.StockFacing_PlanogramTrackerDataGetterSetter; @@ -112,6 +113,7 @@ public class UploadActivity extends AppCompatActivity { ArrayList stockFacingPlanogramDataList; ArrayList storeWiseCameraDataGetterSetters; + ArrayList promoComplianceSkuwiseGetterSetters, promoComplianceSkuwiseExistsGetterSetters; RequestBody body1; private Retrofit adapter; @@ -331,7 +333,7 @@ public class UploadActivity extends AppCompatActivity { String sub_reason_id = coverageList.get(i).getSub_reasonId(); - if(sub_reason_id.equals("")){ + if (sub_reason_id.equals("")) { sub_reason_id = "0"; } @@ -606,6 +608,86 @@ public class UploadActivity extends AppCompatActivity { data.name = getString(R.string.promo_data_uploading); publishProgress(data); + //Promo Compliance - Country Id - 7 (SA) Promotion Data + String promotion_sku_wise_data_xml = "", add_promotion_data_xml = "", exists_xml = "", add_xml = ""; + + db.open(); + promoComplianceSkuwiseExistsGetterSetters = db.getPromoComplianceSkuwiseExistsAfterData(coverageList.get(i).getStoreId(), null); + if (promoComplianceSkuwiseExistsGetterSetters.size() > 0) { + + for (int l = 0; l < promoComplianceSkuwiseExistsGetterSetters.size(); l++) { + + promoComplianceSkuwiseGetterSetters = db.getPromoComplianceSkuwiseAfterData(promoComplianceSkuwiseExistsGetterSetters.get(l).get_id(), null); + + for (int i1 = 0; i1 < promoComplianceSkuwiseGetterSetters.size(); i1++) { + if (!promoComplianceSkuwiseGetterSetters.get(i1).getCategory_id().equals("0")) { + + String discount_val = promoComplianceSkuwiseGetterSetters.get(i1).getDiscount_value(); + if(discount_val.equals("")){ + discount_val = "0"; + } + + add_xml = "[PROMOTION_DATA]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[CATEGORY_ID]" + Integer.parseInt(promoComplianceSkuwiseGetterSetters.get(i1).getCategory_id()) + "[/CATEGORY_ID]" + + "[SUB_CATEGORY_ID]" + Integer.parseInt(promoComplianceSkuwiseGetterSetters.get(i1).getSub_category_id()) + "[/SUB_CATEGORY_ID]" + + "[SKU_ID]" + Integer.parseInt(promoComplianceSkuwiseGetterSetters.get(i1).getSku_id()) + "[/SKU_ID]" + + "[BRAND_ID]" + Integer.parseInt(promoComplianceSkuwiseGetterSetters.get(i1).getBrand_id()) + "[/BRAND_ID]" + + "[DISCOUNT_VALUE]" + discount_val + "[/DISCOUNT_VALUE]" + + "[PRICE]" + promoComplianceSkuwiseGetterSetters.get(i1).getPrice() + "[/PRICE]" + + "[PROMO_IMAGE]" + promoComplianceSkuwiseGetterSetters.get(i1).getImg() + "[/PROMO_IMAGE]" + + "[PRICE_FLASHER_AVAILABLE]" + promoComplianceSkuwiseGetterSetters.get(i1).getPrice_flasher() + "[/PRICE_FLASHER_AVAILABLE]" + + "[/PROMOTION_DATA]"; + + add_promotion_data_xml = add_promotion_data_xml + add_xml; + } + } + + int exists = 0; + if (promoComplianceSkuwiseExistsGetterSetters.get(l).isExists()) { + exists = 1; + } + + exists_xml = "[ADDITIONAL_PROMOTION_SKUWISE_DATA]" + + "[MID]" + mid + "[/MID]" + + "[USER_ID]" + userId + "[/USER_ID]" + + "[CATEGORY_ID]" + Integer.parseInt(promoComplianceSkuwiseExistsGetterSetters.get(l).getCategory_id()) + "[/CATEGORY_ID]" + + "[IS_EXISTS]" + exists + "[/IS_EXISTS]" + + "[ADDITIONAL_PROMOTION_DATA]" + add_promotion_data_xml + "[/ADDITIONAL_PROMOTION_DATA]" + + "[/ADDITIONAL_PROMOTION_SKUWISE_DATA]"; + + promotion_sku_wise_data_xml = promotion_sku_wise_data_xml + exists_xml; + + } + + final String sos_xml = "[DATA]" + promotion_sku_wise_data_xml + "[/DATA]"; + + request = new SoapObject(CommonString.NAMESPACE, CommonString.METHOD_UPLOAD_STOCK_XML_DATA); + request.addProperty("XMLDATA", sos_xml); + request.addProperty("KEYS", "ADDITIONAL_PROMOTION_SKUWISE_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(); + + /*if (!result.toString().equalsIgnoreCase(CommonString.KEY_SUCCESS)) { + return CommonString.METHOD_UPLOAD_STOCK_XML_DATA; + }*/ + } + + + data.value = 30; + data.name = getString(R.string.promo_data_uploading); + publishProgress(data); + //Promo Compliance -Additional Promotion Data String additional_promoition_data_xml = ""; @@ -1037,10 +1119,9 @@ public class UploadActivity extends AppCompatActivity { for (int n = 0; n < nocamera_data_list.size(); n++) { int vertical; - if(nocamera_data_list.get(n).isVertical()){ + if (nocamera_data_list.get(n).isVertical()) { vertical = 1; - } - else { + } else { vertical = 0; } @@ -1173,17 +1254,16 @@ public class UploadActivity extends AppCompatActivity { db.open(); coachingVisitData = db.getCoachingVisitData(coverageList.get(i).getStoreId()); - if (coachingVisitData.size()>0) { + if (coachingVisitData.size() > 0) { - String onXml_coaching_data = "", coaching_xml=""; - for(int j=0;j 0) { - File file[] = f.listFiles(); - UploadImageWithRetrofit.uploadedFiles = 0; - UploadImageWithRetrofit.totalFiles = file.length; - UploadImageWithRetrofit uploadImg = new UploadImageWithRetrofit(date, userId, UploadActivity.this); - uploadImg.UploadImageRecursiveNew(UploadActivity.this); + File file[] = f.listFiles(); + UploadImageWithRetrofit.uploadedFiles = 0; + UploadImageWithRetrofit.totalFiles = file.length; + UploadImageWithRetrofit uploadImg = new UploadImageWithRetrofit(date, userId, UploadActivity.this); + uploadImg.UploadImageRecursiveNew(UploadActivity.this); /* } else { showAlert(getString(R.string.data_uploaded_successfully)); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java index 7a0191f..f2763f5 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/upload/UploadImageWithRetrofit.java @@ -222,7 +222,7 @@ public class UploadImageWithRetrofit { foldername = "GeotagImages"; } else if (file[i].getName().contains("T2P_Image")) { foldername = "T2PImages"; - } else if (file[i].getName().contains("AddPromo_Image")) { + } else if (file[i].getName().contains("AddPromo_Image") || file[i].getName().contains("Additional_Promo_Skuwise_Image")) { foldername = "AdditionalPromotionImages"; }else if (file[i].getName().contains("AdditionalImage")) { foldername = "AdditionalVisibilityImages"; diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MappingPlanogramStorewiseGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MappingPlanogramStorewiseGetterSetter.java new file mode 100644 index 0000000..e37c5cc --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MappingPlanogramStorewiseGetterSetter.java @@ -0,0 +1,53 @@ +package cpm.com.gskmtorange.xmlGetterSetter; + +import java.util.ArrayList; + +public class MappingPlanogramStorewiseGetterSetter { + + String table_MAPPING_PLANOGRAM_STORE_WISE; + + ArrayList CATEGORY_ID = new ArrayList<>(); + ArrayList STORE_ID = new ArrayList<>(); + ArrayList PLANOGRAM_IMAGE = new ArrayList<>(); + ArrayList IMAGE_PATH = new ArrayList<>(); + + public ArrayList getPLANOGRAM_IMAGE() { + return PLANOGRAM_IMAGE; + } + + public void setPLANOGRAM_IMAGE(String PLANOGRAM_IMAGE) { + this.PLANOGRAM_IMAGE.add(PLANOGRAM_IMAGE); + } + + public ArrayList getIMAGE_PATH() { + return IMAGE_PATH; + } + + public void setIMAGE_PATH(String IMAGE_PATH) { + this.IMAGE_PATH.add(IMAGE_PATH); + } + + public ArrayList getCATEGORY_ID() { + return CATEGORY_ID; + } + + public void setCATEGORY_ID(String CATEGORY_ID) { + this.CATEGORY_ID.add(CATEGORY_ID); + } + + public String getTable_MAPPING_PLANOGRAM_STORE_WISE() { + return table_MAPPING_PLANOGRAM_STORE_WISE; + } + + public void setTable_MAPPING_PLANOGRAM_STORE_WISE(String table_MAPPING_PLANOGRAM_STORE_WISE) { + this.table_MAPPING_PLANOGRAM_STORE_WISE = table_MAPPING_PLANOGRAM_STORE_WISE; + } + + public ArrayList getSTORE_ID() { + return STORE_ID; + } + + public void setSTORE_ID(String STORE_ID) { + this.STORE_ID.add(STORE_ID); + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MappingStockStorewiseGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MappingStockStorewiseGetterSetter.java index 7d9238c..d3e5489 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MappingStockStorewiseGetterSetter.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/MappingStockStorewiseGetterSetter.java @@ -11,6 +11,7 @@ public class MappingStockStorewiseGetterSetter { ArrayList MUST_HAVE = new ArrayList<>(); ArrayList MBQ = new ArrayList<>(); ArrayList SHOW_ADDITIONAL_VISIBILITY = new ArrayList<>(); + ArrayList COUNTRY_ID = new ArrayList<>(); public String getTable_MAPPING_STOCK_STOREWISE() { return table_MAPPING_STOCK_STOREWISE; @@ -59,4 +60,12 @@ public class MappingStockStorewiseGetterSetter { public void setSHOW_ADDITIONAL_VISIBILITY(String SHOW_ADDITIONAL_VISIBILITY) { this.SHOW_ADDITIONAL_VISIBILITY.add(SHOW_ADDITIONAL_VISIBILITY); } + + public ArrayList getCOUNTRY_ID() { + return COUNTRY_ID; + } + + public void setCOUNTRY_ID(String COUNTRY_ID) { + this.COUNTRY_ID.add(COUNTRY_ID); + } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/PromoComplianceSkuwiseGetterSetter.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/PromoComplianceSkuwiseGetterSetter.java new file mode 100644 index 0000000..4cbc393 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/PromoComplianceSkuwiseGetterSetter.java @@ -0,0 +1,112 @@ +package cpm.com.gskmtorange.xmlGetterSetter; + +public class PromoComplianceSkuwiseGetterSetter { + + String sku, sku_id, brand, brand_id, sub_category, sub_category_id, img, discount_value, price, category_id, _id; + boolean isExists = true; + int price_flasher = -1; + + public String getSku() { + return sku; + } + + public void setSku(String sku) { + this.sku = sku; + } + + public String getSku_id() { + return sku_id; + } + + public void setSku_id(String sku_id) { + this.sku_id = sku_id; + } + + public String getBrand() { + return brand; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public String getBrand_id() { + return brand_id; + } + + public void setBrand_id(String brand_id) { + this.brand_id = brand_id; + } + + public String getSub_category() { + return sub_category; + } + + public void setSub_category(String sub_category) { + this.sub_category = sub_category; + } + + public String getSub_category_id() { + return sub_category_id; + } + + public void setSub_category_id(String sub_category_id) { + this.sub_category_id = sub_category_id; + } + + public String getImg() { + return img; + } + + public void setImg(String img) { + this.img = img; + } + + public String getDiscount_value() { + return discount_value; + } + + public void setDiscount_value(String discount_value) { + this.discount_value = discount_value; + } + + public String getPrice() { + return price; + } + + public void setPrice(String price) { + this.price = price; + } + + public String getCategory_id() { + return category_id; + } + + public void setCategory_id(String category_id) { + this.category_id = category_id; + } + + public boolean isExists() { + return isExists; + } + + public void setExists(boolean exists) { + isExists = exists; + } + + public String get_id() { + return _id; + } + + public void set_id(String _id) { + this._id = _id; + } + + public int getPrice_flasher() { + return price_flasher; + } + + public void setPrice_flasher(int price_flasher) { + this.price_flasher = price_flasher; + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java index 5a1d505..2f0e7cf 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlGetterSetter/TableBean.java @@ -42,6 +42,7 @@ public class TableBean { public static String Table_SUPERVISOR_LIST; public static String Table_CONFIGURATION_MASTER; public static String Table_MAPPING_STOCK_STOREWISE; + public static String Table_MAPPING_PLANOGRAM_STORE_WISE; public static String getTable_NON_WORKING_SUB_REASON() { return Table_NON_WORKING_SUB_REASON; @@ -315,4 +316,12 @@ public class TableBean { public static void setTable_MAPPING_STOCK_STOREWISE(String table_MAPPING_STOCK_STOREWISE) { Table_MAPPING_STOCK_STOREWISE = table_MAPPING_STOCK_STOREWISE; } + + public static String getTable_MAPPING_PLANOGRAM_STORE_WISE() { + return Table_MAPPING_PLANOGRAM_STORE_WISE; + } + + public static void setTable_MAPPING_PLANOGRAM_STORE_WISE(String table_MAPPING_PLANOGRAM_STORE_WISE) { + Table_MAPPING_PLANOGRAM_STORE_WISE = table_MAPPING_PLANOGRAM_STORE_WISE; + } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java index 2581d58..204976d 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/xmlHandlers/XMLHandlers.java @@ -25,6 +25,7 @@ import cpm.com.gskmtorange.xmlGetterSetter.MAPPING_SOS_TARGET_MasterGetterSetter import cpm.com.gskmtorange.xmlGetterSetter.MappingCategoryImageAllowGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingDisplayChecklistGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingPlanogramCountrywiseGetterSetter; +import cpm.com.gskmtorange.xmlGetterSetter.MappingPlanogramStorewiseGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingPromotionGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingStockGetterSetter; import cpm.com.gskmtorange.xmlGetterSetter.MappingStockStorewiseGetterSetter; @@ -483,9 +484,13 @@ public class XMLHandlers { } if (xpp.getName().equals("MBQ")) { stock.setMBQ(xpp.nextText()); - }if (xpp.getName().equals("SHOW_ADDITIONAL_VISIBILITY")) { + } + if (xpp.getName().equals("SHOW_ADDITIONAL_VISIBILITY")) { stock.setSHOW_ADDITIONAL_VISIBILITY(xpp.nextText()); } + if (xpp.getName().equals("COUNTRY_ID")) { + stock.setCOUNTRY_ID(xpp.nextText()); + } } xpp.next(); } @@ -1464,4 +1469,37 @@ public class XMLHandlers { } return st; } + + public static MappingPlanogramStorewiseGetterSetter MAPPING_PLANOGRAM_STORE_WISE_XMLHandler(XmlPullParser xpp, int eventType) { + MappingPlanogramStorewiseGetterSetter st = new MappingPlanogramStorewiseGetterSetter(); + + try { + while (xpp.getEventType() != XmlPullParser.END_DOCUMENT) { + if (xpp.getEventType() == XmlPullParser.START_TAG) { + + if (xpp.getName().equals("META_DATA")) { + st.setTable_MAPPING_PLANOGRAM_STORE_WISE(xpp.nextText()); + } + if (xpp.getName().equals("STORE_ID")) { + st.setSTORE_ID(xpp.nextText()); + } + if (xpp.getName().equals("CATEGORY_ID")) { + st.setCATEGORY_ID(xpp.nextText()); + } + if (xpp.getName().equals("PLANOGRAM_IMAGE")) { + st.setPLANOGRAM_IMAGE(xpp.nextText()); + } + if (xpp.getName().equals("IMAGE_PATH")) { + st.setIMAGE_PATH(xpp.nextText()); + } + } + xpp.next(); + } + } catch (XmlPullParserException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return st; + } } diff --git a/GSKMTOrange/src/main/res/layout/activity_additional_promo_skuwise.xml b/GSKMTOrange/src/main/res/layout/activity_additional_promo_skuwise.xml new file mode 100644 index 0000000..ebedf3e --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/activity_additional_promo_skuwise.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/additionallistlayout.xml b/GSKMTOrange/src/main/res/layout/additionallistlayout.xml index 03e9720..e023948 100644 --- a/GSKMTOrange/src/main/res/layout/additionallistlayout.xml +++ b/GSKMTOrange/src/main/res/layout/additionallistlayout.xml @@ -1,15 +1,15 @@ + android:paddingLeft="5dp" + android:paddingRight="5dp"> diff --git a/GSKMTOrange/src/main/res/layout/content_additional_promo_skuwise.xml b/GSKMTOrange/src/main/res/layout/content_additional_promo_skuwise.xml new file mode 100644 index 0000000..9e4569a --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/content_additional_promo_skuwise.xml @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/layout/content_audit.xml b/GSKMTOrange/src/main/res/layout/content_audit.xml index 6ef9438..3559738 100644 --- a/GSKMTOrange/src/main/res/layout/content_audit.xml +++ b/GSKMTOrange/src/main/res/layout/content_audit.xml @@ -6,7 +6,8 @@ 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"> + tools:showIn="@layout/activity_audit" + android:background="@color/grey_background"> + > @@ -93,9 +92,8 @@ @@ -121,9 +119,8 @@ @@ -238,9 +235,8 @@ + > + + + + + + + + + android:background="@drawable/camera_orange_star_green" />