mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-03 10:31:37 -08:00
Update Android port
* java/org/gnu/emacs/EmacsDrawLine.java: Fix this again. Gosh, how does Android do this. * java/org/gnu/emacs/EmacsNoninteractive.java (main): Port to Android 2.3.3. * java/org/gnu/emacs/EmacsSdk11Clipboard.java (EmacsSdk11Clipboard): Port to Android 4.0.3. * java/org/gnu/emacs/EmacsService.java (getClipboardManager): New function. * src/alloc.c (find_string_data_in_pure): Fix Android alignment issue. * src/android-emacs.c (main): Port to Android 4.4. * src/android.c (initEmacs): Align stack to 32 bytes, so it ends up aligned to 16 even though gcc thinks the stack is already aligned to 16 bytes. * src/callproc.c (init_callproc): Use /system/bin/sh instead of /bin/sh by default.
This commit is contained in:
parent
d3b29ccc89
commit
0b1ef9ea31
8 changed files with 186 additions and 29 deletions
|
|
@ -39,6 +39,7 @@ import android.app.NotificationChannel;
|
|||
import android.app.PendingIntent;
|
||||
import android.app.Service;
|
||||
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
|
|
@ -565,4 +566,49 @@ public class EmacsService extends Service
|
|||
|
||||
return null;
|
||||
}
|
||||
|
||||
/* Get a SDK 11 ClipboardManager.
|
||||
|
||||
Android 4.0.x requires that this be called from the main
|
||||
thread. */
|
||||
|
||||
public ClipboardManager
|
||||
getClipboardManager ()
|
||||
{
|
||||
final Holder<ClipboardManager> manager;
|
||||
Runnable runnable;
|
||||
|
||||
manager = new Holder<ClipboardManager> ();
|
||||
|
||||
runnable = new Runnable () {
|
||||
public void
|
||||
run ()
|
||||
{
|
||||
Object tem;
|
||||
|
||||
synchronized (this)
|
||||
{
|
||||
tem = getSystemService (Context.CLIPBOARD_SERVICE);
|
||||
manager.thing = (ClipboardManager) tem;
|
||||
notify ();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
synchronized (runnable)
|
||||
{
|
||||
runOnUiThread (runnable);
|
||||
|
||||
try
|
||||
{
|
||||
runnable.wait ();
|
||||
}
|
||||
catch (InterruptedException e)
|
||||
{
|
||||
EmacsNative.emacsAbort ();
|
||||
}
|
||||
}
|
||||
|
||||
return manager.thing;
|
||||
}
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue