Java Code Examples for android.os.SystemClock

The following examples show how to use android.os.SystemClock. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may want to check out the right sidebar which shows the related API usage.
Example 1
Source Project: AudioVideoCodec   Source File: AudioCapture.java    License: Apache License 2.0 6 votes vote down vote up
@Override
public void run() {
    while (!isStopRecord) {
        byte[] buffer = new byte[bufferSize];
        int readRecord = audioRecord.read(buffer, 0, bufferSize);
        if (readRecord > 0) {
            if (captureListener != null)
                captureListener.onCaptureListener(buffer,readRecord);
            if (isDebug) {
                Log.d(TAG, "音频采集数据源 -- ".concat(String.valueOf(readRecord)).concat(" -- bytes"));
            }
        } else {
            if (isDebug)
                Log.d(TAG, "录音采集异常");
        }
        //延迟写入 SystemClock  --  Android专用
        SystemClock.sleep(10);
    }
}
 
Example 2
Source Project: react-native-GPay   Source File: ReactOkHttpNetworkFetcher.java    License: MIT License 6 votes vote down vote up
@Override
public void fetch(final OkHttpNetworkFetcher.OkHttpNetworkFetchState fetchState, final NetworkFetcher.Callback callback) {
  fetchState.submitTime = SystemClock.elapsedRealtime();
  final Uri uri = fetchState.getUri();
  Map<String, String> requestHeaders = null;
  if (fetchState.getContext().getImageRequest() instanceof ReactNetworkImageRequest) {
    ReactNetworkImageRequest networkImageRequest = (ReactNetworkImageRequest)
      fetchState.getContext().getImageRequest();
    requestHeaders = getHeaders(networkImageRequest.getHeaders());
  }
  if (requestHeaders == null) {
    requestHeaders = Collections.emptyMap();
  }
  final Request request = new Request.Builder()
    .cacheControl(new CacheControl.Builder().noStore().build())
    .url(uri.toString())
    .headers(Headers.of(requestHeaders))
    .get()
    .build();

  fetchWithRequest(fetchState, callback, request);
}
 
Example 3
Source Project: guideshow   Source File: ViewPager.java    License: MIT License 6 votes vote down vote up
/**
 * Start a fake drag of the pager.
 *
 * <p>A fake drag can be useful if you want to synchronize the motion of the ViewPager
 * with the touch scrolling of another view, while still letting the ViewPager
 * control the snapping motion and fling behavior. (e.g. parallax-scrolling tabs.)
 * Call {@link #fakeDragBy(float)} to simulate the actual drag motion. Call
 * {@link #endFakeDrag()} to complete the fake drag and fling as necessary.
 *
 * <p>During a fake drag the ViewPager will ignore all touch events. If a real drag
 * is already in progress, this method will return false.
 *
 * @return true if the fake drag began successfully, false if it could not be started.
 *
 * @see #fakeDragBy(float)
 * @see #endFakeDrag()
 */
public boolean beginFakeDrag() {
    if (mIsBeingDragged) {
        return false;
    }
    mFakeDragging = true;
    setScrollState(SCROLL_STATE_DRAGGING);
    mInitialMotionX = mLastMotionX = 0;
    if (mVelocityTracker == null) {
        mVelocityTracker = VelocityTracker.obtain();
    } else {
        mVelocityTracker.clear();
    }
    final long time = SystemClock.uptimeMillis();
    final MotionEvent ev = MotionEvent.obtain(time, time, MotionEvent.ACTION_DOWN, 0, 0, 0);
    mVelocityTracker.addMovement(ev);
    ev.recycle();
    mFakeDragBeginTime = time;
    return true;
}
 
Example 4
Source Project: material   Source File: Slider.java    License: Apache License 2.0 6 votes vote down vote up
@Override
public void run() {
    long curTime = SystemClock.uptimeMillis();
    float progress = Math.min(1f, (float)(curTime - mStartTime) / mTransformAnimationDuration);
    float value = mInterpolator.getInterpolation(progress);

    mThumbFillPercent = mAlwaysFillThumb ? 1 : ((mFillPercent - mStartFillPercent) * value + mStartFillPercent);

    if(progress == 1f)
        stopAnimation();

    if(mRunning) {
        if(getHandler() != null)
            getHandler().postAtTime(this, SystemClock.uptimeMillis() + ViewUtil.FRAME_DURATION);
        else
            stopAnimation();
    }

    invalidate();
}
 
Example 5
Source Project: commcare-android   Source File: RecordingFragment.java    License: Apache License 2.0 6 votes vote down vote up
private void startRecording() {
    disableScreenRotation((Activity)getContext());
    setCancelable(false);

    setupRecorder();
    recorder.start();

    toggleRecording.setOnClickListener(v -> stopRecording());
    toggleRecording.setBackgroundResource(R.drawable.record_in_progress);
    instruction.setText(Localization.get("during.recording"));

    recordingProgress.setVisibility(View.VISIBLE);
    recordingDuration.setVisibility(View.VISIBLE);

    recordingDuration.setBase(SystemClock.elapsedRealtime());
    recordingDuration.start();
}
 
Example 6
Source Project: FireFiles   Source File: AsyncTaskLoader.java    License: Apache License 2.0 6 votes vote down vote up
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
void dispatchOnCancelled(LoadTask task, D data) {
    onCanceled(data);
    if (mCancellingTask == task) {
        if (DEBUG) Log.v(TAG, "Cancelled task is now canceled!");
        if(Utils.hasJellyBeanMR2()){
        	rollbackContentChanged();
        }
        mLastLoadCompleteTime = SystemClock.uptimeMillis();
        mCancellingTask = null;
        if (DEBUG) Log.v(TAG, "Delivering cancellation");
        if(Utils.hasJellyBeanMR2()){
        	deliverCancellation();
        }
        executePendingTask();
    }
}
 
Example 7
@Override
protected AppiumResponse safeHandle(IHttpRequest request) {
    final KeyCodeModel model = toModel(request, KeyCodeModel.class);
    final int keyCode = model.keycode;
    int metaState = model.metastate == null ? 0 : model.metastate;
    int flags = model.flags == null ? 0 : model.flags;

    final long downTime = SystemClock.uptimeMillis();
    final InteractionController interactionController = UiAutomatorBridge.getInstance().getInteractionController();
    boolean isSuccessful = interactionController.injectEventSync(new KeyEvent(downTime, downTime,
                    KeyEvent.ACTION_DOWN, keyCode, 0, metaState, KeyCharacterMap.VIRTUAL_KEYBOARD,
                    0, flags));
    // https://android.googlesource.com/platform/frameworks/base.git/+/9d83b4783c33f1fafc43f367503e129e5a5047fa%5E%21/#F0
    isSuccessful &= interactionController.injectEventSync(new KeyEvent(downTime, SystemClock.uptimeMillis(),
                    KeyEvent.ACTION_DOWN, keyCode, 1, metaState, KeyCharacterMap.VIRTUAL_KEYBOARD,
                    0, flags | KeyEvent.FLAG_LONG_PRESS));
    isSuccessful &= interactionController.injectEventSync(new KeyEvent(downTime, SystemClock.uptimeMillis(),
                    KeyEvent.ACTION_UP, keyCode, 0, metaState, KeyCharacterMap.VIRTUAL_KEYBOARD,
                    0, flags));
    if (!isSuccessful) {
        throw new InvalidElementStateException("Cannot inject long press event for key code " + keyCode);
    }
    return new AppiumResponse(getSessionId(request));
}
 
Example 8
Source Project: mobikul-standalone-pos   Source File: CameraSource.java    License: MIT License 6 votes vote down vote up
/**
 * Sets the frame data received from the camera.  This adds the previous unused frame buffer
 * (if present) back to the camera, and keeps a pending reference to the frame data for
 * future use.
 */
void setNextFrame(byte[] data, Camera camera) {
    synchronized (mLock) {
        if (mPendingFrameData != null) {
            camera.addCallbackBuffer(mPendingFrameData.array());
            mPendingFrameData = null;
        }

        if (!mBytesToByteBuffer.containsKey(data)) {
            Log.d(TAG,
                "Skipping frame.  Could not find ByteBuffer associated with the image " +
                "data from the camera.");
            return;
        }

        // Timestamp and frame ID are maintained here, which will give downstream code some
        // idea of the timing of frames received and when frames were dropped along the way.
        mPendingTimeMillis = SystemClock.elapsedRealtime() - mStartTimeMillis;
        mPendingFrameId++;
        mPendingFrameData = mBytesToByteBuffer.get(data);

        // Notify the processor thread if it is waiting on the next frame (see below).
        mLock.notifyAll();
    }
}
 
Example 9
Source Project: CSipSimple   Source File: PjSipCalls.java    License: GNU General Public License v3.0 6 votes vote down vote up
/**
 * Copy infos from pjsua call info object to SipCallSession object
 * 
 * @param session the session to copy info to (output)
 * @param pjCallInfo the call info from pjsip
 * @param service PjSipService Sip service to retrieve pjsip accounts infos
 */
private static void updateSession(SipCallSessionImpl session, pjsua_call_info pjCallInfo,
        Context context) {
    // Should be unecessary cause we usually copy infos from a valid
    session.setCallId(pjCallInfo.getId());

    // Nothing to think about here cause we have a
    // bijection between int / state
    session.setCallState(pjCallInfo.getState().swigValue());
    session.setMediaStatus(pjCallInfo.getMedia_status().swigValue());
    session.setRemoteContact(PjSipService.pjStrToString(pjCallInfo.getRemote_info()));
    session.setConfPort(pjCallInfo.getConf_slot());

    // Try to retrieve sip account related to this call
    int pjAccId = pjCallInfo.getAcc_id();
    session.setAccId(PjSipService.getAccountIdForPjsipId(context, pjAccId));

    pj_time_val duration = pjCallInfo.getConnect_duration();
    session.setConnectStart(SystemClock.elapsedRealtime() - duration.getSec() * 1000
            - duration.getMsec());
}
 
Example 10
Source Project: material   Source File: Slider.java    License: Apache License 2.0 6 votes vote down vote up
public boolean startAnimation(int radius) {
    if(mThumbCurrentRadius == radius)
        return false;

    mRadius = radius;

    if(getHandler() != null){
        resetAnimation();
        mRunning = true;
        getHandler().postAtTime(this, SystemClock.uptimeMillis() + ViewUtil.FRAME_DURATION);
        invalidate();
        return true;
    }
    else {
        mThumbCurrentRadius = mRadius;
        invalidate();
        return false;
    }
}
 
Example 11
public byte[] poll(int timeout_ms) {
    if (isLogEnabled())
        LOG.trace(ThreadUtil.sig() + "Entering poll at t==" + SystemClock.uptimeMillis() + ", timeout is " + timeout_ms
            + " mDataQueue size is " + mDataQueue.size());

    if (mDataQueue.isEmpty())
        try {
            // block until timeout or data available.
            // returns null if timeout.
            byte[] dataFromQueue = mDataQueue.poll(timeout_ms, TimeUnit.MILLISECONDS);
            if (dataFromQueue != null) {
                if (isLogEnabled())
                    LOG.debug("Got data [" + ByteUtil.shortHexString(dataFromQueue) + "] at t=="
                        + SystemClock.uptimeMillis());
            } else {
                if (isLogEnabled())
                    LOG.debug("Got data [null] at t==" + SystemClock.uptimeMillis());
            }
            return dataFromQueue;
        } catch (InterruptedException e) {
            LOG.error("poll: Interrupted waiting for data");
        }
    return null;
}
 
Example 12
Source Project: 365browser   Source File: CustomTabObserver.java    License: Apache License 2.0 6 votes vote down vote up
@Override
public void onPageLoadStarted(Tab tab, String url) {
    if (mCurrentState == STATE_WAITING_LOAD_START) {
        mPageLoadStartedTimestamp = SystemClock.elapsedRealtime();
        mCurrentState = STATE_WAITING_LOAD_FINISH;
    } else if (mCurrentState == STATE_WAITING_LOAD_FINISH) {
        if (mCustomTabsConnection != null) {
            mCustomTabsConnection.notifyNavigationEvent(
                    mSession, CustomTabsCallback.NAVIGATION_ABORTED);
            mCustomTabsConnection.sendNavigationInfo(
                    mSession, tab.getUrl(), tab.getTitle(), null);
        }
        mPageLoadStartedTimestamp = SystemClock.elapsedRealtime();
    }
    if (mCustomTabsConnection != null) {
        mCustomTabsConnection.setSendNavigationInfoForSession(mSession, false);
        mCustomTabsConnection.notifyNavigationEvent(
                mSession, CustomTabsCallback.NAVIGATION_STARTED);
        mScreenshotTakenForCurrentNavigation = false;
    }
}
 
Example 13
/**
 * Gets the proper view to use for a screenshot.  
 */
private View getScreenshotView() {
	View decorView = viewFetcher.getRecentDecorView(viewFetcher.getWindowDecorViews());
	final long endTime = SystemClock.uptimeMillis() + Timeout.getSmallTimeout();

	while (decorView == null) {	

		final boolean timedOut = SystemClock.uptimeMillis() > endTime;

		if (timedOut){
			return null;
		}
		sleeper.sleepMini();
		decorView = viewFetcher.getRecentDecorView(viewFetcher.getWindowDecorViews());
	}
	wrapAllGLViews(decorView);

	return decorView;
}
 
Example 14
Source Project: AcDisplay   Source File: AlarmSwitch.java    License: GNU General Public License v2.0 6 votes vote down vote up
@Override
public void onReceive(Context context, Intent intent) {
    final String action = intent.getAction();
    if (action.contains(ALARM_ALERT)) {
        // Hide the keyguard
        mActive = false;
        mAlarmingTimestamp = SystemClock.elapsedRealtime();
        requestInactive();
    } else if (action.contains(ALARM_DISMISS)
            || action.contains(ALARM_SNOOZE)
            || action.contains(ALARM_DONE)) {
        // Show the keyguard
        mActive = true;
        requestActive();
    } else if (mActive) {
        // Get mad
        Log.w(TAG, "Received an unknown intent=" + intent.getAction()
                + " re-enabling the switch.");
        // Show the keyguard
        mActive = true;
        requestActive();
    }
}
 
