Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 94b486d3 authored by Ben Kwa's avatar Ben Kwa
Browse files

Switch DocumentsUI over from Toasts to Snackbars.

Add a new top-level CoordinatorLayout to ensure proper operation of the
snackbar.
Switch all Toast code over to use Snackbar.

BUG=24474629

Change-Id: Iafffb35be6115cbac9304fd44e77e73b6be40c17
parent bf028210
Loading
Loading
Loading
Loading
+61 −52
Original line number Diff line number Diff line
@@ -14,7 +14,15 @@
     limitations under the License.
-->

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
<!-- CoordinatorLayout is necessary for various components (e.g. Snackbars, and
     floating action buttons) to operate correctly. -->
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/coordinator_layout">

    <android.support.v4.widget.DrawerLayout
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
@@ -73,3 +81,4 @@
        </LinearLayout>

    </android.support.v4.widget.DrawerLayout>
</android.support.design.widget.CoordinatorLayout>
+48 −38
Original line number Diff line number Diff line
@@ -14,7 +14,15 @@
     limitations under the License.
-->

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<!-- CoordinatorLayout is necessary for various components (e.g. Snackbars, and
     floating action buttons) to operate correctly. -->
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/coordinator_layout">

    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
@@ -60,3 +68,5 @@
        </LinearLayout>

    </LinearLayout>

</android.support.design.widget.CoordinatorLayout>
+28 −18
Original line number Diff line number Diff line
@@ -14,7 +14,15 @@
     limitations under the License.
-->

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<!-- CoordinatorLayout is necessary for various components (e.g. Snackbars, and
     floating action buttons) to operate correctly. -->
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/coordinator_layout">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
@@ -40,3 +48,5 @@
        <include layout="@layout/directory_cluster"/>

    </LinearLayout>

</android.support.design.widget.CoordinatorLayout>
+8 −6
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static com.android.documentsui.Shared.DEBUG;
import static com.android.documentsui.model.DocumentInfo.getCursorLong;
import static com.android.documentsui.model.DocumentInfo.getCursorString;

import android.app.Activity;
import android.app.IntentService;
import android.app.Notification;
import android.app.NotificationManager;
@@ -37,6 +38,7 @@ import android.os.RemoteException;
import android.os.SystemClock;
import android.provider.DocumentsContract;
import android.provider.DocumentsContract.Document;
import android.support.design.widget.Snackbar;
import android.text.format.DateUtils;
import android.util.Log;
import android.widget.Toast;
@@ -107,10 +109,10 @@ public class CopyService extends IntentService {
     * @param srcDocs A list of src files to copy.
     * @param dstStack The copy destination stack.
     */
    public static void start(Context context, List<DocumentInfo> srcDocs, DocumentStack dstStack,
    public static void start(Activity activity, List<DocumentInfo> srcDocs, DocumentStack dstStack,
            int mode) {
        final Resources res = context.getResources();
        final Intent copyIntent = new Intent(context, CopyService.class);
        final Resources res = activity.getResources();
        final Intent copyIntent = new Intent(activity, CopyService.class);
        copyIntent.putParcelableArrayListExtra(
                EXTRA_SRC_LIST, new ArrayList<DocumentInfo>(srcDocs));
        copyIntent.putExtra(EXTRA_STACK, (Parcelable) dstStack);
@@ -118,10 +120,10 @@ public class CopyService extends IntentService {

        int toastMessage = (mode == TRANSFER_MODE_COPY) ? R.plurals.copy_begin
                : R.plurals.move_begin;
        Toast.makeText(context,
        Shared.makeSnackbar(activity,
                res.getQuantityString(toastMessage, srcDocs.size(), srcDocs.size()),
                Toast.LENGTH_SHORT).show();
        context.startService(copyIntent);
                Snackbar.LENGTH_SHORT).show();
        activity.startService(copyIntent);
    }

    @Override
+2 −2
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import android.os.AsyncTask;
import android.os.Bundle;
import android.provider.DocumentsContract;
import android.provider.DocumentsContract.Document;
import android.support.design.widget.Snackbar;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
@@ -39,7 +40,6 @@ import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
import android.widget.Toast;

import com.android.documentsui.model.DocumentInfo;

@@ -147,7 +147,7 @@ public class CreateDirectoryFragment extends DialogFragment {
                // Navigate into newly created child
                mActivity.onDirectoryCreated(result);
            } else {
                Toast.makeText(mActivity, R.string.create_error, Toast.LENGTH_SHORT).show();
                Shared.makeSnackbar(mActivity, R.string.create_error, Snackbar.LENGTH_SHORT).show();
            }

            mActivity.setPending(false);
Loading