Example usage for android.os Handler postDelayed

List of usage examples for android.os Handler postDelayed

Introduction

In this page you can find the example usage for android.os Handler postDelayed.

Prototype

public final boolean postDelayed(Runnable r, long delayMillis) 

Source Link

Document

Causes the Runnable r to be added to the message queue, to be run after the specified amount of time elapses.

Usage

From source file:org.tlhInganHol.android.klingonassistant.BaseActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (savedInstanceState != null) {
        mActivePosition = savedInstanceState.getInt(STATE_ACTIVE_POSITION);
    }//  w  ww  .jav a  2  s . c  o  m

    // Close the floating window, if there is one. Work around a race condition.
    Log.d(TAG, "Starting activity with non-floating window. Close floating window.");
    Handler killFloatingWindowHandler = new Handler();
    Runnable killFloatingWindowRunnable = new Runnable() {
        public void run() {
            StandOutWindow.closeAll(BaseActivity.this, FloatingWindow.class);
        }
    };
    killFloatingWindowHandler.postDelayed(killFloatingWindowRunnable, 100); // 100 ms

    // Get the action bar.
    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);

    SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    if (sharedPrefs.getBoolean(Preferences.KEY_KLINGON_FONT_CHECKBOX_PREFERENCE, /* default */false)) {
        // Display the action bar title in Klingon font.
        SpannableString title = new SpannableString("?");
        Typeface klingonTypeface = KlingonAssistant.getKlingonFontTypeface(getBaseContext());
        title.setSpan(new KlingonTypefaceSpan("", klingonTypeface), 0, title.length(),
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        actionBar.setTitle(title);
    }

    // If the device is in landscape orientation and the screen size is large (or bigger), then
    // make the slide-out menu static. Otherwise, hide it by default.
    MenuDrawer.Type drawerType = MenuDrawer.Type.BEHIND;
    if (isHorizontalTablet()) {
        drawerType = MenuDrawer.Type.STATIC;
    }
    mDrawer = MenuDrawer.attach(this, drawerType, Position.LEFT, MenuDrawer.MENU_DRAG_CONTENT);

    List<Object> items = new ArrayList<Object>();
    if (sharedPrefs.getBoolean(Preferences.KEY_KLINGON_UI_CHECKBOX_PREFERENCE, /* default */false)) {
        items.add(new SlideMenuCategory(R.string.menu_reference_tlh));
        items.add(new SlideMenuItem(R.string.menu_pronunciation_tlh, R.id.pronunciation, 0));
        items.add(new SlideMenuItem(R.string.menu_prefixes_tlh, R.id.prefixes, 0));
        items.add(new SlideMenuItem(R.string.menu_prefix_charts_tlh, R.id.prefix_charts, 0));
        items.add(new SlideMenuItem(R.string.menu_noun_suffixes_tlh, R.id.noun_suffixes, 0));
        items.add(new SlideMenuItem(R.string.menu_verb_suffixes_tlh, R.id.verb_suffixes, 0));
        items.add(new SlideMenuCategory(R.string.menu_phrases_tlh));
        items.add(new SlideMenuItem(R.string.beginners_conversation_tlh, R.id.beginners_conversation, 0));
        items.add(new SlideMenuItem(R.string.jokes_tlh, R.id.jokes, 0));
        items.add(new SlideMenuItem(R.string.nentay_tlh, R.id.nentay, 0));
        items.add(new SlideMenuItem(R.string.military_celebration_tlh, R.id.military_celebration, 0));
        items.add(new SlideMenuItem(R.string.toasts_tlh, R.id.toasts, 0));
        items.add(new SlideMenuItem(R.string.lyrics_tlh, R.id.lyrics, 0));
        items.add(new SlideMenuItem(R.string.curse_warfare_tlh, R.id.curse_warfare, 0));
        items.add(new SlideMenuItem(R.string.replacement_proverbs_tlh, R.id.replacement_proverbs, 0));
        items.add(new SlideMenuItem(R.string.secrecy_proverbs_tlh, R.id.secrecy_proverbs, 0));
        items.add(new SlideMenuItem(R.string.empire_union_day_tlh, R.id.empire_union_day, 0));
        items.add(new SlideMenuItem(R.string.rejection_tlh, R.id.rejection, 0));
        items.add(new SlideMenuCategory(R.string.menu_media_tlh));
        items.add(new SlideMenuItem(R.string.media_1_title_tlh, R.id.media_1, 0));
        items.add(new SlideMenuItem(R.string.media_2_title_tlh, R.id.media_2, 0));
        items.add(new SlideMenuItem(R.string.media_3_title_tlh, R.id.media_3, 0));
        items.add(new SlideMenuItem(R.string.media_4_title_tlh, R.id.media_4, 0));
        items.add(new SlideMenuItem(R.string.media_5_title_tlh, R.id.media_5, 0));
        items.add(new SlideMenuItem(R.string.media_6_title_tlh, R.id.media_6, 0));
        /*
        items.add(new SlideMenuCategory(R.string.menu_social_tlh));
        items.add(new SlideMenuItem(R.string.menu_gplus_tlh, R.id.gplus, 0));
        items.add(new SlideMenuItem(R.string.menu_facebook_tlh, R.id.facebook, 0));
        items.add(new SlideMenuItem(R.string.menu_kag_tlh, R.id.kag, 0));
        items.add(new SlideMenuItem(R.string.menu_kidc_tlh, R.id.kidc, 0));
        */
    } else {
        items.add(new SlideMenuCategory(R.string.menu_reference));
        items.add(new SlideMenuItem(R.string.menu_pronunciation, R.id.pronunciation, 0));
        items.add(new SlideMenuItem(R.string.menu_prefixes, R.id.prefixes, 0));
        items.add(new SlideMenuItem(R.string.menu_prefix_charts, R.id.prefix_charts, 0));
        items.add(new SlideMenuItem(R.string.menu_noun_suffixes, R.id.noun_suffixes, 0));
        items.add(new SlideMenuItem(R.string.menu_verb_suffixes, R.id.verb_suffixes, 0));
        items.add(new SlideMenuCategory(R.string.menu_phrases));
        items.add(new SlideMenuItem(R.string.beginners_conversation, R.id.beginners_conversation, 0));
        items.add(new SlideMenuItem(R.string.jokes, R.id.jokes, 0));
        items.add(new SlideMenuItem(R.string.nentay, R.id.nentay, 0));
        items.add(new SlideMenuItem(R.string.military_celebration, R.id.military_celebration, 0));
        items.add(new SlideMenuItem(R.string.toasts, R.id.toasts, 0));
        items.add(new SlideMenuItem(R.string.lyrics, R.id.lyrics, 0));
        items.add(new SlideMenuItem(R.string.curse_warfare, R.id.curse_warfare, 0));
        items.add(new SlideMenuItem(R.string.replacement_proverbs, R.id.replacement_proverbs, 0));
        items.add(new SlideMenuItem(R.string.secrecy_proverbs, R.id.secrecy_proverbs, 0));
        items.add(new SlideMenuItem(R.string.empire_union_day, R.id.empire_union_day, 0));
        items.add(new SlideMenuItem(R.string.rejection, R.id.rejection, 0));
        // Not all general proverbs are properly tagged yet.
        // Too many idioms; also no known Klingon term for "idiom".
        items.add(new SlideMenuCategory(R.string.menu_media));
        items.add(new SlideMenuItem(R.string.media_1_title, R.id.media_1, 0));
        items.add(new SlideMenuItem(R.string.media_2_title, R.id.media_2, 0));
        items.add(new SlideMenuItem(R.string.media_3_title, R.id.media_3, 0));
        items.add(new SlideMenuItem(R.string.media_4_title, R.id.media_4, 0));
        items.add(new SlideMenuItem(R.string.media_5_title, R.id.media_5, 0));
        items.add(new SlideMenuItem(R.string.media_6_title, R.id.media_6, 0));
        /*
        items.add(new SlideMenuCategory(R.string.menu_social));
        items.add(new SlideMenuItem(R.string.menu_gplus, R.id.gplus, 0));
        items.add(new SlideMenuItem(R.string.menu_facebook, R.id.facebook, 0));
        items.add(new SlideMenuItem(R.string.menu_kag, R.id.kag, 0));
        items.add(new SlideMenuItem(R.string.menu_kidc, R.id.kidc, 0));
        */
    }
    mList = new ListView(this);

    mAdapter = new SlideMenuAdapter(this, items);
    mAdapter.setListener(this);
    mAdapter.setActivePosition(mActivePosition);

    mList.setAdapter(mAdapter);
    mList.setOnItemClickListener(mItemClickListener);

    mDrawer.setMenuView(mList);

    // Allow the menu to slide out when any part of the screen is dragged.
    mDrawer.setTouchMode(MenuDrawer.TOUCH_MODE_FULLSCREEN);

    // The drawable that replaces the up indicator in the action bar.
    mDrawer.setSlideDrawable(R.drawable.ic_drawer);
    // Whether the previous drawable should be shown.
    mDrawer.setDrawerIndicatorEnabled(true);

    // Activate type-to-search for local search. Typing will automatically
    // start a search of the database.
    setDefaultKeyMode(DEFAULT_KEYS_SEARCH_LOCAL);

    // Register a receiver for the kill order.
    mKillReceiver = new KillReceiver();
    registerReceiver(mKillReceiver, IntentFilter.create(ACTION_KILL, KILL_TYPE));
}

