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