add empty text to site and board screens

add description to site add dialog, fix padding
refactor-toolbar
Floens 7 years ago
parent 707bce3263
commit 78651025a4
  1. 5
      Clover/app/src/main/java/org/floens/chan/ui/controller/BoardSetupController.java
  2. 6
      Clover/app/src/main/java/org/floens/chan/ui/controller/SitesSetupController.java
  3. 4
      Clover/app/src/main/java/org/floens/chan/ui/layout/SiteAddLayout.java
  4. 26
      Clover/app/src/main/res/layout/controller_board_setup.xml
  5. 26
      Clover/app/src/main/res/layout/controller_sites_setup.xml
  6. 23
      Clover/app/src/main/res/layout/layout_site_add.xml
  7. 3
      Clover/app/src/main/res/values/strings.xml

@ -45,6 +45,7 @@ import org.floens.chan.core.presenter.BoardSetupPresenter;
import org.floens.chan.core.site.Site; import org.floens.chan.core.site.Site;
import org.floens.chan.ui.helper.BoardHelper; import org.floens.chan.ui.helper.BoardHelper;
import org.floens.chan.ui.layout.BoardAddLayout; import org.floens.chan.ui.layout.BoardAddLayout;
import org.floens.chan.ui.view.CrossfadeView;
import org.floens.chan.ui.view.DividerItemDecoration; import org.floens.chan.ui.view.DividerItemDecoration;
import java.util.List; import java.util.List;
@ -64,6 +65,7 @@ public class BoardSetupController extends Controller implements View.OnClickList
@Inject @Inject
BoardSetupPresenter presenter; BoardSetupPresenter presenter;
private CrossfadeView crossfadeView;
private RecyclerView savedBoardsRecycler; private RecyclerView savedBoardsRecycler;
private FloatingActionButton add; private FloatingActionButton add;
@ -112,6 +114,7 @@ public class BoardSetupController extends Controller implements View.OnClickList
navigation.swipeable = false; navigation.swipeable = false;
// View binding // View binding
crossfadeView = view.findViewById(R.id.crossfade);
savedBoardsRecycler = view.findViewById(R.id.boards_recycler); savedBoardsRecycler = view.findViewById(R.id.boards_recycler);
add = view.findViewById(R.id.add); add = view.findViewById(R.id.add);
@ -127,6 +130,7 @@ public class BoardSetupController extends Controller implements View.OnClickList
itemTouchHelper.attachToRecyclerView(savedBoardsRecycler); itemTouchHelper.attachToRecyclerView(savedBoardsRecycler);
add.setOnClickListener(this); add.setOnClickListener(this);
theme().applyFabColor(add); theme().applyFabColor(add);
crossfadeView.toggle(false, false);
// Presenter // Presenter
presenter.create(this, site); presenter.create(this, site);
@ -175,6 +179,7 @@ public class BoardSetupController extends Controller implements View.OnClickList
@Override @Override
public void setSavedBoards(List<Board> savedBoards) { public void setSavedBoards(List<Board> savedBoards) {
savedAdapter.setSavedBoards(savedBoards); savedAdapter.setSavedBoards(savedBoards);
crossfadeView.toggle(!savedBoards.isEmpty(), true);
} }
@Override @Override

@ -40,6 +40,7 @@ import org.floens.chan.ui.helper.HintPopup;
import org.floens.chan.ui.layout.SiteAddLayout; import org.floens.chan.ui.layout.SiteAddLayout;
import org.floens.chan.ui.toolbar.ToolbarMenu; import org.floens.chan.ui.toolbar.ToolbarMenu;
import org.floens.chan.ui.toolbar.ToolbarMenuItem; import org.floens.chan.ui.toolbar.ToolbarMenuItem;
import org.floens.chan.ui.view.CrossfadeView;
import org.floens.chan.ui.view.DividerItemDecoration; import org.floens.chan.ui.view.DividerItemDecoration;
import org.floens.chan.ui.view.FloatingMenuItem; import org.floens.chan.ui.view.FloatingMenuItem;
@ -60,6 +61,7 @@ public class SitesSetupController extends StyledToolbarNavigationController impl
private ToolbarMenuItem doneMenuItem; private ToolbarMenuItem doneMenuItem;
private CrossfadeView crossfadeView;
private RecyclerView sitesRecyclerview; private RecyclerView sitesRecyclerview;
private FloatingActionButton addButton; private FloatingActionButton addButton;
@ -82,6 +84,7 @@ public class SitesSetupController extends StyledToolbarNavigationController impl
navigation.setTitle(R.string.setup_sites_title); navigation.setTitle(R.string.setup_sites_title);
// View binding // View binding
crossfadeView = view.findViewById(R.id.crossfade);
sitesRecyclerview = view.findViewById(R.id.sites_recycler); sitesRecyclerview = view.findViewById(R.id.sites_recycler);
addButton = view.findViewById(R.id.add); addButton = view.findViewById(R.id.add);
@ -95,6 +98,7 @@ public class SitesSetupController extends StyledToolbarNavigationController impl
new DividerItemDecoration(context, DividerItemDecoration.VERTICAL)); new DividerItemDecoration(context, DividerItemDecoration.VERTICAL));
addButton.setOnClickListener(this); addButton.setOnClickListener(this);
theme().applyFabColor(addButton); theme().applyFabColor(addButton);
crossfadeView.toggle(false, false);
// Presenter // Presenter
presenter.create(this); presenter.create(this);
@ -195,6 +199,8 @@ public class SitesSetupController extends StyledToolbarNavigationController impl
this.sites.clear(); this.sites.clear();
this.sites.addAll(sites); this.sites.addAll(sites);
sitesAdapter.notifyDataSetChanged(); sitesAdapter.notifyDataSetChanged();
crossfadeView.toggle(!sites.isEmpty(), true);
} }
@Override @Override

