diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/activity/AboutBuildmLearn.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/activity/AboutBuildmLearn.java index feb18eed..6bc8cffc 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/activity/AboutBuildmLearn.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/activity/AboutBuildmLearn.java @@ -32,11 +32,11 @@ protected void onCreate(Bundle savedInstanceState) { pInfo = getPackageManager().getPackageInfo(getPackageName(), 0); String version = pInfo.versionName; assert findViewById(R.id.app_version) != null; - ((TextView) findViewById(R.id.app_version)).setText(String.format(Locale.ENGLISH, "Version: %s", version)); + ((TextView) findViewById(R.id.app_version)).setText(String.format(Locale.ENGLISH, getString(R.string.version)+"%s", version)); } catch (PackageManager.NameNotFoundException e) { assert findViewById(R.id.app_version) != null; assert ( findViewById(R.id.app_version)) != null; - ((TextView) findViewById(R.id.app_version)).setText("Version: 1.0"); + ((TextView) findViewById(R.id.app_version)).setText(getString(R.string.version)+"1.0"); e.printStackTrace(); } diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/activity/DeepLinkerActivity.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/activity/DeepLinkerActivity.java index bcbaf985..3898ea6b 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/activity/DeepLinkerActivity.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/activity/DeepLinkerActivity.java @@ -7,6 +7,7 @@ import android.util.Log; import android.widget.Toast; +import org.buildmlearn.toolkit.R; import org.buildmlearn.toolkit.constant.Constants; import org.buildmlearn.toolkit.model.SavedProject; import org.buildmlearn.toolkit.model.Template; @@ -57,7 +58,7 @@ protected void onCreate(Bundle savedInstanceState) { return; } } - Toast.makeText(this, "Invalid project file", Toast.LENGTH_SHORT).show(); + Toast.makeText(this, getString(R.string.project_invalid), Toast.LENGTH_SHORT).show(); finish(); } catch (ParserConfigurationException | IOException | SAXException e) { e.printStackTrace(); diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/activity/TemplateEditor.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/activity/TemplateEditor.java index 6cf96c5e..9245c367 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/activity/TemplateEditor.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/activity/TemplateEditor.java @@ -83,7 +83,7 @@ public class TemplateEditor extends AppCompatActivity implements TemplateEditorI private final Handler handlerToast = new Handler() { public void handleMessage(Message message) { if (message.arg1 == -1) { - Toast.makeText(TemplateEditor.this, "Build unsuccessful", Toast.LENGTH_SHORT).show(); + Toast.makeText(TemplateEditor.this, getString(R.string.build_fail), Toast.LENGTH_SHORT).show(); } } }; @@ -188,15 +188,15 @@ private void saveApk() { signer.setSignerThreadListener(new SignerThread.OnSignComplete() { @Override public void onSuccess(final String path) { - Log.d(TAG, "APK generated"); + Log.d(TAG, getString(R.string.apk_generated)); mApkGenerationDialog.dismiss(); runOnUiThread(new Runnable() { @Override public void run() { AlertDialog dialog = new AlertDialog.Builder(TemplateEditor.this) - .setTitle("Apk Generated") - .setMessage("Apk file saved at " + path + "\nFind it any time under Saved APKs\nInstall now?") - .setNegativeButton("later", new DialogInterface.OnClickListener() { + .setTitle(getString(R.string.apk_generated)) + .setMessage(getString(R.string.apk_saved_at) + path) + .setPositiveButton(getString(R.string.info_template_ok), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); @@ -256,7 +256,7 @@ private void shareApk() { signer.setSignerThreadListener(new SignerThread.OnSignComplete() { @Override public void onSuccess(final String path) { - Log.d(TAG, "APK generated"); + Log.d(TAG, getString(R.string.apk_generated)); mApkGenerationDialog.dismiss(); Uri fileUri = Uri.fromFile(new File(path)); @@ -327,7 +327,7 @@ protected void onCreate(Bundle savedInstanceState) { toolkit = (ToolkitApplication) getApplicationContext(); templateId = getIntent().getIntExtra(Constants.TEMPLATE_ID, -1); if (templateId == -1) { - Toast.makeText(this, "Invalid template ID, closing Template Editor activity", Toast.LENGTH_LONG).show(); + Toast.makeText(this, getString(R.string.invalid_template_id), Toast.LENGTH_LONG).show(); finish(); } @@ -804,6 +804,87 @@ private String saveProject() { } catch (ParserConfigurationException e) { e.printStackTrace(); + EditText authorEditText = (EditText) findViewById(R.id.author_name); + titleEditText = (EditText) findViewById(R.id.template_title); + assert findViewById(R.id.author_name) != null; + assert ( findViewById(R.id.author_name)) != null; + String author = ((EditText) findViewById(R.id.author_name)).getText().toString(); + assert findViewById(R.id.template_title) != null; + assert ( findViewById(R.id.template_title)) != null; + String title = ((EditText) findViewById(R.id.template_title)).getText().toString(); + if ("".equals(author)) { + assert authorEditText != null; + authorEditText.setError(getString(R.string.author_name_error)); + } else if ("".equals(title)) { + assert titleEditText != null; + titleEditText.setError(getResources().getString(R.string.title_error)); + } else if (!Character.isLetterOrDigit(author.charAt(0))) { + assert authorEditText != null; + authorEditText.setError(getResources().getString(R.string.valid_msg)); + } else if (!Character.isLetterOrDigit(title.charAt(0))) { + assert titleEditText != null; + titleEditText.setError(getString(R.string.title_valid)); + } else { + + DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder docBuilder; + try { + + docBuilder = docFactory.newDocumentBuilder(); + Document doc = docBuilder.newDocument(); + Element rootElement = doc.createElement("buildmlearn_application"); + Attr attr = doc.createAttribute("type"); + attr.setValue(getResources().getString(template.getType())); + rootElement.setAttributeNode(attr); + + Element authorElement = doc.createElement("author"); + rootElement.appendChild(authorElement); + + Element nameElement = doc.createElement("name"); + nameElement.appendChild(doc.createTextNode(author)); + + authorElement.appendChild(nameElement); + + Element titleElement = doc.createElement("title"); + titleElement.appendChild(doc.createTextNode(title)); + rootElement.appendChild(titleElement); + + doc.appendChild(rootElement); + Element dataElement = doc.createElement("data"); + rootElement.appendChild(dataElement); + if (selectedTemplate.getItems(doc).size() == 0 || (selectedTemplate.getItems(doc).size() < 2 && (templateId == 5 || templateId == 7))) { + Toast.makeText(this, getString(R.string.no_data), Toast.LENGTH_SHORT).show(); + return null; + } + if (selectedTemplate.getItems(doc).get(0).getTagName().equals("item") && (templateId == 5 || templateId == 7)) { + Toast.makeText(this, getString(R.string.no_data_add_meta), Toast.LENGTH_SHORT).show(); + return null; + } + for (Element item : selectedTemplate.getItems(doc)) { + dataElement.appendChild(item); + } + if (oldFileName != null) { + File tempFile = new File(oldFileName); + tempFile.delete(); + oldFileName = null; + } + String saveFileName = title + " by " + author + ".buildmlearn"; + saveFileName = saveFileName.replaceAll(" ", "-"); + + + boolean isSaved=FileUtils.saveXmlFile(toolkit.getSavedDir(), saveFileName, doc); + if(isSaved) { + oldFileName = toolkit.getSavedDir() + saveFileName; + Toast.makeText(this, getString(R.string.project_saved), Toast.LENGTH_SHORT).show(); + return oldFileName; + } + else { + titleEditText.setError(getString(R.string.file_already)); + return getString(R.string.file_already); + } + + } catch (ParserConfigurationException e) { + e.printStackTrace(); } } } catch (NullPointerException e) { @@ -814,14 +895,14 @@ private String saveProject() { @Override public void onBackPressed() { + if (selectedView == null) { super.onBackPressed(); if (saveDraft() != null) - Toast.makeText(getApplicationContext(), "Saved in Draft!", Toast.LENGTH_SHORT).show(); + Toast.makeText(getApplicationContext(), getString(R.string.saved_in_drafts), Toast.LENGTH_SHORT).show(); } else { restoreColorSchema(); } - } /** @@ -865,11 +946,11 @@ private String saveDraft() { rootElement.appendChild(dataElement); if (selectedTemplate.getItems(doc).size() == 0) { - Toast.makeText(this, "Unable to perform action: No Data", Toast.LENGTH_SHORT).show(); + Toast.makeText(this, getString(R.string.no_data), Toast.LENGTH_SHORT).show(); return null; } if (selectedTemplate.getItems(doc).get(0).getTagName().equals("item") && (templateId == 5 || templateId == 7)) { - Toast.makeText(this, "Unable to perform action: No Meta Details", Toast.LENGTH_SHORT).show(); + Toast.makeText(this, getString(R.string.no_data_add_meta), Toast.LENGTH_SHORT).show(); return null; } if (templateId == 7 && selectedTemplate.getItems(doc).size() == 2) { @@ -924,10 +1005,12 @@ private String saveDraft() { private void startSimulator() { String message = saveProject(); if (message == null || message.equals("")) { - Toast.makeText(this, "Build unsuccessful", Toast.LENGTH_SHORT).show(); + Toast.makeText(this, getString(R.string.build_fail), Toast.LENGTH_SHORT).show(); return; - } else if ("File already exists".equals(message)) { - titleEditText.setError("Template Already exists"); + } + else if(getString(R.string.file_already).equals(message)) + { + titleEditText.setError(getString(R.string.temp_already)); return; } Intent simulatorIntent = new Intent(getApplicationContext(), Simulator.class); diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/adapter/DraftProjectAdapter.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/adapter/DraftProjectAdapter.java index eb67c8cb..44bc3f3a 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/adapter/DraftProjectAdapter.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/adapter/DraftProjectAdapter.java @@ -115,8 +115,8 @@ public View getView(int position, View convertView, ViewGroup parent) { } SavedProject projectData = getItem(position); - holder.draftSubtitle.setText(String.format(Locale.ENGLISH, "Last Modified: %s", projectData.getTime())); - holder.draftTitle.setText(String.format(Locale.ENGLISH, "Drafted on %s", projectData.getDate())); + holder.draftSubtitle.setText(String.format(Locale.ENGLISH, mContext.getString(R.string.last_mod)+"%s", projectData.getTime())); + holder.draftTitle.setText(String.format(Locale.ENGLISH, mContext.getString(R.string.drafted_on)+"%s", projectData.getDate())); holder.draftIcon.setText("D"); convertView.setTag(holder); if (projectData.isSelected()) diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/comprehensiontemplate/fragment/LastFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/comprehensiontemplate/fragment/LastFragment.java index 4a8b183a..2ccb4c32 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/comprehensiontemplate/fragment/LastFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/comprehensiontemplate/fragment/LastFragment.java @@ -62,7 +62,7 @@ public boolean onMenuItemClick(MenuItem menuItem) { new AlertDialog.Builder(getActivity()); builder.setTitle(String.format("%1$s", getString(R.string.comprehension_about_us))); builder.setMessage(getResources().getText(R.string.comprehension_about_text)); - builder.setPositiveButton("OK", null); + builder.setPositiveButton(getString(R.string.info_template_ok), null); AlertDialog welcomeAlert = builder.create(); welcomeAlert.show(); assert welcomeAlert.findViewById(android.R.id.message) != null; @@ -79,9 +79,9 @@ public boolean onMenuItemClick(MenuItem menuItem) { db.close(); - ((TextView) rootView.findViewById(R.id.correct)).setText(String.format(Locale.getDefault(), "Total Correct : %1$d", stat[0])); - ((TextView) rootView.findViewById(R.id.wrong)).setText(String.format(Locale.getDefault(), "Total Wrong : %1$d", stat[1])); - ((TextView) rootView.findViewById(R.id.un_answered)).setText(String.format(Locale.getDefault(), "Total Unanswered : %1$d", stat[2])); + ((TextView) rootView.findViewById(R.id.correct)).setText(String.format(Locale.getDefault(), getString(R.string.total_correct)+"%1$d", stat[0])); + ((TextView) rootView.findViewById(R.id.wrong)).setText(String.format(Locale.getDefault(), getString(R.string.total_wrong)+"%1$d", stat[1])); + ((TextView) rootView.findViewById(R.id.un_answered)).setText(String.format(Locale.getDefault(), getString(R.string.total_unanswered)+"%1$d", stat[2])); rootView.findViewById(R.id.restart).setOnClickListener(new View.OnClickListener() { @Override diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/comprehensiontemplate/fragment/MainFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/comprehensiontemplate/fragment/MainFragment.java index 8ca6b4c2..badbf92c 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/comprehensiontemplate/fragment/MainFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/comprehensiontemplate/fragment/MainFragment.java @@ -63,7 +63,7 @@ public boolean onMenuItemClick(MenuItem menuItem) { new AlertDialog.Builder(getActivity()); builder.setTitle(String.format("%1$s", getString(R.string.comprehension_about_us))); builder.setMessage(getResources().getText(R.string.comprehension_about_text)); - builder.setPositiveButton("OK", null); + builder.setPositiveButton(getString(R.string.info_template_ok), null); AlertDialog welcomeAlert = builder.create(); welcomeAlert.show(); assert welcomeAlert.findViewById(android.R.id.message) != null; diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/comprehensiontemplate/fragment/QuestionFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/comprehensiontemplate/fragment/QuestionFragment.java index b00b531f..70993d9c 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/comprehensiontemplate/fragment/QuestionFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/comprehensiontemplate/fragment/QuestionFragment.java @@ -63,7 +63,7 @@ public boolean onMenuItemClick(MenuItem menuItem) { new AlertDialog.Builder(getActivity()); builder.setTitle(String.format("%1$s", getString(R.string.comprehension_about_us))); builder.setMessage(getResources().getText(R.string.comprehension_about_text)); - builder.setPositiveButton("OK", null); + builder.setPositiveButton(getString(R.string.info_template_ok), null); AlertDialog welcomeAlert = builder.create(); welcomeAlert.show(); assert welcomeAlert.findViewById(android.R.id.message) != null; @@ -152,7 +152,7 @@ public boolean onMenuItemClick(MenuItem item) { }); } - ((TextView) rootView.findViewById(R.id.question_title)).setText(String.format(Locale.getDefault(), "Question No : %1$s", questionId)); + ((TextView) rootView.findViewById(R.id.question_title)).setText(String.format(Locale.getDefault(), getString(R.string.question_no)+"%1$s", questionId)); ((TextView) rootView.findViewById(R.id.question)).setText(question); if (optionOne != null) { rootView.findViewById(R.id.radioButton1).setVisibility(View.VISIBLE); diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/dictationtemplate/fragment/DetailActivityFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/dictationtemplate/fragment/DetailActivityFragment.java index 16a106dc..00234fb2 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/dictationtemplate/fragment/DetailActivityFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/dictationtemplate/fragment/DetailActivityFragment.java @@ -97,7 +97,7 @@ public boolean onMenuItemClick(MenuItem menuItem) { new AlertDialog.Builder(getActivity()); builder.setTitle(String.format("%1$s", getString(R.string.comprehension_about_us))); builder.setMessage(getResources().getText(R.string.about_text_video)); - builder.setPositiveButton("OK", null); + builder.setPositiveButton(getString(R.string.info_template_ok), null); AlertDialog welcomeAlert = builder.create(); welcomeAlert.show(); assert welcomeAlert.findViewById(android.R.id.message) != null; @@ -175,7 +175,7 @@ public void onLoadFinished(Loader loader, final Cursor data) { public void onClick(View v) { progress = new ProgressDialog(getActivity()); progress.setCancelable(false); - progress.setMessage("Loading TTS Engine..."); + progress.setMessage(getString(R.string.loading_tts)); progress.show(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { @@ -248,10 +248,10 @@ public void onInit(int status) { int result = tts.setLanguage(Locale.US); if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) { - Toast.makeText(getContext(), "US English is not supported. Playing in device's default installed language.", Toast.LENGTH_SHORT).show(); + Toast.makeText(getContext(), getString(R.string.tts_lang_not_supported), Toast.LENGTH_SHORT).show(); } } else { - Toast.makeText(getContext(), "Initialization Failed!", Toast.LENGTH_SHORT).show(); + Toast.makeText(getContext(), getString(R.string.tts_failed), Toast.LENGTH_SHORT).show(); } } }); diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/dictationtemplate/fragment/MainActivityFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/dictationtemplate/fragment/MainActivityFragment.java index aa928431..06285c89 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/dictationtemplate/fragment/MainActivityFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/dictationtemplate/fragment/MainActivityFragment.java @@ -84,7 +84,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, rootView = inflater.inflate(R.layout.fragment_main_dict, container, false); Toolbar toolbar = (Toolbar) rootView.findViewById(R.id.card_toolbar); - toolbar.setTitle("List of Passages :"); + toolbar.setTitle(getString(R.string.dict_toolbar_title)); Toolbar maintoolbar = (Toolbar) rootView.findViewById(R.id.toolbar_main); final String result[] = DataUtils.readTitleAuthor(); @@ -99,7 +99,7 @@ public boolean onMenuItemClick(MenuItem menuItem) { new AlertDialog.Builder(getActivity()); builder.setTitle(String.format("%1$s", getString(R.string.about_us_dict))); builder.setMessage(getResources().getText(R.string.about_text_dict)); - builder.setPositiveButton("OK", null); + builder.setPositiveButton(getString(R.string.info_template_ok), null); AlertDialog welcomeAlert = builder.create(); welcomeAlert.show(); assert welcomeAlert.findViewById(android.R.id.message) != null; diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/dictationtemplate/fragment/ResultActivityFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/dictationtemplate/fragment/ResultActivityFragment.java index 2c13c4e9..6f88d356 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/dictationtemplate/fragment/ResultActivityFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/dictationtemplate/fragment/ResultActivityFragment.java @@ -90,7 +90,7 @@ public boolean onMenuItemClick(MenuItem menuItem) { new AlertDialog.Builder(getActivity()); builder.setTitle(String.format("%1$s", getString(R.string.comprehension_about_us))); builder.setMessage(getResources().getText(R.string.about_text_video)); - builder.setPositiveButton("OK", null); + builder.setPositiveButton(getString(R.string.info_template_ok), null); AlertDialog welcomeAlert = builder.create(); welcomeAlert.show(); assert welcomeAlert.findViewById(android.R.id.message) != null; @@ -150,7 +150,7 @@ public void onLoadFinished(Loader loader, final Cursor data) { String result[] = obj.diff_prettyHtml(llDiffs); int numTWords = passage.split(" ").length; - ((TextView) rootView.findViewById(R.id.score)).setText(String.format(Locale.ENGLISH, "SCORE : %s / %d", result[1], numTWords)); + ((TextView) rootView.findViewById(R.id.score)).setText(String.format(Locale.ENGLISH, getString(R.string.match_score)+"%s / %d", result[1], numTWords)); ((TextView) rootView.findViewById(R.id.checked_text)).setText(Html.fromHtml(result[0])); diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/flashcardtemplate/fragment/LastFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/flashcardtemplate/fragment/LastFragment.java index 66a0a798..7f6e2fab 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/flashcardtemplate/fragment/LastFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/flashcardtemplate/fragment/LastFragment.java @@ -48,7 +48,7 @@ public boolean onMenuItemClick(MenuItem menuItem) { new AlertDialog.Builder(getActivity()); builder.setTitle(String.format("%1$s", getString(R.string.comprehension_about_us))); builder.setMessage(getResources().getText(R.string.comprehension_about_text)); - builder.setPositiveButton("OK", null); + builder.setPositiveButton(getString(R.string.info_template_ok), null); AlertDialog welcomeAlert = builder.create(); welcomeAlert.show(); assert welcomeAlert.findViewById(android.R.id.message) != null; diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/flashcardtemplate/fragment/MainFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/flashcardtemplate/fragment/MainFragment.java index 87d08f15..0b206c18 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/flashcardtemplate/fragment/MainFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/flashcardtemplate/fragment/MainFragment.java @@ -77,7 +77,7 @@ public boolean onMenuItemClick(MenuItem menuItem) { new AlertDialog.Builder(getActivity()); builder.setTitle(String.format("%1$s", getString(R.string.comprehension_about_us))); builder.setMessage(getResources().getText(R.string.comprehension_about_text)); - builder.setPositiveButton("OK", null); + builder.setPositiveButton(getString(R.string.info_template_ok), null); AlertDialog welcomeAlert = builder.create(); welcomeAlert.show(); assert welcomeAlert.findViewById(android.R.id.message) != null; @@ -150,11 +150,11 @@ public boolean onMenuItemClick(MenuItem item) { String base64 = flashCursor.getString(Constants.COL_BASE64); assert rootView.findViewById(R.id.intro_number) != null; - ((TextView) rootView.findViewById(R.id.intro_number)).setText(String.format(Locale.ENGLISH, "Card #%d of %d", Integer.parseInt(FlashId), numFlash)); + ((TextView) rootView.findViewById(R.id.intro_number)).setText(String.format(Locale.ENGLISH, getString(R.string.card)+"#%d of %d", Integer.parseInt(FlashId), numFlash)); assert rootView.findViewById(R.id.question) != null; ((TextView) rootView.findViewById(R.id.question)).setText(question); assert rootView.findViewById(R.id.hint) != null; - ((TextView) rootView.findViewById(R.id.hint)).setText(String.format(Locale.ENGLISH, "Hint : %s", hint)); + ((TextView) rootView.findViewById(R.id.hint)).setText(String.format(Locale.ENGLISH, getString(R.string.hint)+"%s", hint)); Button prv = (Button) rootView.findViewById(R.id.previous); Button flip = (Button) rootView.findViewById(R.id.flip); diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/DraftsFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/DraftsFragment.java index 9ab36303..267e7af8 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/DraftsFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/DraftsFragment.java @@ -168,7 +168,7 @@ public void onItemClick(AdapterView parent, View view, int position, long id) return; } } - Toast.makeText(getActivity(), "Invalid project file", Toast.LENGTH_SHORT).show(); + Toast.makeText(getActivity(), getString(R.string.project_invalid), Toast.LENGTH_SHORT).show(); } private void setAdapter(DraftProjectAdapter adapter) { @@ -390,11 +390,11 @@ private void deleteItems() { } if(deleted) if(selectedPositions.size()==1) - Toast.makeText(activity,"Project Successfully Deleted", Toast.LENGTH_SHORT).show(); + Toast.makeText(activity,getString(R.string.project_deleted), Toast.LENGTH_SHORT).show(); else - Toast.makeText(activity,selectedPositions.size()+" Projects Successfully Deleted", Toast.LENGTH_SHORT).show(); + Toast.makeText(activity,selectedPositions.size()+getString(R.string.project_deleted), Toast.LENGTH_SHORT).show(); else - Toast.makeText(activity, "Project Deletion Failed!", Toast.LENGTH_SHORT).show(); + Toast.makeText(activity, getString(R.string.project_deletion_failed), Toast.LENGTH_SHORT).show(); } /** diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/LoadApkFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/LoadApkFragment.java index 45c86cae..ba534c7c 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/LoadApkFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/LoadApkFragment.java @@ -364,7 +364,7 @@ public void onClick(View v) { actionBar.setCustomView(R.layout.search_bar); actionBar.setDisplayShowTitleEnabled(false); editSearch = (EditText) actionBar.getCustomView().findViewById(R.id.editSearch); - editSearch.setHint("Enter Apk name"); + editSearch.setHint(getString(R.string.ask_apk_name)); editSearch.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { @@ -475,11 +475,11 @@ private void deleteItems() { } if(deleted) if(selectedPositions.size()==1) - Toast.makeText(activity,"Project Successfully Deleted", Toast.LENGTH_SHORT).show(); + Toast.makeText(activity,getString(R.string.project_deleted), Toast.LENGTH_SHORT).show(); else - Toast.makeText(activity,selectedPositions.size()+" Projects Successfully Deleted", Toast.LENGTH_SHORT).show(); + Toast.makeText(activity,selectedPositions.size()+getString(R.string.project_deleted), Toast.LENGTH_SHORT).show(); else - Toast.makeText(activity, "Project Deletion Failed!", Toast.LENGTH_SHORT).show(); + Toast.makeText(activity, getString(R.string.project_deletion_failed), Toast.LENGTH_SHORT).show(); } /** diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/LoadProjectFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/LoadProjectFragment.java index ab3f7d52..4969a953 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/LoadProjectFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/LoadProjectFragment.java @@ -214,7 +214,7 @@ public void onItemClick(AdapterView parent, View view, int position, long id) return; } } - Toast.makeText(getActivity(), "Invalid project file", Toast.LENGTH_SHORT).show(); + Toast.makeText(getActivity(), getString(R.string.project_invalid), Toast.LENGTH_SHORT).show(); } private void setAdapter(SavedProjectAdapter adapter) { @@ -517,11 +517,11 @@ private void deleteItems() { } if(deleted) if(selectedPositions.size()==1) - Toast.makeText(activity,"Project Successfully Deleted", Toast.LENGTH_SHORT).show(); + Toast.makeText(activity,getString(R.string.project_deleted), Toast.LENGTH_SHORT).show(); else - Toast.makeText(activity,selectedPositions.size()+" Projects Successfully Deleted", Toast.LENGTH_SHORT).show(); + Toast.makeText(activity,selectedPositions.size()+getString(R.string.project_deleted), Toast.LENGTH_SHORT).show(); else - Toast.makeText(activity, "Project Deletion Failed!", Toast.LENGTH_SHORT).show(); + Toast.makeText(activity, getString(R.string.project_deletion_failed), Toast.LENGTH_SHORT).show(); } /** diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/SettingsFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/SettingsFragment.java index 857fd449..415fa698 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/SettingsFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/SettingsFragment.java @@ -343,8 +343,8 @@ private class AsyncTaskRunner extends AsyncTask { @Override protected void onPreExecute() { progressDialog = new ProgressDialog(getActivity()); - progressDialog.setTitle("Deleting..."); - progressDialog.setMessage("Deleting Temporary file"); + progressDialog.setTitle(getString(R.string.deleting)); + progressDialog.setMessage(getString(R.string.delete_temp_files)); progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); progressDialog.setCancelable(false); progressDialog.show(); @@ -361,10 +361,9 @@ protected Float doInBackground(String... params) { protected void onPostExecute(Float size) { progressDialog.dismiss(); if (size != 0) { - Toast.makeText(getActivity(), "Deleted " + size + " MB.", Toast.LENGTH_SHORT).show(); + Toast.makeText(getActivity(), getString(R.string.deleted) + size + " MB.", Toast.LENGTH_SHORT).show(); } else { - mToast.setText("No Temp Files Found!"); - mToast.show(); + Toast.makeText(getActivity(), getString(R.string.no_temp_files), Toast.LENGTH_SHORT).show(); } } } diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/infotemplate/fragment/DetailActivityFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/infotemplate/fragment/DetailActivityFragment.java index 8dea9ffe..66e27838 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/infotemplate/fragment/DetailActivityFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/infotemplate/fragment/DetailActivityFragment.java @@ -82,7 +82,7 @@ public boolean onMenuItemClick(MenuItem menuItem) { new AlertDialog.Builder(getActivity()); builder.setTitle(String.format("%1$s", getString(R.string.comprehension_about_us))); builder.setMessage(getResources().getText(R.string.about_text_video)); - builder.setPositiveButton("OK", null); + builder.setPositiveButton(getString(R.string.info_template_ok), null); AlertDialog welcomeAlert = builder.create(); welcomeAlert.show(); assert welcomeAlert.findViewById(android.R.id.message) != null; diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/infotemplate/fragment/MainActivityFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/infotemplate/fragment/MainActivityFragment.java index dc49ba62..e8d9aa9c 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/infotemplate/fragment/MainActivityFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/infotemplate/fragment/MainActivityFragment.java @@ -94,7 +94,7 @@ public boolean onMenuItemClick(MenuItem menuItem) { new AlertDialog.Builder(getActivity()); builder.setTitle(String.format("%1$s", getString(R.string.comprehension_about_us))); builder.setMessage(getResources().getText(R.string.about_text_info)); - builder.setPositiveButton("OK", null); + builder.setPositiveButton(getString(R.string.info_template_ok), null); AlertDialog welcomeAlert = builder.create(); welcomeAlert.show(); assert welcomeAlert.findViewById(android.R.id.message) != null; diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/learnspelling/fragment/LastFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/learnspelling/fragment/LastFragment.java index 32dec44b..97919d5b 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/learnspelling/fragment/LastFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/learnspelling/fragment/LastFragment.java @@ -57,7 +57,7 @@ public boolean onMenuItemClick(MenuItem menuItem) { new AlertDialog.Builder(getActivity()); builder.setTitle(String.format("%1$s", getString(R.string.comprehension_about_us))); builder.setMessage(getResources().getText(R.string.comprehension_about_text)); - builder.setPositiveButton("OK", null); + builder.setPositiveButton(getString(R.string.info_template_ok), null); AlertDialog welcomeAlert = builder.create(); welcomeAlert.show(); assert welcomeAlert.findViewById(android.R.id.message) != null; @@ -77,11 +77,11 @@ public boolean onMenuItemClick(MenuItem menuItem) { int stat[] = db.getStatistics(); assert rootView.findViewById(R.id.correct) != null; - ((TextView) rootView.findViewById(R.id.correct)).setText(String.format(Locale.getDefault(), "Total Correct : %1$d", stat[0])); + ((TextView) rootView.findViewById(R.id.correct)).setText(String.format(Locale.getDefault(),getString(R.string.learn_spell_total_correct) +"%1$d", stat[0])); assert rootView.findViewById(R.id.wrong) != null; - ((TextView) rootView.findViewById(R.id.wrong)).setText(String.format(Locale.getDefault(), "Total Wrong : %1$d", stat[1])); + ((TextView) rootView.findViewById(R.id.wrong)).setText(String.format(Locale.getDefault(), getString(R.string.learn_spell_total_wrong)+"%1$d", stat[1])); assert rootView.findViewById(R.id.un_answered) != null; - ((TextView) rootView.findViewById(R.id.un_answered)).setText(String.format(Locale.getDefault(), "Total Unanswered : %1$d", stat[2])); + ((TextView) rootView.findViewById(R.id.un_answered)).setText(String.format(Locale.getDefault(), getString(R.string.learn_spell_total_unanswered)+"%1$d", stat[2])); rootView.findViewById(R.id.restart).setOnClickListener(new View.OnClickListener() { @Override diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/learnspelling/fragment/MainFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/learnspelling/fragment/MainFragment.java index 68e6058a..816d6b29 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/learnspelling/fragment/MainFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/learnspelling/fragment/MainFragment.java @@ -83,7 +83,7 @@ public boolean onMenuItemClick(MenuItem menuItem) { new AlertDialog.Builder(getActivity()); builder.setTitle(String.format("%1$s", getString(R.string.comprehension_about_us))); builder.setMessage(getResources().getText(R.string.comprehension_about_text)); - builder.setPositiveButton("OK", null); + builder.setPositiveButton(getString(R.string.info_template_ok), null); AlertDialog welcomeAlert = builder.create(); welcomeAlert.show(); assert welcomeAlert.findViewById(android.R.id.message) != null; @@ -154,9 +154,11 @@ public boolean onMenuItemClick(MenuItem item) { mSbSpeechRate = (SeekBar) rootView.findViewById(R.id.seek_bar); TextView mTvWordNumber = (TextView) rootView.findViewById(R.id.intro_number); - mBtnSpell.setEnabled(false); - mBtnSkip.setEnabled(false); - mTvWordNumber.setText(String.format(Locale.ENGLISH, "Word #%d of %d", Integer.parseInt(spellId), numQues)); + + mBtn_Spell.setEnabled(false); + mBtn_Skip.setEnabled(false); + mTv_WordNumber.setText(String.format(Locale.ENGLISH, getString(R.string.learn_spell_word)+"#%d of %d", Integer.parseInt(spellId), numQues)); + Cursor spellCursor = db.getSpellingCursorById(Integer.parseInt(spellId)); spellCursor.moveToFirst(); @@ -210,7 +212,7 @@ public void onClick(View v) { progress = new ProgressDialog(mContext); progress.setCancelable(false); - progress.setMessage("Loading TTS Engine..."); + progress.setMessage(getString(R.string.loading_tts)); progress.show(); @@ -265,7 +267,7 @@ public void onClick(View v) { private void submit(String spell) { String input = mEtSpelling.getText().toString().trim(); if (input.length() == 0) { - Toast.makeText(mContext, "Please enter the spelling", + Toast.makeText(mContext, getString(R.string.learn_spell_enter_spell), Toast.LENGTH_SHORT).show(); } else { @@ -319,10 +321,10 @@ public void onInit(int status) { int result = tts.setLanguage(Locale.US); if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) { - Toast.makeText(mContext, "US English is not supported. Playing in device's default installed language.", Toast.LENGTH_SHORT).show(); + Toast.makeText(mContext, getString(R.string.tts_lang_not_supported), Toast.LENGTH_SHORT).show(); } } else { - Toast.makeText(mContext, "Initialization Failed!", Toast.LENGTH_SHORT).show(); + Toast.makeText(mContext, getString(R.string.tts_failed), Toast.LENGTH_SHORT).show(); } } }); diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/matchtemplate/fragment/DetailFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/matchtemplate/fragment/DetailFragment.java index 80093ab9..bf898880 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/matchtemplate/fragment/DetailFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/matchtemplate/fragment/DetailFragment.java @@ -127,7 +127,7 @@ public boolean onMenuItemClick(MenuItem menuItem) { new AlertDialog.Builder(getActivity()); builder.setTitle(String.format("%1$s", getString(R.string.comprehension_about_us))); builder.setMessage(getResources().getText(R.string.comprehension_about_text)); - builder.setPositiveButton("OK", null); + builder.setPositiveButton(getString(R.string.info_template_ok), null); AlertDialog welcomeAlert = builder.create(); welcomeAlert.show(); assert welcomeAlert.findViewById(android.R.id.message) != null; @@ -167,7 +167,7 @@ public boolean onMenuItemClick(MenuItem menuItem) { listViewB.addFooterView(footer_B); listViewB.setAdapter(matchListAdapterB); - ((TextView) rootView.findViewById(R.id.score)).setText(String.format(Locale.ENGLISH, "Score : %d of %d", countScore, matchListA.size())); + ((TextView) rootView.findViewById(R.id.score)).setText(String.format(Locale.ENGLISH, getString(R.string.match_score)+"%d of %d", countScore, matchListA.size())); if (savedInstanceState != null && savedInstanceState.containsKey(SELECTED_KEY_A) && savedInstanceState.containsKey(SELECTED_KEY_B)) { mPositionA = savedInstanceState.getInt(SELECTED_KEY_A); diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/matchtemplate/fragment/MainFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/matchtemplate/fragment/MainFragment.java index 31bfb41b..3e903157 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/matchtemplate/fragment/MainFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/matchtemplate/fragment/MainFragment.java @@ -144,7 +144,7 @@ public boolean onMenuItemClick(MenuItem menuItem) { new AlertDialog.Builder(getActivity()); builder.setTitle(String.format("%1$s", getString(R.string.comprehension_about_us))); builder.setMessage(getResources().getText(R.string.comprehension_about_text)); - builder.setPositiveButton("OK", null); + builder.setPositiveButton(getString(R.string.info_template_ok), null); AlertDialog welcomeAlert = builder.create(); welcomeAlert.show(); assert welcomeAlert.findViewById(android.R.id.message) != null; diff --git a/source-code/app/src/main/res/values/strings.xml b/source-code/app/src/main/res/values/strings.xml index 68dbf725..cd3e5182 100644 --- a/source-code/app/src/main/res/values/strings.xml +++ b/source-code/app/src/main/res/values/strings.xml @@ -395,6 +395,7 @@ Enter Second List Item Edit two matching topics below Title + Score : Enter Title @@ -427,6 +428,7 @@ Enter a valid option before marking it as answer. Enter a title. APK file saved in Downloads folder + APK saved at APK Generated APK file not generated SD card not found. APK file saved in internal storage. @@ -436,6 +438,14 @@ Enter a valid option before marking it as answer. Long press to edit this item Question %1$d + Invalid template ID, closing Template Editor activity + Author name is required + Unable to perform action: No Data + Unable to perform action: Add Meta Details + Project successfully saved + File Already exists + Saved in Draft! + Template Already exists Enter name Name must start with alphanumeric character @@ -445,6 +455,29 @@ Title must start with alphanumeric Enter valid name Two or more options are same. + Total Correct : + Total Wrong : + Total Unanswered : + Word + Loading TTS Engine… + US English is not supported. Playing in device\'s default installed language. + Initialization Failed! + Please enter the spelling + Invalid project file + Project Successfully Deleted + Project Deletion Failed + Enter Apk name + Deleting… + No Temp Files Found! + Deleted + Card + Hint : + List of Passages : + Question No : + Last Modified: + Drafted on + Version: + Build unsuccessful Time can\'t be zero Rate Toolkit