Start converting to view binding

gtask_related_email
Alex Baker 6 years ago
parent 9f40b8b9c7
commit ce7d04b595

@ -113,6 +113,10 @@ android {
}
}
viewBinding {
isEnabled = true
}
dataBinding {
isEnabled = true
}

@ -21,15 +21,12 @@ import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.FrameLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.view.ActionMode;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.fragment.app.FragmentManager;
import androidx.lifecycle.ViewModelProviders;
import butterknife.BindView;
import butterknife.ButterKnife;
import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.dao.TaskDao;
import com.todoroo.astrid.data.Task;
@ -45,6 +42,7 @@ import org.tasks.LocalBroadcastManager;
import org.tasks.R;
import org.tasks.activities.TagSettingsActivity;
import org.tasks.billing.Inventory;
import org.tasks.databinding.TaskListActivityBinding;
import org.tasks.dialogs.SortDialog;
import org.tasks.fragments.CommentBarFragment;
import org.tasks.gtasks.PlayServices;
@ -94,15 +92,6 @@ public class MainActivity extends InjectingAppCompatActivity
@Inject PlayServices playServices;
@Inject Inventory inventory;
@BindView(R.id.drawer_layout)
DrawerLayout drawerLayout;
@BindView(R.id.master)
FrameLayout master;
@BindView(R.id.detail)
FrameLayout detail;
private CompositeDisposable disposables;
private NavigationDrawerFragment navigationDrawer;
private int currentNightMode;
@ -111,6 +100,8 @@ public class MainActivity extends InjectingAppCompatActivity
private Filter filter;
private ActionMode actionMode = null;
TaskListActivityBinding binding;
/** @see android.app.Activity#onCreate(Bundle) */
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -122,9 +113,8 @@ public class MainActivity extends InjectingAppCompatActivity
currentNightMode = getNightMode();
currentPro = inventory.hasPro();
setContentView(R.layout.task_list_activity);
ButterKnife.bind(this);
binding = TaskListActivityBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
if (savedInstanceState != null) {
filter = savedInstanceState.getParcelable(EXTRA_FILTER);
@ -132,9 +122,9 @@ public class MainActivity extends InjectingAppCompatActivity
}
navigationDrawer = getNavigationDrawerFragment();
navigationDrawer.setUp(drawerLayout);
navigationDrawer.setUp(binding.drawerLayout);
drawerLayout.addDrawerListener(
binding.drawerLayout.addDrawerListener(
new DrawerLayout.SimpleDrawerListener() {
@Override
public void onDrawerStateChanged(int newState) {
@ -244,8 +234,8 @@ public class MainActivity extends InjectingAppCompatActivity
private void showDetailFragment() {
if (isSinglePaneLayout()) {
detail.setVisibility(View.VISIBLE);
master.setVisibility(View.GONE);
binding.detail.setVisibility(View.VISIBLE);
binding.master.setVisibility(View.GONE);
}
}
@ -256,8 +246,8 @@ public class MainActivity extends InjectingAppCompatActivity
.commit();
if (isSinglePaneLayout()) {
master.setVisibility(View.VISIBLE);
detail.setVisibility(View.GONE);
binding.master.setVisibility(View.VISIBLE);
binding.detail.setVisibility(View.GONE);
}
}
@ -281,7 +271,7 @@ public class MainActivity extends InjectingAppCompatActivity
private void applyTheme() {
ThemeColor filterColor = getFilterColor();
filterColor.applyToStatusBar(drawerLayout);
filterColor.applyToStatusBar(binding.drawerLayout);
filterColor.applyToNavigationBar(this);
filterColor.applyTaskDescription(
this, filter == null ? getString(R.string.app_name) : filter.listingTitle);

@ -21,14 +21,11 @@ import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import butterknife.BindView;
import butterknife.ButterKnife;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.api.Filter;
@ -48,6 +45,7 @@ import org.tasks.R;
import org.tasks.analytics.Tracker;
import org.tasks.data.UserActivity;
import org.tasks.data.UserActivityDao;
import org.tasks.databinding.FragmentTaskEditBinding;
import org.tasks.dialogs.DialogBuilder;
import org.tasks.fragments.TaskEditControlSetFragmentManager;
import org.tasks.injection.ForActivity;
@ -76,15 +74,6 @@ public final class TaskEditFragment extends InjectingFragment
@Inject Tracker tracker;
@Inject TimerPlugin timerPlugin;
@BindView(R.id.toolbar)
Toolbar toolbar;
@BindView(R.id.comments)
LinearLayout comments;
@BindView(R.id.control_sets)
LinearLayout controlSets;
Task model = null;
private TaskEditFragmentCallbackHandler callback;
@ -111,12 +100,13 @@ public final class TaskEditFragment extends InjectingFragment
@Override
public View onCreateView(
LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_task_edit, container, false);
ButterKnife.bind(this, view);
FragmentTaskEditBinding binding = FragmentTaskEditBinding.inflate(inflater);
View view = binding.getRoot();
Bundle arguments = getArguments();
model = arguments.getParcelable(EXTRA_TASK);
Toolbar toolbar = binding.toolbar.toolbar;
final boolean backButtonSavesTask = preferences.backButtonSavesTask();
toolbar.setNavigationIcon(
ContextCompat.getDrawable(
@ -142,7 +132,7 @@ public final class TaskEditFragment extends InjectingFragment
notificationManager.cancel(model.getId());
}
commentsController.initialize(model, comments);
commentsController.initialize(model, binding.comments);
commentsController.reloadView();
FragmentManager fragmentManager = getChildFragmentManager();
@ -161,7 +151,7 @@ public final class TaskEditFragment extends InjectingFragment
fragmentTransaction.commit();
for (int i = taskEditControlFragments.size() - 2; i > 1; i--) {
controlSets.addView(inflater.inflate(R.layout.task_edit_row_divider, controlSets, false), i);
binding.controlSets.addView(inflater.inflate(R.layout.task_edit_row_divider, binding.controlSets, false), i);
}
return view;

@ -18,12 +18,9 @@ import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuItem;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.ListView;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.ContextCompat;
import butterknife.BindView;
import butterknife.ButterKnife;
import com.todoroo.andlib.data.Property.CountProperty;
import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.sql.UnaryCriterion;
@ -46,6 +43,7 @@ import java.util.Map.Entry;
import javax.inject.Inject;
import org.tasks.R;
import org.tasks.data.FilterDao;
import org.tasks.databinding.CustomFilterActivityBinding;
import org.tasks.dialogs.DialogBuilder;
import org.tasks.filters.FilterCriteriaProvider;
import org.tasks.injection.ActivityComponent;
@ -66,20 +64,13 @@ public class CustomFilterActivity extends ThemedInjectingAppCompatActivity
private static final String IDENTIFIER_UNIVERSE = "active"; // $NON-NLS-1$
private static final int MENU_GROUP_FILTER = 0;
// --- hierarchy of filter classes
@Inject Database database;
@Inject FilterDao filterDao;
@Inject DialogBuilder dialogBuilder;
// --- activity
@Inject FilterCriteriaProvider filterCriteriaProvider;
@Inject Locale locale;
@BindView(R.id.tag_name)
EditText filterName;
@BindView(R.id.toolbar)
Toolbar toolbar;
CustomFilterActivityBinding binding;
private ListView listView;
private CustomFilterAdapter adapter;
@ -119,9 +110,10 @@ public class CustomFilterActivity extends ThemedInjectingAppCompatActivity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.custom_filter_activity);
ButterKnife.bind(this);
binding = CustomFilterActivityBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
Toolbar toolbar = binding.toolbar.toolbar;
toolbar.setNavigationIcon(ContextCompat.getDrawable(this, R.drawable.ic_outline_clear_24px));
toolbar.setTitle(R.string.FLA_new_filter);
toolbar.inflateMenu(R.menu.menu_custom_filter_activity);
@ -186,7 +178,7 @@ public class CustomFilterActivity extends ThemedInjectingAppCompatActivity
@Override
public void finish() {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(filterName.getWindowToken(), 0);
imm.hideSoftInputFromWindow(binding.filterName.getWindowToken(), 0);
super.finish();
}
@ -203,7 +195,7 @@ public class CustomFilterActivity extends ThemedInjectingAppCompatActivity
}
private void saveAndView() {
String title = filterName.getText().toString().trim();
String title = binding.filterName.getText().toString().trim();
if (isEmpty(title)) {
return;
@ -327,7 +319,7 @@ public class CustomFilterActivity extends ThemedInjectingAppCompatActivity
}
private void discard() {
if (filterName.getText().toString().trim().isEmpty() && adapter.getCount() <= 1) {
if (binding.filterName.getText().toString().trim().isEmpty() && adapter.getCount() <= 1) {
finish();
} else {
dialogBuilder

@ -8,14 +8,13 @@ import android.os.Bundle;
import android.view.MenuItem;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.ContextCompat;
import butterknife.BindView;
import butterknife.ButterKnife;
import com.google.android.material.textfield.TextInputEditText;
import javax.inject.Inject;
import net.dinglisch.android.tasker.TaskerPlugin;
import org.tasks.LocalBroadcastManager;
import org.tasks.R;
import org.tasks.billing.Inventory;
import org.tasks.databinding.ActivityTaskerCreateBinding;
import org.tasks.databinding.ToolbarBinding;
import org.tasks.injection.ActivityComponent;
import org.tasks.locale.bundle.TaskCreationBundle;
import org.tasks.preferences.Preferences;
@ -30,23 +29,7 @@ public final class TaskerCreateTaskActivity extends AbstractFragmentPluginAppCom
@Inject Inventory inventory;
@Inject LocalBroadcastManager localBroadcastManager;
@BindView(R.id.title)
TextInputEditText title;
@BindView(R.id.toolbar)
Toolbar toolbar;
@BindView(R.id.due_date)
TextInputEditText dueDate;
@BindView(R.id.due_time)
TextInputEditText dueTime;
@BindView(R.id.priority)
TextInputEditText priority;
@BindView(R.id.description)
TextInputEditText description;
ActivityTaskerCreateBinding binding;
private Bundle previousBundle;
@ -54,10 +37,10 @@ public final class TaskerCreateTaskActivity extends AbstractFragmentPluginAppCom
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tasker_create);
ButterKnife.bind(this);
binding = ActivityTaskerCreateBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
Toolbar toolbar = binding.toolbar.toolbar;
toolbar.setTitle(R.string.tasker_create_task);
final boolean backButtonSavesTask = preferences.backButtonSavesTask();
toolbar.setNavigationIcon(
@ -81,7 +64,7 @@ public final class TaskerCreateTaskActivity extends AbstractFragmentPluginAppCom
if (savedInstanceState != null) {
previousBundle = savedInstanceState.getParcelable(TaskCreationBundle.EXTRA_BUNDLE);
TaskCreationBundle bundle = new TaskCreationBundle(previousBundle);
title.setText(bundle.getTitle());
binding.title.setText(bundle.getTitle());
}
if (!inventory.purchasedTasker()) {
@ -98,11 +81,11 @@ public final class TaskerCreateTaskActivity extends AbstractFragmentPluginAppCom
final Bundle previousBundle, final String previousBlurb) {
this.previousBundle = previousBundle;
TaskCreationBundle bundle = new TaskCreationBundle(previousBundle);
title.setText(bundle.getTitle());
dueDate.setText(bundle.getDueDate());
dueTime.setText(bundle.getDueTime());
priority.setText(bundle.getPriority());
description.setText(bundle.getDescription());
binding.title.setText(bundle.getTitle());
binding.dueDate.setText(bundle.getDueDate());
binding.dueTime.setText(bundle.getDueTime());
binding.priority.setText(bundle.getPriority());
binding.description.setText(bundle.getDescription());
}
@Override
@ -113,11 +96,11 @@ public final class TaskerCreateTaskActivity extends AbstractFragmentPluginAppCom
@Override
protected Bundle getResultBundle() {
TaskCreationBundle bundle = new TaskCreationBundle();
bundle.setTitle(title.getText().toString().trim());
bundle.setDueDate(dueDate.getText().toString().trim());
bundle.setDueTime(dueTime.getText().toString().trim());
bundle.setPriority(priority.getText().toString().trim());
bundle.setDescription(description.getText().toString().trim());
bundle.setTitle(binding.title.getText().toString().trim());
bundle.setDueDate(binding.dueDate.getText().toString().trim());
bundle.setDueTime(binding.dueTime.getText().toString().trim());
bundle.setPriority(binding.priority.getText().toString().trim());
bundle.setDescription(binding.description.getText().toString().trim());
Bundle resultBundle = bundle.build();
if (TaskerPlugin.Setting.hostSupportsOnFireVariableReplacement(this)) {
TaskerPlugin.Setting.setVariableReplaceKeys(
@ -135,7 +118,7 @@ public final class TaskerCreateTaskActivity extends AbstractFragmentPluginAppCom
@Override
public String getResultBlurb(final Bundle bundle) {
return title.getText().toString().trim();
return binding.title.getText().toString().trim();
}
@Override

@ -5,7 +5,9 @@
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/toolbar"/>
<include
android:id="@+id/toolbar"
layout="@layout/toolbar" />
<ScrollView
android:layout_width="match_parent"

@ -9,7 +9,9 @@
android:layout_height="fill_parent"
android:orientation="vertical">
<include layout="@layout/toolbar"/>
<include
android:id="@+id/toolbar"
layout="@layout/toolbar"/>
<RelativeLayout
android:layout_width="fill_parent"
@ -25,7 +27,7 @@
android:text="@string/name"/>
<EditText
android:id="@+id/tag_name"
android:id="@+id/filter_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"

@ -8,7 +8,9 @@
android:layout_height="fill_parent"
android:orientation="vertical">
<include layout="@layout/toolbar"/>
<include
android:id="@+id/toolbar"
layout="@layout/toolbar" />
<androidx.core.widget.NestedScrollView
android:scrollbarStyle="outsideOverlay"

Loading…
Cancel
Save