From source file:de.geeksfactory.opacclient.frontend.OpacActivity.java

protected void setupDrawer() {
    SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);

    drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    if (drawerLayout != null) {
        hasDrawer = true;/*from   ww w .jav  a  2s .  com*/
        drawerToggle = new ActionBarDrawerToggle(this, /* host Activity */
                drawerLayout, /* DrawerLayout object */
                R.drawable.ic_navigation_drawer, /*
                                                 * nav drawer icon to replace 'Up'
                                                 * caret
                                                 */
                R.string.drawer_open, /* "open drawer" description */
                R.string.drawer_close /* "close drawer" description */
        ) {

            /**
             * Called when a drawer has settled in a completely closed
             * state.
             */
            @Override
            public void onDrawerClosed(View view) {
                super.onDrawerClosed(view);
                getSupportActionBar().setTitle(mTitle);
            }

            /** Called when a drawer has settled in a completely open state. */
            @Override
            public void onDrawerOpened(View drawerView) {
                super.onDrawerOpened(drawerView);
                getSupportActionBar().setTitle(app.getResources().getString(R.string.app_name));
                if (getCurrentFocus() != null) {
                    InputMethodManager imm = (InputMethodManager) getSystemService(
                            Context.INPUT_METHOD_SERVICE);
                    imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
                }
            }
        };

        // Set the drawer toggle as the DrawerListener
        drawerLayout.setDrawerListener(drawerToggle);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setHomeButtonEnabled(true);

        drawerList = (ListView) findViewById(R.id.drawer_list);
        navAdapter = new NavigationAdapter(this);
        drawerList.setAdapter(navAdapter);
        navAdapter.addSeperatorItem(getString(R.string.nav_hl_library));
        navAdapter.addTextItemWithIcon(getString(R.string.nav_search), R.drawable.ic_action_search, "search");
        navAdapter.addTextItemWithIcon(getString(R.string.nav_account), R.drawable.ic_action_account,
                "account");
        navAdapter.addTextItemWithIcon(getString(R.string.nav_starred), R.drawable.ic_action_star_1, "starred");
        navAdapter.addTextItemWithIcon(getString(R.string.nav_info), R.drawable.ic_action_info, "info");

        aData.open();
        accounts = aData.getAllAccounts();
        if (accounts.size() > 1) {
            navAdapter.addSeperatorItem(getString(R.string.nav_hl_accountlist));

            long tolerance = Long.decode(sp.getString("notification_warning", "367200000"));
            int selected = -1;
            for (final Account account : accounts) {
                Library library;
                try {
                    library = ((OpacClient) getApplication()).getLibrary(account.getLibrary());
                    int expiring = aData.getExpiring(account, tolerance);
                    String expiringText = "";
                    if (expiring > 0) {
                        expiringText = String.valueOf(expiring);
                    }
                    if (getString(R.string.default_account_name).equals(account.getLabel())) {
                        navAdapter.addLibraryItem(library.getCity(), library.getTitle(), expiringText,
                                account.getId());
                    } else {
                        navAdapter.addLibraryItem(account.getLabel(),
                                library.getCity() + "  " + library.getTitle(), expiringText, account.getId());
                    }
                    if (account.getId() == app.getAccount().getId()) {
                        selected = navAdapter.getCount() - 1;
                    }

                } catch (IOException e) {
                    e.printStackTrace();
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
            if (selected > 0) {
                drawerList.setItemChecked(selected, true);
            }
        }

        navAdapter.addSeperatorItem(getString(R.string.nav_hl_other));
        navAdapter.addTextItemWithIcon(getString(R.string.nav_settings), R.drawable.ic_action_settings,
                "settings");
        navAdapter.addTextItemWithIcon(getString(R.string.nav_about), R.drawable.ic_action_help, "about");

        drawerList.setOnItemClickListener(new DrawerItemClickListener());

        if (!sp.getBoolean("version2.0.0-introduced", false) && app.getSlidingMenuEnabled()) {
            final Handler handler = new Handler();
            // Just show the menu to explain that is there if people start
            // version 2 for the first time.
            // We need a handler because if we just put this in onCreate
            // nothing
            // happens. I don't have any idea, why.
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(OpacActivity.this);
                    drawerLayout.openDrawer(drawerList);
                    sp.edit().putBoolean("version2.0.0-introduced", true).commit();
                }
            }, 500);

        }
    }
}

