Dbrant has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/366732 )

Change subject: Add blank(ish) activity for viewing downloadable compilations.
......................................................................

Add blank(ish) activity for viewing downloadable compilations.

This is a blank activity, except for a nice collapsible Toolbar, in
accordance with the design mock.

Bug: T163588
Change-Id: I513915ba846eba36d7d6808995e5ec1573aa9991
---
M app/src/main/AndroidManifest.xml
M app/src/main/java/org/wikipedia/offline/LocalCompilationsFragment.java
A app/src/main/java/org/wikipedia/offline/RemoteCompilationsActivity.java
A app/src/main/java/org/wikipedia/offline/RemoteCompilationsFragment.java
A app/src/main/res/layout/fragment_remote_compilations.xml
M app/src/main/res/values-qq/strings.xml
M app/src/main/res/values/strings.xml
7 files changed, 229 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/32/366732/1

diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 46b17d8..d1b8ef7 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -191,6 +191,10 @@
             android:windowSoftInputMode="adjustResize"/>
 
         <activity
+            android:name=".offline.RemoteCompilationsActivity"
+            android:theme="@style/AppTheme"/>
+
+        <activity
             android:name=".offline.CompilationDetailActivity"
             android:theme="@style/AppTheme"/>
 
diff --git 
a/app/src/main/java/org/wikipedia/offline/LocalCompilationsFragment.java 
b/app/src/main/java/org/wikipedia/offline/LocalCompilationsFragment.java
index a6e18a1..1507856 100644
--- a/app/src/main/java/org/wikipedia/offline/LocalCompilationsFragment.java
+++ b/app/src/main/java/org/wikipedia/offline/LocalCompilationsFragment.java
@@ -32,6 +32,7 @@
 
 import butterknife.BindView;
 import butterknife.ButterKnife;
+import butterknife.OnClick;
 import butterknife.Unbinder;
 
 public class LocalCompilationsFragment extends Fragment {
@@ -112,6 +113,10 @@
         }
     }
 
