mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-12 00:48:29 -04:00
implemented snackbar - UNDO on closing tab
https://sourceforge.net/p/kiwix/feature-requests/232/
This commit is contained in:
parent
f47f9406f4
commit
3ade093fce
@ -23,6 +23,7 @@ dependencies {
|
|||||||
compile 'com.android.support:support-v4:22.2.0'
|
compile 'com.android.support:support-v4:22.2.0'
|
||||||
compile files("$buildDir/native-libs/native-libs.jar")
|
compile files("$buildDir/native-libs/native-libs.jar")
|
||||||
compile 'com.yahoo.squidb:squidb:2.0.0'
|
compile 'com.yahoo.squidb:squidb:2.0.0'
|
||||||
|
compile 'com.android.support:design:22.2.0'
|
||||||
compile 'com.yahoo.squidb:squidb-annotations:2.0.0'
|
compile 'com.yahoo.squidb:squidb-annotations:2.0.0'
|
||||||
apt 'com.yahoo.squidb:squidb-processor:2.0.0'
|
apt 'com.yahoo.squidb:squidb-processor:2.0.0'
|
||||||
// compile fileTree(dir: '.', include: 'content-libs.jar') // DO NOT REMOVE !!
|
// compile fileTree(dir: '.', include: 'content-libs.jar') // DO NOT REMOVE !!
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical"
|
||||||
|
android:id="@+id/linearlayout_main">
|
||||||
|
|
||||||
<include layout="@layout/toolbar"/>
|
<include layout="@layout/toolbar"/>
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<color name="secondary_text">#727272</color>
|
<color name="secondary_text">#727272</color>
|
||||||
<color name="icons">#212121</color>
|
<color name="icons">#212121</color>
|
||||||
<color name="divider">#B6B6B6</color>
|
<color name="divider">#B6B6B6</color>
|
||||||
|
<color name="white_undo">#FAFAFA</color>
|
||||||
<color name="gray_list_bg">#0d000000</color>
|
<color name="gray_list_bg">#0d000000</color>
|
||||||
<color name="drawer_background">#ffffff</color>
|
<color name="drawer_background">#ffffff</color>
|
||||||
<color name="selected_light">#0F000000</color>
|
<color name="selected_light">#0F000000</color>
|
||||||
|
@ -32,6 +32,7 @@ import android.os.Bundle;
|
|||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
|
import android.support.design.widget.Snackbar;
|
||||||
import android.support.v4.view.GravityCompat;
|
import android.support.v4.view.GravityCompat;
|
||||||
import android.support.v4.widget.DrawerLayout;
|
import android.support.v4.widget.DrawerLayout;
|
||||||
import android.support.v7.app.ActionBarDrawerToggle;
|
import android.support.v7.app.ActionBarDrawerToggle;
|
||||||
@ -63,10 +64,12 @@ import android.widget.Button;
|
|||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
import android.widget.ImageButton;
|
import android.widget.ImageButton;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import android.widget.RelativeLayout;
|
import android.widget.RelativeLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
@ -78,6 +81,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
import org.json.JSONArray;
|
import org.json.JSONArray;
|
||||||
import org.kiwix.kiwixmobile.settings.Constants;
|
import org.kiwix.kiwixmobile.settings.Constants;
|
||||||
import org.kiwix.kiwixmobile.settings.KiwixSettingsActivity;
|
import org.kiwix.kiwixmobile.settings.KiwixSettingsActivity;
|
||||||
@ -169,6 +173,8 @@ public class KiwixMobileActivity extends AppCompatActivity
|
|||||||
|
|
||||||
// Initialized when onActionModeStarted is triggered.
|
// Initialized when onActionModeStarted is triggered.
|
||||||
private ActionMode mActionMode = null;
|
private ActionMode mActionMode = null;
|
||||||
|
private KiwixWebView tempForUndo;
|
||||||
|
private LinearLayout snackbarLayout;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onActionModeStarted(ActionMode mode) {
|
public void onActionModeStarted(ActionMode mode) {
|
||||||
@ -229,7 +235,9 @@ public class KiwixMobileActivity extends AppCompatActivity
|
|||||||
mToolbarContainer = (RelativeLayout) findViewById(R.id.toolbar_layout);
|
mToolbarContainer = (RelativeLayout) findViewById(R.id.toolbar_layout);
|
||||||
mProgressBar = (AnimatedProgressBar) findViewById(R.id.progress_view);
|
mProgressBar = (AnimatedProgressBar) findViewById(R.id.progress_view);
|
||||||
exitFullscreenButton = (ImageButton) findViewById(R.id.FullscreenControlButton);
|
exitFullscreenButton = (ImageButton) findViewById(R.id.FullscreenControlButton);
|
||||||
|
tempForUndo = new KiwixWebView(getApplicationContext()); /** initializing temporary tab value **/
|
||||||
|
|
||||||
|
snackbarLayout = (LinearLayout) findViewById(R.id.linearlayout_main); /** Coordinator layout definition**/
|
||||||
RelativeLayout newTabButton = (RelativeLayout) findViewById(R.id.new_tab_button);
|
RelativeLayout newTabButton = (RelativeLayout) findViewById(R.id.new_tab_button);
|
||||||
newTabButton.setOnClickListener(new View.OnClickListener() {
|
newTabButton.setOnClickListener(new View.OnClickListener() {
|
||||||
|
|
||||||
@ -372,7 +380,21 @@ public class KiwixMobileActivity extends AppCompatActivity
|
|||||||
if (mCurrentWebViewIndex == index) {
|
if (mCurrentWebViewIndex == index) {
|
||||||
if (mCurrentWebViewIndex >= 1) {
|
if (mCurrentWebViewIndex >= 1) {
|
||||||
selectTab(mCurrentWebViewIndex - 1);
|
selectTab(mCurrentWebViewIndex - 1);
|
||||||
|
|
||||||
|
tempForUndo = mWebViews.get(index);
|
||||||
|
|
||||||
mWebViews.remove(index);
|
mWebViews.remove(index);
|
||||||
|
Snackbar undoSnackbar = Snackbar.make(snackbarLayout, "Click to restore tab", Snackbar.LENGTH_LONG)
|
||||||
|
.setAction("Undo", new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
newTab(tempForUndo.getUrl());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
undoSnackbar.setActionTextColor(getResources().getColor(R.color.white_undo));
|
||||||
|
undoSnackbar.show();
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
selectTab(mCurrentWebViewIndex + 1);
|
selectTab(mCurrentWebViewIndex + 1);
|
||||||
mWebViews.remove(index);
|
mWebViews.remove(index);
|
||||||
@ -1180,7 +1202,6 @@ public class KiwixMobileActivity extends AppCompatActivity
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPause() {
|
public void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user