Search in sources :

Example 61 with DOWN

use of android.support.v7.widget.helper.ItemTouchHelper.DOWN in project platform_packages_apps_Settings by BlissRoms.

the class LocationSettings method addLocationServices.

/**
 * Add the settings injected by external apps into the "App Settings" category. Hides the
 * category if there are no injected settings.
 *
 * Reloads the settings whenever receives
 * {@link SettingInjectorService#ACTION_INJECTED_SETTING_CHANGED}.
 */
private void addLocationServices(Context context, PreferenceScreen root, boolean lockdownOnLocationAccess) {
    PreferenceCategory categoryLocationServices = (PreferenceCategory) root.findPreference(KEY_LOCATION_SERVICES);
    injector = new SettingsInjector(context);
    // If location access is locked down by device policy then we only show injected settings
    // for the primary profile.
    final Context prefContext = categoryLocationServices.getContext();
    final List<Preference> locationServices = injector.getInjectedSettings(prefContext, lockdownOnLocationAccess ? UserHandle.myUserId() : UserHandle.USER_CURRENT);
    mReceiver = new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) {
            if (Log.isLoggable(TAG, Log.DEBUG)) {
                Log.d(TAG, "Received settings change intent: " + intent);
            }
            injector.reloadStatusMessages();
        }
    };
    IntentFilter filter = new IntentFilter();
    filter.addAction(SettingInjectorService.ACTION_INJECTED_SETTING_CHANGED);
    context.registerReceiver(mReceiver, filter);
    if (locationServices.size() > 0) {
        addPreferencesSorted(locationServices, categoryLocationServices);
    } else {
        // If there's no item to display, remove the whole category.
        root.removePreference(categoryLocationServices);
    }
}
Also used : Context(android.content.Context) IntentFilter(android.content.IntentFilter) PreferenceCategory(android.support.v7.preference.PreferenceCategory) DimmableIconPreference(com.android.settings.DimmableIconPreference) RestrictedSwitchPreference(com.android.settingslib.RestrictedSwitchPreference) Preference(android.support.v7.preference.Preference) Intent(android.content.Intent) BroadcastReceiver(android.content.BroadcastReceiver)

Example 62 with DOWN

use of android.support.v7.widget.helper.ItemTouchHelper.DOWN in project platform_packages_apps_Settings by BlissRoms.

the class WifiDisplaySettings method buildCertificationMenu.

