mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-07-08 22:51:37 +02:00
Incoming calls are no longer send as simple notifications but properly as incoming calls. The Pebble will vibrate until the call is taken or dismissed. It is not yet possible to dismiss the call using the Pebble button.
58 lines
1.8 KiB
Java
58 lines
1.8 KiB
Java
package nodomain.freeyourgadget.gadgetbridge;
|
|
|
|
import android.app.Notification;
|
|
import android.content.Intent;
|
|
import android.os.Bundle;
|
|
import android.service.notification.NotificationListenerService;
|
|
import android.service.notification.StatusBarNotification;
|
|
import android.util.Log;
|
|
|
|
public class NotificationListener extends NotificationListenerService {
|
|
|
|
private String TAG = this.getClass().getSimpleName();
|
|
|
|
@Override
|
|
public void onCreate() {
|
|
super.onCreate();
|
|
}
|
|
|
|
@Override
|
|
public void onDestroy() {
|
|
super.onDestroy();
|
|
}
|
|
|
|
@Override
|
|
public void onNotificationPosted(StatusBarNotification sbn) {
|
|
Notification notification = sbn.getNotification();
|
|
|
|
/* do not display messages from "android"
|
|
* This includes keyboard selection message, usb connection messages, etc
|
|
* Hope it does not filter out too much, we will see...
|
|
*/
|
|
String source = sbn.getPackageName();
|
|
if (source.equals("android") || source.equals("com.android.dialer"))
|
|
return;
|
|
|
|
Log.i(TAG, sbn.getPackageName());
|
|
|
|
Bundle extras = notification.extras;
|
|
String title = extras.getString(Notification.EXTRA_TITLE);
|
|
String content = "";
|
|
if (extras.containsKey(Notification.EXTRA_TEXT))
|
|
content = extras.getString(Notification.EXTRA_TEXT);
|
|
|
|
|
|
if (content != null) {
|
|
Intent startIntent = new Intent(NotificationListener.this, BluetoothCommunicationService.class);
|
|
startIntent.setAction(BluetoothCommunicationService.ACTION_SENDMESSAGE);
|
|
startIntent.putExtra("notification_title", title);
|
|
startIntent.putExtra("notification_content", content);
|
|
startService(startIntent);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onNotificationRemoved(StatusBarNotification sbn) {
|
|
|
|
}
|
|
} |