Skip to content
This repository was archived by the owner on Jan 2, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 64 additions & 6 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,70 @@ android {
}
}

android {
packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
}
}

repositories {
jcenter()
mavenCentral()
maven { url "https://maven.google.com" }
maven { url "https://jitpack.io" }
}

dependencies {
compile "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
compile "com.android.support:recyclerview-v7:$rootProject.supportLibraryVersion"
compile "com.android.support:cardview-v7:$rootProject.supportLibraryVersion"
compile "com.android.support:palette-v7:$rootProject.supportLibraryVersion"
compile "com.android.support:design:$rootProject.supportLibraryVersion"
compile "com.squareup.picasso:picasso:2.4.0"
compile fileTree(dir: "libs", include: ["*.jar"])

compile 'com.android.support:appcompat-v7:' + rootProject.ext.supportLibraryVersion
compile 'com.android.support:cardview-v7:' + rootProject.ext.supportLibraryVersion
compile 'com.android.support:recyclerview-v7:' + rootProject.ext.supportLibraryVersion
compile 'com.android.support:support-v4:' + rootProject.ext.supportLibraryVersion
compile 'com.android.support:design:' + rootProject.ext.supportLibraryVersion
compile 'com.android.support:percent:' + rootProject.ext.supportLibraryVersion
compile 'com.android.support:palette-v7:' + rootProject.ext.supportLibraryVersion
compile 'com.android.support:support-vector-drawable:' + rootProject.ext.supportLibraryVersion
compile 'com.android.support:animated-vector-drawable:' + rootProject.ext.supportLibraryVersion
compile 'com.android.support:support-annotations:' + rootProject.ext.supportLibraryVersion
compile 'com.android.support:support-compat:' + rootProject.ext.supportLibraryVersion
compile 'com.android.support:support-core-ui:' + rootProject.ext.supportLibraryVersion
compile 'com.android.support:support-v13:' + rootProject.ext.supportLibraryVersion
compile 'com.android.support:support-v4:' + rootProject.ext.supportLibraryVersion

compile 'com.flipboard:bottomsheet-core:1.5.3'
compile 'com.flipboard:bottomsheet-commons:1.5.3'
compile 'com.facebook.android:facebook-android-sdk:4.23.+'
compile 'com.github.coyarzun89:fabtransitionactivity:0.2.0'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'de.hdodenhof:circleimageview:2.0.0'
compile 'com.jakewharton:butterknife:8.6.0'
compile 'joda-time:joda-time:2.9.9'
compile 'com.android.support:multidex:1.0.1'
compile 'com.firebaseui:firebase-ui-database:0.4.0'
compile 'pub.devrel:easypermissions:0.1.5'
compile 'com.fasterxml.jackson.core:jackson-databind:2.7.3'
compile 'com.danikula:videocache:2.6.4'
compile 'com.dinuscxj:circleprogressbar:1.1.1'
compile 'com.afollestad.material-dialogs:core:0.9.4.5'
compile 'com.googlecode.mp4parser:isoparser:1.1.22'
compile 'javax.inject:javax.inject:1'
compile 'com.android.support:support-v4:26.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'me.riddhimanadib.bottom-nav-bar:bottom-nav-bar:1.0.1'
compile 'com.android.support:design:26.+'
compile 'com.android.support:recyclerview-v7:26.+'
compile 'com.jakewharton:butterknife:8.6.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'
testCompile 'junit:junit:4.12'
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,13 @@
import android.graphics.drawable.BitmapDrawable;
import android.os.Build;
import android.os.Bundle;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.CollapsingToolbarLayout;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.ActivityOptionsCompat;
import android.support.v4.view.ViewCompat;
import android.support.v4.widget.NestedScrollView;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.graphics.Palette;
import android.support.v7.widget.Toolbar;
Expand All @@ -36,62 +38,81 @@
import android.widget.ImageView;
import android.widget.TextView;

import com.antonioleiva.materializeyourapp.widgets.SquareImageView;
import com.squareup.picasso.Callback;
import com.squareup.picasso.Picasso;

import butterknife.BindView;
import butterknife.ButterKnife;

public class DetailActivity extends AppCompatActivity {

private static final String EXTRA_IMAGE = "com.antonioleiva.materializeyourapp.extraImage";
private static final String EXTRA_TITLE = "com.antonioleiva.materializeyourapp.extraTitle";
private CollapsingToolbarLayout collapsingToolbarLayout;

public static void navigate(AppCompatActivity activity, View transitionImage, ViewModel viewModel) {
Intent intent = new Intent(activity, DetailActivity.class);
@BindView(R.id.image) ImageView image;
@BindView(R.id.toolbar) Toolbar toolbar;
@BindView(R.id.collapsing_toolbar) CollapsingToolbarLayout collapsingToolbar;
@BindView(R.id.app_bar_layout) AppBarLayout appBarLayout;
@BindView(R.id.title) TextView title;
@BindView(R.id.description) TextView description;
@BindView(R.id.scroll) NestedScrollView scroll;
@BindView(R.id.fab) FloatingActionButton fab;

public static void navigate(AppCompatActivity fromActivity, View transitionImage, ViewModel viewModel) {
Intent intent = new Intent(fromActivity, DetailActivity.class);
intent.putExtra(EXTRA_IMAGE, viewModel.getImage());
intent.putExtra(EXTRA_TITLE, viewModel.getText());

ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, transitionImage, EXTRA_IMAGE);
ActivityCompat.startActivity(activity, intent, options.toBundle());
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(fromActivity, transitionImage, EXTRA_IMAGE);
ActivityCompat.startActivity(fromActivity, intent, options.toBundle());
}

@SuppressWarnings("ConstantConditions")
@Override protected void onCreate(Bundle savedInstanceState) {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initActivityTransitions();
setContentView(R.layout.activity_detail);
ButterKnife.bind(this);

ViewCompat.setTransitionName(findViewById(R.id.app_bar_layout), EXTRA_IMAGE);
ViewCompat.setTransitionName(appBarLayout, EXTRA_IMAGE);
supportPostponeEnterTransition();

setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onBackPressed();
}
});

String itemTitle = getIntent().getStringExtra(EXTRA_TITLE);
collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar);
collapsingToolbarLayout.setTitle(itemTitle);
collapsingToolbarLayout.setExpandedTitleColor(getResources().getColor(android.R.color.transparent));
collapsingToolbar.setTitle(itemTitle);
collapsingToolbar.setExpandedTitleColor(getResources().getColor(android.R.color.transparent));

final ImageView image = (ImageView) findViewById(R.id.image);
Picasso.with(this).load(getIntent().getStringExtra(EXTRA_IMAGE)).into(image, new Callback() {
@Override public void onSuccess() {
@Override
public void onSuccess() {
Bitmap bitmap = ((BitmapDrawable) image.getDrawable()).getBitmap();
Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() {
public void onGenerated(Palette palette) {
applyPalette(palette);
}
});
}

@Override public void onError() {
@Override
public void onError() {

}
});

TextView title = (TextView) findViewById(R.id.title);
title.setText(itemTitle);
}

@Override public boolean dispatchTouchEvent(MotionEvent motionEvent) {
@Override
public boolean dispatchTouchEvent(MotionEvent motionEvent) {
try {
return super.dispatchTouchEvent(motionEvent);
} catch (NullPointerException e) {
Expand All @@ -111,17 +132,17 @@ private void initActivityTransitions() {
private void applyPalette(Palette palette) {
int primaryDark = getResources().getColor(R.color.primary_dark);
int primary = getResources().getColor(R.color.primary);
collapsingToolbarLayout.setContentScrimColor(palette.getMutedColor(primary));
collapsingToolbarLayout.setStatusBarScrimColor(palette.getDarkMutedColor(primaryDark));
updateBackground((FloatingActionButton) findViewById(R.id.fab), palette);
collapsingToolbar.setContentScrimColor(palette.getMutedColor(primary));
collapsingToolbar.setStatusBarScrimColor(palette.getDarkMutedColor(primaryDark));
updateBackground(fab, palette);
supportStartPostponedEnterTransition();
}

private void updateBackground(FloatingActionButton fab, Palette palette) {
int lightVibrantColor = palette.getLightVibrantColor(getResources().getColor(android.R.color.white));
int vibrantColor = palette.getVibrantColor(getResources().getColor(R.color.accent));

fab.setRippleColor(lightVibrantColor);
fab.setBackgroundTintList(ColorStateList.valueOf(vibrantColor));
}

}
Loading