@ -2,15 +2,15 @@ package org.floens.chan.ui.layout;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context; import android.content.Context;
import android.support.constraint.ConstraintLayout;
import android.support.design.widget.TextInputLayout; import android.support.design.widget.TextInputLayout;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.widget.EditText; import android.widget.EditText;
import android.widget.LinearLayout;
import org.floens.chan.R; import org.floens.chan.R;
import org.floens.chan.core.presenter.SitesSetupPresenter; import org.floens.chan.core.presenter.SitesSetupPresenter;
public class SiteAddLayout extends ConstraintLayout implements SitesSetupPresenter.AddCallback { public class SiteAddLayout extends LinearLayout implements SitesSetupPresenter.AddCallback {
private EditText url; private EditText url;
private TextInputLayout urlContainer; private TextInputLayout urlContainer;

@ -20,6 +20,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="?attr/backcolor"> android:background="?attr/backcolor">
<org.floens.chan.ui.view.CrossfadeView
android:id="@+id/crossfade"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView <android.support.v7.widget.RecyclerView
android:id="@+id/boards_recycler" android:id="@+id/boards_recycler"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -30,7 +35,26 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
android:paddingRight="8dp" android:paddingRight="8dp"
android:paddingTop="8dp" android:paddingTop="8dp"
android:scrollbarStyle="outsideOverlay" android:scrollbarStyle="outsideOverlay"
android:scrollbars="vertical" /> android:scrollbars="vertical"
android:visibility="gone" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="8dp"
android:visibility="gone">
<TextView
style="?android:attr/textAppearanceMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/setup_board_empty" />
</FrameLayout>
</org.floens.chan.ui.view.CrossfadeView>
<android.support.design.widget.FloatingActionButton <android.support.design.widget.FloatingActionButton
android:id="@+id/add" android:id="@+id/add"

@ -22,6 +22,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
android:background="?attr/backcolor" android:background="?attr/backcolor"
tools:ignore="ContentDescription,RtlHardcoded"> tools:ignore="ContentDescription,RtlHardcoded">
<org.floens.chan.ui.view.CrossfadeView
android:id="@+id/crossfade"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView <android.support.v7.widget.RecyclerView
android:id="@+id/sites_recycler" android:id="@+id/sites_recycler"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -32,7 +37,26 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
android:paddingRight="8dp" android:paddingRight="8dp"
android:paddingTop="8dp" android:paddingTop="8dp"
android:scrollbarStyle="outsideOverlay" android:scrollbarStyle="outsideOverlay"
android:scrollbars="vertical" /> android:scrollbars="vertical"
android:visibility="gone" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="8dp"
android:visibility="gone">
<TextView
style="?android:attr/textAppearanceMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/setup_sites_empty" />
</FrameLayout>
</org.floens.chan.ui.view.CrossfadeView>
<android.support.design.widget.FloatingActionButton <android.support.design.widget.FloatingActionButton
android:id="@+id/add" android:id="@+id/add"

@ -18,18 +18,25 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
<org.floens.chan.ui.layout.SiteAddLayout xmlns:android="http://schemas.android.com/apk/res/android" <org.floens.chan.ui.layout.SiteAddLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:layout_marginLeft="24dp"
android:layout_marginRight="24dp"
android:layout_marginTop="20dp"
android:text="@string/setup_sites_description" />
<android.support.design.widget.TextInputLayout <android.support.design.widget.TextInputLayout
android:id="@+id/url_container" android:id="@+id/url_container"
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="8dp" android:layout_marginLeft="20dp"
android:layout_marginStart="8dp" android:layout_marginRight="20dp"
android:layout_marginTop="8dp" android:layout_marginTop="8dp">
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<android.support.design.widget.TextInputEditText <android.support.design.widget.TextInputEditText
android:id="@+id/url" android:id="@+id/url"

@ -181,8 +181,10 @@ Re-enable this permission in the app settings if you permanently disabled it."</
<string name="intro_start">Get started</string> <string name="intro_start">Get started</string>
<string name="setup_sites_title">Your sites</string> <string name="setup_sites_title">Your sites</string>
<string name="setup_sites_empty">No sites added</string>
<string name="setup_sites_add_hint">Add sites</string> <string name="setup_sites_add_hint">Add sites</string>
<string name="setup_sites_add_title">Add site</string> <string name="setup_sites_add_title">Add site</string>
<string name="setup_sites_description">Enter the url of the site you want to browse</string>
<string name="setup_sites_url">Site url</string> <string name="setup_sites_url">Site url</string>
<string name="setup_sites_url_hint">http://</string> <string name="setup_sites_url_hint">http://</string>
<string name="setup_sites_site_description">%s added</string> <string name="setup_sites_site_description">%s added</string>
@ -198,6 +200,7 @@ Re-enable this permission in the app settings if you permanently disabled it."</
<string name="setup_site_login_description_disabled">Off</string> <string name="setup_site_login_description_disabled">Off</string>
<string name="setup_board_title">Configure boards of %s</string> <string name="setup_board_title">Configure boards of %s</string>
<string name="setup_board_empty">No boards added</string>
<string name="setup_board_add">Add board</string> <string name="setup_board_add">Add board</string>
<string name="setup_board_removed">Removed \'%s\'</string> <string name="setup_board_removed">Removed \'%s\'</string>
<string name="setup_board_added">%s added</string> <string name="setup_board_added">%s added</string>

Loading…
Cancel
Save