package edu.stanford.cs.sujogger.viewer; import android.app.ListActivity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.os.Bundle; import android.util.Log; import android.widget.LinearLayout; import android.widget.LinearLayout.LayoutParams; import edu.stanford.cs.gaming.sdk.model.AppResponse; import edu.stanford.cs.gaming.sdk.model.User; import edu.stanford.cs.gaming.sdk.service.GamingServiceConnection; import edu.stanford.cs.sujogger.R; import edu.stanford.cs.sujogger.db.DatabaseHelper; import edu.stanford.cs.sujogger.db.GPStracking.Users; import edu.stanford.cs.sujogger.util.Common; import edu.stanford.cs.sujogger.util.Constants; import edu.stanford.cs.sujogger.util.SegmentedControl; import edu.stanford.cs.sujogger.util.SeparatedListAdapter; public class UserDetail extends ListActivity { private static final String TAG = "OGT.UserDetail"; private long mUserId; private Cursor mUser; private DatabaseHelper mDbHelper; private SeparatedListAdapter mGroupedAdapter; private int mDisplayMode; private GamingServiceConnection mGameCon; private UserDetailReceiver mReceiver; // Display modes private static final int DISP_GROUPS = 0; private static final int DISP_TRACKS = 1; // Request IDs private static final int GRP_GET_RID = 1; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Common.log(TAG, "onCreate()"); mUserId = savedInstanceState != null ? savedInstanceState.getLong(Users.USER_ID) : 0; if (mUserId == 0) { Bundle extras = getIntent().getExtras(); mUserId = extras != null ? extras.getLong(Users.USER_ID) : 0; } mDbHelper = new DatabaseHelper(this); mDbHelper.openAndGetDb(); mReceiver = new UserDetailReceiver(); mGameCon = new GamingServiceConnection(this, mReceiver, Constants.APP_ID, Constants.APP_API_KEY, UserDetail.class.toString()); mGameCon.bind(); User user = Common.getRegisteredUser(this); mGameCon.setUserId(user.id, user.fb_id, user.fb_token); LinearLayout bottomControlBar = (LinearLayout)findViewById(R.id.bottom_control_bar); bottomControlBar.addView(new SegmentedControl(this, new String[] {"Groups", "Tracks"}, mDisplayMode, new SegmentedControl.SegmentedControlListener() { public void onValueChanged(int newValue) { } }), new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); fillData(); } private void fillData() { } class UserDetailReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { try { AppResponse appResponse = null; while ((appResponse = mGameCon.getNextPendingNotification()) != null) { Common.log(TAG, appResponse.toString()); switch (appResponse.request_id) { case GRP_GET_RID: default: break; } } } catch (Exception e) { e.printStackTrace(); } } } }