mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-05 19:59:38 +00:00
Update Android port
* doc/lispref/os.texi (Desktop Notifications): Revise documentation for android-notifications-notify to reflect changes. * java/org/gnu/emacs/EmacsDesktopNotification.java (display1): Convert notification importance to a legacy priority between Android 7.1 and 4.1. * java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap): Remove immutable bitmap constructor, as the underlying Android API functions are erroneously implemented. * src/android.c (android_init_emacs_pixmap): Cease searching for deleted constructor. (android_create_pixmap_from_bitmap_data): Create a pixmap, then fill it with the contents of the bitmap, in lieu of employing the aforementioned constructor. * src/androidselect.c (Fandroid_notifications_notify): Revise doc string.
This commit is contained in:
parent
947409d408
commit
df5a9a78b5
5 changed files with 129 additions and 116 deletions
|
@ -96,6 +96,7 @@ public final class EmacsDesktopNotification
|
|||
RemoteViews contentView;
|
||||
Intent intent;
|
||||
PendingIntent pending;
|
||||
int priority;
|
||||
|
||||
tem = context.getSystemService (Context.NOTIFICATION_SERVICE);
|
||||
manager = (NotificationManager) tem;
|
||||
|
@ -116,11 +117,37 @@ public final class EmacsDesktopNotification
|
|||
.build ());
|
||||
}
|
||||
else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
|
||||
notification = (new Notification.Builder (context)
|
||||
.setContentTitle (title)
|
||||
.setContentText (content)
|
||||
.setSmallIcon (icon)
|
||||
.build ());
|
||||
{
|
||||
/* Android 7.1 and earlier don't segregate notifications into
|
||||
distinct categories, but permit an importance to be
|
||||
assigned to each individual notification. */
|
||||
|
||||
switch (importance)
|
||||
{
|
||||
case 2: /* IMPORTANCE_LOW */
|
||||
default:
|
||||
priority = Notification.PRIORITY_LOW;
|
||||
break;
|
||||
|
||||
case 3: /* IMPORTANCE_DEFAULT */
|
||||
priority = Notification.PRIORITY_DEFAULT;
|
||||
break;
|
||||
|
||||
case 4: /* IMPORTANCE_HIGH */
|
||||
priority = Notification.PRIORITY_HIGH;
|
||||
break;
|
||||
}
|
||||
|
||||
notification = (new Notification.Builder (context)
|
||||
.setContentTitle (title)
|
||||
.setContentText (content)
|
||||
.setSmallIcon (icon)
|
||||
.setPriority (priority)
|
||||
.build ());
|
||||
|
||||
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN)
|
||||
notification.priority = priority;
|
||||
}
|
||||
else
|
||||
{
|
||||
notification = new Notification ();
|
||||
|
|
|
@ -50,39 +50,6 @@ public final class EmacsPixmap extends EmacsHandleObject
|
|||
changed. */
|
||||
private long gcClipRectID;
|
||||
|
||||
public
|
||||
EmacsPixmap (short handle, int colors[], int width,
|
||||
int height, int depth)
|
||||
{
|
||||
super (handle);
|
||||
|
||||
if (depth != 1 && depth != 24)
|
||||
throw new IllegalArgumentException ("Invalid depth specified"
|
||||
+ " for pixmap: " + depth);
|
||||
|
||||
switch (depth)
|
||||
{
|
||||
case 1:
|
||||
bitmap = Bitmap.createBitmap (colors, width, height,
|
||||
Bitmap.Config.ALPHA_8);
|
||||
break;
|
||||
|
||||
case 24:
|
||||
bitmap = Bitmap.createBitmap (colors, width, height,
|
||||
Bitmap.Config.ARGB_8888);
|
||||
bitmap.setHasAlpha (false);
|
||||
break;
|
||||
}
|
||||
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
this.depth = depth;
|
||||
|
||||
/* The immutable bitmap constructor is only leveraged to create
|
||||
small fringe bitmaps. */
|
||||
this.needCollect = false;
|
||||
}
|
||||
|
||||
public
|
||||
EmacsPixmap (short handle, int width, int height, int depth)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue