Java Code Examples for android.app.Activity#runOnUiThread()

The following examples show how to use android.app.Activity#runOnUiThread() . 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 check out the related API usage on the sidebar.
Example 1
private static void onPaymentAccepted(String method, final Activity activity, final Callback<Boolean> callback) {
	try {
		setPremium(true, true, true);
		activity.runOnUiThread(new Runnable() {
			@Override
			public void run() {
				callback.onResult(true);
			}
		});
		thankYou(activity);

		long firstInstallTime = FlickrUploader.getAppContext().getPackageManager().getPackageInfo(FlickrUploader.getAppContext().getPackageName(), 0).firstInstallTime;
		long timeSinceInstall = System.currentTimeMillis() - firstInstallTime;

		Utils.sendMail("[FlickrUploader] PremiumSuccess " + method + " - " + ToolString.formatDuration(timeSinceInstall) + " - " + getCountryCode(), Utils.getDeviceId() + " - " + Utils.getEmail()
				+ " - " + Utils.getStringProperty(STR.userId) + " - " + Utils.getStringProperty(STR.userName));
	} catch (Throwable e) {
		LOG.error(ToolString.stack2string(e));
	}
}
 
Example 2
Source Project: androidnative.pri   File: Util.java    License: Apache License 2.0 6 votes vote down vote up
static void setTranslucentStatusBar(Map message) {
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP ) {  
            return;
        }

        final Boolean value = (Boolean) message.get("value");
        final Activity activity = QtNative.activity();

        Runnable runnable = new Runnable () {
            public void run() {
                Window w = activity.getWindow(); // in Activity's onCreate() for instance

                if (value) {
//                    w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
                    w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
                } else {
//                    w.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
                    w.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
                }
            }
        };

        activity.runOnUiThread(runnable);

    }
 
Example 3
@Override
public void wordListDownloadFinished(final String wordListId, final boolean succeeded) {
    final WordListPreference pref = findWordListPreference(wordListId);
    if (null == pref) return;
    // TODO: Report to the user if !succeeded
    final Activity activity = getActivity();
    if (null == activity) return;
    activity.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                // We have to re-read the db in case the description has changed, and to
                // find out what state it ended up if the download wasn't successful
                // TODO: don't redo everything, only re-read and set this word list status
                refreshInterface();
            }
        });
}
 
Example 4
/**
 * Added the view at ListView.
 */
private void addFooterView() {
    final Activity activity = getActivity();
    if (activity == null) {
        return;
    }
    activity.runOnUiThread(() -> {
        UVCDeviceManager mgr = getManager();
        if (mgr == null) {
            return;
        }
        LayoutInflater inflater = activity.getLayoutInflater();
        if (mFooterView != null) {
            mListView.removeFooterView(mFooterView);
        }
        if (mgr.getDeviceList().size() == 0) {
            mFooterView = inflater.inflate(R.layout.item_uvc_error, null);
            mListView.addFooterView(mFooterView);
        }
    });
}
 
Example 5
public void updateCommandList(boolean showCommandList, String message, Activity activity, boolean backToMenu) {

        activity.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                fillList(message, backToMenu);

                if (botActionList.size() == 0) {
                    return;
                }

                if (showCommandList) {
                    makeTxtList(rootView);
                } else {
                    makeButtonList(rootView);
                }

                setLayoutBot(false, false);
            }
        });

    }
 
Example 6
Source Project: SUtil   File: ToastUtils.java    License: Artistic License 2.0 5 votes vote down vote up
/**
 * @param context Context
 * @param string  内容
 */
public static void show(final Activity context, final String string) {
    //判断是否为主线程
    if ("main".equals(Thread.currentThread().getName())) {
        Toast.makeText(context, string, Toast.LENGTH_SHORT).show();
    } else {//如果不是,就用该方法使其在ui线程中运行
        context.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(context, string, Toast.LENGTH_SHORT).show();
            }
        });
    }
}
 
Example 7
@Override
public void run() {
    Activity activity = (Activity) getContext();
    // Run on the UI thread because we are updating gui elements
    if (activity != null) {
        activity.runOnUiThread(NowPlayingView.this::updateTrackPosition);
    }

}
 
Example 8
Source Project: android-profile   File: SoomlaProfile.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Shares the given status to the user's feed with confirmation dialog and grants the user a reward.
 *
 * @param provider The provider to use
 * @param status   The text to share
 * @param payload  a String to receive when the function returns.
 * @param reward   The reward to give the user
 * @param activity activity to use as context for the dialog
 * @param customMessage the message to show in the dialog
 * @throws ProviderNotFoundException if the supplied provider is not
 *                                   supported by the framework
 */
public void updateStatusWithConfirmation(final IProvider.Provider provider, final String status, final String payload, final Reward reward, final Activity activity, final String customMessage) throws ProviderNotFoundException {
    final ISocialProvider socialProvider = mProviderManager.getSocialProvider(provider);

    if (activity != null) {
        final String message = customMessage != null ? customMessage :
                String.format("Are you sure you want to publish this message to %s: %s?",
                        provider.toString(), status);

        activity.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                new AlertDialog.Builder(activity)
                        .setIcon(android.R.drawable.ic_dialog_alert)
                        .setTitle("Confirmation")
                        .setMessage(message)
                        .setPositiveButton("yes", new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                internalUpdateStatus(socialProvider, provider, status, payload, reward);
                            }

                        })
                        .setNegativeButton("no", null)
                        .show();
            }
        });
    } else {
        internalUpdateStatus(socialProvider, provider, status, payload, reward);
    }
}
 
Example 9
Source Project: PLDroidMediaStreaming   File: Util.java    License: Apache License 2.0 5 votes vote down vote up
public static void showToast(final Activity activity, final String msg) {
    activity.runOnUiThread(new Runnable() {
        @Override
        public void run() {
            Toast.makeText(activity, msg, Toast.LENGTH_LONG).show();
        }
    });
}
 
Example 10
private void handleAuthException(final Activity activity, final Exception e) {
    activity.runOnUiThread(new Runnable() {
        @Override
        public void run() {
            if (e instanceof GooglePlayServicesAvailabilityException) {
                // The Google Play services APK is old, disabled, or not present.
                // Show a dialog created by Google Play services that allows
                // the user to update the APK
                int statusCode = ((GooglePlayServicesAvailabilityException) e).getConnectionStatusCode();
                Dialog dialog;
                if(authScope.equals(AUTH_PROXIMITY_API)) {
                    dialog = GooglePlayServicesUtil.getErrorDialog(
                            statusCode, activity, REQUEST_CODE_RECOVER_FROM_PLAY_SERVICES_ERROR_FOR_PRX_API);
                } else {
                    dialog = GooglePlayServicesUtil.getErrorDialog(
                            statusCode, activity, REQUEST_CODE_RECOVER_FROM_PLAY_SERVICES_ERROR_FOR_URL_SHORTNER);
                }
                dialog.show();
            } else if (e instanceof UserRecoverableAuthException) {
                // Unable to authenticate, such as when the user has not yet granted
                // the app access to the account, but the user can fix this.
                // Forward the user to an activity in Google Play services.
                Intent intent = ((UserRecoverableAuthException) e).getIntent();
                if(authScope.equals(AUTH_PROXIMITY_API)) {
                    activity.startActivityForResult(
                            intent, REQUEST_CODE_RECOVER_FROM_PLAY_SERVICES_ERROR_FOR_PRX_API);
                } else {
                    activity.startActivityForResult(
                            intent, REQUEST_CODE_RECOVER_FROM_PLAY_SERVICES_ERROR_FOR_URL_SHORTNER);
                }
            }
        }
    });
}
 
Example 11
Source Project: tindroid   File: UiUtils.java    License: Apache License 2.0 5 votes vote down vote up
static void setupToolbar(final Activity activity, final VxCard pub,
                         final String topicName, final boolean online, final Date lastSeen) {
    if (activity == null || activity.isDestroyed() || activity.isFinishing()) {
        return;
    }

    final Toolbar toolbar = activity.findViewById(R.id.toolbar);
    if (toolbar == null) {
        return;
    }

    activity.runOnUiThread(new Runnable() {
        @Override
        public void run() {
            if (!TextUtils.isEmpty(topicName)) {
                final String title = pub != null && pub.fn != null ?
                        pub.fn : activity.getString(R.string.placeholder_contact_title);
                toolbar.setTitle(title);
                if (lastSeen != null && !online) {
                    toolbar.setSubtitle(relativeDateFormat(activity, lastSeen));
                } else {
                    toolbar.setSubtitle(null);
                }
                constructToolbarLogo(activity, pub != null ? pub.getBitmap() : null,
                        pub != null ? pub.fn  : null, topicName, online);
            } else {
                toolbar.setTitle(R.string.app_name);
                toolbar.setSubtitle(null);
                toolbar.setLogo(null);
            }
        }
    });
}
 
Example 12
/**
 * Shows a {@link Toast} on the UI thread.
 *
 * @param text The message to show
 */
private void showToast(final String text) {
    final Activity activity = getActivity();
    if (activity != null) {
        activity.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(activity, text, Toast.LENGTH_SHORT).show();
            }
        });
    }
}
 
Example 13
static void updatePreview(final Activity activity, final boolean isOnCreate, final Integer fromLatest, final View previewView, final SeekBar alphaSeekBar, final SeekBar RSeekBar, final SeekBar GSeekBar, final SeekBar BSeekBar) {

        activity.runOnUiThread(new Runnable() {
            @Override
            public void run() {

                int A = getColorARGB(0, alphaSeekBar, RSeekBar, GSeekBar, BSeekBar);
                int R = getColorARGB(1, alphaSeekBar, RSeekBar, GSeekBar, BSeekBar);
                int G = getColorARGB(2, alphaSeekBar, RSeekBar, GSeekBar, BSeekBar);
                int B = getColorARGB(3, alphaSeekBar, RSeekBar, GSeekBar, BSeekBar);

                int ARGB = getColorARGB(4, alphaSeekBar, RSeekBar, GSeekBar, BSeekBar);

                if (isOnCreate) {

                    int savedColor = fromLatest != null ? fromLatest : ColorBox.getColor(ColorBox.getTag(), activity);
                    A = Color.alpha(savedColor);
                    R = Color.red(savedColor);
                    G = Color.green(savedColor);
                    B = Color.blue(savedColor);
                    ARGB = savedColor;
                }

                alphaSeekBar.setProgress(A);
                RSeekBar.setProgress(R);
                GSeekBar.setProgress(G);
                BSeekBar.setProgress(B);

                previewView.setBackground(Utils.round(activity.getResources(), isLand(activity.getResources()), android.R.dimen.thumbnail_height, ARGB));

            }
        });
    }
 
Example 14
@ReactProp(name = "url")
public void setUrl (final CrosswalkWebView view, @Nullable final String url) {
    Activity _activity = reactContext.getCurrentActivity();
    if (_activity != null) {
        _activity.runOnUiThread(new Runnable() {
            @Override
            public void run () {
                view.load(url, null);
            }
        });
    }
}
 
Example 15
public static void confirmSignIn(final Activity context) {
	context.runOnUiThread(new Runnable() {
		@Override
		public void run() {
			AlertDialog alertDialog = new AlertDialog.Builder(context).setTitle("Sign into Flickr").setMessage("A Flickr account is required to upload photos.")
					.setPositiveButton("Sign in now", new DialogInterface.OnClickListener() {
						@Override
						public void onClick(DialogInterface dialog, int which) {
							context.startActivityForResult(FlickrWebAuthActivity_.intent(context).get(), 14);
						}
					}).setNegativeButton("Later", null).setCancelable(false).show();
			setButtonSize(alertDialog);
		}
	});
}
 
Example 16
public static void dialogDoItem(final Activity activity, final CharSequence title,
                                final int icon, final CharSequence msg, final String posText,
                                final DialogInterface.OnClickListener posLis, final String negText,
                                final DialogInterface.OnClickListener negLis, final String cancelText,
                                final DialogInterface.OnClickListener cancelLis) {
    activity.runOnUiThread(new Runnable() {
        public void run() {
            if (activity.isFinishing())
                return;
            AlertDialog.Builder b = new AlertDialog.Builder(activity);
            b.setCancelable(true);
            b.setTitle(title);
            b.setIcon(icon);
            b.setMessage(msg);
            if (!TextUtils.isEmpty(posText)) {
                b.setPositiveButton(posText, posLis);
            }
            if (!TextUtils.isEmpty(negText)) {
                b.setNegativeButton(negText, negLis);
            }
            if (!TextUtils.isEmpty(cancelText)) {
                b.setNeutralButton(cancelText, cancelLis);
            }
            if (!activity.isFinishing())
                b.show();
        }
    });
}
 
Example 17
private void show(
    final Activity activity, final String message, final DismissBehavior dismissBehavior) {
  activity.runOnUiThread(
      new Runnable() {
        @Override
        public void run() {
          messageSnackbar =
              Snackbar.make(
                  activity.findViewById(android.R.id.content),
                  message,
                  Snackbar.LENGTH_INDEFINITE);
          messageSnackbar.getView().setBackgroundColor(BACKGROUND_COLOR);
          if (dismissBehavior != DismissBehavior.HIDE) {
            messageSnackbar.setAction(
                "Dismiss",
                new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                    messageSnackbar.dismiss();
                  }
                });
            if (dismissBehavior == DismissBehavior.FINISH) {
              messageSnackbar.addCallback(
                  new BaseTransientBottomBar.BaseCallback<Snackbar>() {
                    @Override
                    public void onDismissed(Snackbar transientBottomBar, int event) {
                      super.onDismissed(transientBottomBar, event);
                      activity.finish();
                    }
                  });
            }
          }
          ((TextView)
                  messageSnackbar
                      .getView()
                      .findViewById(android.support.design.R.id.snackbar_text))
              .setMaxLines(maxLines);
          messageSnackbar.show();
        }
      });
}
 
Example 18
Source Project: arcusandroid   File: BannerManager.java    License: Apache License 2.0 4 votes vote down vote up
public boolean showBanner(@NonNull final Banner banner) {

        logger.debug("Attempting to show banner {}.", banner.getClass().getSimpleName());

        if (getBannerActivity() == null) {
            logger.error("Bug! Attempt to showBanner() with null activity. Are you invoking BannerManager from an unattached lifecycle phase?");
            return false;
        }

        Activity activity = getActivity();
        if (activity == null) {
            return false;
        }

        banner.setBannerAdapter(getBanners());
        banner.setActivity(activity);

        final ListView bannersView = activity.findViewById(R.id.banner_list);
        if (bannersView == null) {
            logger.warn("Not able to find/inflate banners view in this context ({}); banner will not be shown.", activity);
            return false;
        }

        if (getBanners() != null) {

            // Since we seem to only want to show 1 banner at a time this could be a good time to revamp BannerManager?
            // However, if we do stick with this (ListView), we could attach all banners and as each one gets addressed,
            // and then later removed, we could show the 'next in line' by doing a simple display trick in the adapter
            // Manipulate the item count -> return super.getCount() > 0 ? 1 : 0.
            activity.runOnUiThread(() -> {
                BannerAdapter bannerAdapter = getBanners();
                if (BannerManagerHelper.canShowBanner(getActivity(), banner) && bannerAdapter != null) {
                    bannerAdapter.clear();
                    bannerAdapter.add(banner);

                    bannersView.setAdapter(bannerAdapter);
                    logger.debug("Attaching banner list with {} banners visible.", getBanners().getCount());
                }
            });

            return true;
        }

        else {
            logger.error("No banner list defined in this activity; banner {} will not be shown.", banner.getClass().getSimpleName());
        }

        return false;
    }
 
Example 19
Source Project: Yahala-Messenger   File: ImageWrapper.java    License: MIT License 4 votes vote down vote up
public void runOnUiThread(BitmapDisplayer displayer) {
    Activity a = (Activity) imageView.getContext();
    a.runOnUiThread(displayer);
}
 
Example 20
Source Project: NClientV2   File: IntentUtility.java    License: Apache License 2.0 4 votes vote down vote up
public static void startAnotherActivity(Activity activity, Intent intent){
    activity.runOnUiThread(()->activity.startActivity(intent));
}