/** * galaxy inc. * meetup client for android */ package com.galaxy.meetup.client.android.ui.fragments; import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; import android.app.Activity; import android.app.Dialog; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; import android.view.ContextThemeWrapper; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.ListView; import com.galaxy.meetup.client.android.R; import com.galaxy.meetup.client.android.ui.view.CheckableListItemView; import com.galaxy.meetup.client.android.ui.view.CircleListItemView; /** * * @author sihai * */ public class CircleSubscriptionsDialog extends AlertFragmentDialog implements OnClickListener, OnItemClickListener { private static CheckableListItemView.OnItemCheckedChangeListener mOnCheckedListener = new CheckableListItemView.OnItemCheckedChangeListener() { public final void onItemCheckedChanged(CheckableListItemView checkablelistitemview, boolean flag) { CircleInfo circleinfo = (CircleInfo)checkablelistitemview.getTag(); byte byte0; if(flag) byte0 = 4; else byte0 = 2; circleinfo.setVolume(byte0); } }; private ArrayList mCircleInfo; private ContextThemeWrapper mThemeContext; public CircleSubscriptionsDialog() { } private static ArrayList getCircleInfo(Bundle bundle) { return (ArrayList)bundle.getSerializable("circle_info"); } public static CircleSubscriptionsDialog newInstance$51fb5134(ArrayList arraylist) { CircleSubscriptionsDialog circlesubscriptionsdialog = new CircleSubscriptionsDialog(); Bundle bundle = new Bundle(); bundle.putSerializable("circle_info", arraylist); circlesubscriptionsdialog.setArguments(bundle); return circlesubscriptionsdialog; } public final void onAttach(Activity activity) { super.onAttach(activity); mThemeContext = new ContextThemeWrapper(activity, R.style.CircleSubscriptionList); } public void onCancel(DialogInterface dialoginterface) { dialoginterface.dismiss(); } public void onClick(DialogInterface dialoginterface, int i) { if(-2 == i) { dialoginterface.dismiss(); } else if(-1 == i) { HashMap hashmap = new HashMap(); int j = mCircleInfo.size(); for(int k = 0; k < j; k++) { CircleInfo circleinfo = (CircleInfo)mCircleInfo.get(k); if(circleinfo.isVolumeChanged()) hashmap.put(circleinfo.getId(), Integer.valueOf(circleinfo.getVolume())); } if(hashmap.size() != 0) { ((HostedStreamFragment)getTargetFragment()).doCircleSubscriptions(hashmap); return; } dialoginterface.dismiss(); } } public final void onCreate(Bundle bundle) { super.onCreate(bundle); if(bundle != null) mCircleInfo = getCircleInfo(bundle); } public final Dialog onCreateDialog(Bundle bundle) { View view; final boolean flag; ListView listview; android.app.AlertDialog.Builder builder; if(bundle != null) mCircleInfo = getCircleInfo(bundle); else mCircleInfo = getCircleInfo(getArguments()); final LayoutInflater layoutinflater = LayoutInflater.from(mThemeContext); view = layoutinflater.inflate(R.layout.circle_subscriptions_dialog, null); if(mThemeContext.getResources().getConfiguration().orientation == 2) flag = true; else flag = false; if(flag) view.findViewById(R.id.message).setVisibility(8); listview = (ListView)view.findViewById(R.id.list); listview.setOnItemClickListener(this); listview.setAdapter(new ArrayAdapter(mThemeContext, 0, mCircleInfo) { public final int getCount() { int i = super.getCount(); if(flag) i++; return i; } public final int getItemViewType(int i) { int j = 1; if(i == 0 && flag) j = 0; return j; } public final View getView(int i, View view1, ViewGroup viewgroup) { boolean flag1 = true; if(flag) { ; } else { if(i != 0) { i--; } else { return layoutinflater.inflate(R.layout.circle_subscriptions_dialog_message, null); } } View view = new CircleListItemView(mThemeContext); ((CircleListItemView) (view)).setOnItemCheckedChangeListener(CircleSubscriptionsDialog.mOnCheckedListener); ((CircleListItemView) (view)).setAvatarStripVisible(false); ((CircleListItemView) (view)).setCheckBoxVisible(flag1); ((CircleListItemView) (view)).updateContentDescription(); CircleInfo circleinfo = (CircleInfo)mCircleInfo.get(i); ((CircleListItemView) (view)).setTag(circleinfo); ((CircleListItemView) (view)).setCircle(circleinfo.getId(), 1, circleinfo.getName(), circleinfo.getMemberCount(), false); if(circleinfo.getVolume() != 4) flag1 = false; ((CircleListItemView) (view)).setChecked(flag1); return view; } public final int getViewTypeCount() { byte byte0; if(flag) byte0 = 2; else byte0 = 1; return byte0; } }); builder = new android.app.AlertDialog.Builder(mThemeContext); builder.setTitle(getString(R.string.circle_subscriptions_dialog_title)); builder.setPositiveButton(0x104000a, this); builder.setNegativeButton(0x1040000, this); builder.setCancelable(true); builder.setView(view); return builder.create(); } public void onItemClick(AdapterView adapterview, View view, int i, long l) { ((CircleListItemView)view).toggle(); } public final void onSaveInstanceState(Bundle bundle) { super.onSaveInstanceState(bundle); bundle.putSerializable("circle_info", mCircleInfo); } public static final class CircleInfo implements Serializable { private String mId; private int mMemberCount; private String mName; private int mOriginalVolume; private int mVolume; public CircleInfo(String s, String s1, int i, int j) { mId = s; mName = s1; mMemberCount = i; mOriginalVolume = j; mVolume = j; } public final String getId() { return mId; } public final int getMemberCount() { return mMemberCount; } public final String getName() { return mName; } public final int getVolume() { return mVolume; } public final boolean isVolumeChanged() { boolean flag; if(mVolume != mOriginalVolume) flag = true; else flag = false; return flag; } public final void setVolume(int i) { mVolume = i; } public final String toString() { return (new StringBuilder("{")).append(mId).append(", \"").append(mName).append("\", +").append(mMemberCount).append(", @").append(mVolume).append("}").toString(); } } }