private void buildCertificationMenu(final PreferenceScreen preferenceScreen) {
    if (mCertCategory == null) {
        mCertCategory = new PreferenceCategory(getPrefContext());
        mCertCategory.setTitle(R.string.wifi_display_certification_heading);
        mCertCategory.setOrder(ORDER_CERTIFICATION);
    } else {
        mCertCategory.removeAll();
    }
    preferenceScreen.addPreference(mCertCategory);
    // display session info if there is an active p2p session
    if (!mWifiDisplayStatus.getSessionInfo().getGroupId().isEmpty()) {
        Preference p = new Preference(getPrefContext());
        p.setTitle(R.string.wifi_display_session_info);
        p.setSummary(mWifiDisplayStatus.getSessionInfo().toString());
        mCertCategory.addPreference(p);
        // show buttons for Pause/Resume when a WFD session is established
        if (mWifiDisplayStatus.getSessionInfo().getSessionId() != 0) {
            mCertCategory.addPreference(new Preference(getPrefContext()) {

                @Override
                public void onBindViewHolder(PreferenceViewHolder view) {
                    super.onBindViewHolder(view);
                    Button b = (Button) view.findViewById(R.id.left_button);
                    b.setText(R.string.wifi_display_pause);
                    b.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View v) {
                            mDisplayManager.pauseWifiDisplay();
                        }
                    });
                    b = (Button) view.findViewById(R.id.right_button);
                    b.setText(R.string.wifi_display_resume);
                    b.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View v) {
                            mDisplayManager.resumeWifiDisplay();
                        }
                    });
                }
            });
            mCertCategory.setLayoutResource(R.layout.two_buttons_panel);
        }
    }
    // switch for Listen Mode
    SwitchPreference pref = new SwitchPreference(getPrefContext()) {

        @Override
        protected void onClick() {
            mListen = !mListen;
            setListenMode(mListen);
            setChecked(mListen);
        }
    };
    pref.setTitle(R.string.wifi_display_listen_mode);
    pref.setChecked(mListen);
    mCertCategory.addPreference(pref);
    // switch for Autonomous GO
    pref = new SwitchPreference(getPrefContext()) {

        @Override
        protected void onClick() {
            mAutoGO = !mAutoGO;
            if (mAutoGO) {
                startAutoGO();
            } else {
                stopAutoGO();
            }
            setChecked(mAutoGO);
        }
    };
    pref.setTitle(R.string.wifi_display_autonomous_go);
    pref.setChecked(mAutoGO);
    mCertCategory.addPreference(pref);
    // Drop down list for choosing WPS method (PBC/KEYPAD/DISPLAY)
    ListPreference lp = new ListPreference(getPrefContext());
    lp.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object value) {
            int wpsConfig = Integer.parseInt((String) value);
            if (wpsConfig != mWpsConfig) {
                mWpsConfig = wpsConfig;
                getActivity().invalidateOptionsMenu();
                Settings.Global.putInt(getActivity().getContentResolver(), Settings.Global.WIFI_DISPLAY_WPS_CONFIG, mWpsConfig);
            }
            return true;
        }
    });
    mWpsConfig = Settings.Global.getInt(getActivity().getContentResolver(), Settings.Global.WIFI_DISPLAY_WPS_CONFIG, WpsInfo.INVALID);
    String[] wpsEntries = { "Default", "PBC", "KEYPAD", "DISPLAY" };
    String[] wpsValues = { "" + WpsInfo.INVALID, "" + WpsInfo.PBC, "" + WpsInfo.KEYPAD, "" + WpsInfo.DISPLAY };
    lp.setKey("wps");
    lp.setTitle(R.string.wifi_display_wps_config);
    lp.setEntries(wpsEntries);
    lp.setEntryValues(wpsValues);
    lp.setValue("" + mWpsConfig);
    lp.setSummary("%1$s");
    mCertCategory.addPreference(lp);
    // Drop down list for choosing listen channel
    lp = new ListPreference(getPrefContext());
    lp.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object value) {
            int channel = Integer.parseInt((String) value);
            if (channel != mListenChannel) {
                mListenChannel = channel;
                getActivity().invalidateOptionsMenu();
                setWifiP2pChannels(mListenChannel, mOperatingChannel);
            }
            return true;
        }
    });
    String[] lcEntries = { "Auto", "1", "6", "11" };
    String[] lcValues = { "0", "1", "6", "11" };
    lp.setKey("listening_channel");
    lp.setTitle(R.string.wifi_display_listen_channel);
    lp.setEntries(lcEntries);
    lp.setEntryValues(lcValues);
    lp.setValue("" + mListenChannel);
    lp.setSummary("%1$s");
    mCertCategory.addPreference(lp);
    // Drop down list for choosing operating channel
    lp = new ListPreference(getPrefContext());
    lp.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object value) {
            int channel = Integer.parseInt((String) value);
            if (channel != mOperatingChannel) {
                mOperatingChannel = channel;
                getActivity().invalidateOptionsMenu();
                setWifiP2pChannels(mListenChannel, mOperatingChannel);
            }
            return true;
        }
    });
    String[] ocEntries = { "Auto", "1", "6", "11", "36" };
    String[] ocValues = { "0", "1", "6", "11", "36" };
    lp.setKey("operating_channel");
    lp.setTitle(R.string.wifi_display_operating_channel);
    lp.setEntries(ocEntries);
    lp.setEntryValues(ocValues);
    lp.setValue("" + mOperatingChannel);
    lp.setSummary("%1$s");
    mCertCategory.addPreference(lp);
}
Also used : SwitchPreference(android.support.v14.preference.SwitchPreference) ListPreference(android.support.v7.preference.ListPreference) OnPreferenceChangeListener(android.support.v7.preference.Preference.OnPreferenceChangeListener) ImageView(android.widget.ImageView) View(android.view.View) TextView(android.widget.TextView) PreferenceCategory(android.support.v7.preference.PreferenceCategory) ListPreference(android.support.v7.preference.ListPreference) Preference(android.support.v7.preference.Preference) SwitchPreference(android.support.v14.preference.SwitchPreference) Button(android.widget.Button) OnClickListener(android.view.View.OnClickListener) PreferenceViewHolder(android.support.v7.preference.PreferenceViewHolder)

Example 63 with DOWN

use of android.support.v7.widget.helper.ItemTouchHelper.DOWN in project MaterialFBook by ZeeRooo.

