This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository say-my-texts. See https://gitlab.nuiton.org/chorem/say-my-texts.git commit 1991704031d3eb7caf5ada6b80561044ecda4dc9 Author: Kevin Morin <morin@codelutin.com> Date: Sat Nov 11 11:20:20 2017 +0100 :wrench::hammer: use gradle instead of maven --- .gitignore | 9 +- app/.gitignore | 1 + app/build.gradle | 34 ++ app/proguard-rules.pro | 25 ++ {sources => app/sources}/heiseindroid.svg | 0 .../src/main/AndroidManifest.xml | 8 +- .../android/saymytexts/AboutDialogFragment.java | 0 .../android/saymytexts/SayMyTextService.java | 87 +++-- .../android/saymytexts/SayMyTextsApplication.java | 2 - .../android/saymytexts/SettingsActivity.java | 8 +- .../BootCompletedBroadcastReceiver.java | 0 .../DeviceConnectionBroadcastReceiver.java | 0 .../DictateSmsBroadcastReceiver.java | 2 +- .../NewTextBroadcastReceiver.java | 8 +- .../SayNextActionBroadcastReceiver.java | 0 .../android/saymytexts/model/Configuration.java | 40 +-- .../org/chorem/android/saymytexts/model/SMS.java | 0 .../utils/SayMyTextsRecognitionListener.java | 2 +- .../android/saymytexts/utils/SayMyTextsUtils.java | 0 .../res}/drawable-hdpi/ic_launcher_heisendroid.png | Bin .../src/main/res}/drawable-hdpi/ic_menu_logo.png | Bin .../res}/drawable-hdpi/ic_stat_heisendroid.png | Bin .../res}/drawable-mdpi/ic_launcher_heisendroid.png | Bin .../src/main/res}/drawable-mdpi/ic_menu_logo.png | Bin .../res}/drawable-mdpi/ic_stat_heisendroid.png | Bin .../drawable-xhdpi/ic_launcher_heisendroid.png | Bin .../src/main/res}/drawable-xhdpi/ic_menu_logo.png | Bin .../res}/drawable-xhdpi/ic_stat_heisendroid.png | Bin .../drawable-xxhdpi/ic_launcher_heisendroid.png | Bin .../src/main/res}/drawable-xxhdpi/ic_menu_logo.png | Bin .../res}/drawable-xxhdpi/ic_stat_heisendroid.png | Bin .../src/main/res}/drawable/actionbar_logo.xml | 0 .../main/res}/drawable/ic_launcher_heisendroid.png | Bin .../src/main/res}/drawable/ic_menu_heisendroid.png | Bin .../src/main/res}/drawable/ic_menu_logo.png | Bin .../src/main/res}/drawable/ic_stat_heisendroid.png | Bin {res => app/src/main/res}/drawable/logo.png | Bin {res => app/src/main/res}/drawable/logo_small.png | Bin {res => app/src/main/res}/menu/settings.xml | 0 {res => app/src/main/res}/values-de/arrays.xml | 0 {res => app/src/main/res}/values-de/strings.xml | 5 - {res => app/src/main/res}/values-fr/arrays.xml | 0 {res => app/src/main/res}/values-fr/strings.xml | 0 {res => app/src/main/res}/values-hu/arrays.xml | 0 {res => app/src/main/res}/values-hu/strings.xml | 5 - {res => app/src/main/res}/values-it/arrays.xml | 0 {res => app/src/main/res}/values-it/strings.xml | 5 - {res => app/src/main/res}/values-pl/arrays.xml | 0 {res => app/src/main/res}/values-pl/strings.xml | 5 - {res => app/src/main/res}/values-pt-rBR/arrays.xml | 0 .../src/main/res}/values-pt-rBR/strings.xml | 5 - {res => app/src/main/res}/values-pt-rPT/arrays.xml | 0 .../src/main/res}/values-pt-rPT/strings.xml | 5 - {res => app/src/main/res}/values-v21/themes.xml | 1 - {res => app/src/main/res}/values/arrays.xml | 13 - {res => app/src/main/res}/values/colors.xml | 0 .../src/main/res}/values/preference_keys.xml | 4 +- app/src/main/res/values/preferences_values.xml | 19 ++ {res => app/src/main/res}/values/strings.xml | 6 +- {res => app/src/main/res}/values/themes.xml | 1 - {res => app/src/main/res}/xml/preferences.xml | 3 +- build.gradle | 29 ++ gradle.properties | 13 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53636 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 160 +++++++++ gradlew.bat | 90 +++++ pom.xml | 366 --------------------- settings.gradle | 1 + src/license/THIRD-PARTY.properties | 22 -- .../fr/resources/images/logos/smt_logo_title.png | Bin 15411 -> 0 bytes src/site/fr/rst/dev.rst | 35 -- src/site/fr/rst/index.rst | 30 -- src/site/fr/rst/user.rst | 100 ------ src/site/resources/images/logos/smt_logo_title.png | Bin 15411 -> 0 bytes src/site/rst/dev.rst | 35 -- src/site/rst/index.rst | 30 -- src/site/rst/user.rst | 96 ------ src/site/site_en.xml | 122 ------- src/site/site_fr.xml | 125 ------- 80 files changed, 455 insertions(+), 1108 deletions(-) diff --git a/.gitignore b/.gitignore index ab198db..f180e19 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,13 @@ +.gradle +/local.properties +.DS_Store +/build +/captures +.externalNativeBuild /atlassian-ide-plugin.xml /.idea /*/.idea -/target -/*/target/ +*.iml /*.iml /*/*.iml /*.ipr diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..5253a5a --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,34 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 27 + buildToolsVersion "27.0.1" + defaultConfig { + applicationId "org.chorem.android.saymytexts" + minSdkVersion 15 + targetSdkVersion 27 + versionCode 8 + versionName "3.0" + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + lintOptions{ + disable 'MissingTranslation' + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + androidTestCompile('com.android.support.test.espresso:espresso-core:2.2', { + exclude group: 'com.android.support', module: 'support-annotations' + }) + compile 'ch.acra:acra:4.5.0' + testCompile 'junit:junit:4.12' +} + +apply plugin: "com.github.hierynomus.license" \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..a24c7dc --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,25 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /opt/android/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/sources/heiseindroid.svg b/app/sources/heiseindroid.svg similarity index 100% rename from sources/heiseindroid.svg rename to app/sources/heiseindroid.svg diff --git a/AndroidManifest.xml b/app/src/main/AndroidManifest.xml similarity index 94% rename from AndroidManifest.xml rename to app/src/main/AndroidManifest.xml index 1809afc..deecaf5 100644 --- a/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,14 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.chorem.android.saymytexts" - android:versionCode="8" - android:versionName="3.0" android:description="@string/app_description" android:installLocation="auto"> - <uses-sdk android:minSdkVersion="15" - android:targetSdkVersion="22"/> - <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> @@ -46,7 +41,8 @@ <service android:name=".SayMyTextService"/> <receiver android:name=".broadcastreceiver.NewTextBroadcastReceiver" - android:enabled="true"> + android:enabled="true" + android:permission="android.permission.BROADCAST_SMS"> <intent-filter android:priority="42"> <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> diff --git a/src/main/java/org/chorem/android/saymytexts/AboutDialogFragment.java b/app/src/main/java/org/chorem/android/saymytexts/AboutDialogFragment.java similarity index 100% rename from src/main/java/org/chorem/android/saymytexts/AboutDialogFragment.java rename to app/src/main/java/org/chorem/android/saymytexts/AboutDialogFragment.java diff --git a/src/main/java/org/chorem/android/saymytexts/SayMyTextService.java b/app/src/main/java/org/chorem/android/saymytexts/SayMyTextService.java similarity index 90% rename from src/main/java/org/chorem/android/saymytexts/SayMyTextService.java rename to app/src/main/java/org/chorem/android/saymytexts/SayMyTextService.java index 491b53d..6d1e95d 100644 --- a/src/main/java/org/chorem/android/saymytexts/SayMyTextService.java +++ b/app/src/main/java/org/chorem/android/saymytexts/SayMyTextService.java @@ -70,7 +70,7 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList public static final String ACTION_READ_SMS = "org.chorem.android.saymytexts.READ_SMS"; public static final String ACTION_READ_NEXT_SMS = "org.chorem.android.saymytexts.READ_NEXT_SMS"; public static final String ACTION_MANAGE_BT_DEVICE = "org.chorem.android.saymytexts.ADD_BT_DEVICE"; - public static final String ACTION_REASK_ACTION = "org.chorem.android.saymytexts.REASK_ACTION"; + private static final String ACTION_REASK_ACTION = "org.chorem.android.saymytexts.REASK_ACTION"; public static final String ACTION_DICTATE_SMS = "org.chorem.android.saymytexts.DICTATE_SMS"; public static final String ACTION_CONFIRM_SMS_SENDING = "org.chorem.android.saymytexts.CONFIRM_SMS_SENDING"; public static final String ACTION_HEADSET_PLUGGED = "org.chorem.android.saymytexts.HEADSET_PLUGGED"; @@ -89,36 +89,36 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList public static final String INTENT_EXTRA_HEADSET_PLUGGED = "headsetPlugged"; /** utterance id when the bluetooth device is connected */ - protected static final String BT_ASK_NEXT_ACTION_UTTERANCE_ID = "btAskNextActionUtteranceId"; - protected static final String ASK_NEXT_ACTION_UTTERANCE_ID = "askNextActionUtteranceId"; - protected static final String OTHER_UTTERANCE_ID = "oherUtteranceId"; + private static final String BT_ASK_NEXT_ACTION_UTTERANCE_ID = "btAskNextActionUtteranceId"; + private static final String ASK_NEXT_ACTION_UTTERANCE_ID = "askNextActionUtteranceId"; + private static final String OTHER_UTTERANCE_ID = "otherUtteranceId"; - protected static final int NOTIFICATION_ID = 42; + private static final int NOTIFICATION_ID = 42; - protected Configuration configuration = new Configuration(); + private Configuration configuration = new Configuration(); - protected AudioManager audioManager; + private AudioManager audioManager; /** null if the texttospeech is not initialized */ - protected Boolean canSpeak = null; + private Boolean canSpeak = null; // true if the speaker was on when the first message in queue arrived - protected boolean speakerWasOn; + private boolean speakerWasOn; - protected TextToSpeech textToSpeech; + private TextToSpeech textToSpeech; /** texts to read, received before the textospeech is ready or while a call is in progress */ - protected List<SMS> awaitingTexts = new ArrayList<>(); + private List<SMS> awaitingTexts = new ArrayList<>(); /** bluetooth devices which are currently connected */ - protected Map<BluetoothDevice, Integer> bluetoothDevices = new HashMap<>(); + private Map<BluetoothDevice, Integer> bluetoothDevices = new HashMap<>(); - protected boolean headsetPlugged = false; + private boolean headsetPlugged = false; /** * Listener to call state change */ - protected final PhoneStateListener callStateListener = new PhoneStateListener() { + private final PhoneStateListener callStateListener = new PhoneStateListener() { @Override public void onCallStateChanged(int state, String incomingNumber) { @@ -197,8 +197,7 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList String interactionPrefKey = getString(R.string.preference_enable_interaction_key); configuration.setInteractionEnabled(sharedPref.getBoolean(interactionPrefKey, true)); - String[] notificationsValues = - getResources().getStringArray(R.array.preferences_notifications_values); + String[] notificationsValues = getResources().getStringArray(R.array.preferences_notifications_values); String notificationMode = sharedPref.getString(key, notificationsValues[1]); configuration.setNotificationsEnabled(!notificationMode.equals(notificationsValues[0])); configuration.setNotificationsCancelable(!notificationMode.equals(notificationsValues[2])); @@ -230,7 +229,7 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList if (!SayMyTextsUtils.checkVoiceRecognition(this)) { SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this); - sharedPref.edit().putBoolean(getString(R.string.preference_enable_interaction_key), false).commit(); + sharedPref.edit().putBoolean(getString(R.string.preference_enable_interaction_key), false).apply(); } if (intent != null) { @@ -288,7 +287,9 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList speakerWasOn = audioManager.isSpeakerphoneOn(); // if read but no external device is connected, play through the speaker - if (configuration.isAlwaysRead() && !headsetPlugged && bluetoothDevices.isEmpty()) { + String[] readingProfileValues = getResources().getStringArray(R.array.preferences_reading_profile_values); + if (readingProfileValues[0].equals(configuration.getReadingProfile()) + && !headsetPlugged && bluetoothDevices.isEmpty()) { audioManager.setMode(AudioManager.MODE_IN_CALL); audioManager.setSpeakerphoneOn(true); } @@ -330,7 +331,7 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList * false if a call is in progress * true otherwise */ - protected void setCanSpeak(Boolean canSpeak) { + private void setCanSpeak(Boolean canSpeak) { this.canSpeak = canSpeak; if (Boolean.TRUE.equals(canSpeak)) { @@ -347,11 +348,11 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList audioManager.abandonAudioFocus(null); } } else { - int result = audioManager.requestAudioFocus(null, - // Use the music stream. - AudioManager.STREAM_VOICE_CALL, - // Request permanent focus. - AudioManager.AUDIOFOCUS_GAIN_TRANSIENT); + audioManager.requestAudioFocus(null, + // Use the music stream. + AudioManager.STREAM_VOICE_CALL, + // Request permanent focus. + AudioManager.AUDIOFOCUS_GAIN_TRANSIENT); } } @@ -359,7 +360,7 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList * Requests the reading of one text through the wired headset or bluetooth device * @param sms the text to read */ - protected void requestReading(final SMS sms) { + private void requestReading(final SMS sms) { if (bluetoothDevices.isEmpty()) { readText(sms, false); } else { @@ -376,7 +377,7 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList * Starts the connection with the bluetooth device and requests the reading * @param callback the function called when the bluetooth is ready */ - protected void requestBluetoothSpeakingActivation(final Function callback) { + private void requestBluetoothSpeakingActivation(final Function callback) { registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { @@ -396,7 +397,7 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList * @param sms the text to read * @param btConnected if true, adds the utterance id for the bluetooth device */ - protected void readText(final SMS sms, boolean btConnected) { + private void readText(final SMS sms, boolean btConnected) { // disable the reading of the nexts sms while reading the current one setCanSpeak(false); @@ -470,7 +471,7 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList } } - protected void askForActionAfterReading(final SMS sms, boolean btConnected, final int attemptNumber) { + private void askForActionAfterReading(final SMS sms, boolean btConnected, final int attemptNumber) { textToSpeech.setOnUtteranceProgressListener(new UtteranceProgressListener() { @Override public void onStart(String utteranceId) { @@ -487,12 +488,12 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList public void onDone(String utteranceId) { if (ASK_NEXT_ACTION_UTTERANCE_ID.equals(utteranceId) || BT_ASK_NEXT_ACTION_UTTERANCE_ID.equals(utteranceId)) { - Intent sayaction = new Intent(SayNextActionBroadcastReceiver.ACTION_SAY_NEXT_ACTION); - sayaction.putExtra(SayNextActionBroadcastReceiver.INTENT_EXTRA_SMS, sms); - sayaction.putExtra(SayNextActionBroadcastReceiver.INTENT_EXTRA_ATTEMPT_NUMBER, attemptNumber); - sayaction.putExtra(SayNextActionBroadcastReceiver.INTENT_EXTRA_FALLBACK_ACTION, ACTION_REASK_ACTION); + Intent sayAction = new Intent(SayNextActionBroadcastReceiver.ACTION_SAY_NEXT_ACTION); + sayAction.putExtra(SayNextActionBroadcastReceiver.INTENT_EXTRA_SMS, sms); + sayAction.putExtra(SayNextActionBroadcastReceiver.INTENT_EXTRA_ATTEMPT_NUMBER, attemptNumber); + sayAction.putExtra(SayNextActionBroadcastReceiver.INTENT_EXTRA_FALLBACK_ACTION, ACTION_REASK_ACTION); - sendBroadcast(sayaction); + sendBroadcast(sayAction); } } }); @@ -518,7 +519,7 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList } } - protected void dictateSMS(final SMS sms, final int attemptNumber) { + private void dictateSMS(final SMS sms, final int attemptNumber) { if (SayMyTextsApplication.LOG_ENABLED) { Log.d(TAG, "dictateSMS "); } @@ -564,7 +565,7 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList } - protected void askSendingConfirmation(final String message, final SMS originSms, final int attemptNumber) { + private void askSendingConfirmation(final String message, final SMS originSms, final int attemptNumber) { if (SayMyTextsApplication.LOG_ENABLED) { Log.d(TAG, "askSendingConfirmation " + message); } @@ -627,14 +628,12 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList configuration.setMaxAttemptNumber(maxAttemptNumber); } else if (key.equals(getString(R.string.preference_reading_profile_key))) { - String[] readingProfileValues = - getResources().getStringArray(R.array.preferences_reading_profile_values); + String[] readingProfileValues = getResources().getStringArray(R.array.preferences_reading_profile_values); configuration.setReadingProfile(sharedPreferences.getString(key, readingProfileValues[0])); updateReadingEnabled(); } else if (key.equals(getString(R.string.preference_reading_caller_profile_key))) { - String[] readingProfileValues = - getResources().getStringArray(R.array.preferences_reading_profile_values); + String[] readingProfileValues = getResources().getStringArray(R.array.preferences_reading_profile_values); configuration.setReadingCallerProfile(sharedPreferences.getString(key, readingProfileValues[0])); updateReadingEnabled(); @@ -645,8 +644,7 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList configuration.setInteractionEnabled(sharedPreferences.getBoolean(key, true)); } else if (key.equals(getString(R.string.preference_notifications_key))) { - String[] notificationsValues = - getResources().getStringArray(R.array.preferences_notifications_values); + String[] notificationsValues = getResources().getStringArray(R.array.preferences_notifications_values); String notificationMode = sharedPreferences.getString(key, notificationsValues[1]); configuration.setNotificationsEnabled(!notificationMode.equals(notificationsValues[0])); configuration.setNotificationsCancelable(!notificationMode.equals(notificationsValues[2])); @@ -654,16 +652,15 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList } } - protected void updateReadingEnabled() { + private void updateReadingEnabled() { String[] readingProfileValues = getResources().getStringArray(R.array.preferences_reading_profile_values); String[] readingProfileEntries = getResources().getStringArray(R.array.preferences_reading_profile_entries); String desc = null; // always read String readingProfile = configuration.getReadingProfile(); - boolean alwaysRead = readingProfileValues[0].equals(readingProfile); boolean readingActive; - if (alwaysRead) { + if (readingProfileValues[0].equals(readingProfile)) { readingActive = true; desc = readingProfileEntries[0]; } @@ -716,7 +713,7 @@ public class SayMyTextService extends Service implements TextToSpeech.OnInitList updateNotification(desc); } - protected void updateNotification(String content) { + private void updateNotification(String content) { NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); if (configuration.isNotificationsEnabled() && configuration.isReadingActive()) { diff --git a/src/main/java/org/chorem/android/saymytexts/SayMyTextsApplication.java b/app/src/main/java/org/chorem/android/saymytexts/SayMyTextsApplication.java similarity index 97% rename from src/main/java/org/chorem/android/saymytexts/SayMyTextsApplication.java rename to app/src/main/java/org/chorem/android/saymytexts/SayMyTextsApplication.java index 37c02c8..59c3437 100644 --- a/src/main/java/org/chorem/android/saymytexts/SayMyTextsApplication.java +++ b/app/src/main/java/org/chorem/android/saymytexts/SayMyTextsApplication.java @@ -45,8 +45,6 @@ import org.acra.annotation.ReportsCrashes; public class SayMyTextsApplication extends Application { - private static final String TAG = "SayMyTextsApplication"; - public static final boolean LOG_ENABLED = true; @Override diff --git a/src/main/java/org/chorem/android/saymytexts/SettingsActivity.java b/app/src/main/java/org/chorem/android/saymytexts/SettingsActivity.java similarity index 98% rename from src/main/java/org/chorem/android/saymytexts/SettingsActivity.java rename to app/src/main/java/org/chorem/android/saymytexts/SettingsActivity.java index 275864a..8266df0 100644 --- a/src/main/java/org/chorem/android/saymytexts/SettingsActivity.java +++ b/app/src/main/java/org/chorem/android/saymytexts/SettingsActivity.java @@ -61,9 +61,9 @@ public class SettingsActivity extends Activity { private static final String TAG = "SettingsActivity"; - protected static final String ABOUT_DIALOG_TAG = "about"; + private static final String ABOUT_DIALOG_TAG = "about"; - protected static final int CHECK_TTS_REQUEST_CODE = 42; + private static final int CHECK_TTS_REQUEST_CODE = 42; @Override public void onCreate(Bundle savedInstanceState) { @@ -236,14 +236,14 @@ public class SettingsActivity extends Activity { } } - protected void sendSMS() { + private void sendSMS() { Context context = getActivity(); TelephonyManager tMgr = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); String phoneNumber = tMgr.getLine1Number(); sendSMS(phoneNumber); } - protected void sendSMS(String phoneNumber) { + private void sendSMS(String phoneNumber) { Context context = getActivity(); String message = getString(R.string.test_sms_content); diff --git a/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/BootCompletedBroadcastReceiver.java b/app/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/BootCompletedBroadcastReceiver.java similarity index 100% rename from src/main/java/org/chorem/android/saymytexts/broadcastreceiver/BootCompletedBroadcastReceiver.java rename to app/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/BootCompletedBroadcastReceiver.java diff --git a/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/DeviceConnectionBroadcastReceiver.java b/app/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/DeviceConnectionBroadcastReceiver.java similarity index 100% rename from src/main/java/org/chorem/android/saymytexts/broadcastreceiver/DeviceConnectionBroadcastReceiver.java rename to app/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/DeviceConnectionBroadcastReceiver.java diff --git a/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/DictateSmsBroadcastReceiver.java b/app/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/DictateSmsBroadcastReceiver.java similarity index 98% rename from src/main/java/org/chorem/android/saymytexts/broadcastreceiver/DictateSmsBroadcastReceiver.java rename to app/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/DictateSmsBroadcastReceiver.java index e6ca023..ad44ee5 100644 --- a/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/DictateSmsBroadcastReceiver.java +++ b/app/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/DictateSmsBroadcastReceiver.java @@ -100,7 +100,7 @@ public class DictateSmsBroadcastReceiver extends BroadcastReceiver { } } - protected void reaskToDictate(Context context, Intent intent, SMS sms) { + private void reaskToDictate(Context context, Intent intent, SMS sms) { int attemptNumber = intent.getIntExtra(INTENT_EXTRA_ATTEMPT_NUMBER, 1); Intent serviceIntent = new Intent(context, SayMyTextService.class); diff --git a/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/NewTextBroadcastReceiver.java b/app/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/NewTextBroadcastReceiver.java similarity index 92% rename from src/main/java/org/chorem/android/saymytexts/broadcastreceiver/NewTextBroadcastReceiver.java rename to app/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/NewTextBroadcastReceiver.java index 14a12a1..1124163 100644 --- a/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/NewTextBroadcastReceiver.java +++ b/app/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/NewTextBroadcastReceiver.java @@ -55,23 +55,23 @@ public class NewTextBroadcastReceiver extends BroadcastReceiver { Bundle bundle = intent.getExtras(); if (bundle != null) { SmsMessage[] msgs = null; - String messageReceived = ""; + StringBuilder messageReceived = new StringBuilder(); // retrieve the SMS message received Object[] pdus = (Object[]) bundle.get("pdus"); msgs = new SmsMessage[pdus.length]; for (int i = 0; i < msgs.length; i++) { msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]); - messageReceived += msgs[i].getDisplayMessageBody() + " "; + messageReceived.append(msgs[i].getDisplayMessageBody()).append(" "); } // Get the Sender Phone Number String senderPhoneNumber = msgs[0].getDisplayOriginatingAddress(); String senderName = SayMyTextsUtils.getContactDisplayNameByNumber(context, senderPhoneNumber); - SMS sms = new SMS(senderPhoneNumber, senderName, messageReceived); + SMS sms = new SMS(senderPhoneNumber, senderName, messageReceived.toString()); if (SayMyTextsApplication.LOG_ENABLED) { - Log.d(TAG, messageReceived); + Log.d(TAG, messageReceived.toString()); } // start the service to say it out loud serviceIntent.putExtra(SayMyTextService.INTENT_EXTRA_SMS, sms); diff --git a/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/SayNextActionBroadcastReceiver.java b/app/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/SayNextActionBroadcastReceiver.java similarity index 100% rename from src/main/java/org/chorem/android/saymytexts/broadcastreceiver/SayNextActionBroadcastReceiver.java rename to app/src/main/java/org/chorem/android/saymytexts/broadcastreceiver/SayNextActionBroadcastReceiver.java diff --git a/src/main/java/org/chorem/android/saymytexts/model/Configuration.java b/app/src/main/java/org/chorem/android/saymytexts/model/Configuration.java similarity index 76% rename from src/main/java/org/chorem/android/saymytexts/model/Configuration.java rename to app/src/main/java/org/chorem/android/saymytexts/model/Configuration.java index 1bb7bf5..931a882 100644 --- a/src/main/java/org/chorem/android/saymytexts/model/Configuration.java +++ b/app/src/main/java/org/chorem/android/saymytexts/model/Configuration.java @@ -30,30 +30,24 @@ package org.chorem.android.saymytexts.model; */ public class Configuration { - protected int maxAttemptNumber; + private int maxAttemptNumber; /** is reading enabled according to the settings */ - protected boolean readingActive = false; + private boolean readingActive = false; - protected boolean readingCallerActive = false; + private boolean readingCallerActive = false; - /** is the reading profile "always read" */ - protected boolean alwaysRead = false; + private String readingProfile; - protected boolean alwaysReadCaller = false; + private String readingCallerProfile; - protected String readingProfile; + private boolean heisendroidModeEnabled; - protected String readingCallerProfile; + private boolean interactionEnabled; - protected boolean heisendroidModeEnabled; - - protected boolean interactionEnabled; - - protected boolean notificationsEnabled; - - protected boolean notificationsCancelable; + private boolean notificationsEnabled; + private boolean notificationsCancelable; public int getMaxAttemptNumber() { return maxAttemptNumber; @@ -79,22 +73,6 @@ public class Configuration { this.readingCallerActive = readingCallerActive; } - public boolean isAlwaysRead() { - return alwaysRead; - } - - public void setAlwaysRead(boolean alwaysRead) { - this.alwaysRead = alwaysRead; - } - - public boolean isAlwaysReadCaller() { - return alwaysReadCaller; - } - - public void setAlwaysReadCaller(boolean alwaysReadCaller) { - this.alwaysReadCaller = alwaysReadCaller; - } - public String getReadingProfile() { return readingProfile; } diff --git a/src/main/java/org/chorem/android/saymytexts/model/SMS.java b/app/src/main/java/org/chorem/android/saymytexts/model/SMS.java similarity index 100% rename from src/main/java/org/chorem/android/saymytexts/model/SMS.java rename to app/src/main/java/org/chorem/android/saymytexts/model/SMS.java diff --git a/src/main/java/org/chorem/android/saymytexts/utils/SayMyTextsRecognitionListener.java b/app/src/main/java/org/chorem/android/saymytexts/utils/SayMyTextsRecognitionListener.java similarity index 98% rename from src/main/java/org/chorem/android/saymytexts/utils/SayMyTextsRecognitionListener.java rename to app/src/main/java/org/chorem/android/saymytexts/utils/SayMyTextsRecognitionListener.java index e8305d2..7f38c05 100644 --- a/src/main/java/org/chorem/android/saymytexts/utils/SayMyTextsRecognitionListener.java +++ b/app/src/main/java/org/chorem/android/saymytexts/utils/SayMyTextsRecognitionListener.java @@ -47,7 +47,7 @@ public abstract class SayMyTextsRecognitionListener implements RecognitionListen protected SMS sms; protected ToneGenerator tg = new ToneGenerator(AudioManager.STREAM_VOICE_CALL, ToneGenerator.MAX_VOLUME); - protected boolean errorFired = false; + private boolean errorFired = false; public SayMyTextsRecognitionListener(Context context, Intent intent, SMS sms) { this.context = context; diff --git a/src/main/java/org/chorem/android/saymytexts/utils/SayMyTextsUtils.java b/app/src/main/java/org/chorem/android/saymytexts/utils/SayMyTextsUtils.java similarity index 100% rename from src/main/java/org/chorem/android/saymytexts/utils/SayMyTextsUtils.java rename to app/src/main/java/org/chorem/android/saymytexts/utils/SayMyTextsUtils.java diff --git a/res/drawable-hdpi/ic_launcher_heisendroid.png b/app/src/main/res/drawable-hdpi/ic_launcher_heisendroid.png similarity index 100% rename from res/drawable-hdpi/ic_launcher_heisendroid.png rename to app/src/main/res/drawable-hdpi/ic_launcher_heisendroid.png diff --git a/res/drawable-hdpi/ic_menu_logo.png b/app/src/main/res/drawable-hdpi/ic_menu_logo.png similarity index 100% rename from res/drawable-hdpi/ic_menu_logo.png rename to app/src/main/res/drawable-hdpi/ic_menu_logo.png diff --git a/res/drawable-hdpi/ic_stat_heisendroid.png b/app/src/main/res/drawable-hdpi/ic_stat_heisendroid.png similarity index 100% rename from res/drawable-hdpi/ic_stat_heisendroid.png rename to app/src/main/res/drawable-hdpi/ic_stat_heisendroid.png diff --git a/res/drawable-mdpi/ic_launcher_heisendroid.png b/app/src/main/res/drawable-mdpi/ic_launcher_heisendroid.png similarity index 100% rename from res/drawable-mdpi/ic_launcher_heisendroid.png rename to app/src/main/res/drawable-mdpi/ic_launcher_heisendroid.png diff --git a/res/drawable-mdpi/ic_menu_logo.png b/app/src/main/res/drawable-mdpi/ic_menu_logo.png similarity index 100% rename from res/drawable-mdpi/ic_menu_logo.png rename to app/src/main/res/drawable-mdpi/ic_menu_logo.png diff --git a/res/drawable-mdpi/ic_stat_heisendroid.png b/app/src/main/res/drawable-mdpi/ic_stat_heisendroid.png similarity index 100% rename from res/drawable-mdpi/ic_stat_heisendroid.png rename to app/src/main/res/drawable-mdpi/ic_stat_heisendroid.png diff --git a/res/drawable-xhdpi/ic_launcher_heisendroid.png b/app/src/main/res/drawable-xhdpi/ic_launcher_heisendroid.png similarity index 100% rename from res/drawable-xhdpi/ic_launcher_heisendroid.png rename to app/src/main/res/drawable-xhdpi/ic_launcher_heisendroid.png diff --git a/res/drawable-xhdpi/ic_menu_logo.png b/app/src/main/res/drawable-xhdpi/ic_menu_logo.png similarity index 100% rename from res/drawable-xhdpi/ic_menu_logo.png rename to app/src/main/res/drawable-xhdpi/ic_menu_logo.png diff --git a/res/drawable-xhdpi/ic_stat_heisendroid.png b/app/src/main/res/drawable-xhdpi/ic_stat_heisendroid.png similarity index 100% rename from res/drawable-xhdpi/ic_stat_heisendroid.png rename to app/src/main/res/drawable-xhdpi/ic_stat_heisendroid.png diff --git a/res/drawable-xxhdpi/ic_launcher_heisendroid.png b/app/src/main/res/drawable-xxhdpi/ic_launcher_heisendroid.png similarity index 100% rename from res/drawable-xxhdpi/ic_launcher_heisendroid.png rename to app/src/main/res/drawable-xxhdpi/ic_launcher_heisendroid.png diff --git a/res/drawable-xxhdpi/ic_menu_logo.png b/app/src/main/res/drawable-xxhdpi/ic_menu_logo.png similarity index 100% rename from res/drawable-xxhdpi/ic_menu_logo.png rename to app/src/main/res/drawable-xxhdpi/ic_menu_logo.png diff --git a/res/drawable-xxhdpi/ic_stat_heisendroid.png b/app/src/main/res/drawable-xxhdpi/ic_stat_heisendroid.png similarity index 100% rename from res/drawable-xxhdpi/ic_stat_heisendroid.png rename to app/src/main/res/drawable-xxhdpi/ic_stat_heisendroid.png diff --git a/res/drawable/actionbar_logo.xml b/app/src/main/res/drawable/actionbar_logo.xml similarity index 100% rename from res/drawable/actionbar_logo.xml rename to app/src/main/res/drawable/actionbar_logo.xml diff --git a/res/drawable/ic_launcher_heisendroid.png b/app/src/main/res/drawable/ic_launcher_heisendroid.png similarity index 100% rename from res/drawable/ic_launcher_heisendroid.png rename to app/src/main/res/drawable/ic_launcher_heisendroid.png diff --git a/res/drawable/ic_menu_heisendroid.png b/app/src/main/res/drawable/ic_menu_heisendroid.png similarity index 100% rename from res/drawable/ic_menu_heisendroid.png rename to app/src/main/res/drawable/ic_menu_heisendroid.png diff --git a/res/drawable/ic_menu_logo.png b/app/src/main/res/drawable/ic_menu_logo.png similarity index 100% rename from res/drawable/ic_menu_logo.png rename to app/src/main/res/drawable/ic_menu_logo.png diff --git a/res/drawable/ic_stat_heisendroid.png b/app/src/main/res/drawable/ic_stat_heisendroid.png similarity index 100% rename from res/drawable/ic_stat_heisendroid.png rename to app/src/main/res/drawable/ic_stat_heisendroid.png diff --git a/res/drawable/logo.png b/app/src/main/res/drawable/logo.png similarity index 100% rename from res/drawable/logo.png rename to app/src/main/res/drawable/logo.png diff --git a/res/drawable/logo_small.png b/app/src/main/res/drawable/logo_small.png similarity index 100% rename from res/drawable/logo_small.png rename to app/src/main/res/drawable/logo_small.png diff --git a/res/menu/settings.xml b/app/src/main/res/menu/settings.xml similarity index 100% rename from res/menu/settings.xml rename to app/src/main/res/menu/settings.xml diff --git a/res/values-de/arrays.xml b/app/src/main/res/values-de/arrays.xml similarity index 100% rename from res/values-de/arrays.xml rename to app/src/main/res/values-de/arrays.xml diff --git a/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml similarity index 91% rename from res/values-de/strings.xml rename to app/src/main/res/values-de/strings.xml index e548f31..330168a 100644 --- a/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -6,7 +6,6 @@ Dies ist besonders nützlich, wenn Sie reiten, laufen oder fahren. Sie können auch Antworten, indem Sie ihn aufrufen oder Sie diktieren die Antwort.</string> <string name="sms_received">Neue Nachricht von %1$s: %2$s.</string> - <string name="preferences_settings_label">Einstellungen</string> <string name="preference_reading_profile_label">SMS lesen</string> <string name="preference_enable_interaction_label">Interaktion</string> <string name="preference_enable_interaction_sublabel">Anrufen oder Abnehmen</string> @@ -15,10 +14,6 @@ Sie können auch Antworten, indem Sie ihn aufrufen oder Sie diktieren die Antwor <string name="preference_notifications_label">Benachrichtigungen</string> <string name="preference_test_sms_label">Testen durch Senden einer SMS an mich selbst</string> <string name="test_sms_content">Heisendroïd</string> - <string name="preferences_about_label">Über</string> - <string name="preference_version_label">Version</string> - <string name="preference_documentation_label">Dokumentation</string> - <string name="preference_issue_tracker_label">Bug-report</string> <string name="preference_ask_phone_number_title">Ihre Telefonnummer</string> <string name="preference_ask_phone_number_message">Geben Sie Ihre Telefonnummer ein, um den Text senden</string> <string name="texttospeech_init_error">Fehler beim initialisieren der Text-zu-Sprache.</string> diff --git a/res/values-fr/arrays.xml b/app/src/main/res/values-fr/arrays.xml similarity index 100% rename from res/values-fr/arrays.xml rename to app/src/main/res/values-fr/arrays.xml diff --git a/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml similarity index 100% rename from res/values-fr/strings.xml rename to app/src/main/res/values-fr/strings.xml diff --git a/res/values-hu/arrays.xml b/app/src/main/res/values-hu/arrays.xml similarity index 100% rename from res/values-hu/arrays.xml rename to app/src/main/res/values-hu/arrays.xml diff --git a/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml similarity index 91% rename from res/values-hu/strings.xml rename to app/src/main/res/values-hu/strings.xml index 6503177..03a4093 100644 --- a/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -6,7 +6,6 @@ Nagyon hasznos, amikor lovagolsz, futsz vagy vezetsz. Küldhetsz választ a feladónak, ha hívod őt vagy lediktálod a választ.</string> <string name="sms_received">Új üzenet tőle: %1$s: %2$s.</string> - <string name="preferences_settings_label">Beállítások</string> <string name="preference_reading_profile_label">SMS olvasás</string> <string name="preference_enable_interaction_label">Interakció</string> <string name="preference_enable_interaction_sublabel">hívás vagy válasz</string> @@ -15,10 +14,6 @@ <string name="preference_notifications_label">Értesítések</string> <string name="preference_test_sms_label">Teszt elküldve SMS-ben magamnak</string> <string name="test_sms_content">Heisendroid</string> - <string name="preferences_about_label">Rólunk</string> - <string name="preference_version_label">Verzió</string> - <string name="preference_documentation_label">Dokumentáció</string> - <string name="preference_issue_tracker_label">Hibajelentés</string> <string name="preference_ask_phone_number_title">Telefonszámod</string> <string name="preference_ask_phone_number_message">Add meg a telefonszámod, hogy elküldhető legyen</string> <string name="texttospeech_init_error">Hiba a szövegről beszéddé alakítás közben.</string> diff --git a/res/values-it/arrays.xml b/app/src/main/res/values-it/arrays.xml similarity index 100% rename from res/values-it/arrays.xml rename to app/src/main/res/values-it/arrays.xml diff --git a/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml similarity index 91% rename from res/values-it/strings.xml rename to app/src/main/res/values-it/strings.xml index 02fd088..2ad4349 100644 --- a/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -4,7 +4,6 @@ <string name="app_name">Say My Texts</string> <string name="app_description">Say My Texts è un\' applicazione Android che legge ad alta voce gli SMS che ricevi. Questa app è molto utile se stai pedalando, correndo o guidando. Inoltre puoi rispondere al mittente chiamandolo o dettando la risposta.</string> <string name="sms_received">Nuovo messaggio da %1$s: %2$s.</string> - <string name="preferences_settings_label">Impostazioni</string> <string name="preference_reading_profile_label">Lettura SMS</string> <string name="preference_enable_interaction_label">Interazione</string> <string name="preference_enable_interaction_sublabel">chiama o rispondi</string> @@ -13,10 +12,6 @@ <string name="preference_notifications_label">Notifiche</string> <string name="preference_test_sms_label">Testa inviando un SMS a me stesso</string> <string name="test_sms_content">Heisendroïd</string> - <string name="preferences_about_label">About</string> - <string name="preference_version_label">Versione</string> - <string name="preference_documentation_label">Documentazione</string> - <string name="preference_issue_tracker_label">Segnalazione bug</string> <string name="preference_ask_phone_number_title">Il tuo numero di telefono</string> <string name="preference_ask_phone_number_message">Inserisci il tuo numero di telefono per inviare il messaggio</string> <string name="texttospeech_init_error">Errore durante l\'inizializzazione del servizio text to speech.</string> diff --git a/res/values-pl/arrays.xml b/app/src/main/res/values-pl/arrays.xml similarity index 100% rename from res/values-pl/arrays.xml rename to app/src/main/res/values-pl/arrays.xml diff --git a/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml similarity index 91% rename from res/values-pl/strings.xml rename to app/src/main/res/values-pl/strings.xml index ea49564..b99d5a0 100644 --- a/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -4,7 +4,6 @@ <string name="app_name">Say My Texts</string> <string name="app_description">Say My Texts to aplikacja na Androida, która czyta na głos przychodzące SMSy. Jest to szczególnie użyteczne kiedy jedziesz na rowerze, biegasz lub prowadzisz samochód. Możesz również odpowiedzieć nadawcy dzwoniąc do niego lub dyktując odpowiedź.</string> <string name="sms_received">Nowa wiadomość od %1$s:%2$s.</string> - <string name="preferences_settings_label">Ustawienia</string> <string name="preference_reading_profile_label">Czytanie SMS</string> <string name="preference_enable_interaction_label">Interakcja</string> <string name="preference_enable_interaction_sublabel">Zadzwoń lub odpowiedz</string> @@ -13,10 +12,6 @@ <string name="preference_notifications_label">Powiadomienia</string> <string name="preference_test_sms_label">Przetestuj, wysyłając SMS do siebie</string> <string name="test_sms_content">Heisendroïd</string> - <string name="preferences_about_label">Informacje</string> - <string name="preference_version_label">Wersja</string> - <string name="preference_documentation_label">Dokumentacja</string> - <string name="preference_issue_tracker_label">Raport błędów</string> <string name="preference_ask_phone_number_title">Twój numer telefonu</string> <string name="preference_ask_phone_number_message">Podaj swój numer telefonu, aby wysłać tekst</string> <string name="texttospeech_init_error">Błąd przy przetwarzaniu tekstu na mowę.</string> diff --git a/res/values-pt-rBR/arrays.xml b/app/src/main/res/values-pt-rBR/arrays.xml similarity index 100% rename from res/values-pt-rBR/arrays.xml rename to app/src/main/res/values-pt-rBR/arrays.xml diff --git a/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml similarity index 91% rename from res/values-pt-rBR/strings.xml rename to app/src/main/res/values-pt-rBR/strings.xml index f607dda..1dce318 100644 --- a/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -6,7 +6,6 @@ É útil quando você está pedalando, correndo ou dirigindo. Você também pode responder o destinatário ligando para ele ou ditando a mensagem de texto.</string> <string name="sms_received">Nova mensagem de %1$s: %2$s.</string> - <string name="preferences_settings_label">Configurações</string> <string name="preference_reading_profile_label">Leitura de SMS</string> <string name="preference_enable_interaction_label">Interação</string> <string name="preference_enable_interaction_sublabel">Ligar ou responder</string> @@ -15,10 +14,6 @@ Você também pode responder o destinatário ligando para ele ou ditando a mensa <string name="preference_notifications_label">Notificações</string> <string name="preference_test_sms_label">Testar enviando um SMS para mim</string> <string name="test_sms_content">Heisendroïd</string> - <string name="preferences_about_label">Sobre</string> - <string name="preference_version_label">Versão</string> - <string name="preference_documentation_label">Documentação</string> - <string name="preference_issue_tracker_label">Reportar Bug</string> <string name="preference_ask_phone_number_title">Seu número de telefone</string> <string name="preference_ask_phone_number_message">Digite o seu número de telefone para enviar o SMS</string> <string name="texttospeech_init_error">Erro durante a inicialização da leitura.</string> diff --git a/res/values-pt-rPT/arrays.xml b/app/src/main/res/values-pt-rPT/arrays.xml similarity index 100% rename from res/values-pt-rPT/arrays.xml rename to app/src/main/res/values-pt-rPT/arrays.xml diff --git a/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml similarity index 91% rename from res/values-pt-rPT/strings.xml rename to app/src/main/res/values-pt-rPT/strings.xml index 573e9bb..d43f265 100644 --- a/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -6,7 +6,6 @@ É útil quando você está pedalando, correndo ou dirigindo. Você também pode responder o destinatário ligando para ele ou ditando a mensagem de texto.</string> <string name="sms_received">Nova mensagem de %1$s: %2$s.</string> - <string name="preferences_settings_label">Configurações</string> <string name="preference_reading_profile_label">Leitura de SMS</string> <string name="preference_enable_interaction_label">Interação</string> <string name="preference_enable_interaction_sublabel">Ligar ou responder</string> @@ -15,10 +14,6 @@ Você também pode responder o destinatário ligando para ele ou ditando a mensa <string name="preference_notifications_label">Notificações</string> <string name="preference_test_sms_label">Testar enviando um SMS para mim</string> <string name="test_sms_content">Heisendroïd</string> - <string name="preferences_about_label">Sobre</string> - <string name="preference_version_label">Versão</string> - <string name="preference_documentation_label">Documentação</string> - <string name="preference_issue_tracker_label">Reportar Bug</string> <string name="preference_ask_phone_number_title">Seu número de telefone</string> <string name="preference_ask_phone_number_message">Digite o seu número de telefone para enviar o SMS</string> <string name="texttospeech_init_error">Erro durante a inicialização da leitura.</string> diff --git a/res/values-v21/themes.xml b/app/src/main/res/values-v21/themes.xml similarity index 97% rename from res/values-v21/themes.xml rename to app/src/main/res/values-v21/themes.xml index f28d4c1..b865b5d 100644 --- a/res/values-v21/themes.xml +++ b/app/src/main/res/values-v21/themes.xml @@ -1,5 +1,4 @@ <?xml version="1.0" encoding="utf-8"?> - <resources> <style name="Theme.SayMyTextsTheme" parent="android:Theme.Material.Settings"> diff --git a/res/values/arrays.xml b/app/src/main/res/values/arrays.xml similarity index 55% rename from res/values/arrays.xml rename to app/src/main/res/values/arrays.xml index ff10f40..5401fa9 100644 --- a/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -1,13 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <resources> - <string-array name="preferences_reading_profile_values"> - <item>always</item> - <item>anyDeviceConnected</item> - <item>wiredDeviceConnected</item> - <item>never</item> - </string-array> - <string-array name="preferences_reading_profile_entries"> <item>Always</item> <item>When a headset, headphone or bluetooth device is connected</item> @@ -15,12 +8,6 @@ <item>Never</item> </string-array> - <string-array name="preferences_notifications_values"> - <item>disabled</item> - <item>cancellable</item> - <item>not_cancellable</item> - </string-array> - <string-array name="preferences_notifications_entries"> <item>Disabled</item> <item>Cancellable</item> diff --git a/res/values/colors.xml b/app/src/main/res/values/colors.xml similarity index 100% rename from res/values/colors.xml rename to app/src/main/res/values/colors.xml diff --git a/res/values/preference_keys.xml b/app/src/main/res/values/preference_keys.xml similarity index 86% rename from res/values/preference_keys.xml rename to app/src/main/res/values/preference_keys.xml index 8b46fde..a541c9c 100644 --- a/res/values/preference_keys.xml +++ b/app/src/main/res/values/preference_keys.xml @@ -1,5 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> -<resources> +<resources + xmlns:tools="http://schemas.android.com/tools" + tools:ignore="MissingTranslation"> <string name="preference_reading_profile_key">reading_profile</string> <string name="preference_reading_caller_profile_key">reading_caller_profile</string> <string name="preference_enable_interaction_key">enable_interaction</string> diff --git a/app/src/main/res/values/preferences_values.xml b/app/src/main/res/values/preferences_values.xml new file mode 100644 index 0000000..f8c171c --- /dev/null +++ b/app/src/main/res/values/preferences_values.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources + xmlns:tools="http://schemas.android.com/tools" + tools:ignore="MissingTranslation"> + + <string-array name="preferences_reading_profile_values"> + <item>always</item> + <item>anyDeviceConnected</item> + <item>wiredDeviceConnected</item> + <item>never</item> + </string-array> + + <string-array name="preferences_notifications_values"> + <item>disabled</item> + <item>cancellable</item> + <item>not_cancellable</item> + </string-array> + +</resources> \ No newline at end of file diff --git a/res/values/strings.xml b/app/src/main/res/values/strings.xml similarity index 94% rename from res/values/strings.xml rename to app/src/main/res/values/strings.xml index 292dcf9..0686542 100644 --- a/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -67,11 +67,11 @@ Say My Texts is a free application (<a href=\'http://www.gnu.org/licenses/gpl-3.0.html\'>GPLv3</a> license). </p> <p> - If you need help, please visit the <a href=\'https://doc.chorem.org/say-my-texts/index.html\'>documentation page</a>. + If you need help, please visit the <a href=\'http://chorem.page.nuiton.org/say-my-texts/\'>documentation page</a>. </p> <p> If you find a bug or think of new features, you can create an issue on our - <a href=\'http://forge.chorem.org/projects/say-my-texts/issues\'>Chorem forge</a>. + <a href=\'https://gitlab.nuiton.org/chorem/say-my-texts/issues\'>Chorem forge</a>. </p> <p> Thanks to Crowdin users, this app is available in several languages. @@ -79,7 +79,7 @@ <a href=\'https://crowdin.com/project/say-my-texts\'>Crowdin page</a>. </p> <p> - <small>Copyright (C) 2014 - 2015 Code Lutin</small> + <small>Copyright (C) 2014 - 2017 Code Lutin</small> </p> ]]></string> diff --git a/res/values/themes.xml b/app/src/main/res/values/themes.xml similarity index 90% rename from res/values/themes.xml rename to app/src/main/res/values/themes.xml index d519997..be9e573 100644 --- a/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -1,5 +1,4 @@ <?xml version="1.0" encoding="utf-8"?> - <resources> <style name="Theme.SayMyTextsTheme" parent="android:Theme.Holo.Light"/> diff --git a/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml similarity index 96% rename from res/xml/preferences.xml rename to app/src/main/res/xml/preferences.xml index 9e332ab..5e68287 100644 --- a/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -1,5 +1,4 @@ <?xml version="1.0" encoding="utf-8"?> - <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="@string/preferences_settings_sms_label"> @@ -28,7 +27,7 @@ android:title="@string/preference_notifications_label" android:entries="@array/preferences_notifications_entries" android:entryValues="@array/preferences_notifications_values" - android:defaultValue="cancelable"/> + android:defaultValue="cancellable"/> <Preference android:key="@string/preference_test_sms_key" android:title="@string/preference_test_sms_label" diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..6d86b34 --- /dev/null +++ b/build.gradle @@ -0,0 +1,29 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + jcenter() + maven { + url "https://plugins.gradle.org/m2/" + } + } + dependencies { + classpath 'com.android.tools.build:gradle:2.3.0' + classpath "gradle.plugin.nl.javadude.gradle.plugins:license-gradle-plugin:0.14.0" + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +apply plugin: "com.github.hierynomus.license" + +allprojects { + repositories { + jcenter() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..743d692 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,13 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx1536m +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:d... +# org.gradle.parallel=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..13372ae Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..9a778d6 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Mon Dec 28 10:00:20 PST 2015 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..9d82f78 --- /dev/null +++ b/gradlew @@ -0,0 +1,160 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..aec9973 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/pom.xml b/pom.xml deleted file mode 100644 index 87404e0..0000000 --- a/pom.xml +++ /dev/null @@ -1,366 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - WLO - %% - Copyright (C) 2013 - 2016 Code Lutin - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> - -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.nuiton</groupId> - <artifactId>chorempom</artifactId> - <version>9</version> - </parent> - - <groupId>org.chorem.android</groupId> - <artifactId>saymytexts</artifactId> - <version>3.O-SNAPSHOT</version> - <packaging>apk</packaging> - - <name>Say My Texts</name> - <description> - Say My Texts is an Android application which reads out loud the SMS you receive. - This is particulary useful when you are riding, running or driving. - You also can reply to the sender by calling him or by dictating the reply. - </description> - <url>https://say-my-texts.chorem.org</url> - <inceptionYear>2014</inceptionYear> - <licenses> - <license> - <name>General Public License (GPL)</name> - <url>http://www.gnu.org/licenses/gpl.txt</url> - <distribution>repo</distribution> - </license> - </licenses> - - <developers> - <developer> - <id>morin</id> - <name>Kevin Morin</name> - <email>morin@codelutin.com</email> - <organization>CodeLutin</organization> - <organizationUrl>http://www.codelutin.com</organizationUrl> - <roles> - <role>developer</role> - </roles> - <timezone>Europe/Paris</timezone> - </developer> - <developer> - <id>tchemit</id> - <name>Tony Chemit</name> - <email>chemit@codelutin.com</email> - <organization>CodeLutin</organization> - <organizationUrl>http://www.codelutin.com</organizationUrl> - <roles> - <role>developer</role> - </roles> - <timezone>Europe/Paris</timezone> - </developer> - </developers> - - <scm> - <url>https://gitlab.nuiton.org/chorem/say-my-texts</url> - <connection>scm:git:git@gitlab.nuiton.org:chorem/say-my-texts.git</connection> - <developerConnection>scm:git:git@gitlab.nuiton.org:chorem/say-my-texts.git</developerConnection> - </scm> - - <properties> - - <!-- Java version --> - <ciViewId>Say my texts</ciViewId> - <javaVersion>1.7</javaVersion> - <signatureArtifactId>java17</signatureArtifactId> - <signatureVersion>1.0</signatureVersion> - - <projectId>say-my-texts</projectId> - <maven.test.skip>true</maven.test.skip> - - <!-- locales for the site generation, by default only french --> - <locales>en,fr</locales> - - <!-- do not relatize links in generated site --> - <relativizeDecorationLinks>false</relativizeDecorationLinks> - - <!-- license header configuration --> - <license.organizationName>Code Lutin</license.organizationName> - <license.licenseName>gpl_v3</license.licenseName> - - <!-- Post Release configuration --> - <skipPostRelease>false</skipPostRelease> - - <androidVersion>4.1.1.4</androidVersion> - - </properties> - - <dependencies> - - <dependency> - <groupId>com.google.android</groupId> - <artifactId>android</artifactId> - <version>${androidVersion}</version> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>com.google.android</groupId> - <artifactId>android-test</artifactId> - <version>${androidVersion}</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>ch.acra</groupId> - <artifactId>acra</artifactId> - <version>4.5.0</version> - </dependency> - - </dependencies> - - <build> - <resources> - <resource> - <directory>res</directory> - <filtering>false</filtering> - </resource> - </resources> - <plugins> - <plugin> - <groupId>com.simpligility.maven.plugins</groupId> - <artifactId>android-maven-plugin</artifactId> - <version>4.3.0</version> - <executions> - <execution> - <id>alignApk</id> - <phase>install</phase> - <goals> - <goal>zipalign</goal> - </goals> - </execution> - </executions> - <configuration> - <sdk> - <platform>22</platform> - </sdk> - <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile> - <resourceDirectory>${project.basedir}/res</resourceDirectory> - <extractDuplicates>true</extractDuplicates> - <device>usb</device> - <zipalign> - <verbose>true</verbose> - <skip>false</skip> - <inputApk> - ${project.build.directory}/${project.artifactId}-${project.version}.apk - </inputApk> - <outputApk> - ${project.build.directory}/${project.artifactId}-${project.version}.apk - </outputApk> - </zipalign> - </configuration> - <extensions>true</extensions> - </plugin> - - <!-- plugin site --> - <plugin> - <artifactId>maven-site-plugin</artifactId> - <dependencies> - <dependency> - <groupId>org.nuiton.jrst</groupId> - <artifactId>doxia-module-jrst</artifactId> - <version>${jrstPluginVersion}</version> - </dependency> - </dependencies> - </plugin> - - </plugins> - </build> - - <reporting> - <excludeDefaults>true</excludeDefaults> - </reporting> - - <profiles> - - <profile> - <id>sign</id> - <activation> - <property> - <name>performRelease</name> - <value>true</value> - </property> - </activation> - <build> - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>helper-maven-plugin</artifactId> - <executions> - <execution> - <id>get-keystore</id> - <goals> - <goal>share-server-secret</goal> - </goals> - <phase>prepare-package</phase> - <configuration> - <serverId>codelutin-keystore</serverId> - <privateKeyOut>jarsigner.keystore</privateKeyOut> - <passwordOut>jarsigner.storepass</passwordOut> - <usernameOut>jarsigner.alias</usernameOut> - <passphraseOut>jarsigner.keypass</passphraseOut> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jarsigner-plugin</artifactId> - <executions> - <execution> - <id>signing</id> - <goals> - <goal>sign</goal> - </goals> - <phase>package</phase> - <inherited>true</inherited> - <configuration> - <includes> - <include>target/*.apk</include> - </includes> - <arguments> - <argument>-sigalg</argument><argument>MD5withRSA</argument> - <argument>-digestalg</argument><argument>SHA1</argument> - </arguments> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>com.jayway.maven.plugins.android.generation2</groupId> - <artifactId>android-maven-plugin</artifactId> - <inherited>true</inherited> - <configuration> - <sign> - <debug>false</debug> - </sign> - </configuration> - </plugin> - </plugins> - </build> - </profile> - - <profile> - <id>license-profile</id> - <activation> - <property> - <name>performRelease</name> - <value>true</value> - </property> - </activation> - - <build> - <defaultGoal>generate-resources</defaultGoal> - <plugins> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>license-maven-plugin</artifactId> - <executions> - <execution> - <id>update-file-header-on-pom</id> - <goals> - <goal>update-file-header</goal> - </goals> - <phase>generate-resources</phase> - <configuration> - <roots> - <root>${project.basedir}</root> - </roots> - <includes> - <include>pom.xml</include> - </includes> - <addSvnKeyWords>false</addSvnKeyWords> - <verbose>false</verbose> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - - <!-- This profile update license stuff with new goal update-file-header --> - <profile> - <id>update-file-header</id> - <activation> - <property> - <name>performRelease</name> - <value>true</value> - </property> - </activation> - - <properties> - <license.descriptor>src/license/project.xml</license.descriptor> - </properties> - <build> - <defaultGoal>process-resources</defaultGoal> - <plugins> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>license-maven-plugin</artifactId> - <executions> - <execution> - <id>update-file-header</id> - <goals> - <goal>update-file-header</goal> - </goals> - <configuration> - <addSvnKeyWords>true</addSvnKeyWords> - <excludes> - <exclude>**/i18n/*.properties</exclude> - <exclude>**/THIRD-PARTY.properties</exclude> - <!-- since sh scripts must begins by the line #!/bin/sh, - can not use the mojo for the mojo --> - <exclude>**/*.sh</exclude> - </excludes> - </configuration> - <phase>process-resources</phase> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - - <profile> - <id>add-nexus-repository</id> - - <repositories> - - <repository> - <id>nexus-android-support</id> - <url>http://nexus.nuiton.org/nexus/content/repositories/android/</url> - </repository> - </repositories> - </profile> - - </profiles> -</project> diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..e7b4def --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +include ':app' diff --git a/src/license/THIRD-PARTY.properties b/src/license/THIRD-PARTY.properties deleted file mode 100644 index eeee374..0000000 --- a/src/license/THIRD-PARTY.properties +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by org.codehaus.mojo.license.AddThirdPartyMojo -#------------------------------------------------------------------------------- -# Already used licenses in project : -# - Apache 2.0 -# - Apache Software License, version 1.1 -# - BSD License -# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 -# - Common Public License Version 1.0 -# - Indiana University Extreme! Lab Software License, vesion 1.1.1 -# - Lesser General Public License (LPGL) -# - Lesser General Public License (LPGL) v 2.1 -# - MIT License -# - New BSD License -# - Public Domain -# - The Apache Software License, Version 2.0 -# - provided without support or warranty -#------------------------------------------------------------------------------- -# Please fill the missing licenses for dependencies : -# -# -#Mon Mar 24 22:12:18 CET 2014 -xerces--xmlParserAPIs--2.6.2=The Apache Software License, Version 2.0 diff --git a/src/site/fr/resources/images/logos/smt_logo_title.png b/src/site/fr/resources/images/logos/smt_logo_title.png deleted file mode 100644 index 22167ce..0000000 Binary files a/src/site/fr/resources/images/logos/smt_logo_title.png and /dev/null differ diff --git a/src/site/fr/rst/dev.rst b/src/site/fr/rst/dev.rst deleted file mode 100644 index 79bee89..0000000 --- a/src/site/fr/rst/dev.rst +++ /dev/null @@ -1,35 +0,0 @@ -.. - -.. * #%L -.. * Say My Texts -.. * $Id:$ -.. * $HeadURL:$ -.. * %% -.. * Copyright (C) 2014 - 2015 Code Lutin -.. * %% -.. * This program is free software: you can redistribute it and/or modify -.. * it under the terms of the GNU General Public License as -.. * published by the Free Software Foundation, either version 3 of the -.. * License, or (at your option) any later version. -.. * -.. * This program is distributed in the hope that it will be useful, -.. * but WITHOUT ANY WARRANTY; without even the implied warranty of -.. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.. * GNU General Public License for more details. -.. * -.. * You should have received a copy of the GNU General Public -.. * License along with this program. If not, see -.. * <http://www.gnu.org/licenses/gpl-3.0.html>. -.. * #L% -.. - - -Documentation développeur -######################### - -L'application est composée : - -- d'un service qui lit les SMS à voix haute et gère les commandes vocales -- d'une activité de configuration -- d'un *BroadcastReceiver* qui reçoit les SMS et écoute les connexions bluetooth -- d'un *BroadcastReceiver* qui reçoit les commandes vocales -- d'un *BroadcastReceiver* qui reçoit le texte dicté en réponse -- d'une application pour configurer le rapporteur de plantage diff --git a/src/site/fr/rst/index.rst b/src/site/fr/rst/index.rst deleted file mode 100644 index 0cb5996..0000000 --- a/src/site/fr/rst/index.rst +++ /dev/null @@ -1,30 +0,0 @@ -.. - -.. * #%L -.. * Say My Texts -.. * $Id:$ -.. * $HeadURL:$ -.. * %% -.. * Copyright (C) 2014 - 2015 Code Lutin -.. * %% -.. * This program is free software: you can redistribute it and/or modify -.. * it under the terms of the GNU General Public License as -.. * published by the Free Software Foundation, either version 3 of the -.. * License, or (at your option) any later version. -.. * -.. * This program is distributed in the hope that it will be useful, -.. * but WITHOUT ANY WARRANTY; without even the implied warranty of -.. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.. * GNU General Public License for more details. -.. * -.. * You should have received a copy of the GNU General Public -.. * License along with this program. If not, see -.. * <http://www.gnu.org/licenses/gpl-3.0.html>. -.. * #L% -.. - - -Bienvenue sur le site de Say My Texts -##################################### - -Say My Texts est une application Android qui permet de lire à haute voix les SMS que vous recevez. -Ceci est particulièrement utile en vélo, quand on court ou en voiture. -Vous pouvez également répondre à l'expéditeur soit en l'appelant soit en dictant la réponse. diff --git a/src/site/fr/rst/user.rst b/src/site/fr/rst/user.rst deleted file mode 100644 index eb08302..0000000 --- a/src/site/fr/rst/user.rst +++ /dev/null @@ -1,100 +0,0 @@ -.. - -.. * #%L -.. * Say My Texts -.. * $Id:$ -.. * $HeadURL:$ -.. * %% -.. * Copyright (C) 2014 - 2015 Code Lutin -.. * %% -.. * This program is free software: you can redistribute it and/or modify -.. * it under the terms of the GNU General Public License as -.. * published by the Free Software Foundation, either version 3 of the -.. * License, or (at your option) any later version. -.. * -.. * This program is distributed in the hope that it will be useful, -.. * but WITHOUT ANY WARRANTY; without even the implied warranty of -.. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.. * GNU General Public License for more details. -.. * -.. * You should have received a copy of the GNU General Public -.. * License along with this program. If not, see -.. * <http://www.gnu.org/licenses/gpl-3.0.html>. -.. * #L% -.. - - -Documentation utilisateur -######################### - -Installation -~~~~~~~~~~~~ - -Pour pouvoir installer l'application, vous devez posséder un appareil sous Android Ice Cream Sandwich 4.0.3 au minimum. - -L'application a besoin d'un synthétiseur de voix. Si aucun n'est installé, il vous sera proposé d'en installer un. - -Lorsque vous avez installé l'application, il faut l'ouvrir une première fois pour l'activer. -Elle s'activera ensuite automatiquement à chaque démarrage de l'appareil. - -Permissions ------------ - -L'application a besoin des permissions suivantes : - -:RECEIVE_SMS: - pour recevoir les SMS -:SEND_SMS: - l'utilisateur peut s'envoyer des SMS pour tester -:READ_PHONE_STATE: - pour vérifier qu'un appel n'est pas en cours -:MODIFY_AUDIO_SETTINGS: - le synthétiseur d voix en a besoin -:READ_CONTACTS: - pour trouver le nom du contact à partir du numéro de l'envoyeur -:BLUETOOTH: - pour accéder aux appareils bluetooth connectés -:RECORD_AUDIO: - pour les commandes vocales et dicter la réponse -:CALL_PHONE: - pour rappeler l'expéditeur - -Configuration -~~~~~~~~~~~~~ - -Le lancement de l'application depuis le menu ouvre la configuration de l'application. -Vous pouvez : - -- activer ou désactiver la lecture en fonction du branchement ou non d'un casque ou de la connexion d'un appareil bluetooth -- activer l'intéraction à la réception d'un message (seulement si la reconnaissance vocale est installée) -- si l'intéraction est activée, vous pouvez choisir le nombre d'essais de reconnaissance des commandes vocales (3 par défaut) -- activer ou désactiver le `mode Heisendroid`_. -- vous envoyer un SMS pour tester la lecture - -Mode Heisendroid ----------------- - -Le nom de *Say My Texts* est une référence à la série américaine *Breaking Bad*. -Le nom du personnage dans le logo s'appelle *Heisendroid*, -en référence au pseudo de Walter White dans la série (Heisenberg). - -Lorsque vous activez le mode Heisendroid, la lecture des SMS est précédée par "*Say my text*" -et suivie de "*You're goddamn right!*". Il s'agit là aussi d'une référence à une des répliques cultes de la série. - -.. _mode Heisendroid: #Mode_Heisendroid - -Intéractions -~~~~~~~~~~~~ - -Si l'intéraction est activée, lorsque vous recevez un SMS, l'application vous propose 3 possibilités : - -- appeler l'expéditeur (dîtes "appeler") -- répondre par SMS en dictant la réponse (dîtes "répondre") -- ne rien faire (dîtes "rien") - -Si vous choisissez de répondre par SMS, vous devrez alors dicter la réponse. L'application vous énoncera ce qu'elle a compris. -Vous pourrez alors : - -- confirmer et envoyer la réponse (dîtes "confirmer") -- redicter le SMS (dîtes "corriger") -- annuler la réponse et quitter (dîtes "annuler") - -Si l'application ne comprend pas ce que vous avez dit (ce qui arrive malheureusement), elle vous demandera de répéter. diff --git a/src/site/resources/images/logos/smt_logo_title.png b/src/site/resources/images/logos/smt_logo_title.png deleted file mode 100644 index 22167ce..0000000 Binary files a/src/site/resources/images/logos/smt_logo_title.png and /dev/null differ diff --git a/src/site/rst/dev.rst b/src/site/rst/dev.rst deleted file mode 100644 index deec631..0000000 --- a/src/site/rst/dev.rst +++ /dev/null @@ -1,35 +0,0 @@ -.. - -.. * #%L -.. * Say My Texts -.. * $Id:$ -.. * $HeadURL:$ -.. * %% -.. * Copyright (C) 2014 - 2015 Code Lutin -.. * %% -.. * This program is free software: you can redistribute it and/or modify -.. * it under the terms of the GNU General Public License as -.. * published by the Free Software Foundation, either version 3 of the -.. * License, or (at your option) any later version. -.. * -.. * This program is distributed in the hope that it will be useful, -.. * but WITHOUT ANY WARRANTY; without even the implied warranty of -.. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.. * GNU General Public License for more details. -.. * -.. * You should have received a copy of the GNU General Public -.. * License along with this program. If not, see -.. * <http://www.gnu.org/licenses/gpl-3.0.html>. -.. * #L% -.. - - -Developer documentation -####################### - -The application is composed of: - -- a service which reads the SMS out loud and manage the vocal commands -- an activity for the settings -- a *BroadcastReceiver* which receives the SMS and listens to the bluetooth connections -- a *BroadcastReceiver* which receives the vocal commands -- a *BroadcastReceiver* which receives the dictated reply -- an application to setup the crash report diff --git a/src/site/rst/index.rst b/src/site/rst/index.rst deleted file mode 100644 index 9ab8012..0000000 --- a/src/site/rst/index.rst +++ /dev/null @@ -1,30 +0,0 @@ -.. - -.. * #%L -.. * Say My Texts -.. * $Id:$ -.. * $HeadURL:$ -.. * %% -.. * Copyright (C) 2014 - 2015 Code Lutin -.. * %% -.. * This program is free software: you can redistribute it and/or modify -.. * it under the terms of the GNU General Public License as -.. * published by the Free Software Foundation, either version 3 of the -.. * License, or (at your option) any later version. -.. * -.. * This program is distributed in the hope that it will be useful, -.. * but WITHOUT ANY WARRANTY; without even the implied warranty of -.. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.. * GNU General Public License for more details. -.. * -.. * You should have received a copy of the GNU General Public -.. * License along with this program. If not, see -.. * <http://www.gnu.org/licenses/gpl-3.0.html>. -.. * #L% -.. - - -Welcome to Say My Texts website -############################### - -Say My Texts is an Android application which reads out loud the SMS you receive. -This is particularly useful when you are riding, running or driving. -You also can reply to the sender by calling him or by dictating the reply. diff --git a/src/site/rst/user.rst b/src/site/rst/user.rst deleted file mode 100644 index 3f77af9..0000000 --- a/src/site/rst/user.rst +++ /dev/null @@ -1,96 +0,0 @@ -.. - -.. * #%L -.. * Say My Texts -.. * $Id:$ -.. * $HeadURL:$ -.. * %% -.. * Copyright (C) 2014 - 2015 Code Lutin -.. * %% -.. * This program is free software: you can redistribute it and/or modify -.. * it under the terms of the GNU General Public License as -.. * published by the Free Software Foundation, either version 3 of the -.. * License, or (at your option) any later version. -.. * -.. * This program is distributed in the hope that it will be useful, -.. * but WITHOUT ANY WARRANTY; without even the implied warranty of -.. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.. * GNU General Public License for more details. -.. * -.. * You should have received a copy of the GNU General Public -.. * License along with this program. If not, see -.. * <http://www.gnu.org/licenses/gpl-3.0.html>. -.. * #L% -.. - - -User documentation -################## - -Installation -~~~~~~~~~~~~ - -To install the application, you need a device with at least Android Ice Cream Sandwich 4.0.3. - -The application needs a voice synthetizer. If none is installed, you will be able to install one from the application. - -Once the application is installed, you need to launch it once to activate it. -It will be automatically activated the next times you start the device. - - -Permissions ------------ - -The application needs the following permissions: - -:RECEIVE_SMS: to receive the SMS -:SEND_SMS: the user can send SMS to himself to test -:READ_PHONE_STATE: to check that the user is not in a call -:MODIFY_AUDIO_SETTINGS: the voice synthetizer needs it -:READ_CONTACTS: to match the phone number of the sender with the contact name -:BLUETOOTH: to get the connected devices -:RECORD_AUDIO: - pour les commandes vocales et dicter la réponse -:CALL_PHONE: - pour rappeler l'expéditeur - - -Settings -~~~~~~~~ - -When you launch the application from the menu, the settings open. -You can: - -- enable or disable the reading depending if a headset is plugged or not or if a bluetooth device is connected -- enable or disable the interaction with the received messages (only if a voice recognizer is installed) -- if the interaction is enabled, you can configure the maximum number of tries to understand the vocal commands (3 by default) -- enable or disable the `Heisendroid mode`_. -- send a SMS to yourself to test the reading - -Heisendroid mode ----------------- - -The name *Say My Texts* is a reference to the American TV show *Breaking Bad*. -The logo character's name is *Heisendroid*, -in reference to Walter White's pseudonym in the series (Heisenberg). - -When you enable the Heisendroid mode, the SMS reading is preceded by "*Say my text*" -and followed by "*You're goddamn right!*". It is also a reference to one of the cult line of the series. - -.. _Heisendroid mode: #Heisendroid_mode - -Interactions -~~~~~~~~~~~~ - -If the interaction is on, when you receive an SMS, the app offers you 3 choices: - -- call the sender (say "call") -- reply by SMS by dictating the message (say "repy") -- do nothing (say "nothing") - -If you choose to reply by SMS, you can then dictate the message. The application will tell what it understands. -You can then: - -- confirm and send the reply (say "confirm") -- dictate the text again (say "modify") -- cancel the reply and quit (say "cancel") - -If the app does not understand what you said (it happens), you will be asked to repeat. diff --git a/src/site/site_en.xml b/src/site/site_en.xml deleted file mode 100644 index 519b175..0000000 --- a/src/site/site_en.xml +++ /dev/null @@ -1,122 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - Say My Texts - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2014 - 2015 Code Lutin - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> - - -<project name="${project.name}"> - - <bannerLeft> - <src alt="SayMyTexts">/images/logos/smt_logo_title.png</src> - <name>${project.name}</name> - <href>index.html</href> - </bannerLeft> - - <bannerRight> - <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src> - <href>http://www.codelutin.com</href> - </bannerRight> - - <skin> - <groupId>org.apache.maven.skins</groupId> - <artifactId>maven-fluido-skin</artifactId> - <version>1.3.0</version> - </skin> - - <custom> - <fluidoSkin> - <topBarEnabled>false</topBarEnabled> - <sideBarEnabled>true</sideBarEnabled> - <searchEnabled>true</searchEnabled> - <sourceLineNumbersEnabled>true</sourceLineNumbersEnabled> - </fluidoSkin> - </custom> - - <publishDate position="right" format="MM/dd/yyyy"/> - <version position="right"/> - - <poweredBy> - <logo href="http://maven.apache.org" name="Maven" - img="http://maven-site.nuiton.org/public/images/logos/maven-feather.png"/> - - <logo href="http://docutils.sourceforge.net/rst.html" - name="ReStructuredText" - img="http://maven-site.nuiton.org/public/images/logos/restructuredtext-logo.png"/> - - <logo href="http://maven-site.nuiton.org/jrst" name="JRst" - img="http://maven-site.nuiton.org/public/images/logos/jrst-logo.png"/> - - </poweredBy> - - <body> - - <head> - <script type="text/javascript" - src="http://maven-site.chorem.org/public/js/mavenpom-site.js"> - </script> - - <link rel="stylesheet" type="text/css" - href="http://maven-site.chorem.org/public/css/mavenpom-site.css"/> - </head> - - <breadcrumbs> - <item name="${project.name}" href="./index.html"/> - </breadcrumbs> - - <links> - <item name="nuiton.org" href="http://www.nuiton.org"/> - <item name="chorem.org" href="http://www.chorem.org"/> - <item name="CodeLutin" href="http://codelutin.com"/> - <item name="Libre-Entreprise" href="http://www.libre-entreprise.org/"/> - </links> - - <menu name="Documentation"> - <item name="User" href="./user.html"/> - <item name="Developer" href="./dev.html"/> - </menu> - - <menu name="Language"> - <item name="Français" href="./fr/index.html"/> - <item name="English" href="./index.html"/> - </menu> - - <menu ref="reports"/> - - <footer> - <div id='projectMetas' locale='en' - projectversion='${project.version}' - platform='${project.platform}' - projectid='${project.projectId}' - scm='${project.scm.developerConnection}' - scmwebeditorenabled='${project.scmwebeditorEnabled}' - scmwebeditorurl='${project.scmwebeditorUrl}' - siteSourcesType='${project.siteSourcesType}' - piwikEnabled='${project.piwikEnabled}' - piwikId='${project.piwikId}'> - </div> - </footer> - - </body> - -</project> - diff --git a/src/site/site_fr.xml b/src/site/site_fr.xml deleted file mode 100644 index 546194f..0000000 --- a/src/site/site_fr.xml +++ /dev/null @@ -1,125 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - #%L - Say My Texts - $Id:$ - $HeadURL:$ - %% - Copyright (C) 2014 - 2015 Code Lutin - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public - License along with this program. If not, see - <http://www.gnu.org/licenses/gpl-3.0.html>. - #L% - --> - - -<project name="${project.name}"> - - <bannerLeft> - <src alt="SayMyTexts">/images/logos/smt_logo_title.png</src> - <name>${project.name}</name> - <href>index.html</href> - </bannerLeft> - - <bannerRight> - <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src> - <href>http://www.codelutin.com</href> - </bannerRight> - - <skin> - <groupId>org.apache.maven.skins</groupId> - <artifactId>maven-fluido-skin</artifactId> - <version>1.3.0</version> - </skin> - - <custom> - <fluidoSkin> - <topBarEnabled>false</topBarEnabled> - <sideBarEnabled>true</sideBarEnabled> - <searchEnabled>true</searchEnabled> - <sourceLineNumbersEnabled>true</sourceLineNumbersEnabled> - </fluidoSkin> - </custom> - - <publishDate position="right" format="dd/MM/yyyy"/> - <version position="right"/> - - <poweredBy> - <logo href="http://maven.apache.org" name="Maven" - img="http://maven-site.nuiton.org/public/images/logos/maven-feather.png"/> - - <logo href="http://docutils.sourceforge.net/rst.html" - name="ReStructuredText" - img="http://maven-site.nuiton.org/public/images/logos/restructuredtext-logo.png"/> - - <logo href="http://maven-site.nuiton.org/jrst" name="JRst" - img="http://maven-site.nuiton.org/public/images/logos/jrst-logo.png"/> - -<!-- add android --> - - </poweredBy> - - <body> - - <head> - <script type="text/javascript" - src="http://maven-site.nuiton.org/public/js/mavenpom-site.js"> - </script> - - <link rel="stylesheet" type="text/css" - href="http://maven-site.nuiton.org/public/css/mavenpom-site.css"/> - </head> - - <breadcrumbs> - <item name="${project.name}" href="./index.html"/> - </breadcrumbs> - - <links> - <item name="nuiton.org" href="http://www.nuiton.org"/> - <item name="chorem.org" href="http://www.chorem.org"/> - <item name="CodeLutin" href="http://codelutin.com"/> - <item name="Libre-Entreprise" href="http://www.libre-entreprise.org/"/> - </links> - - <menu name="Documentation"> - <item name="Utilisateur" href="./user.html"/> - <item name="Développeur" href="./dev.html"/> - </menu> - - <menu name="Langue"> - <item name="Français" href="index.html"/> - <item name="English" href="../index.html"/> - </menu> - - <menu ref="reports"/> - - <footer> - - <div id='projectMetas' locale='fr' - projectversion='${project.version}' - platform='${project.platform}' - projectid='${project.projectId}' - scm='${project.scm.developerConnection}' - scmwebeditorenabled='${project.scmwebeditorEnabled}' - scmwebeditorurl='${project.scmwebeditorUrl}' - siteSourcesType='${project.siteSourcesType}' - piwikEnabled='${project.piwikEnabled}' - piwikId='${project.piwikId}'> - </div> - </footer> - - </body> - -</project> - -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.