Revert to include fragment_recycler_view in Fragment layouts, programmatically set padding as needed. Replace hardcoded dimens with dimen resources.

This commit is contained in:
Phillip Hsu
2016-08-30 16:27:49 -07:00
parent 02fc6f2bdd
commit d970505dd5
11 changed files with 95 additions and 61 deletions
@@ -46,6 +46,8 @@ import java.util.Locale;
import butterknife.Bind;
import butterknife.OnClick;
import static com.philliphsu.clock2.util.ConfigurationUtils.getOrientation;
//import com.android.datetimepicker.HapticFeedbackController;
//import com.android.datetimepicker.R;
//import com.android.datetimepicker.Utils;
@@ -326,7 +328,7 @@ public class NumberGridTimePickerDialog extends BaseTimePickerDialog implements
final int icon2 = mThemeDark? R.drawable.ic_half_day_2_dark_24dp : R.drawable.ic_half_day_2_24dp;
// Determine the direction the icons should be in
int left1 = 0, left2 = 0, top1 = 0, top2 = 0;
switch (getResources().getConfiguration().orientation) {
switch (getOrientation(getResources())) {
case Configuration.ORIENTATION_PORTRAIT:
left1 = icon1;
left2 = icon2;
@@ -9,6 +9,7 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import com.philliphsu.clock2.R;
import com.philliphsu.clock2.util.ConfigurationUtils;
import butterknife.Bind;
import butterknife.ButterKnife;
@@ -70,7 +71,8 @@ public class TwentyFourHourGridItem extends LinearLayout {
}
private void init() {
final int orientation = getResources().getConfiguration().orientation;
// TODO: Why isn't ALT-ENTER giving us an option to static import this method?
final int orientation = ConfigurationUtils.getOrientation(getResources());
setOrientation(orientation == Configuration.ORIENTATION_PORTRAIT ?
VERTICAL : /*LANDSCAPE*/HORIZONTAL);
setGravity(Gravity.CENTER);
@@ -4,19 +4,27 @@ package com.philliphsu.clock2.timers;
import android.app.Activity;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.content.Loader;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.philliphsu.clock2.AsyncTimersTableUpdateHandler;
import com.philliphsu.clock2.R;
import com.philliphsu.clock2.RecyclerViewFragment;
import com.philliphsu.clock2.Timer;
import com.philliphsu.clock2.edittimer.EditTimerActivity;
import com.philliphsu.clock2.model.TimerCursor;
import com.philliphsu.clock2.model.TimersListCursorLoader;
import static butterknife.ButterKnife.findById;
import static com.philliphsu.clock2.util.ConfigurationUtils.getOrientation;
public class TimersFragment extends RecyclerViewFragment<
Timer,
TimerViewHolder,
@@ -34,6 +42,24 @@ public class TimersFragment extends RecyclerViewFragment<
mAsyncTimersTableUpdateHandler = new AsyncTimersTableUpdateHandler(getActivity(), this);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = super.onCreateView(inflater, container, savedInstanceState);
final Resources r = getResources();
RecyclerView list = findById(view, R.id.list);
int cardViewMargin = r.getDimensionPixelSize(R.dimen.cardview_margin);
switch (getOrientation(r)) {
case Configuration.ORIENTATION_LANDSCAPE:
list.setPaddingRelative(cardViewMargin/*start*/, cardViewMargin/*top*/, 0, 0);
break;
case Configuration.ORIENTATION_PORTRAIT:
list.setPaddingRelative(0, 0, 0, cardViewMargin);
break;
}
return view;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != Activity.RESULT_OK || data == null)
@@ -74,7 +100,7 @@ public class TimersFragment extends RecyclerViewFragment<
@Override
protected RecyclerView.LayoutManager getLayoutManager() {
switch (getResources().getConfiguration().orientation) {
switch (getOrientation(getResources())) {
case Configuration.ORIENTATION_LANDSCAPE:
return new GridLayoutManager(getActivity(), LANDSCAPE_LAYOUT_COLUMNS);
default:
@@ -0,0 +1,16 @@
package com.philliphsu.clock2.util;
import android.content.res.Resources;
/**
* Created by Phillip Hsu on 8/30/2016.
*/
public final class ConfigurationUtils {
public static int getOrientation(Resources res) {
return res.getConfiguration().orientation;
}
private ConfigurationUtils() {}
}