From source file:plugin.google.maps.CordovaGoogleMaps.java

@SuppressWarnings("MissingPermission")
private void _requestLocationUpdate(final boolean isRetry, final boolean enableHighAccuracy,
        final CallbackContext callbackContext) {

    int priority = LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY;
    if (enableHighAccuracy) {
        priority = LocationRequest.PRIORITY_HIGH_ACCURACY;
    }// ww w.j av  a  2 s .c  o  m

    LocationRequest locationRequest = LocationRequest.create().setExpirationTime(5000).setNumUpdates(2)
            .setSmallestDisplacement(0).setPriority(priority).setInterval(5000);

    final PendingResult<Status> result = LocationServices.FusedLocationApi
            .requestLocationUpdates(googleApiClient, locationRequest, new LocationListener() {

                @Override
                public void onLocationChanged(Location location) {
                    /*
                    if (callbackContext.isFinished()) {
                      return;
                    }
                    */
                    JSONObject result;
                    try {
                        result = PluginUtil.location2Json(location);
                        result.put("status", true);
                        callbackContext.success(result);
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                    googleApiClient.disconnect();
                }

            });

    result.setResultCallback(new ResultCallback<Status>() {

        public void onResult(Status status) {
            if (!status.isSuccess()) {
                String errorMsg = status.getStatusMessage();
                PluginResult result = new PluginResult(PluginResult.Status.ERROR, errorMsg);
                callbackContext.sendPluginResult(result);
            } else {
                // no update location
                Location location = LocationServices.FusedLocationApi.getLastLocation(googleApiClient);
                if (location != null) {
                    try {
                        JSONObject result = PluginUtil.location2Json(location);
                        result.put("status", true);
                        callbackContext.success(result);
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                } else {
                    if (!isRetry) {
                        Toast.makeText(activity, "Waiting for location...", Toast.LENGTH_SHORT).show();

                        CordovaGoogleMaps.this.sendNoResult(callbackContext);

                        // Retry
                        Handler handler = new Handler();
                        handler.postDelayed(new Runnable() {
                            @Override
                            public void run() {
                                _requestLocationUpdate(true, enableHighAccuracy, callbackContext);
                            }
                        }, 3000);
                    } else {
                        // Send back the error result
                        JSONObject result = new JSONObject();
                        try {
                            result.put("status", false);
                            result.put("error_code", "cannot_detect");
                            result.put("error_message", "Can not detect your location. Try again.");
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                        callbackContext.error(result);
                    }
                }
            }
        }
    });
}

From source file:com.android.gpstest.GpsTestActivity.java

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    boolean success;
    // Handle menu item selection
    switch (item.getItemId()) {
    case R.id.gps_switch:
        // Do nothing - this is handled by a separate listener added in onCreateOptionsMenu()
        return true;
    case R.id.delete_aiding_data:
        // If GPS is currently running, stop it
        boolean lastStartState = mStarted;
        if (mStarted) {
            gpsStop();//from www. ja  v  a 2  s. c  om
        }
        success = sendExtraCommand(getString(R.string.delete_aiding_data_command));
        if (success) {
            Toast.makeText(this, getString(R.string.delete_aiding_data_success), Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, getString(R.string.delete_aiding_data_failure), Toast.LENGTH_SHORT).show();
        }

        if (lastStartState) {
            Handler h = new Handler();
            // Restart the GPS, if it was previously started, with a slight delay,
            // to refresh the assistance data
            h.postDelayed(new Runnable() {
                public void run() {
                    gpsStart();
                }
            }, 500);
        }
        return true;
    case R.id.send_location:
        sendLocation();
        return true;
    case R.id.force_time_injection:
        success = sendExtraCommand(getString(R.string.force_time_injection_command));
        if (success) {
            Toast.makeText(this, getString(R.string.force_time_injection_success), Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, getString(R.string.force_time_injection_failure), Toast.LENGTH_SHORT).show();
        }
        return true;
    case R.id.force_xtra_injection:
        success = sendExtraCommand(getString(R.string.force_xtra_injection_command));
        if (success) {
            Toast.makeText(this, getString(R.string.force_xtra_injection_success), Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, getString(R.string.force_xtra_injection_failure), Toast.LENGTH_SHORT).show();
        }
        return true;
    case R.id.menu_settings:
        // Show settings menu
        startActivity(new Intent(this, Preferences.class));
    default:
        return super.onOptionsItemSelected(item);
    }
}

From source file:com.mezcaldev.hotlikeme.ChatActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_chat_hlm);

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);/*  w w w  .  j a v a  2 s.co  m*/

    if (getSupportActionBar() != null) {
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }

    Bundle bundle = getIntent().getExtras();

    if (bundle.getString("userChat") != null) {
        mUserChatId = bundle.getString("userChat");
        MESSAGES_CHILD = "/chats/" + mUserChatId;
        MESSAGES_RESUME = "/chats_resume/" + mUserChatId;

        myKey = FireConnection.getInstance().genHashKey(mUserChatId);
        secureMessage = new SecureMessage(myKey);
    }
    if (bundle.getString("userName") != null) {
        setTitle(bundle.getString("userName"));
    }
    if (fireConfigMessageLimit > 0) {
        MESSAGE_LIMIT = fireConfigMessageLimit;
    }
    if (fireConfigMessageOld > 0) {
        ADD_OLD_MESSAGES = fireConfigMessageOld;
    }
    if (fireConfigMessageLength > 0) {
        MSG_LENGTH_LIMIT = fireConfigMessageLength;
    }
    if (fireConfigMessagesMax > 0) {
        MAX_MESSAGES_DECRYPTED = fireConfigMessagesMax;
    }

    mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
    mUsername = ANONYMOUS;

    // Initialize Firebase Auth
    mFirebaseAuth = FirebaseAuth.getInstance();
    mFirebaseUser = mFirebaseAuth.getCurrentUser();

    if (mFirebaseUser == null) {
        // Not signed in, launch the Sign In activity
        startActivity(new Intent(this, HLMActivity.class));
        finish();
        return;
    } else {
        mUsername = mFirebaseUser.getDisplayName();
        if (mFirebaseUser.getPhotoUrl() != null) {
            mPhotoUrl = mFirebaseUser.getPhotoUrl().toString();
        } else {
            mPhotoUrl = null;
        }
    }

    mProgressBar = (ProgressBar) findViewById(R.id.progressBar);
    fab_send = (FloatingActionButton) findViewById(R.id.fab_send);
    swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshChat);
    mMessageRecyclerView = (RecyclerView) findViewById(R.id.messageRecyclerView);
    mMessageRecyclerView.setLayoutManager(new LinearLayoutManager(this));

    fab_send.setClickable(false);
    fab_send.setEnabled(false);

    mMessageRecyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
        @Override
        public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
            hideSoftKeyboard(ChatActivity.this);
            return false;
        }

        @Override
        public void onTouchEvent(RecyclerView rv, MotionEvent e) {
            hideSoftKeyboard(ChatActivity.this);
        }

        @Override
        public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
        }
    });

    mLinearLayoutManager = new LinearLayoutManager(this);
    mLinearLayoutManager.setStackFromEnd(true);

    mFirebaseDatabaseReference = databaseGlobal.getReference();
    databaseReferenceLastMessages = mFirebaseDatabaseReference.child(MESSAGES_CHILD);

    recentMessages = databaseReferenceLastMessages.limitToLast(MESSAGE_LIMIT);
    preloadMessages = databaseReferenceLastMessages.limitToLast(MAX_MESSAGES_DECRYPTED);

    preloadMessages.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            totalMessages = dataSnapshot.getChildrenCount();
            if (totalMessages == 0) {
                flagMessagesDecrypted = true;
                Log.v(TAG, "Zero Message to decrypt!");
            }
            Log.i(TAG, "Childrens: " + totalMessages);
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

    swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            final int currentMessagePosition = mLinearLayoutManager.findFirstCompletelyVisibleItemPosition();
            MESSAGE_LIMIT += ADD_OLD_MESSAGES;
            Log.i(TAG, "New Message Limit: " + MESSAGE_LIMIT);
            Toast.makeText(getApplicationContext(), "Loading Old Messages", Toast.LENGTH_LONG).show();

            recentMessages = databaseReferenceLastMessages.limitToLast(MESSAGE_LIMIT);

            mProgressBar.setVisibility(View.VISIBLE);
            mLinearLayoutManager.setStackFromEnd(false);
            updateFireBaseRecyclerAdapter();

            Handler handlerRefreshSign = new Handler();
            handlerRefreshSign.postDelayed(new Runnable() {
                @Override
                public void run() {
                    if (swipeRefreshLayout.isRefreshing()) {
                        swipeRefreshLayout.setRefreshing(false);
                    }
                }
            }, ONE_SECOND);

            Handler handlerShowOldMessages = new Handler();
            handlerShowOldMessages.postDelayed(new Runnable() {
                @Override
                public void run() {
                    mProgressBar.setVisibility(View.INVISIBLE);
                    mMessageRecyclerView
                            .smoothScrollToPosition(currentMessagePosition + (ADD_OLD_MESSAGES / 2));
                }
            }, bigDelay);
        }
    });

    mMessageEditText = (EditText) findViewById(R.id.messageEditText);
    mMessageEditText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(
            mSharedPreferences.getInt(ChatRemotePreferences.FRIENDLY_MSG_LENGTH, MSG_LENGTH_LIMIT)) });
    mMessageEditText.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            mLinearLayoutManager.setStackFromEnd(true);
        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            if (charSequence.toString().trim().length() > 0) {
                fab_send.setClickable(true);
                fab_send.setEnabled(true);

            } else {
                fab_send.setClickable(false);
                fab_send.setEnabled(false);
            }
        }

        @Override
        public void afterTextChanged(Editable editable) {

        }
    });

    fab_send.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            checkNetworkAccess();

            if (mLinearLayoutManager.getItemCount() - 1 >= 0) {
                mMessageRecyclerView.smoothScrollToPosition(mLinearLayoutManager.getItemCount() - 1);
            }
            new SendOnBackground().execute(mMessageEditText.getText().toString());

        }
    });

    //Check if Network is available
    checkNetworkAccess();
    Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            preloadDecryptedMessages();
        }
    }, 200);
}

From source file:com.sentaroh.android.TaskAutomation.Config.ProfileMaintenanceTimeProfile.java

private void restoreViewContents(final SavedViewContents sv) {
    final EditText dlg_prof_name_et = (EditText) mDialog.findViewById(R.id.edit_profile_time_profile_et_name);
    final CheckBox cb_active = (CheckBox) mDialog.findViewById(R.id.edit_profile_time_enabled);
    final Spinner spinnerDateTimeType = (Spinner) mDialog.findViewById(R.id.edit_profile_time_date_time_type);
    final Spinner spinnerYear = (Spinner) mDialog.findViewById(R.id.edit_profile_time_exec_year);
    final Spinner spinnerMonth = (Spinner) mDialog.findViewById(R.id.edit_profile_time_exec_month);
    final Spinner spinnerDay = (Spinner) mDialog.findViewById(R.id.edit_profile_time_exec_day);
    final Spinner spinnerHour = (Spinner) mDialog.findViewById(R.id.edit_profile_time_exec_hours);
    final Spinner spinnerMin = (Spinner) mDialog.findViewById(R.id.edit_profile_time_exec_minutes);

    Handler hndl1 = new Handler();
    hndl1.postDelayed(new Runnable() {
        @Override/*from   ww  w . j av a2  s.  co  m*/
        public void run() {
            dlg_prof_name_et.setText(sv.dlg_prof_name_et);
            dlg_prof_name_et.setSelection(sv.dlg_prof_name_et_spos, sv.dlg_prof_name_et_epos);
            cb_active.setChecked(sv.cb_active);

            spinnerDateTimeType.setSelection(sv.spinnerDateTimeType);
            spinnerYear.setSelection(sv.spinnerYear);
            spinnerMonth.setSelection(sv.spinnerMonth);
            spinnerDay.setSelection(sv.spinnerDay);
            spinnerHour.setSelection(sv.spinnerHour);
            spinnerMin.setSelection(sv.spinnerMin);
            setDayOfTheWeekCheckBox(mGlblParms, mDialog, sv.day_of_the_week);
            Handler hndl2 = new Handler();
            hndl2.postDelayed(new Runnable() {
                @Override
                public void run() {
                }
            }, 50);
        }
    }, 50);
}

