From 955fea3d51427375576037359462cc93f845a6d4 Mon Sep 17 00:00:00 2001 From: Ian Rumac Date: Wed, 16 Dec 2015 18:13:11 +0100 Subject: [PATCH 1/2] Updated butterknife to version 7.0.1, replaced @InjectView with @Bind, replaced @Optional with @Nullable --- Habitica/build.gradle | 4 +- .../android/habitica/AboutActivity.java | 8 ++-- .../android/habitica/MainActivity.java | 14 +++--- .../android/habitica/SkillTasksActivity.java | 8 ++-- .../android/habitica/TaskFormActivity.java | 16 +++---- .../android/habitica/ui/EditTextDrawer.java | 8 ++-- .../ui/adapter/ChatRecyclerViewAdapter.java | 46 +++++++++---------- .../habitica/ui/adapter/CheckListAdapter.java | 8 ++-- .../adapter/HabitItemRecyclerViewAdapter.java | 18 ++++---- .../PartyMemberRecyclerViewAdapter.java | 14 +++--- .../SkillTasksRecyclerViewAdapter.java | 6 +-- .../ui/adapter/SkillsRecyclerViewAdapter.java | 10 ++-- .../ui/fragments/ChatListFragment.java | 8 ++-- .../ui/fragments/GemsPurchaseFragment.java | 6 +-- .../ui/fragments/PartyMemberListFragment.java | 6 +-- .../habitica/ui/fragments/SkillsFragment.java | 6 +-- 16 files changed, 93 insertions(+), 93 deletions(-) diff --git a/Habitica/build.gradle b/Habitica/build.gradle index f3540a845..f777e4e00 100644 --- a/Habitica/build.gradle +++ b/Habitica/build.gradle @@ -43,8 +43,8 @@ dependencies { transitive = true; } - // View Elements Injection :) - compile 'com.jakewharton:butterknife:6.1.0' + // View Elements Binding :) + compile 'com.jakewharton:butterknife:7.0.1' compile('com.mikepenz:materialdrawer:4.3.8@aar') { transitive = true diff --git a/Habitica/src/com/habitrpg/android/habitica/AboutActivity.java b/Habitica/src/com/habitrpg/android/habitica/AboutActivity.java index 716489da4..6e88ec80e 100644 --- a/Habitica/src/com/habitrpg/android/habitica/AboutActivity.java +++ b/Habitica/src/com/habitrpg/android/habitica/AboutActivity.java @@ -17,15 +17,15 @@ import com.habitrpg.android.habitica.ui.fragments.AboutFragment; import com.mikepenz.aboutlibraries.Libs; import com.mikepenz.aboutlibraries.LibsBuilder; +import butterknife.Bind; import butterknife.ButterKnife; -import butterknife.InjectView; public class AboutActivity extends AppCompatActivity { - @InjectView(R.id.pager) + @Bind(R.id.pager) ViewPager pager; - @InjectView(R.id.tab_layout) + @Bind(R.id.tab_layout) TabLayout tabLayout; @Override @@ -33,7 +33,7 @@ public class AboutActivity extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_about); - ButterKnife.inject(this); + ButterKnife.bind(this); ActionBar actionBar = getSupportActionBar(); diff --git a/Habitica/src/com/habitrpg/android/habitica/MainActivity.java b/Habitica/src/com/habitrpg/android/habitica/MainActivity.java index e7d3c8dcc..e21f94677 100644 --- a/Habitica/src/com/habitrpg/android/habitica/MainActivity.java +++ b/Habitica/src/com/habitrpg/android/habitica/MainActivity.java @@ -72,8 +72,8 @@ import java.util.Map; import java.util.TimeZone; import java.util.concurrent.TimeUnit; +import butterknife.Bind; import butterknife.ButterKnife; -import butterknife.InjectView; import de.greenrobot.event.EventBus; import io.fabric.sdk.android.Fabric; import retrofit.Callback; @@ -88,16 +88,16 @@ public class MainActivity extends AppCompatActivity implements HabitRPGUserCallb BaseFragment activeFragment; - @InjectView(R.id.floating_menu_wrapper) + @Bind(R.id.floating_menu_wrapper) FrameLayout floatingMenuWrapper; - @InjectView(R.id.toolbar) + @Bind(R.id.toolbar) Toolbar toolbar; - @InjectView(R.id.detail_tabs) + @Bind(R.id.detail_tabs) TabLayout detail_tabs; - @InjectView(R.id.avatar_with_bars) + @Bind(R.id.avatar_with_bars) View avatar_with_bars; AccountHeader accountHeader; @@ -121,7 +121,7 @@ public class MainActivity extends AppCompatActivity implements HabitRPGUserCallb setContentView(R.layout.activity_main); // Inject Controls - ButterKnife.inject(this); + ButterKnife.bind(this); // Initialize Crashlytics Crashlytics crashlytics = new Crashlytics.Builder() @@ -607,6 +607,7 @@ public class MainActivity extends AppCompatActivity implements HabitRPGUserCallb this.mAPIHelper.retrieveUser(new HabitRPGUserCallback(this)); user.getStats().setLvl((int) lvl); + this.showSnackbar(message.toString()); } else { com.magicmicky.habitrpgwrapper.lib.models.Stats stats = user.getStats(); @@ -705,7 +706,6 @@ public class MainActivity extends AppCompatActivity implements HabitRPGUserCallb if (customView != null) { TextView detailView = (TextView) customView.findViewById(R.id.levelupDetail); detailView.setText(this.getString(R.string.levelup_detail, level)); - ImageView avatarView = (ImageView) customView.findViewById(R.id.avatarView); UserPicture userPicture = new UserPicture(user, this, false, false); userPicture.setPictureOn(avatarView); diff --git a/Habitica/src/com/habitrpg/android/habitica/SkillTasksActivity.java b/Habitica/src/com/habitrpg/android/habitica/SkillTasksActivity.java index ec67f73da..ea6662248 100644 --- a/Habitica/src/com/habitrpg/android/habitica/SkillTasksActivity.java +++ b/Habitica/src/com/habitrpg/android/habitica/SkillTasksActivity.java @@ -17,17 +17,17 @@ import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task; import java.util.HashMap; import java.util.Map; +import butterknife.Bind; import butterknife.ButterKnife; -import butterknife.InjectView; /** * Created by viirus on 28/11/15. */ public class SkillTasksActivity extends AppCompatActivity { - @InjectView(R.id.viewpager) + @Bind(R.id.viewpager) public ViewPager viewPager; - @InjectView(R.id.tab_layout) + @Bind(R.id.tab_layout) public TabLayout tabLayout; Map ViewFragmentsDictionary = new HashMap<>(); @@ -37,7 +37,7 @@ public class SkillTasksActivity extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_skill_tasks); - ButterKnife.inject(this); + ButterKnife.bind(this); loadTaskLists(); } diff --git a/Habitica/src/com/habitrpg/android/habitica/TaskFormActivity.java b/Habitica/src/com/habitrpg/android/habitica/TaskFormActivity.java index df32bb9e0..62eb32328 100644 --- a/Habitica/src/com/habitrpg/android/habitica/TaskFormActivity.java +++ b/Habitica/src/com/habitrpg/android/habitica/TaskFormActivity.java @@ -47,8 +47,8 @@ import java.util.Date; import java.util.GregorianCalendar; import java.util.List; +import butterknife.Bind; import butterknife.ButterKnife; -import butterknife.InjectView; import de.greenrobot.event.EventBus; @@ -70,22 +70,22 @@ public class TaskFormActivity extends AppCompatActivity implements AdapterView.O private CheckListAdapter checklistAdapter; private Button btnDelete; - @InjectView(R.id.task_value_edittext) + @Bind(R.id.task_value_edittext) EditText taskValue; - @InjectView(R.id.task_value_layout) + @Bind(R.id.task_value_layout) TextInputLayout taskValueLayout; - @InjectView(R.id.task_checklist_wrapper) + @Bind(R.id.task_checklist_wrapper) LinearLayout checklistWrapper; - @InjectView(R.id.task_startdate_layout) + @Bind(R.id.task_startdate_layout) LinearLayout startDateWrapper; - @InjectView(R.id.task_startdate_picker) + @Bind(R.id.task_startdate_picker) DatePicker startDatePicker; - @InjectView(R.id.task_difficulty_wrapper) + @Bind(R.id.task_difficulty_wrapper) LinearLayout difficultyWrapper; @Override @@ -93,7 +93,7 @@ public class TaskFormActivity extends AppCompatActivity implements AdapterView.O super.onCreate(savedInstanceState); setContentView(R.layout.activity_task_form); - ButterKnife.inject(this); + ButterKnife.bind(this); Intent intent = getIntent(); Bundle bundle = intent.getExtras(); diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/EditTextDrawer.java b/Habitica/src/com/habitrpg/android/habitica/ui/EditTextDrawer.java index e9926795a..8aefd4c86 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/EditTextDrawer.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/EditTextDrawer.java @@ -11,8 +11,8 @@ import com.habitrpg.android.habitica.ui.helpers.ViewHelper; import com.mikepenz.materialdrawer.model.BasePrimaryDrawerItem; import com.mikepenz.materialdrawer.model.utils.ViewHolderFactory; +import butterknife.Bind; import butterknife.ButterKnife; -import butterknife.InjectView; import de.greenrobot.event.EventBus; /** @@ -55,16 +55,16 @@ public class EditTextDrawer extends BasePrimaryDrawerItem { View view; - @InjectView(R.id.editText) + @Bind(R.id.editText) EditText editText; - @InjectView(R.id.btnAdd) + @Bind(R.id.btnAdd) Button btnAdd; private ViewHolder(View view) { super(view); this.view = view; - ButterKnife.inject(this, view); + ButterKnife.bind(this, view); ViewHelper.SetBackgroundTint(btnAdd, view.getResources().getColor(R.color.brand)); diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/adapter/ChatRecyclerViewAdapter.java b/Habitica/src/com/habitrpg/android/habitica/ui/adapter/ChatRecyclerViewAdapter.java index 07482ddb2..2939dc252 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/adapter/ChatRecyclerViewAdapter.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/adapter/ChatRecyclerViewAdapter.java @@ -2,6 +2,7 @@ package com.habitrpg.android.habitica.ui.adapter; import android.content.Context; import android.content.res.Resources; +import android.support.annotation.Nullable; import android.support.v7.widget.AppCompatEditText; import android.support.v7.widget.PopupMenu; import android.support.v7.widget.RecyclerView; @@ -33,9 +34,8 @@ import java.lang.reflect.Field; import java.util.List; import java.util.Map; +import butterknife.Bind; import butterknife.ButterKnife; -import butterknife.InjectView; -import butterknife.Optional; import de.greenrobot.event.EventBus; /** @@ -130,45 +130,45 @@ public class ChatRecyclerViewAdapter extends RecyclerView.Adapter public THabitItem Item; - @InjectView(R.id.notesTextView) + @Bind(R.id.notesTextView) TextView notesTextView; public ViewHolder(View itemView) { @@ -261,7 +261,7 @@ public class HabitItemRecyclerViewAdapter itemView.setOnLongClickListener(this); itemView.setLongClickable(true); - ButterKnife.inject(this, itemView); + ButterKnife.bind(this, itemView); resources = itemView.getResources(); } @@ -298,10 +298,10 @@ public class HabitItemRecyclerViewAdapter public class HabitViewHolder extends ViewHolder { - @InjectView(R.id.btnPlus) + @Bind(R.id.btnPlus) Button btnPlus; - @InjectView(R.id.btnMinus) + @Bind(R.id.btnMinus) Button btnMinus; HabitItemCardBinding binding; @@ -344,13 +344,13 @@ public class HabitItemRecyclerViewAdapter public class ChecklistedViewHolder extends ViewHolder implements CompoundButton.OnCheckedChangeListener { - @InjectView(R.id.checkBox) + @Bind(R.id.checkBox) CheckBox checkbox; - @InjectView(R.id.checklistView) + @Bind(R.id.checklistView) LinearLayout checklistView; - @InjectView(R.id.checklistIndicatorWrapper) + @Bind(R.id.checklistIndicatorWrapper) RelativeLayout checklistIndicatorWrapper; public Boolean displayChecklist; @@ -501,7 +501,7 @@ public class HabitItemRecyclerViewAdapter public class RewardViewHolder extends ViewHolder { RewardItemCardBinding binding; - @InjectView(R.id.btnReward) + @Bind(R.id.btnReward) Button btnReward; public RewardViewHolder(View itemView) { diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/adapter/PartyMemberRecyclerViewAdapter.java b/Habitica/src/com/habitrpg/android/habitica/ui/adapter/PartyMemberRecyclerViewAdapter.java index 5aa6e5f48..851655e75 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/adapter/PartyMemberRecyclerViewAdapter.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/adapter/PartyMemberRecyclerViewAdapter.java @@ -18,8 +18,8 @@ import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; import java.util.ArrayList; +import butterknife.Bind; import butterknife.ButterKnife; -import butterknife.InjectView; /** * Created by Negue on 22.09.2015. @@ -56,19 +56,19 @@ public class PartyMemberRecyclerViewAdapter extends RecyclerView.Adapter { @@ -89,7 +89,7 @@ public class SkillTasksRecyclerViewAdapter extends RecyclerView.Adapter Date: Wed, 16 Dec 2015 18:29:03 +0100 Subject: [PATCH 2/2] Added unbind calls to onDestroy in fragments that used butterknife in onCreate, so views become nullafter --- .../android/habitica/ui/fragments/AboutFragment.java | 9 ++++++++- .../habitica/ui/fragments/ChatListFragment.java | 3 +++ .../habitica/ui/fragments/GemsPurchaseFragment.java | 10 ++++++++++ .../habitica/ui/fragments/PartyMemberListFragment.java | 8 ++++++++ .../android/habitica/ui/fragments/SkillsFragment.java | 8 ++++++++ 5 files changed, 37 insertions(+), 1 deletion(-) diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/AboutFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/AboutFragment.java index 609a1a9c7..8c4273cd2 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/AboutFragment.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/AboutFragment.java @@ -71,7 +71,7 @@ public class AboutFragment extends Fragment { public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); - ButterKnife.inject(this, view); + ButterKnife.bind(this, view); } private void openBrowserLink(String url) { @@ -86,4 +86,11 @@ public class AboutFragment extends Fragment { emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject); startActivity(Intent.createChooser(emailIntent, "Send email...")); } + + @Override + public void onDestroyView() { + super.onDestroyView(); + ButterKnife.unbind(this); + + } } diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/ChatListFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/ChatListFragment.java index 267f94dc0..48a19bfee 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/ChatListFragment.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/ChatListFragment.java @@ -241,6 +241,9 @@ public class ChatListFragment extends Fragment implements SwipeRefreshLayout.OnR if (registerEventBus) { EventBus.getDefault().unregister(this); } + ButterKnife.unbind(this); super.onDestroyView(); } + + } diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.java index 0637880d4..146255244 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/GemsPurchaseFragment.java @@ -147,4 +147,14 @@ public class GemsPurchaseFragment extends BaseFragment { } + @Override + public void onDestroyView() { + super.onDestroyView(); + ButterKnife.unbind(this); + + } + + + + } diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PartyMemberListFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PartyMemberListFragment.java index 3cc57ca33..48ceed16e 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PartyMemberListFragment.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/PartyMemberListFragment.java @@ -68,4 +68,12 @@ public class PartyMemberListFragment extends Fragment { public void setMemberList(ArrayList members) { viewAdapter.setMemberList(members); } + + @Override + public void onDestroyView() { + super.onDestroyView(); + ButterKnife.unbind(this); + + } + } diff --git a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/SkillsFragment.java b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/SkillsFragment.java index d776aa339..7b1e278ca 100644 --- a/Habitica/src/com/habitrpg/android/habitica/ui/fragments/SkillsFragment.java +++ b/Habitica/src/com/habitrpg/android/habitica/ui/fragments/SkillsFragment.java @@ -136,4 +136,12 @@ public class SkillsFragment extends BaseFragment { progressDialog.dismiss(); } } + + @Override + public void onDestroyView() { + super.onDestroyView(); + ButterKnife.unbind(this); + + } + }