diff --git a/GSKMTOrange/build.gradle b/GSKMTOrange/build.gradle index 79406d5..992c541 100644 --- a/GSKMTOrange/build.gradle +++ b/GSKMTOrange/build.gradle @@ -1,7 +1,7 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 23 + compileSdkVersion 24 buildToolsVersion "24.0.1" useLibrary 'org.apache.http.legacy' @@ -35,11 +35,11 @@ dependencies { compile 'com.android.support:appcompat-v7:24.2.1' compile 'com.android.support:design:24.2.1' - compile 'com.google.android.gms:play-services-location:9.4.0' - compile 'com.google.android.gms:play-services-maps:9.4.0' + compile 'com.google.android.gms:play-services-location:9.8.0' + compile 'com.google.android.gms:play-services-maps:9.8.0' compile 'com.android.support:cardview-v7:24.2.1' - compile 'com.google.android.gms:play-services-appindexing:9.4.0' + compile 'com.google.android.gms:play-services-appindexing:9.8.0' compile 'com.android.support:support-v4:24.2.1' - testCompile 'junit:junit:4.12' compile 'com.google.code.gson:gson:2.7' + testCompile 'junit:junit:4.12' } diff --git a/GSKMTOrange/src/main/AndroidManifest.xml b/GSKMTOrange/src/main/AndroidManifest.xml index 5543158..55b2049 100644 --- a/GSKMTOrange/src/main/AndroidManifest.xml +++ b/GSKMTOrange/src/main/AndroidManifest.xml @@ -152,6 +152,10 @@ + diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java index 0c5c891..0cbbd36 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/MainActivity.java @@ -43,6 +43,7 @@ import cpm.com.gskmtorange.GetterSetter.CoverageBean; import cpm.com.gskmtorange.GetterSetter.StoreBean; import cpm.com.gskmtorange.constant.CommonString; import cpm.com.gskmtorange.dailyentry.AdditionalVisibility; +import cpm.com.gskmtorange.dailyentry.ServiceActivity; import cpm.com.gskmtorange.dailyentry.SettingsActivity; import cpm.com.gskmtorange.dailyentry.T2PComplianceActivity; import cpm.com.gskmtorange.dailyentry.StoreListActivity; @@ -223,16 +224,6 @@ public class MainActivity extends AppCompatActivity } - - - - /* - intent = new Intent(getBaseContext(), - UploadOptionActivity.class); - startActivity(intent); - - MainMenuActivity.this.finish();*/ - } } else { @@ -260,88 +251,28 @@ public class MainActivity extends AppCompatActivity } else if (id == R.id.nav_exit) { - - /* Intent startDownload = new Intent(this,AdditionalVisibility.class); - startActivity(startDownload); - - overridePendingTransition(R.anim.activity_in, R.anim.activity_out); -*/ finish(); - - } else if (id == R.id.nav_services) { - - /*Intent startDownload = new Intent(this,T2PComplianceActivity.class); - startActivity(startDownload); -*/ - //overridePendingTransition(R.anim.activity_in, R.anim.activity_out); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); } else if (id == R.id.nav_setting) { Intent startDownload = new Intent(this, SettingsActivity.class); startActivity(startDownload); + finish(); + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); //startActivity(new Intent(MainActivity.this, CategoryListActivity.class)); - } /*else if (id == R.id.nav_export) { + } else if (id == R.id.nav_services) { - AlertDialog.Builder builder1 = new AlertDialog.Builder(MainActivity.this); - builder1.setMessage("Are you sure you want to take the backup of your data") - .setCancelable(false) - .setPositiveButton("OK", new DialogInterface.OnClickListener() { - @SuppressWarnings("resource") - public void onClick(DialogInterface dialog, int id) { - try { - *//*File file = new File(Environment - .getExternalStorageDirectory(), - "capital_backup"); - if (!file.isDirectory()) { - file.mkdir(); - }*//* + Intent startservice = new Intent(this, ServiceActivity.class); + startActivity(startservice); - File sd = Environment.getExternalStorageDirectory(); - File data = Environment.getDataDirectory(); + overridePendingTransition(R.anim.activity_in, R.anim.activity_out); - if (sd.canWrite()) { - long date = System.currentTimeMillis(); - - SimpleDateFormat sdf = new SimpleDateFormat("MMM/dd/yy"); - String dateString = sdf.format(date); - - String currentDBPath = "//data//cpm.com.gskmtorange//databases//" + GSKOrangeDB.DATABASE_NAME; - String backupDBPath = "GSKMT_ORANGE_Database_backup" + dateString.replace('/', '-'); - - String path = Environment.getExternalStorageDirectory().getPath(); - - File currentDB = new File(data, currentDBPath); - File backupDB = new File(path, backupDBPath); - - //Snackbar.make(rec_store_data, "Database Exported Successfully", Snackbar.LENGTH_SHORT).show(); - Toast.makeText(MainActivity.this, "Database Exported Successfully", Toast.LENGTH_SHORT).show(); - - if (currentDB.exists()) { - @SuppressWarnings("resource") - FileChannel src = new FileInputStream(currentDB).getChannel(); - FileChannel dst = new FileOutputStream(backupDB).getChannel(); - dst.transferFrom(src, 0, src.size()); - src.close(); - dst.close(); - } - } - } catch (Exception e) { - System.out.println(e.getMessage()); - } - } - }) - .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int id) { - dialog.cancel(); - } - }); - AlertDialog alert1 = builder1.create(); - alert1.show(); - }*/ + } DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); drawer.closeDrawer(GravityCompat.START); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/SelectLanguageActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/SelectLanguageActivity.java index 93cffca..ddda97a 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/SelectLanguageActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/SelectLanguageActivity.java @@ -77,7 +77,7 @@ public class SelectLanguageActivity extends AppCompatActivity implements View.On intent.putExtra(CommonString.KEY_LOGIN_DATA, login_data); startActivity(intent); } else { - Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) + Snackbar.make(view, getString(R.string.select_language), Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } } diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/ServiceActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/ServiceActivity.java new file mode 100644 index 0000000..6d3002f --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/ServiceActivity.java @@ -0,0 +1,111 @@ +package cpm.com.gskmtorange.dailyentry; + +import android.content.Context; +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; +import android.support.design.widget.Snackbar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.view.MenuItem; +import android.view.View; + +import java.util.Locale; + +import cpm.com.gskmtorange.R; +import cpm.com.gskmtorange.constant.CommonString; +import cpm.com.gskmtorange.fragment.ServiceActivityFragment; + +public class ServiceActivity extends AppCompatActivity { + + private SharedPreferences preferences; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_service); + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + //preference data + preferences = PreferenceManager.getDefaultSharedPreferences(this); + + updateResources(getApplicationContext(),preferences.getString(CommonString.KEY_LANGUAGE, "")); + + /* ServiceActivityFragment fragment = new ServiceActivityFragment(); + getSupportFragmentManager().beginTransaction().add(R.id.fragment,fragment).commit();*/ + + FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + } + }); + } + + @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) { + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + } + + @Override + public void onBackPressed() { + super.onBackPressed(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + + @Override + protected void onResume() { + super.onResume(); + updateResources(getApplicationContext(),preferences.getString(CommonString.KEY_LANGUAGE, "")); + } + + private static boolean updateResources(Context context, String language) { + String lang; + + if(language.equalsIgnoreCase("English")){ + lang = "EN"; + } + else if(language.equalsIgnoreCase("UAE")) { + + lang = "AR"; + } else { + lang = "TR"; + } + + Locale locale = new Locale(lang); + Locale.setDefault(locale); + + Resources resources = context.getResources(); + + Configuration configuration = resources.getConfiguration(); + configuration.locale = locale; + + resources.updateConfiguration(configuration, resources.getDisplayMetrics()); + + return true; + } + +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/SettingsActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/SettingsActivity.java index f227b48..5545ec5 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/SettingsActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/SettingsActivity.java @@ -1,20 +1,38 @@ package cpm.com.gskmtorange.dailyentry; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.res.Configuration; +import android.content.res.Resources; import android.net.Uri; import android.os.Bundle; +import android.preference.PreferenceManager; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; +import android.view.MenuItem; import android.view.View; +import java.util.Locale; + +import cpm.com.gskmtorange.MainActivity; import cpm.com.gskmtorange.R; +import cpm.com.gskmtorange.constant.CommonString; import cpm.com.gskmtorange.fragment.SelectLanguageFragment; import cpm.com.gskmtorange.fragment.SettingsActivityFragment; public class SettingsActivity extends AppCompatActivity implements SelectLanguageFragment.OnFragmentInteractionListener { - boolean isSelected = false; + String selected_lang = "", culture_id, notice_url; + + FloatingActionButton fab; + + private SharedPreferences preferences; + + private SharedPreferences.Editor editor = null; @Override protected void onCreate(Bundle savedInstanceState) { @@ -23,20 +41,38 @@ public class SettingsActivity extends AppCompatActivity implements SelectLanguag Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); - SettingsActivityFragment fragment = new SettingsActivityFragment(); - getSupportFragmentManager().beginTransaction().add(R.id.fragment,fragment).commit(); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); - FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); + //preference data + preferences = PreferenceManager.getDefaultSharedPreferences(this); + editor = preferences.edit(); + + updateResources(getApplicationContext(),preferences.getString(CommonString.KEY_LANGUAGE, "")); + + /* SettingsActivityFragment fragment = new SettingsActivityFragment(); + getSupportFragmentManager().beginTransaction().add(R.id.fragment,fragment).commit();*/ + + fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - if(isSelected){ - finish(); - } - else { - Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) + if (selected_lang.equals("")) { + + Snackbar.make(view, getString(R.string.select_language), Snackbar.LENGTH_LONG) .setAction("Action", null).show(); + } else { + + updateResources(getApplicationContext(),selected_lang); + + editor.putString(CommonString.KEY_LANGUAGE, selected_lang); + editor.putString(CommonString.KEY_CULTURE_ID, culture_id); + editor.putString(CommonString.KEY_NOTICE_BOARD_LINK, notice_url); + editor.commit(); + + Intent startDownload = new Intent(getApplicationContext(), MainActivity.class); + startActivity(startDownload); + finish(); } @@ -45,7 +81,81 @@ public class SettingsActivity extends AppCompatActivity implements SelectLanguag } @Override - public void onFragmentInteraction(boolean isSelected) { - this.isSelected = isSelected; + public void onFragmentInteraction(String selected_lang, String culture_id, String notice_url) { + + this.selected_lang = selected_lang; + this.culture_id = culture_id; + this.notice_url = notice_url; + + if (!selected_lang.equals("")) { + fab.setVisibility(View.VISIBLE); + } + } + + @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) { + + Intent startDownload = new Intent(getApplicationContext(), MainActivity.class); + startActivity(startDownload); + + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + } + + @Override + public void onBackPressed() { + //super.onBackPressed(); + Intent startDownload = new Intent(getApplicationContext(), MainActivity.class); + startActivity(startDownload); + + finish(); + + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + + @Override + protected void onResume() { + super.onResume(); + updateResources(getApplicationContext(),preferences.getString(CommonString.KEY_LANGUAGE, "")); + } + + private static boolean updateResources(Context context, String language) { + String lang; + + if(language.equalsIgnoreCase("English")){ + lang = "EN"; + } + else if(language.equalsIgnoreCase("UAE")) { + + lang = "AR"; + } else { + lang = "TR"; + } + + Locale locale = new Locale(lang); + Locale.setDefault(locale); + + Resources resources = context.getResources(); + + Configuration configuration = resources.getConfiguration(); + configuration.locale = locale; + + resources.updateConfiguration(configuration, resources.getDisplayMetrics()); + + return true; } } 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 6ae10af..e3e85d7 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/StoreListActivity.java @@ -135,6 +135,12 @@ public class StoreListActivity extends AppCompatActivity { } + @Override + public void onBackPressed() { + super.onBackPressed(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will 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 2c026fe..9d7632c 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/T2PComplianceActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/T2PComplianceActivity.java @@ -516,7 +516,24 @@ public class T2PComplianceActivity extends AppCompatActivity { int id = item.getItemId(); if (id == android.R.id.home) { - finish(); + android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(T2PComplianceActivity.this); + builder.setTitle("Parinaam"); + builder.setMessage(getResources().getString(R.string.data_will_be_lost)).setCancelable(false) + .setPositiveButton("OK", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + + finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); + } + }) + .setNegativeButton("Cancel ", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + + } + }); + android.app.AlertDialog alert = builder.create(); + alert.show(); } //noinspection SimplifiableIfStatement @@ -647,6 +664,7 @@ public class T2PComplianceActivity extends AppCompatActivity { public void onClick(DialogInterface dialog, int id) { finish(); + overridePendingTransition(R.anim.activity_back_in, R.anim.activity_back_out); } }) .setNegativeButton("Cancel ", new DialogInterface.OnClickListener() { 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 f1a7f9c..187dfae 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/download/DownloadActivity.java @@ -246,7 +246,7 @@ public class DownloadActivity extends AppCompatActivity { return "BRAND_MASTER"; } - data.value = 30; + data.value = 25; data.name = "BRAND_MASTER "+getResources().getString(R.string.download_data); } publishProgress(data); @@ -281,7 +281,7 @@ public class DownloadActivity extends AppCompatActivity { } else { return "SUB_CATEGORY_MASTER"; } - data.value = 40; + data.value = 30; data.name = "SUB_CATEGORY_MASTER "+getResources().getString(R.string.download_data); } publishProgress(data); @@ -316,7 +316,7 @@ public class DownloadActivity extends AppCompatActivity { } else { return "CATEGORY_MASTER"; } - data.value = 50; + data.value = 35; data.name = "CATEGORY_MASTER "+getResources().getString(R.string.download_data); } publishProgress(data); @@ -351,7 +351,7 @@ public class DownloadActivity extends AppCompatActivity { } else { return "DISPLAY_MASTER"; } - data.value = 60; + data.value = 40; data.name = "DISPLAY_MASTER "+getResources().getString(R.string.download_data); } publishProgress(data); @@ -386,7 +386,7 @@ public class DownloadActivity extends AppCompatActivity { } else { return "MAPPING_STOCK"; } - data.value = 80; + data.value = 45; data.name = "MAPPING_STOCK "+getResources().getString(R.string.download_data); } publishProgress(data); @@ -421,7 +421,7 @@ public class DownloadActivity extends AppCompatActivity { } else { //return "MAPPING_T2P"; } - data.value = 100; + data.value = 50; data.name = "MAPPING_T2P "+getResources().getString(R.string.download_data); } publishProgress(data); @@ -455,7 +455,7 @@ public class DownloadActivity extends AppCompatActivity { } else { return "DISPLAY_CHECKLIST_MASTER"; } - data.value = 100; + data.value = 55; data.name = "DISPLAY_CHECKLIST_MASTER "+getResources().getString(R.string.download_data); } publishProgress(data); @@ -489,7 +489,7 @@ public class DownloadActivity extends AppCompatActivity { } else { //return "MAPPING_DISPLAY_CHECKLIST"; } - data.value = 100; + data.value = 60; data.name = "MAPPING_DISPLAY_CHECKLIST "+getResources().getString(R.string.download_data); } publishProgress(data); @@ -524,7 +524,7 @@ public class DownloadActivity extends AppCompatActivity { } else { return "NON_WORKING_REASON"; } - data.value = 100; + data.value = 65; data.name = "NON_WORKING_REASON "+getResources().getString(R.string.download_data); } publishProgress(data); @@ -559,7 +559,7 @@ public class DownloadActivity extends AppCompatActivity { /*} else { //return "MAPPING_PROMOTION"; }*/ - data.value = 100; + data.value = 70; data.name = "MAPPING_PROMOTION "+getResources().getString(R.string.download_data); } publishProgress(data); @@ -597,7 +597,7 @@ public class DownloadActivity extends AppCompatActivity { /*} else { //return "MAPPING_ADDITIONAL_PROMOTION"; }*/ - data.value = 100; + data.value = 75; data.name = "MAPPING_ADDITIONAL_PROMOTION "+getResources().getString(R.string.download_data); } publishProgress(data); @@ -633,7 +633,7 @@ public class DownloadActivity extends AppCompatActivity { } else { //return "STORE_PERFORMANCE"; } - data.value = 100; + data.value = 80; data.name = "STORE_PERFORMANCE Data Download"; } publishProgress(data); @@ -669,7 +669,7 @@ public class DownloadActivity extends AppCompatActivity { } else { //return "MAPPING_PLANOGRAM"; } - data.value = 100; + data.value = 85; data.name = "MAPPING_PLANOGRAM Data Download"; } publishProgress(data); @@ -797,7 +797,9 @@ public class DownloadActivity extends AppCompatActivity { super.onPostExecute(s); dialog.dismiss(); - finish(); + + showAlert(getString(R.string.data_downloaded_successfully)); + } } @@ -813,6 +815,7 @@ public class DownloadActivity extends AppCompatActivity { /* Intent i = new Intent(activity, StorelistActivity.class); activity.startActivity(i); activity.finish();*/ + finish(); } }); diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fragment/SelectLanguageFragment.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fragment/SelectLanguageFragment.java index 8e8b4c8..b57f7a1 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fragment/SelectLanguageFragment.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fragment/SelectLanguageFragment.java @@ -111,6 +111,17 @@ public class SelectLanguageFragment extends Fragment implements View.OnClickList btn_lang_1.setText(language.get(0)); btn_lang_2.setText(language.get(1)); + String lang = preferences.getString(CommonString.KEY_LANGUAGE, ""); + + if(lang.equals(language.get(0))){ + btn_lang_1.setBackgroundColor(getResources().getColor(R.color.colorPrimary)); + btn_lang_2.setBackgroundColor(getResources().getColor(R.color.grey_background)); + } + else if(lang.equals(language.get(1))){ + btn_lang_1.setBackgroundColor(getResources().getColor(R.color.grey_background)); + btn_lang_2.setBackgroundColor(getResources().getColor(R.color.colorPrimary)); + } + btn_lang_1.setOnClickListener(this); btn_lang_2.setOnClickListener(this); } @@ -118,10 +129,10 @@ public class SelectLanguageFragment extends Fragment implements View.OnClickList } // TODO: Rename method, update argument and hook method into UI event - public void onButtonPressed(boolean selected_flag) { + public void onButtonPressed(String selected_lang, String culture_id, String notice_url) { if (mListener != null) { - mListener.onFragmentInteraction(selected_flag); + mListener.onFragmentInteraction(selected_lang,culture_id,notice_url); } } @@ -150,7 +161,7 @@ public class SelectLanguageFragment extends Fragment implements View.OnClickList case R.id.btn_language_one: //selected_flag = true; - onButtonPressed(true); + onButtonPressed(language.get(0),culture_id.get(0),login_data.getNOTICE_URL().get(0)); updateResources(getActivity(), language.get(0)); @@ -168,7 +179,7 @@ public class SelectLanguageFragment extends Fragment implements View.OnClickList //selected_flag = true; - onButtonPressed(true); + onButtonPressed(language.get(1),culture_id.get(1),login_data.getNOTICE_URL().get(1)); updateResources(getActivity(), language.get(1)); @@ -196,7 +207,7 @@ public class SelectLanguageFragment extends Fragment implements View.OnClickList */ public interface OnFragmentInteractionListener { // TODO: Update argument type and name - void onFragmentInteraction(boolean flag); + void onFragmentInteraction(String lang, String culture_id, String notice); } private void getDataFromSharedPreferences(){ diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fragment/ServiceActivityFragment.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fragment/ServiceActivityFragment.java new file mode 100644 index 0000000..985c532 --- /dev/null +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fragment/ServiceActivityFragment.java @@ -0,0 +1,203 @@ +package cpm.com.gskmtorange.fragment; + +import android.content.DialogInterface; +import android.os.Environment; +import android.support.v4.app.Fragment; +import android.os.Bundle; +import android.support.v7.app.AlertDialog; +import android.support.v7.widget.CardView; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; +import android.widget.Toast; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.nio.channels.FileChannel; +import java.text.SimpleDateFormat; +import java.util.ArrayList; + +import cpm.com.gskmtorange.Database.GSKOrangeDB; +import cpm.com.gskmtorange.R; +import cpm.com.gskmtorange.dailyentry.ServiceActivity; + +/** + * A placeholder fragment containing a simple view. + */ +public class ServiceActivityFragment extends Fragment { + + public ServiceActivityFragment() { + } + + ArrayList serviceList; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_service, container, false); + + RecyclerView rec = (RecyclerView) view.findViewById(R.id.rec_settings); + + ServiceGetterSetter service = new ServiceGetterSetter(); + service.setName(getString(R.string.export_database)); + service.setIcon(R.mipmap.entry_grey); + //SelectLanguageFragment selectLanguageFragment = new SelectLanguageFragment(); + service.setFragment(null); + + serviceList = new ArrayList<>(); + serviceList.add(service); + + rec.setLayoutManager(new LinearLayoutManager(getActivity())); + ServiceAdapter serviceAdapter = new ServiceAdapter(); + rec.setAdapter(serviceAdapter); + + return view; + } + + class ServiceAdapter extends RecyclerView.Adapter{ + + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.settings_item_layout, parent, false); + return new ViewHolder(view); + } + + @Override + public void onBindViewHolder(ViewHolder holder, int position) { + final ServiceGetterSetter mItem = serviceList.get(position); + holder.tv_settings.setText(mItem.getName()); + + holder.cardView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Fragment nextFrag= mItem.getFragment(); + + if(nextFrag != null){ + getActivity().getSupportFragmentManager().beginTransaction() + .replace(R.id.fragment, nextFrag,"Settings") + .addToBackStack(null) + .commit(); + } + else{ + showExportDialog(); + } + + + } + }); + } + + @Override + public int getItemCount() { + return serviceList.size(); + } + + class ViewHolder extends RecyclerView.ViewHolder{ + + public CardView cardView; + public TextView tv_settings; + + public ViewHolder(View itemView) { + super(itemView); + cardView = (CardView) itemView.findViewById(R.id.card_layout); + tv_settings = (TextView) itemView.findViewById(R.id.tv_settings); + } + } + } + + class ServiceGetterSetter{ + + String name; + int icon; + Fragment fragment; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getIcon() { + return icon; + } + + public void setIcon(int icon) { + this.icon = icon; + } + + + public Fragment getFragment() { + return fragment; + } + + public void setFragment(Fragment fragment) { + this.fragment = fragment; + } + } + + public void showExportDialog(){ + + AlertDialog.Builder builder1 = new AlertDialog.Builder(getActivity()); + builder1.setMessage("Are you sure you want to take the backup of your data") + .setCancelable(false) + .setPositiveButton("OK", new DialogInterface.OnClickListener() { + @SuppressWarnings("resource") + public void onClick(DialogInterface dialog, int id) { + try { + File file = new File(Environment + .getExternalStorageDirectory(), + "gsk_orange_backup"); + if (!file.isDirectory()) { + file.mkdir(); + } + + File sd = Environment.getExternalStorageDirectory(); + File data = Environment.getDataDirectory(); + + if (sd.canWrite()) { + long date = System.currentTimeMillis(); + + SimpleDateFormat sdf = new SimpleDateFormat("MMM/dd/yy"); + String dateString = sdf.format(date); + + String currentDBPath = "//data//cpm.com.gskmtorange//databases//" + GSKOrangeDB.DATABASE_NAME; + String backupDBPath = "GSKMT_ORANGE_Database_backup" + dateString.replace('/', '-'); + + String path = Environment.getExternalStorageDirectory().getPath()+ "/gsk_orange_backup"; + + File currentDB = new File(data, currentDBPath); + File backupDB = new File(path, backupDBPath); + + //Snackbar.make(rec_store_data, "Database Exported Successfully", Snackbar.LENGTH_SHORT).show(); + Toast.makeText(getActivity(), getString(R.string.data_exported_successfully), Toast.LENGTH_SHORT).show(); + + if (currentDB.exists()) { + @SuppressWarnings("resource") + FileChannel src = new FileInputStream(currentDB).getChannel(); + FileChannel dst = new FileOutputStream(backupDB).getChannel(); + dst.transferFrom(src, 0, src.size()); + src.close(); + dst.close(); + } + } + } catch (Exception e) { + System.out.println(e.getMessage()); + } + } + }) + .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + dialog.cancel(); + } + }); + AlertDialog alert1 = builder1.create(); + alert1.show(); + } +} diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fragment/SettingsActivityFragment.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fragment/SettingsActivityFragment.java index 1d68584..bbdeaf7 100644 --- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fragment/SettingsActivityFragment.java +++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/fragment/SettingsActivityFragment.java @@ -79,7 +79,7 @@ public class SettingsActivityFragment extends Fragment { public void onClick(View v) { Fragment nextFrag= mItem.getFragment(); getActivity().getSupportFragmentManager().beginTransaction() - .replace(R.id.fragment, nextFrag,"Settings") + .add(R.id.fragment, nextFrag,"Settings") .addToBackStack(null) .commit(); } diff --git a/GSKMTOrange/src/main/res/layout/activity_service.xml b/GSKMTOrange/src/main/res/layout/activity_service.xml new file mode 100644 index 0000000..0c93ec7 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/activity_service.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + diff --git a/GSKMTOrange/src/main/res/layout/activity_settings.xml b/GSKMTOrange/src/main/res/layout/activity_settings.xml index 15fe336..d308ca1 100644 --- a/GSKMTOrange/src/main/res/layout/activity_settings.xml +++ b/GSKMTOrange/src/main/res/layout/activity_settings.xml @@ -25,10 +25,11 @@ + app:srcCompat="@mipmap/tick" /> diff --git a/GSKMTOrange/src/main/res/layout/content_service.xml b/GSKMTOrange/src/main/res/layout/content_service.xml new file mode 100644 index 0000000..c0947f9 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/content_service.xml @@ -0,0 +1,9 @@ + diff --git a/GSKMTOrange/src/main/res/layout/fragment_select_language.xml b/GSKMTOrange/src/main/res/layout/fragment_select_language.xml index bf946b4..6e87033 100644 --- a/GSKMTOrange/src/main/res/layout/fragment_select_language.xml +++ b/GSKMTOrange/src/main/res/layout/fragment_select_language.xml @@ -16,6 +16,7 @@ android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" app:layout_behavior="@string/appbar_scrolling_view_behavior" + android:background="@color/grey_background" > + card_view:cardCornerRadius="5dp" + app:cardElevation="2dp"> + + + + + diff --git a/GSKMTOrange/src/main/res/layout/service_item_layout.xml b/GSKMTOrange/src/main/res/layout/service_item_layout.xml new file mode 100644 index 0000000..323ba99 --- /dev/null +++ b/GSKMTOrange/src/main/res/layout/service_item_layout.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GSKMTOrange/src/main/res/menu/menu_.xml b/GSKMTOrange/src/main/res/menu/menu_.xml new file mode 100644 index 0000000..7b0ac1e --- /dev/null +++ b/GSKMTOrange/src/main/res/menu/menu_.xml @@ -0,0 +1,10 @@ + + + diff --git a/GSKMTOrange/src/main/res/values/dimens.xml b/GSKMTOrange/src/main/res/values/dimens.xml index 7f965e1..46979ce 100644 --- a/GSKMTOrange/src/main/res/values/dimens.xml +++ b/GSKMTOrange/src/main/res/values/dimens.xml @@ -7,7 +7,7 @@ 16dp 16dp - 10dp + 5dp 20sp 16sp diff --git a/GSKMTOrange/src/main/res/values/strings.xml b/GSKMTOrange/src/main/res/values/strings.xml index 01796e9..3860734 100644 --- a/GSKMTOrange/src/main/res/values/strings.xml +++ b/GSKMTOrange/src/main/res/values/strings.xml @@ -196,7 +196,7 @@ Planogram - SettingsActivity + Settings OK Are you sure you want to save @@ -214,5 +214,12 @@ Hello blank fragment CheckoutActivity Checkout Success + Service + + Data downloaded successfully + Export Database + Database Exported Successfully + +