From source file:com.example.com.benasque2014.mercurio.PuntosInfoFragment.java

private void addPoint(LatLng point) {
    if (markers == null)
        markers = new ArrayList<Marker>();
    if (points == null)
        points = new ArrayList<LatLng>();
    MarkerOptions marker = new MarkerOptions().position(point).title("Parada " + markers.size() + 1);

    final Marker mMarker = mMap.addMarker(marker);

    //if (markers.size()==0)
    //   Toast.makeText(getActivity(), "Haga click en un punto para eliminarlo", Toast.LENGTH_SHORT).show();

    markers.add(mMarker);/* ww  w.  j  ava  2  s .c o m*/

    //mPage.getData().putParcelableArrayList(PuntosInfoPage.PUNTOS_DATA_KEY, (ArrayList<? extends Parcelable>) points);
    //mPage.notifyDataChanged();

    // This causes the marker at Perth to bounce into position when it is clicked.
    final Handler handler = new Handler();
    final long start = SystemClock.uptimeMillis();
    final long duration = 1500;

    final Interpolator interpolator = new BounceInterpolator();

    handler.post(new Runnable() {
        @Override
        public void run() {
            long elapsed = SystemClock.uptimeMillis() - start;
            float t = Math.max(1 - interpolator.getInterpolation((float) elapsed / duration), 0);
            mMarker.setAnchor(0.5f, 1.0f + 2 * t);

            if (t > 0.0) {
                // Post again 16ms later.
                handler.postDelayed(this, 16);
            }
        }
    });
    //TODO: si queremos aadir lineas entre los puntos
    //addLines();
}

