Move settings to the bottom

filtering
Floens 10 years ago
parent 37c5ecefa5
commit 940a3c4660
  1. 12
      Clover/app/src/main/java/org/floens/chan/ui/activity/StartActivity.java
  2. 10
      Clover/app/src/main/java/org/floens/chan/ui/adapter/PinAdapter.java
  3. 24
      Clover/app/src/main/java/org/floens/chan/ui/controller/RootNavigationController.java
  4. 55
      Clover/app/src/main/res/layout/controller_navigation_drawer.xml

@ -29,6 +29,7 @@ import org.floens.chan.Chan;
import org.floens.chan.R;
import org.floens.chan.chan.ChanHelper;
import org.floens.chan.controller.Controller;
import org.floens.chan.core.manager.BoardManager;
import org.floens.chan.core.model.Board;
import org.floens.chan.core.model.Loadable;
import org.floens.chan.core.model.Pin;
@ -51,9 +52,14 @@ public class StartActivity extends AppCompatActivity {
private ViewGroup contentView;
private List<Controller> stack = new ArrayList<>();
private final BoardManager boardManager;
private RootNavigationController rootNavigationController;
private BrowseController browseController;
public StartActivity() {
boardManager = Chan.getBoardManager();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -85,7 +91,7 @@ public class StartActivity extends AppCompatActivity {
Logger.w(TAG, "savedInstanceState was not null, but no ChanState was found!");
} else {
loadDefault = false;
Board board = Chan.getBoardManager().getBoardByValue(chanState.board.board);
Board board = boardManager.getBoardByValue(chanState.board.board);
browseController.loadBoard(board);
if (chanState.thread.mode == Loadable.Mode.THREAD) {
@ -96,7 +102,7 @@ public class StartActivity extends AppCompatActivity {
Loadable fromUri = ChanHelper.getLoadableFromStartUri(getIntent().getData());
if (fromUri != null) {
loadDefault = false;
Board board = Chan.getBoardManager().getBoardByValue(fromUri.board);
Board board = boardManager.getBoardByValue(fromUri.board);
browseController.loadBoard(board);
if (fromUri.isThreadMode()) {
@ -106,7 +112,7 @@ public class StartActivity extends AppCompatActivity {
}
if (loadDefault) {
browseController.loadBoard(Chan.getBoardManager().getSavedBoards().get(0));
browseController.loadBoard(boardManager.getSavedBoards().get(0));
}
}

@ -44,7 +44,7 @@ import static org.floens.chan.utils.AndroidUtils.setRoundItemBackground;
import static org.floens.chan.utils.AndroidUtils.sp;
public class PinAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements SwipeListener.Callback {
private static final int PIN_OFFSET = 4;
private static final int PIN_OFFSET = 1;
private static final int TYPE_HEADER = 0;
private static final int TYPE_PIN = 1;
@ -122,12 +122,7 @@ public class PinAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> im
@Override
public int getItemViewType(int position) {
switch (position) {
case 1:
return TYPE_LINK;
case 0:
case 2:
return TYPE_DIVIDER;
case 3:
return TYPE_HEADER;
default:
return TYPE_PIN;
@ -334,7 +329,6 @@ public class PinAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> im
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
callback.openSettings();
}
});
}
@ -370,8 +364,6 @@ public class PinAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> im
boolean isHighlighted(Pin pin);
void openSettings();
void onPinRemoved(Pin pin);
void onPinLongClocked(Pin pin);

@ -29,6 +29,7 @@ import android.view.Gravity;
import android.view.View;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
@ -49,15 +50,17 @@ import java.util.List;
import de.greenrobot.event.EventBus;
import static org.floens.chan.ui.theme.ThemeHelper.theme;
import static org.floens.chan.utils.AndroidUtils.dp;
import static org.floens.chan.utils.AndroidUtils.getAttrColor;
public class RootNavigationController extends NavigationController implements PinAdapter.Callback {
public class RootNavigationController extends NavigationController implements PinAdapter.Callback, View.OnClickListener {
private WatchManager watchManager;
public DrawerLayout drawerLayout;
public FrameLayout drawer;
public LinearLayout drawer;
private RecyclerView recyclerView;
private LinearLayout settings;
private PinAdapter pinAdapter;
public RootNavigationController(Context context) {
@ -77,9 +80,12 @@ public class RootNavigationController extends NavigationController implements Pi
container = (FrameLayout) view.findViewById(R.id.container);
drawerLayout = (DrawerLayout) view.findViewById(R.id.drawer_layout);
drawerLayout.setDrawerShadow(R.drawable.drawer_shadow, Gravity.LEFT);
drawer = (FrameLayout) view.findViewById(R.id.drawer);
drawer = (LinearLayout) view.findViewById(R.id.drawer);
recyclerView = (RecyclerView) view.findViewById(R.id.drawer_recycler_view);
recyclerView.setHasFixedSize(true);
settings = (LinearLayout) view.findViewById(R.id.settings);
settings.setOnClickListener(this);
theme().settingsDrawable.apply((ImageView) settings.findViewById(R.id.image));
toolbar.setBackgroundColor(ThemeHelper.getInstance().getTheme().primaryColor.color);
@ -121,6 +127,13 @@ public class RootNavigationController extends NavigationController implements Pi
});
}
@Override
public void onClick(View v) {
if (v == settings) {
pushController(new MainSettingsController(context));
}
}
@Override
public void onMenuClicked() {
super.onMenuClicked();
@ -188,11 +201,6 @@ public class RootNavigationController extends NavigationController implements Pi
pushController(new WatchSettingsController(context));
}
@Override
public void openSettings() {
pushController(new MainSettingsController(context));
}
@Override
public void onPinRemoved(final Pin pin) {
watchManager.removePin(pin);

@ -42,22 +42,67 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
</LinearLayout>
<FrameLayout
<LinearLayout
android:id="@+id/drawer"
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="?backcolor">
android:background="?backcolor"
android:clipToPadding="false"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/drawer_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:clipToPadding="false"
android:paddingBottom="16dp"
android:paddingBottom="8dp"
android:paddingTop="8dp"
android:scrollbarStyle="outsideOverlay"
android:scrollbars="vertical" />
</FrameLayout>
<View
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?divider_color" />
<LinearLayout
android:id="@+id/settings"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:background="?attr/selectableItemBackground"
android:orientation="horizontal">
<ImageView
android:id="@+id/image"
android:layout_width="56dp"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:scaleType="center"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/text"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:ellipsize="end"
android:gravity="center_vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:singleLine="true"
android:text="@string/settings_screen"
android:textColor="?text_color_primary"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>

Loading…
Cancel
Save