the class MainActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    mPreferences = PreferenceManager.getDefaultSharedPreferences(this);
    Theme.Temas(this, mPreferences);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mWebView = findViewById(R.id.webview);
    mNavigationView = findViewById(R.id.nav_view);
    mNavigationView.setNavigationItemSelectedListener(this);
    drawer = findViewById(R.id.drawer_layout);
    // Setup the toolbar
    Toolbar mToolbar = findViewById(R.id.toolbar);
    setSupportActionBar(mToolbar);
    searchToolbar();
    // Setup the DrawLayout
    final ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, mToolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    drawer.addDrawerListener(toggle);
    toggle.syncState();
    URLs();
    switch(mPreferences.getString("start_url", "Most_recent")) {
        case "Most_recent":
            mWebView.loadUrl(baseURL + "home.php?sk=h_chr");
            break;
        case "Top_stories":
            mWebView.loadUrl(baseURL + "home.php?sk=h_nor");
            break;
        case "Messages":
            mWebView.loadUrl(baseURL + "messages/");
            break;
        default:
            break;
    }
    DBHelper = new DatabaseHelper(this);
    bookmarks = new ArrayList<>();
    final Cursor data = DBHelper.getListContents();
    while (data.moveToNext()) {
        if (data.getString(1) != null && data.getString(2) != null) {
            bk = new BookmarksH(data.getString(1), data.getString(2));
            bookmarks.add(bk);
        }
    }
    BLAdapter = new BookmarksAdapter(this, bookmarks, DBHelper);
    BookmarksListView = findViewById(R.id.bookmarksListView);
    BookmarksListView.setAdapter(BLAdapter);
    BookmarksListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView adapter, View view, int position, long arg) {
            BookmarksH item = (BookmarksH) BookmarksListView.getAdapter().getItem(position);
            mWebView.loadUrl(item.getUrl());
            drawer.closeDrawers();
        }
    });
    ImageButton newbookmark = findViewById(R.id.add_bookmark);
    newbookmark.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            bk = new BookmarksH(mWebView.getTitle(), mWebView.getUrl());
            DBHelper.addData(bk.getTitle(), bk.getUrl(), null);
            bookmarks.add(bk);
            BLAdapter.notifyDataSetChanged();
            CookingAToast.cooking(MainActivity.this, getString(R.string.new_bookmark) + " " + mWebView.getTitle(), Color.WHITE, Color.parseColor("#214594"), R.drawable.ic_bookmarks, false).show();
        }
    });
    mr_badge = (TextView) mNavigationView.getMenu().findItem(R.id.nav_most_recent).getActionView();
    fr_badge = (TextView) mNavigationView.getMenu().findItem(R.id.nav_friendreq).getActionView();
    // Hide buttons if they are disabled
    if (!mPreferences.getBoolean("nav_groups", false))
        mNavigationView.getMenu().findItem(R.id.nav_groups).setVisible(false);
    if (!mPreferences.getBoolean("nav_search", false))
        mNavigationView.getMenu().findItem(R.id.nav_search).setVisible(false);
    if (!mPreferences.getBoolean("nav_mainmenu", false))
        mNavigationView.getMenu().findItem(R.id.nav_mainmenu).setVisible(false);
    if (!mPreferences.getBoolean("nav_most_recent", false))
        mNavigationView.getMenu().findItem(R.id.nav_most_recent).setVisible(false);
    if (!mPreferences.getBoolean("nav_events", false))
        mNavigationView.getMenu().findItem(R.id.nav_events).setVisible(false);
    if (!mPreferences.getBoolean("nav_photos", false))
        mNavigationView.getMenu().findItem(R.id.nav_photos).setVisible(false);
    if (!mPreferences.getBoolean("nav_back", false))
        mNavigationView.getMenu().findItem(R.id.nav_back).setVisible(false);
    if (!mPreferences.getBoolean("nav_exitapp", false))
        mNavigationView.getMenu().findItem(R.id.nav_exitapp).setVisible(false);
    if (!mPreferences.getBoolean("nav_top_stories", false))
        mNavigationView.getMenu().findItem(R.id.nav_top_stories).setVisible(false);
    if (!mPreferences.getBoolean("nav_friendreq", false))
        mNavigationView.getMenu().findItem(R.id.nav_friendreq).setVisible(false);
    // Start the Swipe to reload listener
    swipeView = findViewById(R.id.swipeLayout);
    swipeView.setColorSchemeResources(android.R.color.white);
    swipeView.setProgressBackgroundColorSchemeColor(Theme.getColor(this));
    swipeView.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {

        @Override
        public void onRefresh() {
            mWebView.reload();
        }
    });
    // Inflate the FAB menu
    mMenuFAB = findViewById(R.id.menuFAB);
    View.OnClickListener mFABClickListener = new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            switch(v.getId()) {
                case R.id.textFAB:
                    mWebView.loadUrl("javascript:(function(){try{document.querySelector('button[name=\"view_overview\"]').click()}catch(_){window.location.href=\"" + baseURL + "?pageload=composer\"}})()");
                    swipeView.setEnabled(false);
                    break;
                case R.id.photoFAB:
                    mWebView.loadUrl("javascript:(function(){try{document.querySelector('button[name=\"view_photo\"]').click()}catch(_){window.location.href=\"" + baseURL + "?pageload=composer_photo\"}})()");
                    swipeView.setEnabled(false);
                    break;
                case R.id.checkinFAB:
                    mWebView.loadUrl("javascript:(function(){try{document.querySelector('button[name=\"view_location\"]').click()}catch(_){window.location.href=\"" + baseURL + "?pageload=composer_checkin\"}})()");
                    swipeView.setEnabled(false);
                    break;
                case R.id.topFAB:
                    mWebView.scrollTo(0, 0);
                    break;
                case R.id.shareFAB:
                    Intent shareIntent = new Intent(Intent.ACTION_SEND);
                    shareIntent.setType("text/plain");
                    shareIntent.putExtra(Intent.EXTRA_TEXT, mWebView.getUrl());
                    startActivity(Intent.createChooser(shareIntent, getString(R.string.context_share_link)));
                    break;
                default:
                    break;
            }
            mMenuFAB.close(true);
        }
    };
    findViewById(R.id.textFAB).setOnClickListener(mFABClickListener);
    findViewById(R.id.photoFAB).setOnClickListener(mFABClickListener);
    findViewById(R.id.checkinFAB).setOnClickListener(mFABClickListener);
    findViewById(R.id.topFAB).setOnClickListener(mFABClickListener);
    findViewById(R.id.shareFAB).setOnClickListener(mFABClickListener);
    mWebView.setOnScrollChangedCallback(new MFBWebView.OnScrollChangedCallback() {

        @Override
        public void onScrollChange(WebView view, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
            // Make sure the hiding is enabled and the scroll was significant
            if (Math.abs(oldScrollY - scrollY) > getApplication().getResources().getDimensionPixelOffset(R.dimen.fab_scroll_threshold)) {
                if (scrollY > oldScrollY) {
                    // User scrolled down, hide the button
                    mMenuFAB.hideMenuButton(true);
                } else if (scrollY < oldScrollY) {
                    // User scrolled up, show the button
                    mMenuFAB.showMenuButton(true);
                }
            }
        }
    });
    mWebView.getSettings().setGeolocationEnabled(mPreferences.getBoolean("location_enabled", false));
    mWebView.addJavascriptInterface(new JavaScriptInterfaces(this), "android");
    mWebView.addJavascriptInterface(this, "Vid");
    mWebView.getSettings().setBlockNetworkImage(mPreferences.getBoolean("stop_images", false));
    mWebView.getSettings().setAppCacheEnabled(true);
    mWebView.getSettings().setUseWideViewPort(true);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setAllowFileAccess(true);
    mWebView.getSettings().setAllowContentAccess(true);
    mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
    if (Build.VERSION.SDK_INT >= 19)
        mWebView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
    else
        mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    mWebView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
    mWebView.getSettings().setUserAgentString("Mozilla/5.0 (Linux; Android 6.0) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.1.0.4633 Mobile Safari/537.10+");
    mWebView.setWebViewClient(new WebViewClient() {

        @SuppressLint("NewApi")
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            return shouldOverrideUrlLoading(view, request.getUrl().toString());
        }

        @SuppressWarnings("deprecation")
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            try {
                // clean an url from facebook redirection before processing (no more blank pages on back)
                url = Helpers.cleanAndDecodeUrl(url);
                if (url.contains("mailto:")) {
                    Intent mailto = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                    startActivity(mailto);
                }
                if ((Uri.parse(url).getHost().endsWith("facebook.com") || Uri.parse(url).getHost().endsWith("*.facebook.com") || Uri.parse(url).getHost().endsWith("akamaihd.net") || Uri.parse(url).getHost().endsWith("ad.doubleclick.net") || Uri.parse(url).getHost().endsWith("sync.liverail.com") || Uri.parse(url).getHost().endsWith("cdn.fbsbx.com") || Uri.parse(url).getHost().endsWith("lookaside.fbsbx.com"))) {
                    return false;
                }
                if (url.contains("giphy") || url.contains("gifspace") || url.contains("tumblr") || url.contains("gph.is") || url.contains("gif") || url.contains("fbcdn.net") || url.contains("imgur")) {
                    if (url.contains("giphy") || url.contains("gph")) {
                        if (!url.endsWith(".gif")) {
                            if (url.contains("giphy.com") || url.contains("html5"))
                                url = String.format("http://media.giphy.com/media/%s/giphy.gif", url.replace("http://giphy.com/gifs/", ""));
                            else if (url.contains("gph.is") && !url.contains("html5")) {
                                view.loadUrl(url);
                                url = String.format("http://media.giphy.com/media/%s/giphy.gif", url.replace("http://giphy.com/gifs/", ""));
                            }
                            if (url.contains("media.giphy.com/media/") && !url.contains("html5")) {
                                String[] giphy = url.split("-");
                                String giphy_id = giphy[giphy.length - 1];
                                url = "http://media.giphy.com/media/" + giphy_id;
                            }
                            if (url.contains("media.giphy.com/media/http://media")) {
                                String[] gph = url.split("/");
                                String gph_id = gph[gph.length - 2];
                                url = "http://media.giphy.com/media/" + gph_id + "/giphy.gif";
                            }
                            if (url.contains("html5/giphy.gif")) {
                                String[] giphy_html5 = url.split("/");
                                String giphy_html5_id = giphy_html5[giphy_html5.length - 3];
                                url = "http://media.giphy.com/media/" + giphy_html5_id + "/giphy.gif";
                            }
                        }
                        if (url.contains("?")) {
                            String[] giphy1 = url.split("\\?");
                            String giphy_html5_id = giphy1[0];
                            url = giphy_html5_id + "/giphy.gif";
                        }
                    }
                    if (url.contains("gifspace")) {
                        if (!url.endsWith(".gif"))
                            url = String.format("http://gifspace.net/image/%s.gif", url.replace("http://gifspace.net/image/", ""));
                    }
                    if (url.contains("phygee")) {
                        if (!url.endsWith(".gif")) {
                            getSrc(url, "span", "img");
                            url = "http://www.phygee.com/" + elements.attr("src");
                        }
                    }
                    if (url.contains("imgur")) {
                        if (!url.endsWith(".gif") && !url.endsWith(".jpg")) {
                            getSrc(url, "div.post-image", "img");
                            url = "https:" + elements.attr("src");
                        }
                    }
                    if (url.contains("media.upgifs.com")) {
                        if (!url.endsWith(".gif")) {
                            getSrc(url, "div.gif-pager-container", "img#main-gif");
                            url = elements.attr("src");
                        }
                    }
                    imageLoader(url, view.getTitle());
                    return true;
                } else {
                    // Open external links in browser
                    Intent browser = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                    startActivity(browser);
                    return true;
                }
            } catch (NullPointerException npe) {
                return true;
            }
        }

        private void getSrc(final String url, final String select, final String select2) {
            new AsyncTask<Void, Void, Void>() {

                @Override
                protected Void doInBackground(Void[] params) {
                    try {
                        Document document = Jsoup.connect(url).get();
                        elements = document.select(select).select(select2);
                    } catch (IOException ioex) {
                        ioex.getStackTrace();
                    }
                    return null;
                }
            }.execute();
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            swipeView.setRefreshing(true);
            if (url.contains("https://mbasic.facebook.com/home.php?s="))
                view.loadUrl(baseURL);
        }

        @Override
        public void onLoadResource(WebView view, String url) {
            JavaScriptHelpers.videoView(view);
            if (swipeView.isRefreshing())
                JavaScriptHelpers.loadCSS(view, css);
            if (url.contains("facebook.com/composer/mbasic/") || url.contains("https://m.facebook.com/sharer.php?sid="))
                css += "#page{top:0}";
            if (url.contains("/photos/viewer/")) {
                mWebView.loadUrl(baseURL + "photo/view_full_size/?fbid=" + url.substring(url.indexOf("photo=") + 6).split("&")[0]);
                goBack = true;
            }
            if (url.contains("photo.php?fbid=")) {
                mWebView.loadUrl(baseURL + "photo/view_full_size/?fbid=" + url.substring(url.indexOf("fbid=") + 5).split("&")[0]);
                goBack = true;
            }
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            swipeView.setRefreshing(false);
            switch(mPreferences.getString("web_themes", "Material")) {
                case "FacebookMobile":
                    break;
                case "Material":
                    css += getString(R.string.Material);
                    break;
                case "MaterialAmoled":
                    css += getString(R.string.MaterialAmoled);
                    css += "::selection {background: #D3D3D3;}";
                    break;
                case "MaterialBlack":
                    css += getString(R.string.MaterialBlack);
                    break;
                case "MaterialPink":
                    css += getString(R.string.MaterialPink);
                    break;
                case "MaterialGrey":
                    css += getString(R.string.MaterialGrey);
                    break;
                case "MaterialGreen":
                    css += getString(R.string.MaterialGreen);
                    break;
                case "MaterialRed":
                    css += getString(R.string.MaterialRed);
                    break;
                case "MaterialLime":
                    css += getString(R.string.MaterialLime);
                    break;
                case "MaterialYellow":
                    css += getString(R.string.MaterialYellow);
                    break;
                case "MaterialPurple":
                    css += getString(R.string.MaterialPurple);
                    break;
                case "MaterialLightBlue":
                    css += getString(R.string.MaterialLightBlue);
                    break;
                case "MaterialOrange":
                    css += getString(R.string.MaterialOrange);
                    break;
                case "MaterialGooglePlayGreen":
                    css += getString(R.string.MaterialGPG);
                    break;
                default:
                    break;
            }
            if (url.contains("lookaside") || url.contains("cdn.fbsbx.com")) {
                Url = url;
                RequestStoragePermission();
            }
            // Enable or disable FAB
            if (url.contains("messages") || !mPreferences.getBoolean("fab_enable", false))
                mMenuFAB.setVisibility(View.GONE);
            else
                mMenuFAB.setVisibility(View.VISIBLE);
            if (url.contains("https://mbasic.facebook.com/composer/?text=")) {
                final UrlQuerySanitizer sanitizer = new UrlQuerySanitizer();
                sanitizer.setAllowUnregisteredParamaters(true);
                sanitizer.parseUrl(url);
                final String param = sanitizer.getValue("text");
                view.loadUrl("javascript:(function(){document.querySelector('#composerInput').innerHTML='" + param + "'})()");
            }
            if (url.contains("https://m.facebook.com/public/")) {
                String[] user = url.split("/");
                String profile = user[user.length - 1];
                view.loadUrl("javascript:(function(){document.querySelector('input#u_0_0._5whq.input').value='" + profile + "'})()");
                view.loadUrl("javascript:(function(){try{document.querySelector('button#u_0_1.btn.btnD.mfss.touchable').disabled = false}catch(_){}})()");
                view.loadUrl("javascript:(function(){try{document.querySelector('button#u_0_1.btn.btnD.mfss.touchable').click()}catch(_){}})()");
            }
            // Hide Orange highlight on focus
            css += "*{-webkit-tap-highlight-color:transparent;outline:0}";
            if (mPreferences.getBoolean("hide_menu_bar", true))
                css += "#page{top:-45px}";
            // Hide the status editor on the News Feed if setting is enabled
            if (mPreferences.getBoolean("hide_editor_newsfeed", true))
                css += "#mbasic_inline_feed_composer{display:none}";
            // Hide 'Sponsored' content (ads)
            if (mPreferences.getBoolean("hide_sponsored", true))
                css += "article[data-ft*=ei]{display:none}";
            // Hide birthday content from News Feed
            if (mPreferences.getBoolean("hide_birthdays", true))
                css += "article#u_1j_4{display:none}" + "article._55wm._5e4e._5fjt{display:none}";
            if (mPreferences.getBoolean("comments_recently", true))
                css += "._15ks+._4u3j{display:none}";
            css += "._i81:after {display: none;}";
            if (sharedFromGallery != null)
                view.loadUrl("javascript:(function(){try{document.getElementsByClassName(\"_56bz _54k8 _52jh _5j35 _157e\")[0].click()}catch(_){document.getElementsByClassName(\"_50ux\")[0].click()}})()");
            css += "article#u_0_q._d2r{display:none}";
        }
    });
    mWebView.setWebChromeClient(new WebChromeClient() {

        @Override
        public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, WebChromeClient.FileChooserParams fileChooserParams) {
            // Double check that we don't have any existing callbacks
            if (sharedFromGallery != null)
                filePathCallback.onReceiveValue(new Uri[] { sharedFromGallery });
            mFilePathCallback = filePathCallback;
            // Set up the take picture intent
            Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
                // Create the File where the photo should go
                File photoFile = null;
                try {
                    photoFile = createImageFile();
                    takePictureIntent.putExtra("PhotoPath", mCameraPhotoPath);
                } catch (IOException ex) {
                // Error occurred while creating the File
                }
                // Continue only if the File was successfully created
                if (photoFile != null) {
                    mCameraPhotoPath = "file:" + photoFile.getAbsolutePath();
                    takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
                } else
                    takePictureIntent = null;
            }
            // Set up the intent to get an existing image
            Intent contentSelectionIntent = new Intent(Intent.ACTION_GET_CONTENT);
            contentSelectionIntent.addCategory(Intent.CATEGORY_OPENABLE);
            contentSelectionIntent.setType("*/*");
            // Set up the intents for the Intent chooser
            Intent[] intentArray;
            if (takePictureIntent != null)
                intentArray = new Intent[] { takePictureIntent };
            else
                intentArray = new Intent[0];
            if (sharedFromGallery == null) {
                Intent chooserIntent = new Intent(Intent.ACTION_CHOOSER);
                chooserIntent.putExtra(Intent.EXTRA_INTENT, contentSelectionIntent);
                chooserIntent.putExtra(Intent.EXTRA_TITLE, "Image Chooser");
                chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray);
                startActivityForResult(chooserIntent, INPUT_FILE_REQUEST_CODE);
            }
            return true;
        }

        public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
            openFileChooser(uploadMsg, acceptType);
        }

        // openFileChooser for Android 3.0+
        private void openFileChooser(ValueCallback uploadMsg, String acceptType) {
            // Update message
            if (sharedFromGallery != null)
                uploadMsg.onReceiveValue(sharedFromGallery);
            else
                mUploadMessage = uploadMsg;
            File imageStorageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
            if (!imageStorageDir.exists()) {
                imageStorageDir.mkdirs();
            }
            // Create camera captured image file path and name
            File file = new File(imageStorageDir + File.separator + "IMG_" + String.valueOf(System.currentTimeMillis()) + ".jpg");
            mCapturedImageURI = Uri.fromFile(file);
            // Camera capture image intent
            final Intent captureIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);
            Intent i = new Intent(Intent.ACTION_GET_CONTENT);
            i.addCategory(Intent.CATEGORY_OPENABLE);
            i.setType("*/*");
            if (sharedFromGallery == null) {
                Intent chooserIntent = Intent.createChooser(i, "Image Chooser");
                chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Parcelable[] { captureIntent });
                startActivityForResult(chooserIntent, FILECHOOSER_RESULTCODE);
            }
        }

        private File createImageFile() throws IOException {
            // Create an image file name
            final String imageFileName = "JPEG_" + String.valueOf(System.currentTimeMillis()) + "_";
            File storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
            final File imageFile = File.createTempFile(imageFileName, ".jpg", storageDir);
            return imageFile;
        }

        public void onGeolocationPermissionsShowPrompt(final String origin, final GeolocationPermissions.Callback callback) {
            callback.invoke(origin, true, false);
        }

        @Override
        public void onReceivedTitle(WebView view, String title) {
            if (view.getUrl().contains("home.php?sk=h_nor"))
                setTitle(R.string.menu_top_stories);
            else if (title.contains("Facebook"))
                setTitle(R.string.menu_most_recent);
            else
                setTitle(title);
        }
    });
    // Add OnClick listener to Profile picture
    ImageView profileImage = mNavigationView.getHeaderView(0).findViewById(R.id.profile_picture);
    profileImage.setClickable(true);
    profileImage.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            drawer.closeDrawers();
            mWebView.loadUrl(baseURL + "me");
        }
    });
    mDownloadManager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
    if (getIntent() != null)
        UrlIntent(getIntent());
}
Also used : ValueCallback(android.webkit.ValueCallback) GeolocationPermissions(android.webkit.GeolocationPermissions) ActionBarDrawerToggle(android.support.v7.app.ActionBarDrawerToggle) Cursor(android.database.Cursor) Document(org.jsoup.nodes.Document) SwipeRefreshLayout(android.support.v4.widget.SwipeRefreshLayout) Uri(android.net.Uri) BookmarksH(me.zeeroooo.materialfb.Misc.BookmarksH) MFBWebView(me.zeeroooo.materialfb.WebView.MFBWebView) ImageButton(android.widget.ImageButton) Bitmap(android.graphics.Bitmap) WebChromeClient(android.webkit.WebChromeClient) JavaScriptInterfaces(me.zeeroooo.materialfb.WebView.JavaScriptInterfaces) ImageView(android.widget.ImageView) WebView(android.webkit.WebView) MFBWebView(me.zeeroooo.materialfb.WebView.MFBWebView) Toolbar(android.support.v7.widget.Toolbar) WebViewClient(android.webkit.WebViewClient) BookmarksAdapter(me.zeeroooo.materialfb.Misc.BookmarksAdapter) WebResourceRequest(android.webkit.WebResourceRequest) AsyncTask(android.os.AsyncTask) Intent(android.content.Intent) Parcelable(android.os.Parcelable) IOException(java.io.IOException) NavigationView(android.support.design.widget.NavigationView) SearchView(android.support.v7.widget.SearchView) ImageView(android.widget.ImageView) View(android.view.View) AdapterView(android.widget.AdapterView) WebView(android.webkit.WebView) MFBWebView(me.zeeroooo.materialfb.WebView.MFBWebView) TextView(android.widget.TextView) ListView(android.widget.ListView) SuppressLint(android.annotation.SuppressLint) Point(android.graphics.Point) DatabaseHelper(me.zeeroooo.materialfb.Misc.DatabaseHelper) SuppressLint(android.annotation.SuppressLint) AdapterView(android.widget.AdapterView) File(java.io.File) UrlQuerySanitizer(android.net.UrlQuerySanitizer)

