make some Handler callback magic synchronous to avoid having to implement it properly

This commit is contained in:
Mis012
2022-12-27 17:19:08 +01:00
parent 9ec3bf58c2
commit 696fa5a192
3 changed files with 20 additions and 4 deletions

View File

@@ -365,7 +365,8 @@ public final class SharedPreferencesImpl implements SharedPreferences {
}; };
// QueuedWork.add(awaitCommit); // QueuedWork.add(awaitCommit);
awaitCommit.run(); // since we've made this synchronous, we can't exactly start "waiting" for the commit before we made the commit
// awaitCommit.run();
Runnable postWriteRunnable = new Runnable() { Runnable postWriteRunnable = new Runnable() {
public void run() { public void run() {

View File

@@ -595,7 +595,21 @@ public class Handler {
return false; return false;
} }
return enqueueMessage(queue, msg, uptimeMillis);*/ return enqueueMessage(queue, msg, uptimeMillis);*/
return true; if(mCallback != null) {
// System.out.println("Handler.sendMessageAtTime: directly calling mCallback.handleMessage)");
if(msg.callback != null) {
msg.callback.run();
}
return mCallback.handleMessage(msg);
} else {
// System.out.println("Handler.sendMessageAtTime: not directly calling mCallback.handleMessage - mCallback is null)");
/* do this in this case as well?
if(msg.callback != null) {
msg.callback.run();
}
*/
return true; // false?
}
} }
/** /**

View File

@@ -114,8 +114,9 @@ public final class Looper {
* Run the message queue in this thread. Be sure to call * Run the message queue in this thread. Be sure to call
* {@link #quit()} to end the loop. * {@link #quit()} to end the loop.
*/ */
public static void loop() {/* public static void loop() {
final Looper me = myLooper(); System.out.println("oops, Looper.loop called... and we don't implement that");
/*final Looper me = myLooper();
if (me == null) { if (me == null) {
throw new RuntimeException("No Looper; Looper.prepare() wasn't called on this thread."); throw new RuntimeException("No Looper; Looper.prepare() wasn't called on this thread.");
} }