From source file:org.dmfs.tasks.notification.NotificationUpdaterService.java

private void delayedCancelHeadsUpNotification() {
    Handler handler = new Handler(Looper.getMainLooper());
    final Runnable r = new Runnable() {
        public void run() {
            Intent intent = new Intent(getBaseContext(), NotificationUpdaterService.class);
            intent.setAction(ACTION_CANCEL_HEADUP_NOTIFICATION);
            startService(intent);/*from w  w w  .j a  v  a  2 s.  com*/
        }
    };
    handler.postDelayed(r, HEAD_UP_NOTIFICATION_DURATION);
}

From source file:com.nqsky.nest.home.activity.RecyclerGridFragment.java

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    final RecyclerListAdapter adapter = new RecyclerListAdapter(getActivity(), this) {
        View view;/*from   www. j a  va 2 s .c  o m*/

        @Override
        public ItemViewHolder onCreatViewFristVHoleder(ViewGroup parent, int viewType) {
            view = new WebView(getActivity());
            view.setId(R.id.webview);
            GridLayoutManager.LayoutParams params = new GridLayoutManager.LayoutParams(
                    GridLayoutManager.LayoutParams.MATCH_PARENT, 800);
            view.setLayoutParams(params);
            return new AppItemViewHolder(view, viewType);
        }

        @Override
        public ItemViewHolder onCreatViewItemVHoleder(ViewGroup parent, int viewType) {
            view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_main, null, false);
            return new AppItemViewHolder(view, viewType);
        }

        @Override
        public ItemViewHolder onCreatViewHeaderVHoleder(ViewGroup parent, int viewType) {

            view = LayoutInflater.from(parent.getContext()).inflate(R.layout.header, parent, false);
            return new AppItemViewHolder(view, viewType);
        }

        @Override
        public void onBindViewFristHolder(ItemViewHolder holder, int position) {
            if (holder instanceof AppItemViewHolder) {
                ((AppItemViewHolder) holder).webview.loadUrl("http://www.qq.com");//.setText(super.mItems.get(position).getText());
            }

        }

        @Override
        public void onBindViewItemHolder(ItemViewHolder holder, int position) {
            if (holder instanceof AppItemViewHolder) {
                ((AppItemViewHolder) holder).textView.setText(super.mItems.get(position).getText());
                ((AppItemViewHolder) holder).handleView
                        .setImageBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.ic_app));

            }

        }

        @Override
        public void onBindViewHeaderHolder(ItemViewHolder holder, int position) {
            if (holder instanceof AppItemViewHolder) {
                ((AppItemViewHolder) holder).textView.setText(super.mItems.get(position).getText());
            }

        }
    };

    RecyclerView recyclerView = (RecyclerView) view.findViewById(android.R.id.list);
    recyclerView.setHasFixedSize(true);
    recyclerView.setAdapter(adapter);
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    //        final int spanCount = getResources().getInteger(R.integer.grid_columns);
    final GridLayoutManager layoutManager = new GridLayoutManager(getActivity(), 4);
    recyclerView.setLayoutManager(layoutManager);

    layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
        @Override
        public int getSpanSize(int position) {
            switch (adapter.getItemViewType(position)) {
            case RecyclerListAdapter.ITEM_VIEW_TYPE_CUSTOMER:
                return 4;
            case RecyclerListAdapter.ITEM_VIEW_TYPE_HEADER:
                return 4;
            case RecyclerListAdapter.ITEM_VIEW_TYPE_ITEM:
                return 1;
            default:
                return 4;
            }
        }
    });

    ItemTouchHelper.Callback callback = new CJTouchHelperCallback(adapter);
    mItemTouchHelper = new ItemTouchHelper(callback);
    mItemTouchHelper.attachToRecyclerView(recyclerView);

    adapter.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(RecyclerGridFragment.this.getActivity(), "?" + position + "",
                    Toast.LENGTH_SHORT).show();
            if (adapter.getItemViewType(position) == RecyclerListAdapter.ITEM_VIEW_TYPE_ITEM) {
                try {
                    ItemBean bean = new ItemBean();
                    bean.setText("?" + position + "");
                    bean.setType(RecyclerListAdapter.ITEM_VIEW_TYPE_ITEM);
                    bean.setId(position / 10 + "");
                    bean.setpID(adapter.getItemBean(position).getpID());
                    adapter.addItem(adapter.getItemBean(position).getpID(), bean);
                } catch (NullPointerException e) {
                    e.printStackTrace();
                }

            } else {
                adapter.delItem(position + 1);

            }
        }
    });
    ItemBean bean;
    List<ItemBean> list = new ArrayList<ItemBean>();

    for (int i = 0; i < 80; i++) {
        bean = new ItemBean();
        if (i % 10 == 0) {
            bean.setText("" + i / 10);
            bean.setType(RecyclerListAdapter.ITEM_VIEW_TYPE_HEADER);
            bean.setId(String.valueOf((i / 10)));
        } else {
            bean.setText("Item" + i / 10 + i % 10);
            bean.setType(RecyclerListAdapter.ITEM_VIEW_TYPE_ITEM);
            bean.setpID(String.valueOf((i / 10)));
            bean.setId(String.valueOf((i)));
        }

        list.add(bean);
    }
    bean = new ItemBean();
    bean.setText("");
    bean.setType(RecyclerListAdapter.ITEM_VIEW_TYPE_CUSTOMER);
    bean.setId(String.valueOf((10)));
    list.add(0, bean);
    adapter.addItems(list);
    final com.cjj.MaterialRefreshLayout swipeRefreshLayout;
    final Handler handler = new Handler();

    swipeRefreshLayout = (com.cjj.MaterialRefreshLayout) view.findViewById(R.id.swipe_refresh_widget);
    swipeRefreshLayout.setWaveColor(0xf90fffff);
    swipeRefreshLayout.setIsOverLay(true);
    swipeRefreshLayout.setWaveShow(true);
    swipeRefreshLayout.setLoadMore(true);
    swipeRefreshLayout.setMaterialRefreshListener(new MaterialRefreshListener() {

        @Override
        public void onRefresh(final MaterialRefreshLayout materialRefreshLayout) {

            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    adapter.clear();
                    ItemBean bean;
                    List<ItemBean> list = new ArrayList<ItemBean>();

                    for (int i = 0; i < 80; i++) {
                        bean = new ItemBean();
                        if (i % 10 == 0) {
                            bean.setText("" + i / 10);
                            bean.setType(RecyclerListAdapter.ITEM_VIEW_TYPE_HEADER);
                            bean.setId(String.valueOf((i / 10)));
                        } else {
                            bean.setText("" + i / 10 + i % 10);
                            bean.setType(RecyclerListAdapter.ITEM_VIEW_TYPE_ITEM);
                            bean.setpID(String.valueOf((i / 10)));
                            bean.setId(String.valueOf((i)));
                        }

                        list.add(bean);
                    }
                    bean = new ItemBean();
                    bean.setText("");
                    bean.setType(RecyclerListAdapter.ITEM_VIEW_TYPE_CUSTOMER);
                    bean.setId(String.valueOf((10)));
                    list.add(0, bean);
                    adapter.addItems(list);
                    materialRefreshLayout.finishRefresh();
                }
            }, 1000);

        }

        @Override
        public void onRefreshLoadMore(final MaterialRefreshLayout materialRefreshLayout) {
            super.onRefreshLoadMore(materialRefreshLayout);
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    ArrayList list = new ArrayList<ItemBean>();

                    for (int i = 60; i < 90; i++) {
                        ItemBean bean = new ItemBean();
                        if (i % 10 == 0) {
                            bean.setText("" + i / 10);
                            bean.setType(RecyclerListAdapter.ITEM_VIEW_TYPE_HEADER);
                            bean.setId(String.valueOf((i / 10)));
                        } else {
                            bean.setText("" + i / 10 + i % 10);
                            bean.setType(RecyclerListAdapter.ITEM_VIEW_TYPE_ITEM);
                            bean.setpID(String.valueOf((i / 10)));
                            bean.setId(String.valueOf((i)));
                        }

                        list.add(bean);
                    }
                    //                        bean=new ItemBean();
                    //                        bean.setText("" );
                    //                        bean.setType(RecyclerListAdapter.ITEM_VIEW_TYPE_CUSTOMER);
                    //                        bean.setId(String.valueOf((10)));
                    //                        list.add(0,bean);
                    adapter.addItems(list);
                    materialRefreshLayout.finishRefreshLoadMore();
                }
            }, 1000);
        }
    });

}

