diff --git a/app/build.gradle b/app/build.gradle index 3d9e5e1b..637fe4be 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -66,6 +66,7 @@ android { } lintOptions { disable 'MissingTranslation' + disable 'InvalidPackage' } } @@ -96,5 +97,5 @@ dependencies { compile 'com.afollestad:material-dialogs:0.7.6.0' compile 'com.afollestad:material-cab:0.1.4' - compile 'com.jakewharton:butterknife:6.1.0' + compile 'com.jakewharton:butterknife:7.0.1' } diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index b62dec78..6739e10b 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -24,5 +24,17 @@ -keep class !android.support.v7.internal.view.menu.**,** {*;} +-keep class butterknife.** { *; } +-dontwarn butterknife.internal.** +-keep class **$$ViewBinder { *; } + +-keepclasseswithmembernames class * { + @butterknife.* ; +} + +-keepclasseswithmembernames class * { + @butterknife.* ; +} + -dontwarn -ignorewarnings \ No newline at end of file diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java index 1662bec3..2eb8f30f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java @@ -143,7 +143,7 @@ public class SearchAdapter extends RecyclerView.Adapter + *

* Should be kinda stable ONLY AS IT IS!!! */ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements PaletteColorHolder, CabHolder { @@ -67,17 +67,17 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements private Album album; - @InjectView(R.id.list) + @Bind(R.id.list) ObservableRecyclerView recyclerView; - @InjectView(R.id.image) + @Bind(R.id.image) ImageView albumArtImageView; - @InjectView(R.id.album_art_background) + @Bind(R.id.album_art_background) ImageView albumArtBackground; - @InjectView(R.id.toolbar) + @Bind(R.id.toolbar) Toolbar toolbar; - @InjectView(R.id.title) + @Bind(R.id.title) TextView albumTitleView; - @InjectView(R.id.list_background) + @Bind(R.id.list_background) View songsBackgroundView; private AlbumSongAdapter adapter; @@ -95,7 +95,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements setStatusBarTransparent(); super.onCreate(savedInstanceState); setContentView(R.layout.activity_album_detail); - ButterKnife.inject(this); + ButterKnife.bind(this); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { postponeEnterTransition(); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java index 75c64ab9..d0dfc30c 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java @@ -58,15 +58,15 @@ import com.nostra13.universalimageloader.core.assist.FailReason; import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener; import com.nostra13.universalimageloader.core.process.BitmapProcessor; +import butterknife.Bind; import butterknife.ButterKnife; -import butterknife.InjectView; import retrofit.Callback; import retrofit.RetrofitError; import retrofit.client.Response; /** * A lot of hackery is done in this activity. Changing things may will brake the whole activity. - *

+ *

* Should be kinda stable ONLY AS IT IS!!! */ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implements PaletteColorHolder, CabHolder { @@ -75,17 +75,17 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement public static final String EXTRA_ARTIST_ID = "extra_artist_id"; - @InjectView(R.id.artist_image_background) + @Bind(R.id.artist_image_background) ImageView artistImageBackground; - @InjectView(R.id.image) + @Bind(R.id.image) SquareIfPlaceImageView artistImage; - @InjectView(R.id.list_background) + @Bind(R.id.list_background) View songListBackground; - @InjectView(R.id.list) + @Bind(R.id.list) ObservableListView songListView; - @InjectView(R.id.title) + @Bind(R.id.title) TextView artistName; - @InjectView(R.id.toolbar) + @Bind(R.id.toolbar) Toolbar toolbar; View songListHeader; @@ -112,7 +112,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement setStatusBarTransparent(); super.onCreate(savedInstanceState); setContentView(R.layout.activity_artist_detail); - ButterKnife.inject(this); + ButterKnife.bind(this); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { postponeEnterTransition(); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java index 1a23f326..979bdec6 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java @@ -67,25 +67,25 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; +import butterknife.Bind; import butterknife.ButterKnife; -import butterknife.InjectView; public class MainActivity extends AbsSlidingMusicPanelActivity implements KabViewsDisableAble, CabHolder { public static final String TAG = MainActivity.class.getSimpleName(); - @InjectView(R.id.toolbar) + @Bind(R.id.toolbar) Toolbar toolbar; - @InjectView(R.id.tabs) + @Bind(R.id.tabs) TabLayout tabs; - @InjectView(R.id.appbar) + @Bind(R.id.appbar) AppBarLayout appbar; - @InjectView(R.id.pager) + @Bind(R.id.pager) ViewPager pager; - @InjectView(R.id.navigation_view) + @Bind(R.id.navigation_view) NavigationView navigationView; - @InjectView(R.id.drawer_layout) + @Bind(R.id.drawer_layout) DrawerLayout drawerLayout; private ActionBarDrawerToggle drawerToggle; @@ -98,7 +98,7 @@ public class MainActivity extends AbsSlidingMusicPanelActivity protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - ButterKnife.inject(this); + ButterKnife.bind(this); setUpDrawerLayout(); setUpToolbar(); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MusicControllerActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MusicControllerActivity.java index a12ddf22..2e4302ed 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MusicControllerActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MusicControllerActivity.java @@ -65,8 +65,8 @@ import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListene import java.io.File; import java.lang.ref.WeakReference; +import butterknife.Bind; import butterknife.ButterKnife; -import butterknife.InjectView; import hugo.weaving.DebugLog; public class MusicControllerActivity extends AbsSlidingMusicPanelActivity { @@ -77,31 +77,31 @@ public class MusicControllerActivity extends AbsSlidingMusicPanelActivity { private static final int CMD_UPDATE_PROGRESS_VIEWS = 1; - @InjectView(R.id.title) + @Bind(R.id.title) TextView songTitle; - @InjectView(R.id.text) + @Bind(R.id.text) TextView songArtist; - @InjectView(R.id.footer) + @Bind(R.id.footer) LinearLayout footer; - @InjectView(R.id.playback_controller_card) + @Bind(R.id.playback_controller_card) CardView playbackControllerCard; - @InjectView(R.id.prev_button) + @Bind(R.id.prev_button) ImageButton prevButton; - @InjectView(R.id.next_button) + @Bind(R.id.next_button) ImageButton nextButton; - @InjectView(R.id.repeat_button) + @Bind(R.id.repeat_button) ImageButton repeatButton; - @InjectView(R.id.shuffle_button) + @Bind(R.id.shuffle_button) ImageButton shuffleButton; - @InjectView(R.id.media_controller_container) + @Bind(R.id.media_controller_container) RelativeLayout mediaControllerContainer; - @InjectView(R.id.album_art_background) + @Bind(R.id.album_art_background) ImageView albumArtBackground; - @InjectView(R.id.image) + @Bind(R.id.image) SquareIfPlaceImageView albumArt; - @InjectView(R.id.toolbar) + @Bind(R.id.toolbar) Toolbar toolbar; - @InjectView(R.id.favorite_icon) + @Bind(R.id.favorite_icon) ImageView favoriteIcon; TextView songCurrentProgress; @@ -129,7 +129,7 @@ public class MusicControllerActivity extends AbsSlidingMusicPanelActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_music_controller); - ButterKnife.inject(this); + ButterKnife.bind(this); initAppearanceVarsFromSharedPrefs(); initProgressSliderDependentViews(); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java index 61be5dfd..f1763477 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java @@ -28,8 +28,8 @@ import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.PlaylistsUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; +import butterknife.Bind; import butterknife.ButterKnife; -import butterknife.InjectView; public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity implements CabHolder { @@ -38,11 +38,11 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme @NonNull public static String EXTRA_PLAYLIST = "extra_playlist"; - @InjectView(R.id.recycler_view) + @Bind(R.id.recycler_view) RecyclerView recyclerView; - @InjectView(R.id.toolbar) + @Bind(R.id.toolbar) Toolbar toolbar; - @InjectView(android.R.id.empty) + @Bind(android.R.id.empty) TextView empty; private Playlist playlist; @@ -53,7 +53,7 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_playlist_detail); - ButterKnife.inject(this); + ButterKnife.bind(this); getIntentExtras(); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SearchActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SearchActivity.java index e55e39a1..46ac69c7 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SearchActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SearchActivity.java @@ -24,18 +24,18 @@ import com.kabouzeid.gramophone.adapter.SearchAdapter; import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity; import com.kabouzeid.gramophone.util.Util; +import butterknife.Bind; import butterknife.ButterKnife; -import butterknife.InjectView; public class SearchActivity extends AbsBaseActivity { public static final String TAG = SearchActivity.class.getSimpleName(); - @InjectView(R.id.recycler_view) + @Bind(R.id.recycler_view) RecyclerView recyclerView; - @InjectView(R.id.toolbar) + @Bind(R.id.toolbar) Toolbar toolbar; @SuppressWarnings("ButterKnifeNoViewWithId") - @InjectView(android.R.id.empty) + @Bind(android.R.id.empty) TextView empty; @@ -48,7 +48,7 @@ public class SearchActivity extends AbsBaseActivity { setTitle(null); super.onCreate(savedInstanceState); setContentView(R.layout.activity_search); - ButterKnife.inject(this); + ButterKnife.bind(this); recyclerView.setLayoutManager(new LinearLayoutManager(this)); searchAdapter = new SearchAdapter(this); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AbsTagEditorActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AbsTagEditorActivity.java index c94c408e..0ed40612 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AbsTagEditorActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AbsTagEditorActivity.java @@ -50,8 +50,8 @@ import java.io.IOException; import java.util.List; import java.util.Map; +import butterknife.Bind; import butterknife.ButterKnife; -import butterknife.InjectView; /** * @author Karim Abou Zeid (kabouzeid) @@ -70,15 +70,15 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity { private int paletteColorPrimary; private boolean isInNoImageMode; - @InjectView(R.id.play_pause_fab) + @Bind(R.id.play_pause_fab) FloatingActionButton fab; - @InjectView(R.id.observableScrollView) + @Bind(R.id.observableScrollView) ObservableScrollView observableScrollView; - @InjectView(R.id.toolbar) + @Bind(R.id.toolbar) Toolbar toolbar; - @InjectView(R.id.image) + @Bind(R.id.image) ImageView image; - @InjectView(R.id.header) + @Bind(R.id.header) LinearLayout header; private List songPaths; @@ -87,7 +87,7 @@ public abstract class AbsTagEditorActivity extends AbsBaseActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(getContentViewLayout()); - ButterKnife.inject(this); + ButterKnife.bind(this); getIntentExtras(); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AlbumTagEditorActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AlbumTagEditorActivity.java index 2b3ea599..65c907b9 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AlbumTagEditorActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AlbumTagEditorActivity.java @@ -35,8 +35,8 @@ import java.util.EnumMap; import java.util.List; import java.util.Map; +import butterknife.Bind; import butterknife.ButterKnife; -import butterknife.InjectView; import retrofit.Callback; import retrofit.RetrofitError; import retrofit.client.Response; @@ -45,13 +45,13 @@ public class AlbumTagEditorActivity extends AbsTagEditorActivity implements Text public static final String TAG = AlbumTagEditorActivity.class.getSimpleName(); - @InjectView(R.id.title) + @Bind(R.id.title) EditText albumTitle; - @InjectView(R.id.album_artist) + @Bind(R.id.album_artist) EditText albumArtist; - @InjectView(R.id.genre) + @Bind(R.id.genre) EditText genre; - @InjectView(R.id.year) + @Bind(R.id.year) EditText year; private Bitmap albumArtBitmap; @@ -61,7 +61,7 @@ public class AlbumTagEditorActivity extends AbsTagEditorActivity implements Text @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - ButterKnife.inject(this); + ButterKnife.bind(this); lastFMRestClient = new LastFMRestClient(this); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/SongTagEditorActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/SongTagEditorActivity.java index bfce3317..20f8e4da 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/SongTagEditorActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/SongTagEditorActivity.java @@ -17,30 +17,30 @@ import java.util.EnumMap; import java.util.List; import java.util.Map; +import butterknife.Bind; import butterknife.ButterKnife; -import butterknife.InjectView; public class SongTagEditorActivity extends AbsTagEditorActivity implements TextWatcher { public static final String TAG = SongTagEditorActivity.class.getSimpleName(); - @InjectView(R.id.title1) + @Bind(R.id.title1) EditText songTitle; - @InjectView(R.id.title2) + @Bind(R.id.title2) EditText albumTitle; - @InjectView(R.id.artist) + @Bind(R.id.artist) EditText artist; - @InjectView(R.id.genre) + @Bind(R.id.genre) EditText genre; - @InjectView(R.id.year) + @Bind(R.id.year) EditText year; - @InjectView(R.id.image_text) + @Bind(R.id.image_text) EditText trackNumber; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - ButterKnife.inject(this); + ButterKnife.bind(this); setNoImageMode(); setUpViews(); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/AbsMainActivityRecyclerViewFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/AbsMainActivityRecyclerViewFragment.java index 90d82eec..84e21d36 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/AbsMainActivityRecyclerViewFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivityfragments/AbsMainActivityRecyclerViewFragment.java @@ -17,9 +17,8 @@ import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.interfaces.MusicStateListener; import com.kabouzeid.gramophone.views.FastScroller; +import butterknife.Bind; import butterknife.ButterKnife; -import butterknife.InjectView; -import butterknife.Optional; /** * @author Karim Abou Zeid (kabouzeid) @@ -28,15 +27,13 @@ public abstract class AbsMainActivityRecyclerViewFragment