aboutsummaryrefslogtreecommitdiff
path: root/mojo/android/system/src/org/chromium/mojo/system/impl/BaseRunLoop.java
diff options
context:
space:
mode:
Diffstat (limited to 'mojo/android/system/src/org/chromium/mojo/system/impl/BaseRunLoop.java')
-rw-r--r--mojo/android/system/src/org/chromium/mojo/system/impl/BaseRunLoop.java74
1 files changed, 0 insertions, 74 deletions
diff --git a/mojo/android/system/src/org/chromium/mojo/system/impl/BaseRunLoop.java b/mojo/android/system/src/org/chromium/mojo/system/impl/BaseRunLoop.java
deleted file mode 100644
index 3db6670..0000000
--- a/mojo/android/system/src/org/chromium/mojo/system/impl/BaseRunLoop.java
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.mojo.system.impl;
-
-import org.chromium.base.annotations.CalledByNative;
-import org.chromium.base.annotations.JNINamespace;
-import org.chromium.mojo.system.RunLoop;
-
-/**
- * Implementation of {@link RunLoop} suitable for the base:: message loop implementation.
- */
-@JNINamespace("mojo::android")
-class BaseRunLoop implements RunLoop {
- /**
- * Pointer to the C run loop.
- */
- private long mRunLoopID;
- private final CoreImpl mCore;
-
- BaseRunLoop(CoreImpl core) {
- this.mCore = core;
- this.mRunLoopID = nativeCreateBaseRunLoop();
- }
-
- @Override
- public void run() {
- assert mRunLoopID != 0 : "The run loop cannot run once closed";
- nativeRun();
- }
-
- @Override
- public void runUntilIdle() {
- assert mRunLoopID != 0 : "The run loop cannot run once closed";
- nativeRunUntilIdle();
- }
-
- @Override
- public void quit() {
- assert mRunLoopID != 0 : "The run loop cannot be quitted run once closed";
- nativeQuit(mRunLoopID);
- }
-
- @Override
- public void postDelayedTask(Runnable runnable, long delay) {
- assert mRunLoopID != 0 : "The run loop cannot run tasks once closed";
- nativePostDelayedTask(mRunLoopID, runnable, delay);
- }
-
- @Override
- public void close() {
- if (mRunLoopID == 0) {
- return;
- }
- // We don't want to de-register a different run loop!
- assert mCore.getCurrentRunLoop() == this : "Only the current run loop can be closed";
- mCore.clearCurrentRunLoop();
- nativeDeleteMessageLoop(mRunLoopID);
- mRunLoopID = 0;
- }
-
- @CalledByNative
- private static void runRunnable(Runnable runnable) {
- runnable.run();
- }
-
- private native long nativeCreateBaseRunLoop();
- private native void nativeRun();
- private native void nativeRunUntilIdle();
- private native void nativeQuit(long runLoopID);
- private native void nativePostDelayedTask(long runLoopID, Runnable runnable, long delay);
- private native void nativeDeleteMessageLoop(long runLoopID);
-}