From source file:com.android.gpstest.GpsTestActivity.java

private void checkTutorial(SharedPreferences settings) {
    if (!settings.getBoolean(getString(R.string.pref_key_showed_v2_tutorial), false)) {
        // If GPS is started, stop to clear the screen (we will start it again at the end of this method)
        boolean lastStartState = mStarted;
        if (mStarted) {
            gpsStop();//from w ww  .java 2 s .  co m
        }

        // Show the user a tutorial on using the ActionBar button to start/stop GPS,
        // either on first execution or when the user choose the option in the Preferences
        mOptions.shotType = ShowcaseView.TYPE_ONE_SHOT;
        mOptions.block = false;
        mOptions.hideOnClickOutside = true;
        mOptions.noButton = true;

        // TODO
        View homeButton = findViewById(android.R.id.home);
        if (homeButton == null) {
            int homeId = getResources().getIdentifier("abs__home", "id", getPackageName());
            if (homeId != 0) {
                homeButton = findViewById(homeId);
            }
        }
        if (homeButton != null) {
            sv = ShowcaseView.insertShowcaseViewWithType(ShowcaseView.ITEM_ACTION_ITEM, R.id.gps_switch, this,
                    R.string.showcase_gps_on_off_title, R.string.showcase_gps_on_off_message, mOptions);
            sv.show();
        }

        SharedPreferences.Editor editor = Application.getPrefs().edit();
        editor.putBoolean(getString(R.string.pref_key_showed_v2_tutorial), true);
        editor.commit();

        if (lastStartState) {
            Handler h = new Handler();
            // Restart the GPS, if it was previously started, with a slight delay to allow the UI to clear
            // and allow the tutorial to be clearly visible
            h.postDelayed(new Runnable() {
                public void run() {
                    gpsStart();
                }
            }, 500);
        }
    }
}