mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
Use callback pattern in Welcome activity/adapter.
This commit is contained in:
parent
8656098dc5
commit
040789ca2e
2 changed files with 29 additions and 9 deletions
|
|
@ -13,6 +13,7 @@ public class WelcomeActivity extends BaseActivity {
|
||||||
|
|
||||||
@BindView(R.id.welcomePager) ViewPager pager;
|
@BindView(R.id.welcomePager) ViewPager pager;
|
||||||
@BindView(R.id.welcomePagerIndicator) CirclePageIndicator indicator;
|
@BindView(R.id.welcomePagerIndicator) CirclePageIndicator indicator;
|
||||||
|
private WelcomePagerAdapter adapter = new WelcomePagerAdapter();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
|
|
@ -24,11 +25,19 @@ public class WelcomeActivity extends BaseActivity {
|
||||||
}
|
}
|
||||||
ButterKnife.bind(this);
|
ButterKnife.bind(this);
|
||||||
|
|
||||||
setUpAdapter();
|
pager.setAdapter(adapter);
|
||||||
|
indicator.setViewPager(pager);
|
||||||
|
adapter.setCallback(new WelcomePagerAdapter.Callback() {
|
||||||
|
@Override
|
||||||
|
public void onYesClicked() {
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setUpAdapter() {
|
@Override
|
||||||
pager.setAdapter(new WelcomePagerAdapter());
|
public void onDestroy() {
|
||||||
indicator.setViewPager(pager);
|
adapter.setCallback(null);
|
||||||
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package fr.free.nrw.commons;
|
package fr.free.nrw.commons;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.support.annotation.Nullable;
|
||||||
import android.support.v4.view.PagerAdapter;
|
import android.support.v4.view.PagerAdapter;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
@ -11,6 +11,11 @@ import butterknife.OnClick;
|
||||||
|
|
||||||
public class WelcomePagerAdapter extends PagerAdapter {
|
public class WelcomePagerAdapter extends PagerAdapter {
|
||||||
private static final int PAGE_FINAL = 4;
|
private static final int PAGE_FINAL = 4;
|
||||||
|
private Callback callback;
|
||||||
|
|
||||||
|
public interface Callback {
|
||||||
|
void onYesClicked();
|
||||||
|
}
|
||||||
|
|
||||||
static final int[] PAGE_LAYOUTS = new int[]{
|
static final int[] PAGE_LAYOUTS = new int[]{
|
||||||
R.layout.welcome_wikipedia,
|
R.layout.welcome_wikipedia,
|
||||||
|
|
@ -20,6 +25,10 @@ public class WelcomePagerAdapter extends PagerAdapter {
|
||||||
R.layout.welcome_final
|
R.layout.welcome_final
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public void setCallback(@Nullable Callback callback) {
|
||||||
|
this.callback = callback;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getCount() {
|
public int getCount() {
|
||||||
return PAGE_LAYOUTS.length;
|
return PAGE_LAYOUTS.length;
|
||||||
|
|
@ -48,14 +57,16 @@ public class WelcomePagerAdapter extends PagerAdapter {
|
||||||
container.removeView((View) obj);
|
container.removeView((View) obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ViewHolder {
|
class ViewHolder {
|
||||||
public ViewHolder(View view) {
|
ViewHolder(View view) {
|
||||||
ButterKnife.bind(this, view);
|
ButterKnife.bind(this, view);
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnClick(R.id.welcomeYesButton)
|
@OnClick(R.id.welcomeYesButton)
|
||||||
void onClicked(View view) {
|
void onClicked() {
|
||||||
((Activity) view.getContext()).finish();
|
if (callback != null) {
|
||||||
|
callback.onYesClicked();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue