Multiple Line support, Fixed issus with appcompat 22

This commit is contained in:
mmk2410 2015-08-03 15:36:59 +02:00
parent 4f25216ce8
commit adccce2f14
20 changed files with 962 additions and 652 deletions

View file

@ -8,7 +8,7 @@
</configuration> </configuration>
</facet> </facet>
</component> </component>
<component name="NewModuleRootManager" inherit-compiler-output="true"> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
<exclude-output /> <exclude-output />
<content url="file://$MODULE_DIR$"> <content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.gradle" /> <excludeFolder url="file://$MODULE_DIR$/.gradle" />

View file

@ -12,10 +12,12 @@
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" /> <option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" /> <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" /> <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugTest" /> <option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugTest" />
<option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugTestSources" /> <option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugTestSources" />
<option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugTestSources" /> <afterSyncTasks>
<task>generateDebugSources</task>
<task>generateDebugTestSources</task>
</afterSyncTasks>
<option name="ALLOW_USER_CONFIGURATION" value="false" /> <option name="ALLOW_USER_CONFIGURATION" value="false" />
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" /> <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" /> <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
@ -24,7 +26,7 @@
</configuration> </configuration>
</facet> </facet>
</component> </component>
<component name="NewModuleRootManager" inherit-compiler-output="false"> <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/build/intermediates/classes/debug" /> <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
<output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" /> <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
<exclude-output /> <exclude-output />
@ -85,15 +87,15 @@
<excludeFolder url="file://$MODULE_DIR$/build/outputs" /> <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" /> <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content> </content>
<orderEntry type="jdk" jdkName="Android API 22 Platform" jdkType="Android SDK" /> <orderEntry type="jdk" jdkName="Android API 22 Platform (1)" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="appcompat-v7-22.0.0" level="project" />
<orderEntry type="library" exported="" name="MaterialNavigationDrawer-1.3.3" level="project" /> <orderEntry type="library" exported="" name="MaterialNavigationDrawer-1.3.3" level="project" />
<orderEntry type="library" exported="" name="material-ripple-1.0.1" level="project" /> <orderEntry type="library" exported="" name="material-ripple-1.0.1" level="project" />
<orderEntry type="library" exported="" name="recyclerview-v7-21.0.3" level="project" /> <orderEntry type="library" exported="" name="support-v4-22.2.1" level="project" />
<orderEntry type="library" exported="" name="library-1.0.24" level="project" /> <orderEntry type="library" exported="" name="library-1.0.26" level="project" />
<orderEntry type="library" exported="" name="support-v4-22.0.0" level="project" /> <orderEntry type="library" exported="" name="recyclerview-v7-22.2.1" level="project" />
<orderEntry type="library" exported="" name="cardview-v7-21.0.3" level="project" /> <orderEntry type="library" exported="" name="support-annotations-22.2.1" level="project" />
<orderEntry type="library" exported="" name="support-annotations-22.0.0" level="project" /> <orderEntry type="library" exported="" name="cardview-v7-22.2.1" level="project" />
<orderEntry type="library" exported="" name="appcompat-v7-22.2.1" level="project" />
</component> </component>
</module> </module>

View file

@ -26,10 +26,10 @@ repositories {
dependencies { dependencies {
compile fileTree(dir: 'libs', include: ['*.jar']) compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.+' compile 'com.android.support:appcompat-v7:22.2.1'
compile 'it.neokree:MaterialNavigationDrawer:1.3.3' compile 'it.neokree:MaterialNavigationDrawer:1.3.3'
compile 'com.android.support:cardview-v7:21.0.3' compile 'com.android.support:cardview-v7:22.2.1'
compile 'com.android.support:support-v4:22.0.+' compile 'com.android.support:support-v4:22.2.1'
compile 'com.android.support:recyclerview-v7:21.0.+' compile 'com.android.support:recyclerview-v7:22.2.1'
compile 'com.anjlab.android.iab.v3:library:1.0.+@aar' compile 'com.anjlab.android.iab.v3:library:1.0.+@aar'
} }

View file

@ -25,28 +25,17 @@ import android.content.ClipData;
import android.content.ClipboardManager; import android.content.ClipboardManager;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources; import android.content.res.Resources;
import android.graphics.Point;
import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.widget.CardView; import android.support.v4.app.FragmentActivity;
import android.util.DisplayMetrics; import android.util.DisplayMetrics;
import android.view.Display;
import android.view.Surface;
import android.view.View; import android.view.View;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodManager;
import android.widget.EditText; import android.widget.EditText;
import android.widget.TextView;
import com.anjlab.android.iab.v3.BillingProcessor; import com.anjlab.android.iab.v3.BillingProcessor;
import com.anjlab.android.iab.v3.TransactionDetails; import com.anjlab.android.iab.v3.TransactionDetails;
import de.marcelkapfer.morseconverter.engine.DecodeNormalMorseManager;
import de.marcelkapfer.morseconverter.engine.DecodeWrittenMorseManager;
import de.marcelkapfer.morseconverter.engine.EncodeNormalMorseManager;
import de.marcelkapfer.morseconverter.engine.EncodeWrittenMorseManager;
import de.marcelkapfer.morseconverter.fragments.AboutFragment; import de.marcelkapfer.morseconverter.fragments.AboutFragment;
import de.marcelkapfer.morseconverter.fragments.MainFragment; import de.marcelkapfer.morseconverter.fragments.MainFragment;
import de.marcelkapfer.morseconverter.fragments.MorseFragment; import de.marcelkapfer.morseconverter.fragments.MorseFragment;
@ -119,20 +108,19 @@ public class MainActivity extends MaterialNavigationDrawer implements BillingPro
super.onDrawerClosed(view); super.onDrawerClosed(view);
} }
public void onDrawerOpened(View view){ public void onDrawerOpened(View view) {
super.onDrawerOpened(view);
// This closes the soft keyboard, when the drawer is opened // This closes the soft keyboard, when the drawer is opened
try { try {
closeKeyboard(); closeKeyboard();
} catch (Exception e){ } catch (Exception e){
e.printStackTrace(); e.printStackTrace();
} }
super.onDrawerOpened(view);
} }
}; };
this.setDrawerListener(mDrawerToggle); this.setDrawerListener(mDrawerToggle);
} }
// IBillingHandler implementation // IBillingHandler implementation
@ -176,11 +164,10 @@ public class MainActivity extends MaterialNavigationDrawer implements BillingPro
public void onDestroy() { public void onDestroy() {
if (bp != null) if (bp != null)
bp.release(); bp.release();
super.onDestroy(); super.onDestroy();
} }
public void closeKeyboard(){ public void closeKeyboard() {
InputMethodManager imm = (InputMethodManager) getSystemService( InputMethodManager imm = (InputMethodManager) getSystemService(
Context.INPUT_METHOD_SERVICE); Context.INPUT_METHOD_SERVICE);
if (getCurrentSection() == writtenMorse) { if (getCurrentSection() == writtenMorse) {
@ -192,187 +179,17 @@ public class MainActivity extends MaterialNavigationDrawer implements BillingPro
} }
} }
public void normalMorseEncode(View view){ public static void share(String string, FragmentActivity fragmentActivity){
try{
EditText input = (EditText) findViewById(R.id.editTextNormalMorse);
TextView output = (TextView) findViewById(R.id.outputNormalMorse);
CardView cardView = (CardView) findViewById(R.id.cardViewNormalMorseOutput);
if(cardView.getVisibility() == View.INVISIBLE){
cardView.setVisibility(View.VISIBLE);
}
output.setText(EncodeNormalMorseManager.getEncodedString(input.getText().toString()));
closeKeyboard();
} catch (Exception e){
e.printStackTrace();
}
}
public void normalMorseDecode(View view){
try {
EditText input = (EditText) findViewById(R.id.editTextNormalMorse);
TextView output = (TextView) findViewById(R.id.outputNormalMorse);
CardView cardView = (CardView) findViewById(R.id.cardViewNormalMorseOutput);
if(cardView.getVisibility() == View.INVISIBLE){
cardView.setVisibility(View.VISIBLE);
}
output.setText(DecodeNormalMorseManager.getDecodedString(input.getText().toString()));
closeKeyboard();
} catch (Exception e){
e.printStackTrace();
}
}
public void writtenMorseEncode(View view){
try {
EditText input = (EditText) findViewById(R.id.editTextWrittenMorse);
TextView output = (TextView) findViewById(R.id.outputWrittenMorse);
CardView cardView = (CardView) findViewById(R.id.cardViewWrittenMorseOutput);
if(cardView.getVisibility() == View.INVISIBLE){
cardView.setVisibility(View.VISIBLE);
}
output.setText(EncodeWrittenMorseManager.getEncodedString(input.getText().toString()));
closeKeyboard();
} catch (Exception e){
e.printStackTrace();
}
}
public void writtenMorseDecode(View view){
try {
EditText input = (EditText) findViewById(R.id.editTextWrittenMorse);
TextView output = (TextView) findViewById(R.id.outputWrittenMorse);
CardView cardView = (CardView) findViewById(R.id.cardViewWrittenMorseOutput);
if(cardView.getVisibility() == View.INVISIBLE){
cardView.setVisibility(View.VISIBLE);
}
output.setText(DecodeWrittenMorseManager.getDecodedString(input.getText().toString()));
closeKeyboard();
} catch (Exception e){
e.printStackTrace();
}
}
//called when clicking on the version entry in the about fragment
//opens the app page (de.marcelkapfer.morseconverter)
public void versionEntry(View view){
try{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=de.marcelkapfer.morseconverter"));
startActivity(browserIntent);
} catch(Exception e){
e.printStackTrace();
}
}
//called when clicking on the developer entry in the about fragment
//opens the gplus profile of +MarcelMichaelKapfer
public void developerEntry(View view){
try{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://plus.google.com/+MarcelMichaelKapfer/posts"));
startActivity(browserIntent);
} catch(Exception e){
e.printStackTrace();
}
}
//called when clicking on the website entry in the about fragment
//opens marcel-kapfer.de/writtenmorse
public void websiteEntry(View view){
try{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://marcel-kapfer.de/writtenmorse/"));
startActivity(browserIntent);
} catch(Exception e){
e.printStackTrace();
}
}
//called when clicking on the contact entry in the about fragment
//opens mail app with mail to marcelmichaelkapfer@yahoo.co.nz
public void contactEntry(View view){
try{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("mailto:marcelmichaelkapfer@yahoo.co.nz"));
startActivity(browserIntent);
} catch(Exception e){
e.printStackTrace();
}
}
//called when clicking on the license entry in the about fragment
//opens the license web page
public void licenseEntry(View view){
try{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://gnu.org/copyleft/gpl.html"));
startActivity(browserIntent);
} catch(Exception e){
e.printStackTrace();
}
}
//called when clicking on the developer entry in the about fragment
//opens mail app with mail to marcelmichaelkapfer@yahoo.co.nz
public void bugEntry(View view){
try{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("mailto:marcelmichaelkapfer@yahoo.co.nz?subject=Bug Report"));
startActivity(browserIntent);
} catch(Exception e){
e.printStackTrace();
}
}
//called when clicking on the developer entry in the about fragment
//opens the howto webpage
public void howtoEntry(View view){
try{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://marcel-kapfer.de/writtenmorse/#howto_android"));
startActivity(browserIntent);
} catch(Exception e){
e.printStackTrace();
}
}
//called when clicking on the developer entry in the about fragment
//opens mail app with mail to marcelmichaelkapfer@yahoo.co.nz
public void missingCodeEntry(View view){
try{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("mailto:marcelmichaelkapfer@yahoo.co.nz?subject=Missing Code"));
startActivity(browserIntent);
} catch(Exception e){
e.printStackTrace();
}
}
public void shareWrittenMorse(View view){
TextView message = (TextView) findViewById(R.id.outputWrittenMorse);
share(message.getText().toString());
}
public void shareNormalMorse(View view){
TextView message = (TextView) findViewById(R.id.outputNormalMorse);
share(message.getText().toString());
}
public void share(String string){
Intent sendIntent = new Intent(); Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND); sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, string); sendIntent.putExtra(Intent.EXTRA_TEXT, string);
sendIntent.setType("text/plain"); sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent, getResources().getText(R.string.send_to))); fragmentActivity.startActivity(Intent.createChooser(sendIntent, fragmentActivity.getResources().getText(R.string.send_to)));
} }
public void copyWrittenMorse(View view){ public static void copy(String string, FragmentActivity fragmentActivity){
TextView message = (TextView) findViewById(R.id.outputWrittenMorse); ClipboardManager clipboard = (ClipboardManager) fragmentActivity.getSystemService(Context.CLIPBOARD_SERVICE);
copy(message.getText().toString());
}
public void copyNormalMorse(View view){
TextView message = (TextView) findViewById(R.id.outputNormalMorse);
copy(message.getText().toString());
}
public void copy(String string){
ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("Message", string); ClipData clip = ClipData.newPlainText("Message", string);
clipboard.setPrimaryClip(clip); clipboard.setPrimaryClip(clip);
} }
} }

View file

@ -1,7 +1,7 @@
package de.marcelkapfer.morseconverter.engine; package de.marcelkapfer.morseconverter.engine;
/* /*
This is a Android application for converting writtenMorse and normal morse code. This is a Java application for converting writtenMorse and normal morse code.
Copyright (C) 2014-2015 Marcel Michael Kapfer Copyright (C) 2014-2015 Marcel Michael Kapfer
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
@ -63,6 +63,9 @@ public class DecodeNormalMorseManager {
} }
output.append(" "); output.append(" ");
input.delete(0, 1); input.delete(0, 1);
} else if(input.toString().startsWith("\n")) {
output.append("\n");
input.deleteCharAt(input.indexOf("\n"));
} else if (input.toString().startsWith("A")) { } else if (input.toString().startsWith("A")) {
output.append(".- "); output.append(".- ");
input.delete(0, 1); input.delete(0, 1);
@ -232,7 +235,7 @@ public class DecodeNormalMorseManager {
output.append("...-..- "); output.append("...-..- ");
input.delete(0, 1); input.delete(0, 1);
} else { } else {
output.replace(0, output.length(), "Code not listed or wrong."); return "Code not listed or wrong.";
} }
} }
if (output.toString().endsWith(" ")) { if (output.toString().endsWith(" ")) {

View file

@ -1,7 +1,7 @@
package de.marcelkapfer.morseconverter.engine; package de.marcelkapfer.morseconverter.engine;
/* /*
This is a Android application for converting writtenMorse and normal morse code. This is a Java application for converting writtenMorse and normal morse code.
Copyright (C) 2014-2015 Marcel Michael Kapfer Copyright (C) 2014-2015 Marcel Michael Kapfer
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
@ -56,7 +56,7 @@ public class DecodeWrittenMorseManager {
} else if (input.toString().equals("WORD SPACE")) { } else if (input.toString().equals("WORD SPACE")) {
output.replace(0, output.length(), "+"); output.replace(0, output.length(), "+");
} else { } else {
for (int c = input.length(); c > 0; c--) { while (input.length() > 0) {
if (input.toString().startsWith(" ")) { if (input.toString().startsWith(" ")) {
if (output.toString().endsWith("#")) { if (output.toString().endsWith("#")) {
@ -64,6 +64,9 @@ public class DecodeWrittenMorseManager {
} }
output.append("+"); output.append("+");
input.delete(0, 1); input.delete(0, 1);
} else if (input.toString().startsWith("\n")) {
output.append("\n");
input.deleteCharAt(input.indexOf("\n"));
} else if (input.toString().startsWith("A")) { } else if (input.toString().startsWith("A")) {
output.append("01#"); output.append("01#");
input.delete(0, 1); input.delete(0, 1);
@ -233,7 +236,7 @@ public class DecodeWrittenMorseManager {
output.append("0001001#"); output.append("0001001#");
input.delete(0, 1); input.delete(0, 1);
} else { } else {
output.replace(0, output.length(), "Code not listed or wrong."); return "Code not listed or wrong.";
} }
} }
if (output.toString().endsWith("#")) { if (output.toString().endsWith("#")) {

View file

@ -1,7 +1,7 @@
package de.marcelkapfer.morseconverter.engine; package de.marcelkapfer.morseconverter.engine;
/* /*
This is a Android application for converting writtenMorse and normal morse code. This is a Java application for converting writtenMorse and normal morse code.
Copyright (C) 2014-2015 Marcel Michael Kapfer Copyright (C) 2014-2015 Marcel Michael Kapfer
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
@ -49,7 +49,12 @@ public class EncodeNormalMorseManager {
if (inputToSign.toString().startsWith(" ")) { if (inputToSign.toString().startsWith(" ")) {
output.append(" "); output.append(" ");
inputToSign.delete(d, d + 7); inputToSign.delete(d, d + 7);
} else if (inputToSign.toString().substring(d, d + 3).equals(" ")) { }
if (inputToSign.toString().startsWith("\n")) {
output.append("\n");
inputToSign.deleteCharAt(inputToSign.indexOf("\n"));
}
if (inputToSign.toString().substring(d, d + 3).equals(" ")) {
if (d == 0) { if (d == 0) {
inputToSign.delete(0, 3); inputToSign.delete(0, 3);
} else { } else {
@ -62,7 +67,7 @@ public class EncodeNormalMorseManager {
d++; d++;
} }
} }
if (sign.toString().equals(".-")) { if(sign.toString().equals(".-")) {
output.append("A"); output.append("A");
} else if (sign.toString().equals("-...")) { } else if (sign.toString().equals("-...")) {
output.append("B"); output.append("B");
@ -115,9 +120,9 @@ public class EncodeNormalMorseManager {
} else if (sign.toString().equals("--..")) { } else if (sign.toString().equals("--..")) {
output.append("Z"); output.append("Z");
} else if (sign.toString().equals("-----")) { } else if (sign.toString().equals("-----")) {
output.append(". (zero)"); output.append("0");
} else if (sign.toString().equals(".----")) { } else if (sign.toString().equals(".----")) {
output.append("-"); output.append("1");
} else if (sign.toString().equals("..---")) { } else if (sign.toString().equals("..---")) {
output.append("2"); output.append("2");
} else if (sign.toString().equals("...--")) { } else if (sign.toString().equals("...--")) {
@ -187,7 +192,7 @@ public class EncodeNormalMorseManager {
} else if (sign.toString().equals("........")) { } else if (sign.toString().equals("........")) {
output.append("Error"); output.append("Error");
} else { } else {
output.replace(0, output.length(), "Code not listed or wrong."); return "Code not listed or wrong.";
} }
} }
return output.toString(); return output.toString();

View file

@ -1,7 +1,7 @@
package de.marcelkapfer.morseconverter.engine; package de.marcelkapfer.morseconverter.engine;
/* /*
This is a Android application for converting writtenMorse and normal morse code. This is a Java application for converting writtenMorse and normal morse code.
Copyright (C) 2014-2015 Marcel Michael Kapfer Copyright (C) 2014-2015 Marcel Michael Kapfer
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
@ -46,12 +46,21 @@ public class EncodeWrittenMorseManager {
StringBuffer sign = new StringBuffer(); StringBuffer sign = new StringBuffer();
while (signFull) { while (signFull) {
if (inputToSign.toString().charAt(d) == '+' if (inputToSign.toString().charAt(d) == '+'
|| inputToSign.toString().charAt(d) == '#') { || inputToSign.toString().charAt(d) == '#'
|| inputToSign.toString().startsWith("\n")) {
if (d == 0) { if (d == 0) {
if (inputToSign.toString().startsWith("+")) { if (inputToSign.toString().startsWith("+")) {
output.append(" "); output.append(" ");
inputToSign.deleteCharAt(0);
}
if (inputToSign.toString().startsWith("#")) {
inputToSign.deleteCharAt(0);
}
// Line break support
if (inputToSign.toString().startsWith("\n")) { // Detect line break
output.append("\n"); // Add line break to the output
inputToSign.deleteCharAt(inputToSign.indexOf("\n")); // Remove line break from the input
} }
inputToSign.deleteCharAt(0);
} else { } else {
sign.replace(0, sign.length(), inputToSign sign.replace(0, sign.length(), inputToSign
.toString().substring(0, d)); .toString().substring(0, d));
@ -115,7 +124,7 @@ public class EncodeWrittenMorseManager {
} else if (sign.toString().equals("1100")) { } else if (sign.toString().equals("1100")) {
output.append("Z"); output.append("Z");
} else if (sign.toString().equals("11111")) { } else if (sign.toString().equals("11111")) {
output.append("0 (zero)"); output.append("0");
} else if (sign.toString().equals("01111")) { } else if (sign.toString().equals("01111")) {
output.append("1"); output.append("1");
} else if (sign.toString().equals("00111")) { } else if (sign.toString().equals("00111")) {
@ -187,7 +196,7 @@ public class EncodeWrittenMorseManager {
} else if (sign.toString().equals("00000000")) { } else if (sign.toString().equals("00000000")) {
output.append("Error"); output.append("Error");
} else { } else {
output.replace(0, output.length(), "Code not listed or wrong."); return "Code not listed or wrong.";
} }
} }
return output.toString(); return output.toString();

View file

@ -21,11 +21,14 @@ package de.marcelkapfer.morseconverter.fragments;
*/ */
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.LinearLayout;
import de.marcelkapfer.morseconverter.R; import de.marcelkapfer.morseconverter.R;
@ -37,4 +40,171 @@ public class AboutFragment extends Fragment{
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
return inflater.inflate(R.layout.fragment_about, container, false); return inflater.inflate(R.layout.fragment_about, container, false);
} }
@Override
public void onStart(){
LinearLayout versionEntryButton = (LinearLayout) getActivity().findViewById(R.id.versionEntry);
versionEntryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
versionEntry();
}
});
LinearLayout developerEntryButton = (LinearLayout) getActivity().findViewById(R.id.developerEntry);
developerEntryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
developerEntry();
}
});
LinearLayout websiteEntryButton = (LinearLayout) getActivity().findViewById(R.id.websiteEntry);
websiteEntryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
websiteEntry();
}
});
LinearLayout contactEntryButton = (LinearLayout) getActivity().findViewById(R.id.contactEntry);
contactEntryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
contactEntry();
}
});
LinearLayout licenseEntryButton = (LinearLayout) getActivity().findViewById(R.id.licenseEntry);
licenseEntryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
licenseEntry();
}
});
LinearLayout bugEntryButton = (LinearLayout) getActivity().findViewById(R.id.bugEntry);
bugEntryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
bugEntry();
}
});
LinearLayout howtoEntryButton = (LinearLayout) getActivity().findViewById(R.id.howtoEntry);
howtoEntryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
howtoEntry();
}
});
LinearLayout missingCodeEntryButton = (LinearLayout) getActivity().findViewById(R.id.missingCodeEntry);
missingCodeEntryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
missingCodeEntry();
}
});
super.onStart();
}
//called when clicking on the version entry in the about fragment
//opens the app page (de.marcelkapfer.morseconverter)
public void versionEntry(){
try{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=de.marcelkapfer.morseconverter"));
startActivity(browserIntent);
} catch(Exception e){
e.printStackTrace();
}
}
//called when clicking on the developer entry in the about fragment
//opens the gplus profile of +MarcelMichaelKapfer
public void developerEntry(){
try{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://plus.google.com/+MarcelMichaelKapfer/posts"));
startActivity(browserIntent);
} catch(Exception e){
e.printStackTrace();
}
}
//called when clicking on the website entry in the about fragment
//opens marcel-kapfer.de/writtenmorse
public void websiteEntry(){
try{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://marcel-kapfer.de/writtenmorse/"));
startActivity(browserIntent);
} catch(Exception e){
e.printStackTrace();
}
}
//called when clicking on the contact entry in the about fragment
//opens mail app with mail to marcelmichaelkapfer@yahoo.co.nz
public void contactEntry(){
try{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("mailto:marcelmichaelkapfer@yahoo.co.nz"));
startActivity(browserIntent);
} catch(Exception e){
e.printStackTrace();
}
}
//called when clicking on the license entry in the about fragment
//opens the license web page
public void licenseEntry(){
try{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://gnu.org/copyleft/gpl.html"));
startActivity(browserIntent);
} catch(Exception e){
e.printStackTrace();
}
}
//called when clicking on the developer entry in the about fragment
//opens mail app with mail to marcelmichaelkapfer@yahoo.co.nz
public void bugEntry(){
try{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("mailto:marcelmichaelkapfer@yahoo.co.nz?subject=Bug Report"));
startActivity(browserIntent);
} catch(Exception e){
e.printStackTrace();
}
}
//called when clicking on the developer entry in the about fragment
//opens the howto webpage
public void howtoEntry(){
try{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://marcel-kapfer.de/writtenmorse/#howto_android"));
startActivity(browserIntent);
} catch(Exception e){
e.printStackTrace();
}
}
//called when clicking on the developer entry in the about fragment
//opens mail app with mail to marcelmichaelkapfer@yahoo.co.nz
public void missingCodeEntry(){
try{
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("mailto:marcelmichaelkapfer@yahoo.co.nz?subject=Missing Code"));
startActivity(browserIntent);
} catch(Exception e){
e.printStackTrace();
}
}
} }

View file

@ -21,13 +21,23 @@ package de.marcelkapfer.morseconverter.fragments;
*/ */
import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v7.widget.CardView;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import de.marcelkapfer.morseconverter.MainActivity;
import de.marcelkapfer.morseconverter.R; import de.marcelkapfer.morseconverter.R;
import de.marcelkapfer.morseconverter.engine.DecodeWrittenMorseManager;
import de.marcelkapfer.morseconverter.engine.EncodeWrittenMorseManager;
/** /**
* Created by mmk on 2/14/15. * Created by mmk on 2/14/15.
@ -37,4 +47,94 @@ public class MainFragment extends Fragment{
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
return inflater.inflate(R.layout.fragment_main, container, false); return inflater.inflate(R.layout.fragment_main, container, false);
} }
@Override
public void onStart() {
LinearLayout writtenMorseDecodeButton = (LinearLayout) getActivity().findViewById(R.id.writtenMorseDecodeButton);
writtenMorseDecodeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
writtenMorseDecode(getActivity());
}
});
LinearLayout writtenMorseEncodeButton = (LinearLayout) getActivity().findViewById(R.id.writtenMorseEncodeButton);
writtenMorseEncodeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
writtenMorseEncode(getActivity());
}
});
LinearLayout writtenMorseCopy = (LinearLayout) getActivity().findViewById(R.id.copyWrittenMorse);
writtenMorseCopy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
copyWrittenMorse(getActivity());
}
});
LinearLayout writtenMorseShare = (LinearLayout) getActivity().findViewById(R.id.shareWrittenMorse);
writtenMorseShare.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
shareWrittenMorse(getActivity());
}
});
super.onStart();
}
public void writtenMorseEncode(FragmentActivity fragmentActivity){
try {
EditText input = (EditText) fragmentActivity.findViewById(R.id.editTextWrittenMorse);
TextView output = (TextView) fragmentActivity.findViewById(R.id.outputWrittenMorse);
CardView cardView = (CardView) fragmentActivity.findViewById(R.id.cardViewWrittenMorseOutput);
if(cardView.getVisibility() == View.INVISIBLE){
cardView.setVisibility(View.VISIBLE);
}
output.setText(EncodeWrittenMorseManager.getEncodedString(input.getText().toString()));
closeKeyboard();
} catch (Exception e){
e.printStackTrace();
}
}
public void writtenMorseDecode(FragmentActivity fragmentActivity){
try {
EditText input = (EditText) fragmentActivity.findViewById(R.id.editTextWrittenMorse);
TextView output = (TextView) fragmentActivity.findViewById(R.id.outputWrittenMorse);
CardView cardView = (CardView) fragmentActivity.findViewById(R.id.cardViewWrittenMorseOutput);
if(cardView.getVisibility() == View.INVISIBLE){
cardView.setVisibility(View.VISIBLE);
}
output.setText(DecodeWrittenMorseManager.getDecodedString(input.getText().toString()));
closeKeyboard();
} catch (Exception e){
e.printStackTrace();
}
}
public void copyWrittenMorse(FragmentActivity fragmentActivity){
TextView message = (TextView) fragmentActivity.findViewById(R.id.outputWrittenMorse);
MainActivity.copy(message.getText().toString(), fragmentActivity);
}
public void shareWrittenMorse(FragmentActivity fragmentActivity){
TextView message = (TextView) fragmentActivity.findViewById(R.id.outputWrittenMorse);
MainActivity.share(message.getText().toString(), fragmentActivity);
}
public void closeKeyboard(){
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(
Context.INPUT_METHOD_SERVICE);
EditText myEditText = (EditText) getActivity().findViewById(R.id.editTextWrittenMorse);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
}
} }

View file

@ -21,13 +21,24 @@ package de.marcelkapfer.morseconverter.fragments;
*/ */
import android.app.Activity;
import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v7.widget.CardView;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import de.marcelkapfer.morseconverter.MainActivity;
import de.marcelkapfer.morseconverter.R; import de.marcelkapfer.morseconverter.R;
import de.marcelkapfer.morseconverter.engine.DecodeNormalMorseManager;
import de.marcelkapfer.morseconverter.engine.EncodeNormalMorseManager;
/** /**
* Created by mmk on 2/14/15. * Created by mmk on 2/14/15.
@ -37,4 +48,94 @@ public class MorseFragment extends Fragment{
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
return inflater.inflate(R.layout.fragment_morse, container, false); return inflater.inflate(R.layout.fragment_morse, container, false);
} }
@Override
public void onStart() {
LinearLayout normalMorseDecodeButton = (LinearLayout) getActivity().findViewById(R.id.normalMorseDecodeButton);
normalMorseDecodeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
normalMorseDecode(getActivity());
}
});
LinearLayout normalMorseEncodeButton = (LinearLayout) getActivity().findViewById(R.id.normalMorseEncodeButton);
normalMorseEncodeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
normalMorseEncode(getActivity());
}
});
LinearLayout normalMorseCopy = (LinearLayout) getActivity().findViewById(R.id.copyNormalMorse);
normalMorseCopy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
copyNormalMorse(getActivity());
}
});
LinearLayout normalMorseShare = (LinearLayout) getActivity().findViewById(R.id.shareNormalMorse);
normalMorseShare.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
shareNormalMorse(getActivity());
}
});
super.onStart();
}
public void normalMorseDecode(FragmentActivity fragmentActivity){
try {
EditText input = (EditText) fragmentActivity.findViewById(R.id.editTextNormalMorse);
TextView output = (TextView) fragmentActivity.findViewById(R.id.outputNormalMorse);
CardView cardView = (CardView) fragmentActivity.findViewById(R.id.cardViewNormalMorseOutput);
if(cardView.getVisibility() == View.INVISIBLE){
cardView.setVisibility(View.VISIBLE);
}
output.setText(DecodeNormalMorseManager.getDecodedString(input.getText().toString()));
closeKeyboard();
} catch (Exception e){
e.printStackTrace();
}
}
public void normalMorseEncode(FragmentActivity fragmentActivity){
try {
EditText input = (EditText) fragmentActivity.findViewById(R.id.editTextNormalMorse);
TextView output = (TextView) fragmentActivity.findViewById(R.id.outputNormalMorse);
CardView cardView = (CardView) fragmentActivity.findViewById(R.id.cardViewNormalMorseOutput);
if(cardView.getVisibility() == View.INVISIBLE){
cardView.setVisibility(View.VISIBLE);
}
output.setText(EncodeNormalMorseManager.getEncodedString(input.getText().toString()));
closeKeyboard();
} catch (Exception e){
e.printStackTrace();
}
}
public void copyNormalMorse(FragmentActivity fragmentActivity){
TextView message = (TextView) fragmentActivity.findViewById(R.id.outputNormalMorse);
MainActivity.copy(message.getText().toString(), fragmentActivity);
}
public void shareNormalMorse(FragmentActivity fragmentActivity){
TextView message = (TextView) fragmentActivity.findViewById(R.id.outputNormalMorse);
MainActivity.share(message.getText().toString(), fragmentActivity);
}
public void closeKeyboard(){
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(
Context.INPUT_METHOD_SERVICE);
EditText myEditText = (EditText) getActivity().findViewById(R.id.editTextNormalMorse);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
}
} }

View file

@ -54,153 +54,178 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="versionEntry"> android:id="@+id/versionEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionVersion" android:text="@string/sectionVersion"
/> android:textColor="@color/primary_text_default_material_light"
/>
<TextView <TextView
android:id="@+id/textView2" android:id="@+id/textView2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/aboutVersion" /> android:text="@string/aboutVersion"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="developerEntry"> android:id="@+id/developerEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionDeveloper" android:text="@string/sectionDeveloper"
/> android:textColor="@color/primary_text_default_material_light"
/>
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/aboutDeveloper" /> android:text="@string/aboutDeveloper"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="websiteEntry"> android:id="@+id/websiteEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionWebsite" android:text="@string/sectionWebsite"
/> android:textColor="@color/primary_text_default_material_light"
/>
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/aboutWebsite" /> android:text="@string/aboutWebsite"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="contactEntry"> android:id="@+id/contactEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionContact" android:text="@string/sectionContact"
/> android:textColor="@color/primary_text_default_material_light"
/>
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/aboutContact" /> android:text="@string/aboutContact"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="licenseEntry"> android:id="@+id/licenseEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionLicense" android:text="@string/sectionLicense"
/> android:textColor="@color/primary_text_default_material_light"
/>
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/aboutLicense" /> android:text="@string/aboutLicense"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="bugEntry"> android:id="@+id/bugEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionBug" android:text="@string/sectionBug"
/> android:textColor="@color/primary_text_default_material_light"
/>
<TextView <TextView
android:id="@+id/textView3" android:id="@+id/textView3"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:text="@string/aboutBug" /> android:text="@string/aboutBug"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="howtoEntry"> android:id="@+id/howtoEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionHow" android:text="@string/sectionHow"
/> android:textColor="@color/primary_text_default_material_light"
/>
<TextView <TextView
android:id="@+id/textView4" android:id="@+id/textView4"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:text="@string/aboutHow" /> android:text="@string/aboutHow"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="missingCodeEntry"> android:paddingBottom="70dp"
android:id="@+id/missingCodeEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionMissing" android:text="@string/sectionMissing"
/> android:textColor="@color/primary_text_default_material_light"
/>
<TextView <TextView
android:id="@+id/textView5" android:id="@+id/textView5"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:text="@string/aboutMissing"/> android:text="@string/aboutMissing"
android:textColor="@color/primary_text_default_material_light"/>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

View file

@ -40,83 +40,86 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<android.support.v7.widget.CardView <android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto" xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view" android:id="@+id/card_view"
android:layout_gravity="top" android:layout_gravity="top"
android:layout_margin="8dp" android:layout_margin="8dp"
card_view:cardCornerRadius="2dp" card_view:cardCornerRadius="2dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="24dp"
android:gravity="center"
android:minHeight="48dp"
android:orientation="vertical"
>
<EditText
android:id="@+id/editTextWrittenMorse"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:ems="10"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:hint="@string/edit_message"
android:scrollbars="vertical"
android:minLines="5"
android:singleLine="false"
android:background="@color/cardview_light_background"/>
<View
style="@style/Divider"
/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:gravity="center"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:layout_gravity="right"
android:baselineAligned="false">
<LinearLayout <LinearLayout
style="@style/LinearLayoutButton" android:id="@+id/linearLayout1"
android:layout_marginRight="8dp" android:layout_width="match_parent"
android:onClick="writtenMorseDecode" > android:layout_height="match_parent"
android:layout_marginTop="24dp"
android:gravity="center"
android:minHeight="48dp"
android:orientation="vertical"
>
<EditText
android:id="@+id/editTextWrittenMorse"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:hint="@string/edit_message"
android:scrollbars="vertical"
android:minLines="5"
android:singleLine="false"
android:background="@color/cardview_light_background"
android:textColor="@color/primary_text_default_material_light"
android:textColorHint="@color/hint_foreground_material_light"/>
<View
style="@style/Divider"
/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:gravity="center"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:layout_gravity="right"
android:baselineAligned="false">
<LinearLayout
style="@style/LinearLayoutButton"
android:layout_marginRight="8dp"
android:id="@+id/writtenMorseDecodeButton"
android:clickable="true">
<TextView
style="@style/LinearLayoutButtonText"
android:text="@string/button_decode"/>
</LinearLayout>
<LinearLayout
style="@style/LinearLayoutButton"
android:text="@string/button_encode"
android:id="@+id/writtenMorseEncodeButton"
android:clickable="true">
<TextView
style="@style/LinearLayoutButtonText"
android:text="@string/button_encode"/>
</LinearLayout>
</LinearLayout>
<TextView
style="@style/LinearLayoutButtonText"
android:text="@string/button_decode"/>
</LinearLayout> </LinearLayout>
</android.support.v7.widget.CardView>
<LinearLayout
style="@style/LinearLayoutButton"
android:onClick="writtenMorseEncode"
android:text="@string/button_encode" >
<TextView
style="@style/LinearLayoutButtonText"
android:text="@string/button_encode"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>
@ -130,82 +133,85 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<android.support.v7.widget.CardView <android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto" xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/cardViewWrittenMorseOutput" android:id="@+id/cardViewWrittenMorseOutput"
android:layout_margin="8dp" android:layout_margin="8dp"
card_view:cardCornerRadius="2dp" card_view:cardCornerRadius="2dp"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="invisible"> android:visibility="invisible">
<LinearLayout <LinearLayout
android:id="@+id/linearLayout2" android:id="@+id/linearLayout2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginTop="24dp" android:layout_marginTop="24dp"
android:gravity="center" android:gravity="center"
android:minHeight="48dp" android:minHeight="48dp"
android:orientation="vertical" android:orientation="vertical"
> >
<TextView <TextView
android:id="@+id/outputWrittenMorse" android:id="@+id/outputWrittenMorse"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:layout_marginLeft="16dp" android:layout_marginLeft="16dp"
android:layout_marginRight="16dp" android:layout_marginRight="16dp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:minHeight="64dp" android:minHeight="64dp"
android:gravity="center_vertical" android:gravity="center_vertical"
android:hint="@string/output_message" android:hint="@string/output_message"
android:singleLine="false" android:singleLine="false"
android:background="@color/cardview_light_background"/> android:background="@color/cardview_light_background"
android:textColor="@color/primary_text_default_material_light"/>
<View <View
style="@style/Divider" style="@style/Divider"
/> />
<LinearLayout <LinearLayout
android:orientation="horizontal" android:orientation="horizontal"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="48dp" android:layout_height="48dp"
android:layout_marginLeft="16dp" android:layout_marginLeft="16dp"
android:layout_marginRight="16dp" android:layout_marginRight="16dp"
android:gravity="center" android:gravity="center"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:layout_gravity="right" android:layout_gravity="right"
android:baselineAligned="false"> android:baselineAligned="false">
<LinearLayout <LinearLayout
style="@style/LinearLayoutButton" style="@style/LinearLayoutButton"
android:layout_marginRight="8dp" android:layout_marginRight="8dp"
android:onClick="copyWrittenMorse" > android:id="@+id/copyWrittenMorse"
android:clickable="true">
<TextView <TextView
style="@style/LinearLayoutButtonText" style="@style/LinearLayoutButtonText"
android:text="@string/button_copy" /> android:text="@string/button_copy" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutButton" style="@style/LinearLayoutButton"
android:onClick="shareWrittenMorse" > android:id="@+id/shareWrittenMorse"
android:clickable="true">
<TextView <TextView
style="@style/LinearLayoutButtonText" style="@style/LinearLayoutButtonText"
android:text="@string/button_share"/> android:text="@string/button_share"/>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</android.support.v7.widget.CardView> </android.support.v7.widget.CardView>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>
</LinearLayout> </LinearLayout>

View file

@ -42,79 +42,82 @@
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical"> android:orientation="vertical">
<android.support.v7.widget.CardView <android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto" xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view" android:id="@+id/card_view"
android:layout_gravity="top" android:layout_gravity="top"
android:layout_margin="8dp" android:layout_margin="8dp"
card_view:cardCornerRadius="2dp" card_view:cardCornerRadius="2dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="24dp"
android:gravity="center"
android:minHeight="48dp"
android:orientation="vertical"
>
<EditText
android:id="@+id/editTextNormalMorse"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:ems="10"
android:hint="@string/edit_message"
android:background="@color/cardview_light_background"
android:minLines="5">
</EditText>
<View
style="@style/Divider" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:gravity="center"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:layout_gravity="right"
android:baselineAligned="false">
<LinearLayout <LinearLayout
style="@style/LinearLayoutButton" android:id="@+id/linearLayout1"
android:onClick="normalMorseDecode" android:layout_width="match_parent"
android:layout_marginRight="8dp"> android:layout_height="match_parent"
android:layout_marginTop="24dp"
android:gravity="center"
android:minHeight="48dp"
android:orientation="vertical"
>
<EditText
android:id="@+id/editTextNormalMorse"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:ems="10"
android:hint="@string/edit_message"
android:background="@color/cardview_light_background"
android:minLines="5"
android:textColor="@color/primary_text_default_material_light"
android:textColorHint="@color/hint_foreground_material_light">
</EditText>
<View
style="@style/Divider" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:gravity="center"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:layout_gravity="right"
android:baselineAligned="false">
<LinearLayout
style="@style/LinearLayoutButton"
android:layout_marginRight="8dp"
android:clickable="true"
android:id="@+id/normalMorseDecodeButton">
<TextView
style="@style/LinearLayoutButtonText"
android:text="@string/button_decode"/>
</LinearLayout>
<LinearLayout
style="@style/LinearLayoutButton"
android:clickable="true"
android:id="@+id/normalMorseEncodeButton" >
<TextView
style="@style/LinearLayoutButtonText"
android:text="@string/button_encode" />
</LinearLayout>
</LinearLayout>
<TextView
style="@style/LinearLayoutButtonText"
android:text="@string/button_decode"/>
</LinearLayout> </LinearLayout>
</android.support.v7.widget.CardView>
<LinearLayout
style="@style/LinearLayoutButton"
android:onClick="normalMorseEncode">
<TextView
style="@style/LinearLayoutButtonText"
android:text="@string/button_encode" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>
@ -130,83 +133,85 @@
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical"> android:orientation="vertical">
<android.support.v7.widget.CardView <android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto" xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/cardViewNormalMorseOutput" android:id="@+id/cardViewNormalMorseOutput"
android:layout_margin="8dp" android:layout_margin="8dp"
card_view:cardCornerRadius="2dp" card_view:cardCornerRadius="2dp"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="invisible"> android:visibility="invisible">
<LinearLayout <LinearLayout
android:id="@+id/linearLayout2" android:id="@+id/linearLayout2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginTop="24dp" android:layout_marginTop="24dp"
android:gravity="center" android:gravity="center"
android:minHeight="48dp" android:minHeight="48dp"
android:orientation="vertical" android:orientation="vertical"
> >
<TextView <TextView
android:id="@+id/outputNormalMorse" android:id="@+id/outputNormalMorse"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:minHeight="64dp" android:minHeight="64dp"
android:gravity="center_vertical" android:gravity="center_vertical"
android:layout_marginLeft="16dp" android:layout_marginLeft="16dp"
android:layout_marginRight="16dp" android:layout_marginRight="16dp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:hint="@string/output_message" android:hint="@string/output_message"
android:scrollbars="vertical" android:scrollbars="vertical"
android:singleLine="false" android:singleLine="false"
android:background="@color/cardview_light_background"/> android:background="@color/cardview_light_background"
android:textColor="@color/primary_text_default_material_light"/>
<View <View
style="@style/Divider" style="@style/Divider"
/> />
<LinearLayout <LinearLayout
android:orientation="horizontal" android:orientation="horizontal"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="48dp" android:layout_height="48dp"
android:layout_marginLeft="16dp" android:layout_marginLeft="16dp"
android:layout_marginRight="16dp" android:layout_marginRight="16dp"
android:gravity="center" android:gravity="center"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:layout_gravity="right" android:layout_gravity="right"
android:baselineAligned="false"> android:baselineAligned="false">
<LinearLayout <LinearLayout
style="@style/LinearLayoutButton" style="@style/LinearLayoutButton"
android:layout_marginRight="8dp" android:layout_marginRight="8dp"
android:onClick="copyNormalMorse" > android:id="@+id/copyNormalMorse"
android:clickable="true">
<TextView
style="@style/LinearLayoutButtonText"
android:text="@string/button_copy" />
<TextView </LinearLayout>
style="@style/LinearLayoutButtonText"
android:text="@string/button_copy" />
</LinearLayout> <LinearLayout
style="@style/LinearLayoutButton"
android:id="@+id/shareNormalMorse"
android:clickable="true">
<LinearLayout <TextView
style="@style/LinearLayoutButton" style="@style/LinearLayoutButtonText"
android:onClick="shareNormalMorse" > android:text="@string/button_share"/>
<TextView </LinearLayout>
style="@style/LinearLayoutButtonText"
android:text="@string/button_share"/>
</LinearLayout> </LinearLayout>
</LinearLayout>
</LinearLayout> </LinearLayout>
</android.support.v7.widget.CardView> </android.support.v7.widget.CardView>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>
</LinearLayout> </LinearLayout>

View file

@ -40,149 +40,174 @@
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="versionEntry"> android:id="@+id/versionEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionVersion" android:text="@string/sectionVersion"
android:textColor="@color/primary_text_default_material_light"
/> />
<TextView <TextView
android:id="@+id/textView2" android:id="@+id/textView2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/aboutVersion" /> android:text="@string/aboutVersion"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="developerEntry"> android:id="@+id/developerEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionDeveloper" android:text="@string/sectionDeveloper"
android:textColor="@color/primary_text_default_material_light"
/> />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/aboutDeveloper" /> android:text="@string/aboutDeveloper"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="websiteEntry"> android:id="@+id/websiteEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionWebsite" android:text="@string/sectionWebsite"
android:textColor="@color/primary_text_default_material_light"
/> />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/aboutWebsite" /> android:text="@string/aboutWebsite"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="contactEntry"> android:id="@+id/contactEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionContact" android:text="@string/sectionContact"
android:textColor="@color/primary_text_default_material_light"
/> />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/aboutContact" /> android:text="@string/aboutContact"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="licenseEntry"> android:id="@+id/licenseEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionLicense" android:text="@string/sectionLicense"
android:textColor="@color/primary_text_default_material_light"
/> />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/aboutLicense" /> android:text="@string/aboutLicense"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="bugEntry"> android:id="@+id/bugEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionBug" android:text="@string/sectionBug"
android:textColor="@color/primary_text_default_material_light"
/> />
<TextView <TextView
android:id="@+id/textView3" android:id="@+id/textView3"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:text="@string/aboutBug" /> android:text="@string/aboutBug"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="howtoEntry"> android:id="@+id/howtoEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionHow" android:text="@string/sectionHow"
android:textColor="@color/primary_text_default_material_light"
/> />
<TextView <TextView
android:id="@+id/textView4" android:id="@+id/textView4"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:text="@string/aboutHow" /> android:text="@string/aboutHow"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="missingCodeEntry"> android:paddingBottom="70dp"
android:id="@+id/missingCodeEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionMissing" android:text="@string/sectionMissing"
android:textColor="@color/primary_text_default_material_light"
/> />
<TextView <TextView
android:id="@+id/textView5" android:id="@+id/textView5"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:text="@string/aboutMissing"/> android:text="@string/aboutMissing"
android:textColor="@color/primary_text_default_material_light"/>
</LinearLayout> </LinearLayout>

View file

@ -9,7 +9,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:text="@string/hello_world" android:text="@string/hello_world"
android:gravity="center_vertical"/> android:gravity="center_vertical"
android:textColor="@color/primary_text_default_material_light"/>
<TextView <TextView
android:id="@+id/codefield" android:id="@+id/codefield"
@ -17,6 +18,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:text="@string/hello_world" android:text="@string/hello_world"
android:layout_gravity="right" android:layout_gravity="right"
android:gravity="center_vertical"/> android:gravity="center_vertical"
android:textColor="@color/primary_text_default_material_light"/>
</FrameLayout> </FrameLayout>

View file

@ -46,150 +46,174 @@
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="versionEntry"> android:id="@+id/versionEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionVersion" android:text="@string/sectionVersion"
android:textColor="@color/primary_text_default_material_light"
/> />
<TextView <TextView
android:id="@+id/textView2" android:id="@+id/textView2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/aboutVersion" /> android:text="@string/aboutVersion"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="developerEntry"> android:id="@+id/developerEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionDeveloper" android:text="@string/sectionDeveloper"
android:textColor="@color/primary_text_default_material_light"
/> />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/aboutDeveloper" /> android:text="@string/aboutDeveloper"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="websiteEntry"> android:id="@+id/websiteEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionWebsite" android:text="@string/sectionWebsite"
android:textColor="@color/primary_text_default_material_light"
/> />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/aboutWebsite" /> android:text="@string/aboutWebsite"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="contactEntry"> android:id="@+id/contactEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionContact" android:text="@string/sectionContact"
android:textColor="@color/primary_text_default_material_light"
/> />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/aboutContact" /> android:text="@string/aboutContact"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="licenseEntry"> android:id="@+id/licenseEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionLicense" android:text="@string/sectionLicense"
android:textColor="@color/primary_text_default_material_light"
/> />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/aboutLicense" /> android:text="@string/aboutLicense"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="bugEntry"> android:id="@+id/bugEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionBug" android:text="@string/sectionBug"
android:textColor="@color/primary_text_default_material_light"
/> />
<TextView <TextView
android:id="@+id/textView3" android:id="@+id/textView3"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:text="@string/aboutBug" /> android:text="@string/aboutBug"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:onClick="howtoEntry"> android:id="@+id/howtoEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionHow" android:text="@string/sectionHow"
android:textColor="@color/primary_text_default_material_light"
/> />
<TextView <TextView
android:id="@+id/textView4" android:id="@+id/textView4"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:text="@string/aboutHow" /> android:text="@string/aboutHow"
android:textColor="@color/primary_text_default_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
style="@style/LinearLayoutList" style="@style/LinearLayoutList"
android:paddingBottom="70dp" android:paddingBottom="70dp"
android:onClick="missingCodeEntry"> android:id="@+id/missingCodeEntry"
android:clickable="true">
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="16sp" android:textSize="16sp"
android:text="@string/sectionMissing" android:text="@string/sectionMissing"
android:textColor="@color/primary_text_default_material_light"
/> />
<TextView <TextView
android:id="@+id/textView5" android:id="@+id/textView5"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:text="@string/aboutMissing"/> android:text="@string/aboutMissing"
android:textColor="@color/primary_text_default_material_light"/>
</LinearLayout> </LinearLayout>

View file

@ -69,7 +69,9 @@
android:scrollbars="vertical" android:scrollbars="vertical"
android:minLines="5" android:minLines="5"
android:singleLine="false" android:singleLine="false"
android:background="@color/cardview_light_background"/> android:background="@color/cardview_light_background"
android:textColor="@color/primary_text_default_material_light"
android:textColorHint="@color/hint_foreground_material_light"/>
<View <View
style="@style/Divider" style="@style/Divider"
@ -90,7 +92,8 @@
<LinearLayout <LinearLayout
style="@style/LinearLayoutButton" style="@style/LinearLayoutButton"
android:layout_marginRight="8dp" android:layout_marginRight="8dp"
android:onClick="writtenMorseDecode" > android:id="@+id/writtenMorseDecodeButton"
android:clickable="true">
<TextView <TextView
style="@style/LinearLayoutButtonText" style="@style/LinearLayoutButtonText"
@ -100,8 +103,9 @@
<LinearLayout <LinearLayout
style="@style/LinearLayoutButton" style="@style/LinearLayoutButton"
android:onClick="writtenMorseEncode" android:text="@string/button_encode"
android:text="@string/button_encode" > android:id="@+id/writtenMorseEncodeButton"
android:clickable="true">
<TextView <TextView
style="@style/LinearLayoutButtonText" style="@style/LinearLayoutButtonText"
@ -147,7 +151,8 @@
android:gravity="center_vertical" android:gravity="center_vertical"
android:hint="@string/output_message" android:hint="@string/output_message"
android:singleLine="false" android:singleLine="false"
android:background="@color/cardview_light_background"/> android:background="@color/cardview_light_background"
android:textColor="@color/primary_text_default_material_light"/>
<View <View
style="@style/Divider" style="@style/Divider"
@ -168,7 +173,8 @@
<LinearLayout <LinearLayout
style="@style/LinearLayoutButton" style="@style/LinearLayoutButton"
android:layout_marginRight="8dp" android:layout_marginRight="8dp"
android:onClick="copyWrittenMorse" > android:id="@+id/copyWrittenMorse"
android:clickable="true">
<TextView <TextView
style="@style/LinearLayoutButtonText" style="@style/LinearLayoutButtonText"
@ -178,7 +184,8 @@
<LinearLayout <LinearLayout
style="@style/LinearLayoutButton" style="@style/LinearLayoutButton"
android:onClick="shareWrittenMorse" > android:id="@+id/shareWrittenMorse"
android:clickable="true">
<TextView <TextView
style="@style/LinearLayoutButtonText" style="@style/LinearLayoutButtonText"

View file

@ -69,7 +69,9 @@
android:ems="10" android:ems="10"
android:hint="@string/edit_message" android:hint="@string/edit_message"
android:background="@color/cardview_light_background" android:background="@color/cardview_light_background"
android:minLines="5"> android:minLines="5"
android:textColor="@color/primary_text_default_material_light"
android:textColorHint="@color/hint_foreground_material_light">
</EditText> </EditText>
<View <View
@ -89,8 +91,9 @@
<LinearLayout <LinearLayout
style="@style/LinearLayoutButton" style="@style/LinearLayoutButton"
android:onClick="normalMorseDecode" android:layout_marginRight="8dp"
android:layout_marginRight="8dp"> android:clickable="true"
android:id="@+id/normalMorseDecodeButton">
<TextView <TextView
style="@style/LinearLayoutButtonText" style="@style/LinearLayoutButtonText"
@ -100,8 +103,8 @@
<LinearLayout <LinearLayout
style="@style/LinearLayoutButton" style="@style/LinearLayoutButton"
android:onClick="normalMorseEncode"> android:clickable="true"
android:id="@+id/normalMorseEncodeButton" >
<TextView <TextView
style="@style/LinearLayoutButtonText" style="@style/LinearLayoutButtonText"
android:text="@string/button_encode" /> android:text="@string/button_encode" />
@ -147,7 +150,8 @@
android:hint="@string/output_message" android:hint="@string/output_message"
android:scrollbars="vertical" android:scrollbars="vertical"
android:singleLine="false" android:singleLine="false"
android:background="@color/cardview_light_background"/> android:background="@color/cardview_light_background"
android:textColor="@color/primary_text_default_material_light"/>
<View <View
style="@style/Divider" style="@style/Divider"
@ -168,8 +172,8 @@
<LinearLayout <LinearLayout
style="@style/LinearLayoutButton" style="@style/LinearLayoutButton"
android:layout_marginRight="8dp" android:layout_marginRight="8dp"
android:onClick="copyNormalMorse" > android:id="@+id/copyNormalMorse"
android:clickable="true">
<TextView <TextView
style="@style/LinearLayoutButtonText" style="@style/LinearLayoutButtonText"
android:text="@string/button_copy" /> android:text="@string/button_copy" />
@ -178,7 +182,8 @@
<LinearLayout <LinearLayout
style="@style/LinearLayoutButton" style="@style/LinearLayoutButton"
android:onClick="shareNormalMorse" > android:id="@+id/shareNormalMorse"
android:clickable="true">
<TextView <TextView
style="@style/LinearLayoutButtonText" style="@style/LinearLayoutButtonText"

View file

@ -54,6 +54,7 @@
<!--Drawer Titles--> <!--Drawer Titles-->
<string name="about">About</string> <string name="about">About</string>
<string name="normalMorse">Normal Morse</string> <string name="normalMorse">Normal Morse</string>
<string name="writtenMorse" translatable="false">writtenMorse</string>
<!--Output Text Buttons--> <!--Output Text Buttons-->
<string name="button_share">SHARE</string> <string name="button_share">SHARE</string>
<string name="button_copy">COPY</string> <string name="button_copy">COPY</string>