+    @OnClick(R.id.compilations_add_button) void onAddCompilationClick() {
+        startActivity(RemoteCompilationsActivity.newIntent(getContext()));
+    }
+
     public void onCompilationsRefreshed() {
         updating = false;
         update();
diff --git 
a/app/src/main/java/org/wikipedia/offline/RemoteCompilationsActivity.java 
b/app/src/main/java/org/wikipedia/offline/RemoteCompilationsActivity.java
new file mode 100644
index 0000000..08f54e3
--- /dev/null
+++ b/app/src/main/java/org/wikipedia/offline/RemoteCompilationsActivity.java
@@ -0,0 +1,18 @@
+package org.wikipedia.offline;
+
+import android.content.Context;
+import android.content.Intent;
+import android.support.annotation.NonNull;
+
+import org.wikipedia.activity.SingleFragmentActivity;
+
+public class RemoteCompilationsActivity extends 
SingleFragmentActivity<RemoteCompilationsFragment> {
+    public static Intent newIntent(@NonNull Context context) {
+        return new Intent(context, RemoteCompilationsActivity.class);
+    }
+
+    @Override
+    public RemoteCompilationsFragment createFragment() {
+        return RemoteCompilationsFragment.newInstance();
+    }
+}
diff --git 
a/app/src/main/java/org/wikipedia/offline/RemoteCompilationsFragment.java 
b/app/src/main/java/org/wikipedia/offline/RemoteCompilationsFragment.java
new file mode 100644
index 0000000..682f280
--- /dev/null
+++ b/app/src/main/java/org/wikipedia/offline/RemoteCompilationsFragment.java
@@ -0,0 +1,88 @@
+package org.wikipedia.offline;
+
+import android.graphics.Color;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.support.design.widget.CollapsingToolbarLayout;
+import android.support.v4.app.Fragment;
+import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.Toolbar;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+
+import org.wikipedia.R;
+import org.wikipedia.views.SearchEmptyView;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import butterknife.Unbinder;
+
+public class RemoteCompilationsFragment extends Fragment {
+    @BindView(R.id.compilation_list_toolbar_container) CollapsingToolbarLayout 
toolbarLayout;
+    @BindView(R.id.compilation_list_toolbar) Toolbar toolbar;
+    @BindView(R.id.compilation_list_contents) RecyclerView recyclerView;
+    @BindView(R.id.search_empty_view) SearchEmptyView searchEmptyView;
+    private Unbinder unbinder;
+
+    @NonNull
+    public static RemoteCompilationsFragment newInstance() {
+        RemoteCompilationsFragment instance = new RemoteCompilationsFragment();
+        return instance;
+    }
+
+    @Nullable
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
Bundle savedInstanceState) {
+        super.onCreateView(inflater, container, savedInstanceState);
+        View view = inflater.inflate(R.layout.fragment_remote_compilations, 
container, false);
+        unbinder = ButterKnife.bind(this, view);
+
+        toolbarLayout.setExpandedTitleColor(Color.WHITE);
+        toolbarLayout.setCollapsedTitleTextColor(Color.WHITE);
+
+        getAppCompatActivity().setSupportActionBar(toolbar);
+        
getAppCompatActivity().getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+        getAppCompatActivity().getSupportActionBar().setTitle("");
+
+        return view;
+    }
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+        setHasOptionsMenu(true);
+    }
+
+    @Override
+    public void onDestroyView() {
+        unbinder.unbind();
+        unbinder = null;
+        super.onDestroyView();
+    }
+
+    @Override
+    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+        inflater.inflate(R.menu.menu_local_compilations, menu);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        switch (item.getItemId()) {
+            case R.id.menu_search_compilations:
+                // TODO
+                return true;
+            default:
+                return super.onOptionsItemSelected(item);
+        }
+    }
+
+    private AppCompatActivity getAppCompatActivity() {
+        return (AppCompatActivity) getActivity();
+    }
+}
diff --git a/app/src/main/res/layout/fragment_remote_compilations.xml 
b/app/src/main/res/layout/fragment_remote_compilations.xml
new file mode 100644
index 0000000..3c0b4d0
--- /dev/null
+++ b/app/src/main/res/layout/fragment_remote_compilations.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.design.widget.CoordinatorLayout
+    xmlns:android="http://schemas.android.com/apk/res/android";
+    xmlns:app="http://schemas.android.com/apk/res-auto";
+    xmlns:tools="http://schemas.android.com/tools";
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="?attr/window_background_color">
+
+    <android.support.design.widget.AppBarLayout
+        android:id="@+id/compilation_list_app_bar"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+        <android.support.design.widget.CollapsingToolbarLayout
+            android:id="@+id/compilation_list_toolbar_container"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            app:title="@string/remote_compilations_title"
+            app:titleEnabled="true"
+            app:expandedTitleGravity="top|center_horizontal"
+            app:expandedTitleMarginTop="80dp"
+            
app:expandedTitleTextAppearance="@style/ReadingListTitleTextAppearance"
+            app:layout_scrollFlags="scroll|exitUntilCollapsed"
+            app:contentScrim="@color/green50"
+            app:statusBarScrim="@color/green30">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                android:background="@color/green50"
+                app:layout_collapseMode="parallax">
+
+                <FrameLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="116dp">
+
+                    <ImageView
+                        android:layout_width="40dp"
+                        android:layout_height="40dp"
+                        android:layout_marginTop="24dp"
+                        android:layout_gravity="center_horizontal"
+                        app:srcCompat="@drawable/ic_offline_white_24dp"/>
+
+                </FrameLayout>
+
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:padding="16dp"
+                    android:background="@color/green30"
+                    android:textColor="@android:color/white"
+                    android:lineSpacingMultiplier="1.2"
+                    android:text="@string/remote_compilations_description" />
+
+            </LinearLayout>
+
+            <android.support.v7.widget.Toolbar
+                android:id="@+id/compilation_list_toolbar"
+                android:layout_width="match_parent"
+                android:layout_height="?attr/actionBarSize"
+                android:theme="@style/AppTheme.ToolbarTheme"
+                app:layout_collapseMode="pin" />
+
+        </android.support.design.widget.CollapsingToolbarLayout>
+
+    </android.support.design.widget.AppBarLayout>
+
+    <android.support.v4.widget.NestedScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:scrollbars="vertical"
+        app:layout_behavior="@string/appbar_scrolling_view_behavior">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical">
+
+            <android.support.v7.widget.RecyclerView
+                android:id="@+id/compilation_list_contents"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:background="?attr/window_background_color"/>
+
+            <TextView
+                android:id="@+id/compilation_list_empty_text"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center"
+                android:padding="16dp"
+                android:textSize="16sp"
+                android:text="@string/reading_list_empty"
+                android:visibility="gone"
+                tools:visibility="gone"/>
+
+            <org.wikipedia.views.SearchEmptyView
+                android:id="@+id/search_empty_view"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center_horizontal"
+                android:layout_marginTop="48dp"
+                android:visibility="gone"/>
+
+        </LinearLayout>
+
+    </android.support.v4.widget.NestedScrollView>
+
+</android.support.design.widget.CoordinatorLayout>
diff --git a/app/src/main/res/values-qq/strings.xml 
b/app/src/main/res/values-qq/strings.xml
index 50d16e7..ba79162 100644
--- a/app/src/main/res/values-qq/strings.xml
+++ b/app/src/main/res/values-qq/strings.xml
@@ -421,6 +421,8 @@
   <string name="offline_compilations_search_by_name">Menu item for searching 
compilations by name.</string>
   <string name="offline_compilations_found_count">Label that states how many 
compilations the user has available. The %d symbol is replaced with the number 
of compilations detected.</string>
   <string name="offline_compilations_add">Button text for adding an offline 
compilation.</string>
+  <string name="remote_compilations_title">Title shown on the toolbar of the 
activity that shows all downloadable compilations.</string>
+  <string name="remote_compilations_description">Short description about 
compilations and their benefits.</string>
   <string name="storage_size_gb">Abbreviated form for the unit of a 
gigabyte.</string>
   <string name="storage_size_format">Format specifier where %.2f represents a 
decimal number with two significant figures to the right of the decimal 
point.</string>
   <string name="storage_size_free">Label that says how much free space is 
available on the device. The %.2f symbol is replaced with the number in 
gigabytes.</string>
diff --git a/app/src/main/res/values/strings.xml 
b/app/src/main/res/values/strings.xml
index 7eb3347..510b28f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -475,6 +475,8 @@
     <string name="offline_compilations_search_by_name">Search compilations by 
name</string>
     <string name="offline_compilations_found_count">My compilations 
(%d)</string>
     <string name="offline_compilations_add">Add offline compilation</string>
+    <string name="remote_compilations_title">All compilations</string>
+    <string name="remote_compilations_description">Offline Compilations are 
large bundles of articles that can be downloaded as one file to your device, so 
you can continue browsing while offline.</string>
     <string name="storage_size_format">%.2f</string>
     <string name="storage_size_gb">GB</string>
     <string name="storage_size_free">%.2f GB free</string>

-- 
To view, visit https://gerrit.wikimedia.org/r/366732
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I513915ba846eba36d7d6808995e5ec1573aa9991
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to