Example 64 with DOWN

use of android.support.v7.widget.helper.ItemTouchHelper.DOWN in project 91Pop by DanteAndroid.

the class SortCategoryAdapter method convert.

@Override
protected void convert(final BaseViewHolder helper, final Category category) {
    helper.setText(R.id.tv_sort_category_name, category.getCategoryName());
    SwitchCompat switchCompat = helper.getView(R.id.sw_sort_category);
    switchCompat.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            category.setIsShow(isChecked);
        }
    });
    switchCompat.setChecked(category.getIsShow());
    ImageView imageView = helper.getView(R.id.iv_drag_handle);
    imageView.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (onStartDragListener != null) {
                // 注意:这里down和up都会回调该方法
                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                    onStartDragListener.startDragItem(helper);
                }
            }
            return false;
        }
    });
}
Also used : ImageView(android.widget.ImageView) ImageView(android.widget.ImageView) View(android.view.View) CompoundButton(android.widget.CompoundButton) SwitchCompat(android.support.v7.widget.SwitchCompat) MotionEvent(android.view.MotionEvent)

Example 65 with DOWN

use of android.support.v7.widget.helper.ItemTouchHelper.DOWN in project QuickReturn by lawloretienne.

the class QuickReturnRecyclerViewOnScrollListener method onScrollStateChanged.

