Skip to content

Commit

Permalink
Link with Chapters in Pulse drill-down.
Browse files Browse the repository at this point in the history
  • Loading branch information
mauimauer committed Aug 21, 2013
1 parent cbaaf10 commit 430b6d3
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,6 @@ public void onPageScrollStateChanged(int i) {
}
});



mDrawerAdapter = new DrawerAdapter(this);
mDrawerContent.setAdapter(mDrawerAdapter);
mDrawerContent.setOnItemClickListener(new AdapterView.OnItemClickListener() {
Expand Down Expand Up @@ -207,12 +205,8 @@ public void onResponse(final Directory directory) {
@Override
public void onPutIntoCache() {
ArrayList<Chapter> chapters = directory.getGroups();
addChapters(chapters);

mViewPagerAdapter.setSelectedChapter(chapters.get(0));

mViewPager.setAdapter(mViewPagerAdapter);
mIndicator.setViewPager(mViewPager);
initChapters(chapters);
}
});
}
Expand All @@ -231,11 +225,7 @@ public void onErrorResponse(VolleyError volleyError) {
@Override
public void onGet(Object item) {
Directory directory = (Directory)item;

addChapters(directory.getGroups());
mViewPagerAdapter.setSelectedChapter(directory.getGroups().get(0));
mViewPager.setAdapter(mViewPagerAdapter);
mIndicator.setViewPager(mViewPager);
initChapters(directory.getGroups());
}

@Override
Expand All @@ -249,10 +239,7 @@ public void onNotFound(String key) {
@Override
public void onGet(Object item) {
Directory directory = (Directory)item;
addChapters(directory.getGroups());
mViewPagerAdapter.setSelectedChapter(directory.getGroups().get(0));
mViewPager.setAdapter(mViewPagerAdapter);
mIndicator.setViewPager(mViewPager);
initChapters(directory.getGroups());
}

@Override
Expand Down Expand Up @@ -297,6 +284,29 @@ public void onNotFound(String key) {
}
}

private void initChapters(ArrayList<Chapter> chapters) {
addChapters(chapters);
Chapter chapter = null;

if(getIntent().hasExtra("org.gdg.frisbee.CHAPTER")) {
String chapterId = getIntent().getStringExtra("org.gdg.frisbee.CHAPTER");
for(Chapter c : chapters) {
if(c.getGplusId().equals(chapterId)) {
chapter = c;
break;
}
}
if(chapter == null)
chapter = chapters.get(0);
} else {
chapter = chapters.get(0);
}

getSupportActionBar().setSelectedNavigationItem(mSpinnerAdapter.getPosition(chapter));
mViewPager.setAdapter(mViewPagerAdapter);
mIndicator.setViewPager(mViewPager);
}

private void trackViewPagerPage(int position) {
if(mViewPager == null || mViewPagerAdapter.getSelectedChapter() == null)
return;
Expand Down Expand Up @@ -449,7 +459,7 @@ protected void onSaveInstanceState(Bundle outState) {
public boolean onNavigationItemSelected(int position, long l) {
Chapter previous = mViewPagerAdapter.getSelectedChapter();
mViewPagerAdapter.setSelectedChapter(mSpinnerAdapter.getItem(position));
if(!previous.equals(mSpinnerAdapter.getItem(position))) {
if(previous == null || !previous.equals(mSpinnerAdapter.getItem(position))) {
Log.d(LOG_TAG, "Switching chapter!");
mViewPagerAdapter.notifyDataSetChanged();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

package org.gdg.frisbee.android.fragment;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
Expand All @@ -27,11 +28,13 @@
import de.keyboardsurfer.android.widget.crouton.Crouton;
import de.keyboardsurfer.android.widget.crouton.Style;
import org.gdg.frisbee.android.R;
import org.gdg.frisbee.android.activity.MainActivity;
import org.gdg.frisbee.android.activity.PulseActivity;
import org.gdg.frisbee.android.adapter.PulseAdapter;
import org.gdg.frisbee.android.api.ApiRequest;
import org.gdg.frisbee.android.api.GroupDirectory;
import org.gdg.frisbee.android.api.model.Pulse;
import org.gdg.frisbee.android.api.model.PulseEntry;
import org.gdg.frisbee.android.app.App;
import org.gdg.frisbee.android.cache.ModelCache;
import org.joda.time.DateTime;
Expand Down Expand Up @@ -147,13 +150,17 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa

@Override
public void onListItemClick(ListView l, View v, int position, long id) {
if(mTarget.equals("Global")) {
Map.Entry<String, Pulse> pulse = (Map.Entry<String, Pulse>) mAdapter.getItem(position);
Map.Entry<String, PulseEntry> pulse = (Map.Entry<String, PulseEntry>) mAdapter.getItem(position);

if(mTarget.equals("Global")) {
if(getActivity() instanceof PulseActivity) {
PulseActivity activity = (PulseActivity) getActivity();
activity.onNavigationItemSelected(activity.getPulseTargets().indexOf(pulse.getKey()),0);
}
} else {
Intent chapterIntent = new Intent(getActivity(), MainActivity.class);
chapterIntent.putExtra("org.gdg.frisbee.CHAPTER", pulse.getValue().getId());
startActivity(chapterIntent);
}
}
}

0 comments on commit 430b6d3

Please sign in to comment.