Example 15
Source Project: android-gif-drawable-eclipse-sample   Source File: RenderTask.java    License: MIT License 6 votes vote down vote up
@Override
public void doWork() {
    final long invalidationDelay = mGifDrawable.mNativeInfoHandle.renderFrame(mGifDrawable.mBuffer);
    if (invalidationDelay >= 0) {
        mGifDrawable.mNextFrameRenderTime = SystemClock.uptimeMillis() + invalidationDelay;
        if (mGifDrawable.isVisible()) {
            if (mGifDrawable.mIsRunning && !mGifDrawable.mIsRenderingTriggeredOnDraw) {
                mGifDrawable.mExecutor.remove(this);
                mGifDrawable.mSchedule = mGifDrawable.mExecutor.schedule(this, invalidationDelay, TimeUnit.MILLISECONDS);
            }
        }
        if (!mGifDrawable.mListeners.isEmpty() && mGifDrawable.getCurrentFrameIndex() == mGifDrawable.mNativeInfoHandle.frameCount - 1) {
            mGifDrawable.scheduleSelf(mNotifyListenersTask, mGifDrawable.mNextFrameRenderTime);
        }
    } else {
        mGifDrawable.mNextFrameRenderTime = Long.MIN_VALUE;
        mGifDrawable.mIsRunning = false;
    }
    if (mGifDrawable.isVisible() && !mGifDrawable.mInvalidationHandler.hasMessages(0)) {
        mGifDrawable.mInvalidationHandler.sendEmptyMessageAtTime(0, 0);
    }
}
 
Example 16
Source Project: UltimateAndroid   Source File: ViewPager.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * Start a fake drag of the pager.
 *
 * <p>A fake drag can be useful if you want to synchronize the motion of the ViewPager
 * with the touch scrolling of another view, while still letting the ViewPager
 * control the snapping motion and fling behavior. (e.g. parallax-scrolling tabs.)
 * Call {@link #fakeDragBy(float)} to simulate the actual drag motion. Call
 * {@link #endFakeDrag()} to complete the fake drag and fling as necessary.
 *
 * <p>During a fake drag the ViewPager will ignore all touch events. If a real drag
 * is already in progress, this method will return false.
 *
 * @return true if the fake drag began successfully, false if it could not be started.
 *
 * @see #fakeDragBy(float)
 * @see #endFakeDrag()
 */
public boolean beginFakeDrag() {
    if (mIsBeingDragged) {
        return false;
    }
    mFakeDragging = true;
    setScrollState(SCROLL_STATE_DRAGGING);
    mInitialMotionX = mLastMotionX = 0;
    if (mVelocityTracker == null) {
        mVelocityTracker = VelocityTracker.obtain();
    } else {
        mVelocityTracker.clear();
    }
    final long time = SystemClock.uptimeMillis();
    final MotionEvent ev = MotionEvent.obtain(time, time, MotionEvent.ACTION_DOWN, 0, 0, 0);
    mVelocityTracker.addMovement(ev);
    ev.recycle();
    mFakeDragBeginTime = time;
    return true;
}
 
Example 17
Source Project: cronet   Source File: PathUtils.java    License: BSD 3-Clause "New" or "Revised" License 6 votes vote down vote up
/**
 * @return the public downloads directory.
 */
@SuppressWarnings("unused")
@CalledByNative
private static String getDownloadsDirectory() {
    // Temporarily allowing disk access while fixing. TODO: http://crbug.com/508615
    StrictModeContext unused = null;
    try {
        unused = StrictModeContext.allowDiskReads();
        long time = SystemClock.elapsedRealtime();
        String downloadsPath =
                Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
                        .getPath();
        RecordHistogram.recordTimesHistogram("Android.StrictMode.DownloadsDir",
                SystemClock.elapsedRealtime() - time, TimeUnit.MILLISECONDS);
        return downloadsPath;
    } finally {
        if (unused != null) {
            try {
                unused.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}
 
Example 18
Source Project: android-movies-demo   Source File: ViewPager.java    License: MIT License 6 votes vote down vote up
/**
 * Start a fake drag of the pager.
 *
 * <p>A fake drag can be useful if you want to synchronize the motion of the ViewPager
 * with the touch scrolling of another view, while still letting the ViewPager
 * control the snapping motion and fling behavior. (e.g. parallax-scrolling tabs.)
 * Call {@link #fakeDragBy(float)} to simulate the actual drag motion. Call
 * {@link #endFakeDrag()} to complete the fake drag and fling as necessary.
 *
 * <p>During a fake drag the ViewPager will ignore all touch events. If a real drag
 * is already in progress, this method will return false.
 *
 * @return true if the fake drag began successfully, false if it could not be started.
 *
 * @see #fakeDragBy(float)
 * @see #endFakeDrag()
 */
public boolean beginFakeDrag() {
    if (mIsBeingDragged) {
        return false;
    }
    mFakeDragging = true;
    setScrollState(SCROLL_STATE_DRAGGING);
    mInitialMotionX = mLastMotionX = 0;
    if (mVelocityTracker == null) {
        mVelocityTracker = VelocityTracker.obtain();
    } else {
        mVelocityTracker.clear();
    }
    final long time = SystemClock.uptimeMillis();
    final MotionEvent ev = MotionEvent.obtain(time, time, MotionEvent.ACTION_DOWN, 0, 0, 0);
    mVelocityTracker.addMovement(ev);
    ev.recycle();
    mFakeDragBeginTime = time;
    return true;
}
 
Example 19
Source Project: HJMirror   Source File: HJInput.java    License: MIT License 6 votes vote down vote up
public boolean sendMotionEvent(int inputSource, int action, float x, float y) {
    if (mInputManager == null || mInjectInputEventMethod == null) {
        return false;
    }
    try {
        long when = SystemClock.uptimeMillis();
        MotionEvent event = MotionEvent.obtain(when, when, action, x, y, 1.0f, 1.0f,
                0, 1.0f, 1.0f, 0, 0);
        event.setSource(inputSource);
        mInjectInputEventMethod.invoke(mInputManager, event, 0);
        event.recycle();
        return true;
    } catch (Exception e) {
        HJLog.e(e);
    }
    return false;
}
 
Example 20
Source Project: ankihelper   Source File: VerticalViewPager.java    License: GNU General Public License v3.0 6 votes vote down vote up
/**
 * Start a fake drag of the pager.
 * <p>
 * <p>A fake drag can be useful if you want to synchronize the motion of the ViewPager
 * with the touch scrolling of another view, while still letting the ViewPager
 * control the snapping motion and fling behavior. (e.g. parallax-scrolling tabs.)
 * Call {@link #fakeDragBy(float)} to simulate the actual drag motion. Call
 * {@link #endFakeDrag()} to complete the fake drag and fling as necessary.
 * <p>
 * <p>During a fake drag the ViewPager will ignore all touch events. If a real drag
 * is already in progress, this method will return false.
 *
 * @return true if the fake drag began successfully, false if it could not be started.
 * @see #fakeDragBy(float)
 * @see #endFakeDrag()
 */
public boolean beginFakeDrag() {
    if (mIsBeingDragged) {
        return false;
    }
    mFakeDragging = true;
    setScrollState(SCROLL_STATE_DRAGGING);
    mInitialMotionY = mLastMotionY = 0;
    if (mVelocityTracker == null) {
        mVelocityTracker = VelocityTracker.obtain();
    } else {
        mVelocityTracker.clear();
    }
    final long time = SystemClock.uptimeMillis();
    final MotionEvent ev = MotionEvent.obtain(time, time, MotionEvent.ACTION_DOWN, 0, 0, 0);
    mVelocityTracker.addMovement(ev);
    ev.recycle();
    mFakeDragBeginTime = time;
    return true;
}
 
Example 21
@Override
public String toString() {
    StringBuffer buf = new StringBuffer();
    buf.append('[');
    for (int i = 0; i < mCount; i++) {
        final long next = i + 1 < mCount ? getTime(i + 1) : SystemClock.uptimeMillis();
        if (i != 0) {
            buf.append(", ");
        }
        buf.append(getLux(i));
        buf.append(" / ");
        buf.append(next - getTime(i));
        buf.append("ms");
    }
    buf.append(']');
    return buf.toString();
}
 
Example 22
Source Project: AndroidRipper   Source File: Waiter.java    License: GNU Affero General Public License v3.0 6 votes vote down vote up
/**
 * Waits for a web element.
 * 
 * @param by the By object. Examples are By.id("id") and By.name("name")
 * @param minimumNumberOfMatches the minimum number of matches that are expected to be shown. {@code 0} means any number of matches
 * @param timeout the the amount of time in milliseconds to wait 
 * @param scroll {@code true} if scrolling should be performed 
 */

public WebElement waitForWebElement(final By by, int minimumNumberOfMatches, int timeout, boolean scroll){
	final long endTime = SystemClock.uptimeMillis() + timeout;

	while (true) {	

		final boolean timedOut = SystemClock.uptimeMillis() > endTime;

		if (timedOut){
			searcher.logMatchesFound(by.getValue());
			return null;
		}
		sleeper.sleep();

		WebElement webElementToReturn = searcher.searchForWebElement(by, minimumNumberOfMatches); 

		if(webElementToReturn != null)
			return webElementToReturn;

		if(scroll) {
			scroller.scrollDown();
		}
	}
}
 
Example 23
Source Project: AndroidChromium   Source File: DeferredStartupHandler.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * Add the idle handler which will run deferred startup tasks in sequence when idle. This can
 * be called multiple times by different activities to schedule their own deferred startup
 * tasks.
 */
public void queueDeferredTasksOnIdleHandler() {
    mMaxTaskDuration = 0;
    mDeferredStartupDuration = 0;
    Looper.myQueue().addIdleHandler(new MessageQueue.IdleHandler() {
        @Override
        public boolean queueIdle() {
            Runnable currentTask = mDeferredTasks.poll();
            if (currentTask == null) {
                if (mDeferredStartupInitializedForApp) {
                    mDeferredStartupCompletedForApp = true;
                    recordDeferredStartupStats();
                }
                return false;
            }

            long startTime = SystemClock.uptimeMillis();
            currentTask.run();
            long timeTaken = SystemClock.uptimeMillis() - startTime;

            mMaxTaskDuration = Math.max(mMaxTaskDuration, timeTaken);
            mDeferredStartupDuration += timeTaken;
            return true;
        }
    });
}
 
Example 24
Source Project: YViewPagerDemo   Source File: YViewPager.java    License: Apache License 2.0 6 votes vote down vote up
public boolean beginFakeDrag() {
    if (mIsBeingDragged) {
        return false;
    }
    mFakeDragging = true;
    setScrollState(SCROLL_STATE_DRAGGING);
    mInitialMotionX = mLastMotionX = 0;
    if (mVelocityTracker == null) {
        mVelocityTracker = VelocityTracker.obtain();
    } else {
        mVelocityTracker.clear();
    }
    final long time = SystemClock.uptimeMillis();
    final MotionEvent ev = MotionEvent.obtain(time, time, MotionEvent.ACTION_DOWN, 0, 0, 0);
    mVelocityTracker.addMovement(ev);
    ev.recycle();
    mFakeDragBeginTime = time;
    return true;
}
 
Example 25
Source Project: 365browser   Source File: LocationBarLayout.java    License: Apache License 2.0 6 votes vote down vote up
private void loadUrlFromOmniboxMatch(String url, int transition, int matchPosition, int type) {
    // loadUrl modifies AutocompleteController's state clearing the native
    // AutocompleteResults needed by onSuggestionsSelected. Therefore,
    // loadUrl should should be invoked last.
    Tab currentTab = getCurrentTab();
    String currentPageUrl = getCurrentTabUrl();
    WebContents webContents = currentTab != null ? currentTab.getWebContents() : null;
    long elapsedTimeSinceModified = mNewOmniboxEditSessionTimestamp > 0
            ? (SystemClock.elapsedRealtime() - mNewOmniboxEditSessionTimestamp) : -1;
    boolean shouldSkipNativeLog = mShowCachedZeroSuggestResults
            && (mDeferredOnSelection != null)
            && !mDeferredOnSelection.shouldLog();
    if (!shouldSkipNativeLog) {
        mAutocomplete.onSuggestionSelected(matchPosition, type, currentPageUrl,
                mUrlFocusedFromFakebox, elapsedTimeSinceModified,
                mUrlBar.getAutocompleteLength(),
                webContents);
    }
    loadUrl(url, transition);
}
 
Example 26
Source Project: DoraemonKit   Source File: Progress.java    License: Apache License 2.0 6 votes vote down vote up
public static Progress changeProgress(final Progress progress, long writeSize, long totalSize, final Action action) {
    progress.totalSize = totalSize;
    progress.currentSize += writeSize;
    progress.tempSize += writeSize;

    long currentTime = SystemClock.elapsedRealtime();
    boolean isNotify = (currentTime - progress.lastRefreshTime) >= DokitOkGo.REFRESH_TIME;
    if (isNotify || progress.currentSize == totalSize) {
        long diffTime = currentTime - progress.lastRefreshTime;
        if (diffTime == 0) diffTime = 1;
        progress.fraction = progress.currentSize * 1.0f / totalSize;
        progress.speed = progress.bufferSpeed(progress.tempSize * 1000 / diffTime);
        progress.lastRefreshTime = currentTime;
        progress.tempSize = 0;
        if (action != null) {
            action.call(progress);
        }
    }
    return progress;
}
 
Example 27
Source Project: Tok-Android   Source File: JCameraView.java    License: GNU General Public License v3.0 5 votes vote down vote up
public void onResume() {
    SystemClock.sleep(500);
    if (mCamera == null) {
        getCamera(SELECTED_CAMERA);
        if (needSetVisible && mVideoView != null) {
            mVideoView.setVisibility(View.VISIBLE);
        } else {
            needSetVisible = true;
        }
        if (mHolder != null && !isPre) {
            setStartPreview(mCamera, mHolder);
        }
    }
    wakeLock.acquire();
}
 
Example 28
Source Project: Indic-Keyboard   Source File: ContactsContentObserver.java    License: Apache License 2.0 5 votes vote down vote up
boolean haveContentsChanged() {
    if (!PermissionsUtil.checkAllPermissionsGranted(
            mContext, Manifest.permission.READ_CONTACTS)) {
        Log.i(TAG, "No permission to read contacts. Marking contacts as not changed.");
        return false;
    }

    final long startTime = SystemClock.uptimeMillis();
    final int contactCount = mManager.getContactCount();
    if (contactCount > ContactsDictionaryConstants.MAX_CONTACTS_PROVIDER_QUERY_LIMIT) {
        // If there are too many contacts then return false. In this rare case it is impossible
        // to include all of them anyways and the cost of rebuilding the dictionary is too high.
        // TODO: Sort and check only the most recent contacts?
        return false;
    }
    if (contactCount != mManager.getContactCountAtLastRebuild()) {
        if (DebugFlags.DEBUG_ENABLED) {
            Log.d(TAG, "haveContentsChanged() : Count changed from "
                    + mManager.getContactCountAtLastRebuild() + " to " + contactCount);
        }
        return true;
    }
    final ArrayList<String> names = mManager.getValidNames(Contacts.CONTENT_URI);
    if (names.hashCode() != mManager.getHashCodeAtLastRebuild()) {
        return true;
    }
    if (DebugFlags.DEBUG_ENABLED) {
        Log.d(TAG, "haveContentsChanged() : No change detected in "
                + (SystemClock.uptimeMillis() - startTime) + " ms)");
    }
    return false;
}
 
Example 29
Source Project: PUMA   Source File: LaunchApp.java    License: Apache License 2.0 5 votes vote down vote up
private void waitForNetworkUpdate(long idleTimeoutMillis, long globalTimeoutMillis) {
	final long startTimeMillis = SystemClock.uptimeMillis();
	long prevTraffic = TrafficStats.getUidTxBytes(uid) + TrafficStats.getUidRxBytes(uid);
	boolean idleDetected = false;
	long totTraffic = 0;

	while (!idleDetected) {
		final long elapsedTimeMillis = SystemClock.uptimeMillis() - startTimeMillis;
		final long remainingTimeMillis = globalTimeoutMillis - elapsedTimeMillis;
		if (remainingTimeMillis <= 0) {
			Util.err("NO_IDLE_TIMEOUT: " + globalTimeoutMillis);
			break;
		}

		try {
			Thread.sleep(idleTimeoutMillis);
			long currTraffic = TrafficStats.getUidTxBytes(uid) + TrafficStats.getUidRxBytes(uid);
			long delta = currTraffic - prevTraffic;
			if (delta > 0) {
				totTraffic += delta;
				prevTraffic = currTraffic;
			} else { // idle detected
				idleDetected = true;
			}
		} catch (InterruptedException ie) {
			/* ignore */
		}
	}

	if (idleDetected) {
		Util.log("Traffic: " + totTraffic);
	}
}
 
Example 30
Source Project: MyHearts   Source File: LoginActivity.java    License: Apache License 2.0 5 votes vote down vote up
@Override
protected void doComplete(JSONObject values) {
    Log.d(TAG, "ruolanmingyue:" + values);
    Log.d("SDKQQAgentPref", "AuthorSwitch_SDK:" + SystemClock.elapsedRealtime());
    initOpenidAndToken(values);

    //下面的这个必须放到这个地方,要不然就会出错   哎,,,,,调整了近一个小时,,,,我是服我自己了
    updateUserInfo();
}
 
Example 31
Source Project: MiBandDecompiled   Source File: AsyncTaskLoader.java    License: Apache License 2.0 5 votes vote down vote up
void a(a a1, Object obj)
{
    onCanceled(obj);
    if (d == a1)
    {
        rollbackContentChanged();
        f = SystemClock.uptimeMillis();
        d = null;
        a();
    }
}
 
Example 32
Source Project: android_9.0.0_r45   Source File: Vpn.java    License: Apache License 2.0 5 votes vote down vote up
private void checkInterruptAndDelay(boolean sleepLonger) throws InterruptedException {
    long now = SystemClock.elapsedRealtime();
    if (now - mBringupStartTime <= 60000) {
        Thread.sleep(sleepLonger ? 200 : 1);
    } else {
        updateState(DetailedState.FAILED, "checkpoint");
        throw new IllegalStateException("VPN bringup took too long");
    }
}
 
Example 33
/** Waits until the {@link Activity} is finishing. */
public static void waitForActivityFinishing(Activity activity)
    throws InterruptedException, TimeoutException {
  long deadline = SystemClock.uptimeMillis() + UI_ACTION_EFFECT_TIMEOUT_MILLIS;
  while (!activity.isFinishing()) {
    long millisTillDeadline = deadline - SystemClock.uptimeMillis();
    if (millisTillDeadline < 0) {
      throw new TimeoutException("Timed out while waiting for activity to start finishing");
    }
    Thread.sleep(50);
  }
}
 
Example 34
private void inputBolusAmount() {
    scripter.verifyMenuIsDisplayed(MenuType.BOLUS_ENTER);
    // press 'up' once for each 0.1 U increment
    long steps = Math.round(bolus * 10);
    for (int i = 0; i < steps; i++) {
        scripter.verifyMenuIsDisplayed(MenuType.BOLUS_ENTER);
        scripter.pressUpKey();
        SystemClock.sleep(50);
    }
}
 
Example 35
Source Project: memory-game   Source File: CountDownClock.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Resumes the counter.
 */
public void resume() {
	if (isPaused()) {
		mMillisInFuture = mPauseTimeRemaining;
		mStopTimeInFuture = SystemClock.elapsedRealtime() + mMillisInFuture;
		mHandler.sendMessage(mHandler.obtainMessage(MSG));
		mPauseTimeRemaining = 0;
	}
}
 
Example 36
Source Project: SmartSwipe   Source File: FallingView.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Y轴上的移动逻辑
 */
private void moveY(){
    if (lastDrawTime != 0) {
        presentY += (SystemClock.elapsedRealtime() - lastDrawTime) * presentSpeed / 1000;
    }
    lastDrawTime = SystemClock.elapsedRealtime();
}
 
Example 37
Source Project: talkback   Source File: NodeBlockingOverlay.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Shows the overlay with a short delay in order to prevent capturing scroll interactions. If you
 * are not worried about scroll interactions, you can simply use the {@link #show(Rect)} method.
 *
 * @param r The bounds for the overlay.
 */
public void showDelayed(Rect r) {
  animHandler.removeMessages(AnimHandler.WHAT_HIDE);
  animHandler.removeMessages(AnimHandler.WHAT_RELAYOUT);

  desiredRect = r;
  if (!animHandler.hasMessages(AnimHandler.WHAT_SHOW)) {
    if (SystemClock.uptimeMillis() - lastHideTime > DELAY_HIDE_MS) {
      animHandler.sendEmptyMessageDelayed(AnimHandler.WHAT_SHOW, DELAY_SHOW_MS);
    } else {
      animHandler.sendEmptyMessage(AnimHandler.WHAT_SHOW);
    }
  }
}
 
Example 38
Source Project: geoar-app   Source File: InfoView.java    License: Apache License 2.0 5 votes vote down vote up
private void statusUpdate() {
	synchronized (statusHolderMap) {
		if (statusHolderMap.size() != 0) {
			// get next status to show
			Iterator<StatusHolder> iterator = statusHolderMap.values()
					.iterator();
			long now = SystemClock.uptimeMillis();
			currentStatus = null;
			// try to get the very first one which is not outdated
			while (iterator.hasNext()) {
				StatusHolder holder = iterator.next();
				if (holder.clearTime <= now) {
					iterator.remove();
				} else {
					currentStatus = holder;
					break;
				}
			}
			if (currentStatus != null) {
				// just get the object which we already have, to
				// update the internal access order so that that
				// element gets biased against the others.
				statusHolderMap.get(currentStatus.id);
			}
			refresh();
		} else if (currentStatus != null) {
			currentStatus = null;
		}
	}
}
 
Example 39
Source Project: droidconat-2016   Source File: AppDumperPlugin.java    License: Apache License 2.0 5 votes vote down vote up
private void restartApp(PrintStream writer) {
    writer.println("Restarting app...");

    // Restart app after a few delay to make sure stetho can print the previous message.
    new Thread(() -> {
        SystemClock.sleep(500);
        ProcessPhoenix.triggerRebirth(context, new Intent(context, DrawerActivity.class));
    }).start();
}
 
Example 40
Source Project: android-test   Source File: KeyEventActionBase.java    License: Apache License 2.0 5 votes vote down vote up
private boolean sendKeyEvent(UiController controller) throws InjectEventSecurityException {

    boolean injected = false;
    long eventTime = SystemClock.uptimeMillis();
    for (int attempts = 0; !injected && attempts < 4; attempts++) {
      injected =
          controller.injectKeyEvent(
              new KeyEvent(
                  eventTime,
                  eventTime,
                  KeyEvent.ACTION_DOWN,
                  this.espressoKey.getKeyCode(),
                  0,
                  this.espressoKey.getMetaState()));
    }

    if (!injected) {
      // it is not a transient failure... :(
      return false;
    }

    injected = false;
    eventTime = SystemClock.uptimeMillis();
    for (int attempts = 0; !injected && attempts < 4; attempts++) {
      injected =
          controller.injectKeyEvent(
              new KeyEvent(
                  eventTime,
                  eventTime,
                  KeyEvent.ACTION_UP,
                  this.espressoKey.getKeyCode(),
                  0,
                  this.espressoKey.getMetaState()));
    }

    return injected;
  }