// endregion
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    super.onScrollStateChanged(recyclerView, newState);
    // apply another list' s on scroll listener
    for (RecyclerView.OnScrollListener listener : mExtraOnScrollListenerList) {
        listener.onScrollStateChanged(recyclerView, newState);
    }
    if (newState == RecyclerView.SCROLL_STATE_IDLE && mIsSnappable) {
        int midHeader = -mMinHeaderTranslation / 2;
        int midFooter = mMinFooterTranslation / 2;
        switch(mQuickReturnViewType) {
            case HEADER:
                if (-mHeaderDiffTotal > 0 && -mHeaderDiffTotal < midHeader) {
                    ObjectAnimator anim = ObjectAnimator.ofFloat(mHeader, "translationY", mHeader.getTranslationY(), 0);
                    anim.setDuration(100);
                    anim.start();
                    mHeaderDiffTotal = 0;
                } else if (-mHeaderDiffTotal < -mMinHeaderTranslation && -mHeaderDiffTotal >= midHeader) {
                    ObjectAnimator anim = ObjectAnimator.ofFloat(mHeader, "translationY", mHeader.getTranslationY(), mMinHeaderTranslation);
                    anim.setDuration(100);
                    anim.start();
                    mHeaderDiffTotal = mMinHeaderTranslation;
                }
                break;
            case FOOTER:
                if (-mFooterDiffTotal > 0 && -mFooterDiffTotal < midFooter) {
                    // slide up
                    ObjectAnimator anim = ObjectAnimator.ofFloat(mFooter, "translationY", mFooter.getTranslationY(), 0);
                    anim.setDuration(100);
                    anim.start();
                    mFooterDiffTotal = 0;
                } else if (-mFooterDiffTotal < mMinFooterTranslation && -mFooterDiffTotal >= midFooter) {
                    // slide down
                    ObjectAnimator anim = ObjectAnimator.ofFloat(mFooter, "translationY", mFooter.getTranslationY(), mMinFooterTranslation);
                    anim.setDuration(100);
                    anim.start();
                    mFooterDiffTotal = -mMinFooterTranslation;
                }
                break;
            case BOTH:
                if (-mHeaderDiffTotal > 0 && -mHeaderDiffTotal < midHeader) {
                    ObjectAnimator anim = ObjectAnimator.ofFloat(mHeader, "translationY", mHeader.getTranslationY(), 0);
                    anim.setDuration(100);
                    anim.start();
                    mHeaderDiffTotal = 0;
                } else if (-mHeaderDiffTotal < -mMinHeaderTranslation && -mHeaderDiffTotal >= midHeader) {
                    ObjectAnimator anim = ObjectAnimator.ofFloat(mHeader, "translationY", mHeader.getTranslationY(), mMinHeaderTranslation);
                    anim.setDuration(100);
                    anim.start();
                    mHeaderDiffTotal = mMinHeaderTranslation;
                }
                if (-mFooterDiffTotal > 0 && -mFooterDiffTotal < midFooter) {
                    // slide up
                    ObjectAnimator anim = ObjectAnimator.ofFloat(mFooter, "translationY", mFooter.getTranslationY(), 0);
                    anim.setDuration(100);
                    anim.start();
                    mFooterDiffTotal = 0;
                } else if (-mFooterDiffTotal < mMinFooterTranslation && -mFooterDiffTotal >= midFooter) {
                    // slide down
                    ObjectAnimator anim = ObjectAnimator.ofFloat(mFooter, "translationY", mFooter.getTranslationY(), mMinFooterTranslation);
                    anim.setDuration(100);
                    anim.start();
                    mFooterDiffTotal = -mMinFooterTranslation;
                }
                break;
            case TWITTER:
                if (-mHeaderDiffTotal > 0 && -mHeaderDiffTotal < midHeader) {
                    ObjectAnimator anim = ObjectAnimator.ofFloat(mHeader, "translationY", mHeader.getTranslationY(), 0);
                    anim.setDuration(100);
                    anim.start();
                    mHeaderDiffTotal = 0;
                } else if (-mHeaderDiffTotal < -mMinHeaderTranslation && -mHeaderDiffTotal >= midHeader) {
                    ObjectAnimator anim = ObjectAnimator.ofFloat(mHeader, "translationY", mHeader.getTranslationY(), mMinHeaderTranslation);
                    anim.setDuration(100);
                    anim.start();
                    mHeaderDiffTotal = mMinHeaderTranslation;
                }
                if (-mFooterDiffTotal > 0 && -mFooterDiffTotal < midFooter) {
                    // slide up
                    ObjectAnimator anim = ObjectAnimator.ofFloat(mFooter, "translationY", mFooter.getTranslationY(), 0);
                    anim.setDuration(100);
                    anim.start();
                    mFooterDiffTotal = 0;
                } else if (-mFooterDiffTotal < mMinFooterTranslation && -mFooterDiffTotal >= midFooter) {
                    // slide down
                    ObjectAnimator anim = ObjectAnimator.ofFloat(mFooter, "translationY", mFooter.getTranslationY(), mMinFooterTranslation);
                    anim.setDuration(100);
                    anim.start();
                    mFooterDiffTotal = -mMinFooterTranslation;
                }
                break;
        }
    }
}
Also used : ObjectAnimator(android.animation.ObjectAnimator) RecyclerView(android.support.v7.widget.RecyclerView)

Aggregations

RecyclerView (android.support.v7.widget.RecyclerView)37 View (android.view.View)36 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)18 Intent (android.content.Intent)17 ImageView (android.widget.ImageView)15 TextView (android.widget.TextView)15 Preference (android.support.v7.preference.Preference)14 Context (android.content.Context)12 PreferenceCategory (android.support.v7.preference.PreferenceCategory)12 BroadcastReceiver (android.content.BroadcastReceiver)8 IntentFilter (android.content.IntentFilter)7 OnPreferenceChangeListener (android.support.v7.preference.Preference.OnPreferenceChangeListener)7 Button (android.widget.Button)7 DimmableIconPreference (com.android.settings.DimmableIconPreference)7 RestrictedSwitchPreference (com.android.settingslib.RestrictedSwitchPreference)7 OnClickListener (android.view.View.OnClickListener)6 FrameLayout (android.widget.FrameLayout)6 SharedPreferences (android.content.SharedPreferences)5 FloatingActionButton (android.support.design.widget.FloatingActionButton)5 SwitchPreference (android.support.v14.preference.SwitchPreference)5