mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-12-29 12:05:53 +01:00
Merge remote-tracking branch 'origin/master' into feature-weather
This commit is contained in:
commit
11297cd855
@ -1,5 +1,13 @@
|
||||
###Changelog
|
||||
|
||||
####Version 0.7.2
|
||||
* Pebble: Allow replying to generic notifications that contain a wearable reply action (tested with Signal)
|
||||
* Pebble: Support seting up a common suffix for canned replies (defaults to " (canned reply)")
|
||||
* Mi Band: Avoid NPEs when aborting an erroneous sync #205
|
||||
* Mi Band: Fix discovery of Mi Band 1S
|
||||
* Add a confirmation dialog when performing a db import
|
||||
* Sort blacklist by package names
|
||||
|
||||
####Version 0.7.1
|
||||
* Pebble: allow reinstallation of apps in pbw-cache from App Manager (long press menu)
|
||||
* Pebble: Fix regression which freezes Gadgetbridge when disconnecting via long-press menu
|
||||
|
@ -18,9 +18,10 @@ need to create an account and transmit any of your data to the vendor's servers.
|
||||
* Incoming calls notification and display
|
||||
* Outgoing call display
|
||||
* Reject/hangup calls
|
||||
* SMS notification including experimental support for 16 predefined replies
|
||||
* SMS notification
|
||||
* K-9 Mail notification support
|
||||
* Support for generic notifications (above filtered out)
|
||||
* Support for up to 16 predefined replies for SMS and Android Wear compatible notifications (experimental, tested with Signal)
|
||||
* Dismiss individial notifications, mute or open corresponding app on phone from the action menu (generic notifications)
|
||||
* Dismiss all notifications from the action menu (non-generic notifications)
|
||||
* Music playback info (artist, album, track)
|
||||
|
@ -14,8 +14,8 @@ android {
|
||||
targetSdkVersion 23
|
||||
|
||||
// note: always bump BOTH versionCode and versionName!
|
||||
versionName "0.7.1"
|
||||
versionCode 37
|
||||
versionName "0.7.2"
|
||||
versionCode 38
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
|
@ -260,6 +260,7 @@
|
||||
android:name=".activities.AlarmDetails"
|
||||
android:label="@string/title_activity_alarm_details"
|
||||
android:parentActivityName=".activities.ConfigureAlarms"/>
|
||||
<provider android:authorities="com.getpebble.android.provider" android:exported="true" android:name=".contentprovider.PebbleContentProvider" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
|
@ -110,6 +110,7 @@ public class SettingsActivity extends AbstractSettingsActivity {
|
||||
"pebble_emu_addr",
|
||||
"pebble_emu_port",
|
||||
"pebble_reconnect_attempts",
|
||||
"canned_reply_suffix",
|
||||
"canned_reply_1",
|
||||
"canned_reply_2",
|
||||
"canned_reply_3",
|
||||
|
@ -0,0 +1,62 @@
|
||||
package nodomain.freeyourgadget.gadgetbridge.contentprovider;
|
||||
|
||||
import android.content.ContentProvider;
|
||||
import android.content.ContentValues;
|
||||
import android.database.Cursor;
|
||||
import android.database.MatrixCursor;
|
||||
import android.net.Uri;
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
public class PebbleContentProvider extends ContentProvider {
|
||||
|
||||
public static final int COLUMN_CONNECTED = 0;
|
||||
public static final int COLUMN_APPMSG_SUPPORT = 1;
|
||||
public static final int COLUMN_DATALOGGING_SUPPORT = 2;
|
||||
public static final int COLUMN_VERSION_MAJOR = 3;
|
||||
public static final int COLUMN_VERSION_MINOR = 4;
|
||||
public static final int COLUMN_VERSION_POINT = 5;
|
||||
public static final int COLUMN_VERSION_TAG = 6;
|
||||
|
||||
// this is only needed for the MatrixCursor constructor
|
||||
public static final String[] columnNames = new String[]{"0", "1", "2", "3", "4", "5", "6"};
|
||||
|
||||
static final String PROVIDER_NAME = "com.getpebble.android.provider";
|
||||
static final String URL = "content://" + PROVIDER_NAME + "/state";
|
||||
static final Uri CONTENT_URI = Uri.parse(URL);
|
||||
|
||||
@Override
|
||||
public boolean onCreate() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Cursor query(@NonNull Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
|
||||
if (uri.equals(CONTENT_URI)) {
|
||||
MatrixCursor mc = new MatrixCursor(columnNames);
|
||||
mc.addRow(new Object[]{1, 1, 0, 3, 8, 0, "Gadgetbridge"});
|
||||
return mc;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getType(@NonNull Uri uri) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Uri insert(@NonNull Uri uri, ContentValues values) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int delete(@NonNull Uri uri, String selection, String[] selectionArgs) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int update(@NonNull Uri uri, ContentValues values, String selection, String[] selectionArgs) {
|
||||
return 0;
|
||||
}
|
||||
}
|
@ -6,9 +6,11 @@ import android.app.PendingIntent;
|
||||
import android.bluetooth.BluetoothAdapter;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.net.Uri;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.v4.content.LocalBroadcastManager;
|
||||
import android.telephony.SmsManager;
|
||||
|
||||
@ -20,6 +22,7 @@ import java.io.IOException;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Objects;
|
||||
|
||||
import nodomain.freeyourgadget.gadgetbridge.GBApplication;
|
||||
import nodomain.freeyourgadget.gadgetbridge.R;
|
||||
@ -243,6 +246,11 @@ public abstract class AbstractDeviceSupport implements DeviceSupport {
|
||||
Intent notificationListenerIntent = new Intent(action);
|
||||
notificationListenerIntent.putExtra("handle", deviceEvent.handle);
|
||||
if (deviceEvent.reply != null) {
|
||||
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(GBApplication.getContext());
|
||||
String suffix = sharedPrefs.getString("canned_reply_suffix", null);
|
||||
if (suffix != null && !Objects.equals(suffix, "")) {
|
||||
deviceEvent.reply += suffix;
|
||||
}
|
||||
notificationListenerIntent.putExtra("reply", deviceEvent.reply);
|
||||
}
|
||||
LocalBroadcastManager.getInstance(context).sendBroadcast(notificationListenerIntent);
|
||||
|
@ -44,6 +44,7 @@
|
||||
<string name="when_screen_off">wenn der Bildschirm aus ist</string>
|
||||
<string name="never">niemals</string>
|
||||
<string name="pref_blacklist">Sperre für Apps</string>
|
||||
<string name="pref_title_canned_replies">Vorgefertigte Antworten</string>
|
||||
<string name="pref_header_development">Entwickleroptionen</string>
|
||||
<string name="pref_title_development_miaddr">Mi Band MAC Adresse</string>
|
||||
<string name="pref_title_pebble_settings">Pebble Einstellungen</string>
|
||||
@ -67,7 +68,7 @@
|
||||
<string name="bluetooth_is_not_supported_">Bluetooth wird nicht unterstützt.</string>
|
||||
<string name="bluetooth_is_disabled_">Bluetooth ist abgeschaltet.</string>
|
||||
<string name="tap_connected_device_for_app_mananger">berühre das verbundene Gerät, um den App Mananger zu starten</string>
|
||||
<string name="tap_a_device_to_connect">berühre ein Gerät zum verbinden</string>
|
||||
<string name="tap_a_device_to_connect">berühre ein Gerät zum Verbinden</string>
|
||||
<string name="cannot_connect_bt_address_invalid_">Verbindung kann nicht aufgebaut werden. BT Adresse ungültig?</string>
|
||||
<string name="gadgetbridge_running">Gadgetbridge läuft</string>
|
||||
<string name="installing_binary_d_d">installiere Datei %1$d/%2$d</string>
|
||||
@ -197,4 +198,6 @@
|
||||
<string name="pref_title_keep_data_on_device">Aktivitätsdaten auf dem Gerät lassen</string>
|
||||
<string name="miband_fwinstaller_incompatible_version">Inkompatible Firmware</string>
|
||||
<string name="fwinstaller_firmware_not_compatible_to_device">Diese Firmware ist nicht mit dem Gerät kompatibel</string>
|
||||
<string name="waiting_for_reconnect">warte auf eingehende Verbindung</string>
|
||||
<string name="appmananger_app_reinstall">Erneut installieren</string>
|
||||
</resources>
|
||||
|
@ -45,6 +45,7 @@
|
||||
<string name="never">nunca</string>
|
||||
<string name="pref_blacklist">Excluir aplicaciones</string>
|
||||
<string name="pref_title_canned_replies">Respuestas enlatadas</string>
|
||||
<string name="pref_title_canned_reply_suffix">Sufijo habitual</string>
|
||||
<string name="pref_header_development">Opciones de desarrollador</string>
|
||||
<string name="pref_title_development_miaddr">Dirección de MiBand</string>
|
||||
<string name="pref_title_pebble_settings">Ajustes de Pebble</string>
|
||||
@ -200,4 +201,5 @@
|
||||
<string name="fwinstaller_firmware_not_compatible_to_device">Este firmware no es compatible con tu dispositivo</string>
|
||||
<string name="miband_prefs_reserve_alarm_calendar">Reserva de alarmas para próximos eventos</string>
|
||||
<string name="waiting_for_reconnect">esperando reconexión</string>
|
||||
<string name="appmananger_app_reinstall">Reinstalar</string>
|
||||
</resources>
|
||||
|
@ -7,6 +7,7 @@
|
||||
<string name="action_quit">Quitter</string>
|
||||
<string name="controlcenter_fetch_activity_data">Synchroniser</string>
|
||||
<string name="controlcenter_start_sleepmonitor">Moniteur de sommeil (ALPHA)</string>
|
||||
<string name="controlcenter_find_device">Trouver l\'appareil</string>
|
||||
<string name="controlcenter_take_screenshot">Prendre une capture d\'écran</string>
|
||||
<string name="controlcenter_disconnect">Déconnexion</string>
|
||||
<string name="title_activity_debug">Débugger</string>
|
||||
@ -22,11 +23,13 @@
|
||||
<string name="title_activity_settings">Paramètre</string>
|
||||
<string name="pref_header_general">Paramètres généraux</string>
|
||||
<string name="pref_title_general_autoconnectonbluetooth">Connecter votre appareil quand le Bluetooth est mise en marche</string>
|
||||
<string name="pref_title_audo_player">Lecteur audio préféré</string>
|
||||
<string name="pref_header_datetime">Date et heure</string>
|
||||
<string name="pref_title_datetime_syctimeonconnect">Synchroniser l\'horloge</string>
|
||||
<string name="pref_summary_datetime_syctimeonconnect">Synchroniser l\'horloge lors de la connexion et quand l\'heure ou lorsque le fuseau horaire change sur Android</string>
|
||||
<string name="pref_header_notifications">Notifications</string>
|
||||
<string name="pref_title_notifications_repetitions">Répétitions</string>
|
||||
<string name="pref_title_notifications_call">Appels téléphoniques</string>
|
||||
<string name="pref_title_notifications_sms">SMS</string>
|
||||
<string name="pref_title_notifications_k9mail">K9-Email</string>
|
||||
<string name="pref_title_notifications_pebblemsg">Message Pebble</string>
|
||||
@ -39,6 +42,7 @@
|
||||
<string name="pref_header_development">Options développeur</string>
|
||||
<string name="pref_title_development_miaddr">Adresse Mi Band</string>
|
||||
<string name="pref_title_pebble_settings">Paramètres Pebble</string>
|
||||
<string name="pref_summary_enable_pebblekit">Activer le support expérimental pour les applications Android utilisant PebbleKit</string>
|
||||
<string name="pref_title_pebble_forceprotocol">Protocole des notifications en vigueur</string>
|
||||
<string name="pref_summary_pebble_forceprotocol">Cette option force l\'utilisation du dernier protocole de notification qui dépend de la verrsion du firmware. ACTIVER LA UNIQUEMENT SI VOUS SAVEZ CE QUE VOUS FAITES!</string>
|
||||
<string name="pref_title_pebble_forceuntested">Activer les fonctionnalités non testé</string>
|
||||
@ -141,6 +145,7 @@
|
||||
<string name="controlcenter_start_activitymonitor">Votre activité (ALPHA)</string>
|
||||
<string name="cannot_connect">Impossible de se connecter: %1$s</string>
|
||||
<string name="installer_activity_unable_to_find_handler">Impossible de trouver un gestionnaire pour installer ce fichier.</string>
|
||||
<string name="pbw_install_handler_unable_to_install">Impossible d\'installer le ficher suivant: %1$s</string>
|
||||
<string name="pbw_install_handler_hw_revision_mismatch">Impossible d\'installer le firmware donnée: il ne correspond pas à la version du matériel de votre Pebble.</string>
|
||||
<string name="installer_activity_wait_while_determining_status">S\'il vous plait patientez pendant la détermination du status de l\'installation...</string>
|
||||
<string name="notif_battery_low_title">Gadget batterie Vide!</string>
|
||||
@ -166,4 +171,19 @@
|
||||
<string name="updatefirmwareoperation_update_complete_rebooting">Installation complète du firmware, redémarrage de l\'appareil</string>
|
||||
<string name="updatefirmwareoperation_write_failed">Échec lors de l\'écriture du firmware</string>
|
||||
<string name="chart_steps">Pas</string>
|
||||
<string name="liveactivity_live_activity">Activité en direct</string>
|
||||
<string name="weeksteps_today_steps_description">Nombre de pas aujourd\'hui, objectif: %1$s</string>
|
||||
<string name="pref_summary_dont_ack_transfers">Les données d\'activités ne seront pas effacées du bracelet si elles ne sont pas confirmées. Utile si GB est utilisé avec d\'autres applications.</string>
|
||||
<string name="live_activity_total_steps">Nombre total de pas</string>
|
||||
<string name="live_activity_start_your_activity">Démarrer votre activité</string>
|
||||
<string name="abstract_chart_fragment_kind_activity">Activité</string>
|
||||
<string name="abstract_chart_fragment_kind_light_sleep">Sommeil léger</string>
|
||||
<string name="abstract_chart_fragment_kind_deep_sleep">Sommeil profond</string>
|
||||
<string name="abstract_chart_fragment_kind_not_worn">Non porté</string>
|
||||
<string name="device_not_connected">Non connecté.</string>
|
||||
<string name="pref_title_keep_data_on_device">Conserver les activités sur l\'appareil</string>
|
||||
<string name="miband_fwinstaller_incompatible_version">Firmware non compatible</string>
|
||||
<string name="fwinstaller_firmware_not_compatible_to_device">Ce firmware n\'est pas compatible avec l\'appareil</string>
|
||||
<string name="miband_prefs_reserve_alarm_calendar">Alarmes à réserver pour événements futurs</string>
|
||||
<string name="waiting_for_reconnect">Attente de reconnexion</string>
|
||||
</resources>
|
||||
|
@ -45,6 +45,7 @@
|
||||
<string name="never">なし</string>
|
||||
<string name="pref_blacklist">アップのブラックリスト</string>
|
||||
<string name="pref_title_canned_replies">定型の返信</string>
|
||||
<string name="pref_title_canned_reply_suffix">共通の接尾語</string>
|
||||
<string name="pref_header_development">開発者用設定</string>
|
||||
<string name="pref_title_development_miaddr">Mi Bandのアドレス</string>
|
||||
<string name="pref_title_pebble_settings">Pebbleの設定</string>
|
||||
|
@ -44,6 +44,8 @@
|
||||
<string name="when_screen_off">когда экран выключен</string>
|
||||
<string name="never">никогда</string>
|
||||
<string name="pref_blacklist">Нежелательные приложения</string>
|
||||
<string name="pref_title_canned_replies">Типовые ответы</string>
|
||||
<string name="pref_title_canned_reply_suffix">Общий суффикс</string>
|
||||
<string name="pref_header_development">Настройки для разработчиков</string>
|
||||
<string name="pref_title_development_miaddr">Адрес Mi Band</string>
|
||||
<string name="pref_title_pebble_settings">Настройки Pebble</string>
|
||||
@ -181,6 +183,7 @@
|
||||
<string name="liveactivity_live_activity">Жизненная активность</string>
|
||||
<string name="weeksteps_today_steps_description">Шагов сегодня, цель: %1$s</string>
|
||||
<string name="pref_summary_dont_ack_transfers">Если данные об активности не будут переданы на устройство, оно не будет очищено. Полезно, если GB используется с другими приложениями.</string>
|
||||
<string name="pref_summary_keep_data_on_device">Хранить данные о деятельности на Mi Band, даже после синхронизации. Полезно, если Mi Band используется совместно с другими приложениями.</string>
|
||||
<string name="pref_title_dont_ack_transfer">Не передавать данные об активности</string>
|
||||
<string name="live_activity_steps_history">История шагов</string>
|
||||
<string name="live_activity_current_steps_per_minute">Текущие шаги в минуту</string>
|
||||
@ -191,4 +194,12 @@
|
||||
<string name="abstract_chart_fragment_kind_light_sleep">Неглубокий сон</string>
|
||||
<string name="abstract_chart_fragment_kind_deep_sleep">Глубокий сон</string>
|
||||
<string name="abstract_chart_fragment_kind_not_worn">Не носилось</string>
|
||||
<string name="device_not_connected">Не подключен.</string>
|
||||
<string name="user_feedback_all_alarms_disabled">Все будильники отключены</string>
|
||||
<string name="pref_title_keep_data_on_device">Храните данные о деятельности на устройстве</string>
|
||||
<string name="miband_fwinstaller_incompatible_version">Несовместимая прошивка</string>
|
||||
<string name="fwinstaller_firmware_not_compatible_to_device">Эта прошивка не совместима с устройством</string>
|
||||
<string name="miband_prefs_reserve_alarm_calendar">Резервные сигналы для предстоящих событий</string>
|
||||
<string name="waiting_for_reconnect">Ожидание переподключения</string>
|
||||
<string name="appmananger_app_reinstall">Переустановка</string>
|
||||
</resources>
|
||||
|
@ -56,6 +56,7 @@
|
||||
<string name="pref_blacklist">Blacklist Apps</string>
|
||||
|
||||
<string name="pref_title_canned_replies">Canned Replies</string>
|
||||
<string name="pref_title_canned_reply_suffix">Common suffix</string>
|
||||
|
||||
<string name="pref_header_development">Developer Options</string>
|
||||
<string name="pref_title_development_miaddr">Mi Band address</string>
|
||||
|
@ -67,8 +67,12 @@
|
||||
android:title="@string/pref_blacklist" />
|
||||
<PreferenceScreen
|
||||
android:key="pref_key_canned_replies"
|
||||
android:title="@string/pref_title_canned_replies"
|
||||
android:dependency="pebble_force_untested" >
|
||||
android:title="@string/pref_title_canned_replies">
|
||||
<EditTextPreference
|
||||
android:defaultValue=" (canned reply)"
|
||||
android:key="canned_reply_suffix"
|
||||
android:maxLength="64"
|
||||
android:title="@string/pref_title_canned_reply_suffix" />
|
||||
<EditTextPreference
|
||||
android:key="canned_reply_1"
|
||||
android:maxLength="64" />
|
||||
|
Loading…
Reference in New Issue
Block a user