package org.petabytes.awesomeblogs.summary;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.widget.ProgressBar;
import org.petabytes.awesomeblogs.R;
import org.petabytes.awesomeblogs.base.AwesomeActivity;
import org.petabytes.awesomeblogs.util.Analytics;
import org.petabytes.awesomeblogs.util.Strings;
import org.petabytes.awesomeblogs.util.Views;
import org.petabytes.coordinator.ActivityGraph;
import butterknife.BindView;
public class SummaryActivity extends AwesomeActivity {
private static final String LINK = "link";
private static final String FROM = "from";
@BindView(R.id.progress_bar) ProgressBar progressBar;
private FooterCoordinator footerCoordinator;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
progressBar.getProgressDrawable().setColorFilter(
Color.BLACK, android.graphics.PorterDuff.Mode.SRC_IN);
}
@Override
protected ActivityGraph createActivityGraph() {
return new ActivityGraph.Builder()
.layoutResId(R.layout.summary)
.coordinator(R.id.bottom_sheet, new SummaryCoordinator(
this, getStringExtra(LINK), getStringExtra(FROM), this::onLoading, this::finish))
.coordinator(R.id.footer, footerCoordinator = new FooterCoordinator(this, getStringExtra(LINK)))
.build();
}
private void onLoading(int progress) {
progressBar.setProgress(progress);
if (progress == 100) {
progressBar.animate().alpha(0f)
.withEndAction(() -> Views.setGone(progressBar));
}
footerCoordinator.show(progress);
}
public String getStringExtra(@NonNull String name) {
String extra = getIntent().getStringExtra(name);
return extra != null ? extra : Strings.EMPTY;
}
public static Intent intent(@NonNull Context context, @NonNull String link) {
return intent(context, link, Analytics.Param.FEEDS);
}
public static Intent intent(@NonNull Context context, @NonNull String link, @NonNull String from) {
Intent intent = new Intent(context, SummaryActivity.class);
intent.putExtra(LINK, link);
intent.putExtra(FROM, from);
return intent;
}
}