// Path: src/main/java/de/fahrgemeinschaft/ContactProvider.java
// public static final class CONTACT {
//     public static final String USER = "user";
//     public static final String EMAIL = "Email";
//     public static final String PLATE = "NumberPlate";
//     public static final String MOBILE = "Mobile";
//     public static final String LANDLINE = "Landline";
// }
// 
// Path: src/main/java/de/fahrgemeinschaft/util/EditTextImageButton.java
// public interface TextListener {
//     public void onTextChange(String key, String text);
// }
// 
// Path: src/main/java/de/fahrgemeinschaft/util/PrivacyImageButton.java
// public class PrivacyImageButton extends EditTextImageButton
//                 implements OnClickListener {
// 
//     static final String android = "http://schemas.android.com/apk/res/android";
// 
// 
//     private int privacy;
//     private int imageResId;
//     private PrivacyListener privacyListener;
// 
// 
//     public PrivacyImageButton(Context context, AttributeSet attrs) {
//         super(context, attrs);
//         setImageResource(attrs.getAttributeResourceValue(
//                 android, SRC, R.drawable.icn_dropdown));
//         icon.setOnClickListener(this);
//     }
// 
//     public void setImageResource(int resourceId) {
//         imageResId = resourceId;
//         setVisibility(privacy);
//     }
// 
//     public int getPrivacy() {
//         return privacy;
//     }
// 
//     public void setPrivacy(int privacy) {
//         this.privacy = privacy;
//         switch (privacy) {
//         case 1:
//             text.setEnabled(true);
//             drawIcons(R.drawable.icn_visibility_anyone);
//             break;
//         case 4:
//             text.setEnabled(true);
//             drawIcons(R.drawable.icn_visibility_members);
//             break;
//         case 0:
//             text.setEnabled(true);
//             drawIcons(R.drawable.icn_visibility_request);
//             break;
//         case 5:
//             text.setEnabled(false);
//             drawIcons(R.drawable.icn_visibility_none);
//             break;
//         }
//     }
// 
//     @Override
//     public void onClick(View v) {
//         AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
//         builder.setTitle(getResources().getString(R.string.visibility));
//         builder.setItems(R.array.visibility,
//                 new DialogInterface.OnClickListener() {
//             
//             @Override   // must match @array/visibility in strings.xml
//             public void onClick(DialogInterface dialog, int click_idx) {
//                 switch (click_idx) {
//                 case 0: // anyone
//                     setPrivacy(1);
//                     break;
//                 case 1: // members
//                     setPrivacy(4);
//                     break;
//                 case 2: // request
//                     setPrivacy(0);
//                     break;
//                 case 3: // none
//                     setPrivacy(5);
//                     break;
//                 }
//                 if (privacyListener != null)
//                     privacyListener.onPrivacyChange(key, privacy);
//             }
//         }).show();
//     }
// 
//     private void drawIcons(int resId) {
//         icon.setImageDrawable(new LayerDrawable(new Drawable[] {
//                 getResources().getDrawable(imageResId),
//                 getResources().getDrawable(resId)
//         }));
//     }
// 
//     public void setPrivacyListener(String key, PrivacyListener listener) {
//         this.privacyListener = listener;
//         this.key = key;
//     }
// 
//     public interface PrivacyListener {
//         public void onPrivacyChange(String key, int visibility);
//     }
// }
// 
// Path: src/main/java/de/fahrgemeinschaft/util/PrivacyImageButton.java
// public interface PrivacyListener {
//     public void onPrivacyChange(String key, int visibility);
// }


import org.json.JSONException;
import org.json.JSONObject;
import org.teleportr.Ride;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.actionbarsherlock.app.SherlockFragment;
import de.fahrgemeinschaft.ContactProvider.CONTACT;
import de.fahrgemeinschaft.util.EditTextImageButton.TextListener;
import de.fahrgemeinschaft.util.PrivacyImageButton;
import de.fahrgemeinschaft.util.PrivacyImageButton.PrivacyListener;
            else setPublic(email, p, CONTACT.EMAIL);
            if (!p.isNull(CONTACT.LANDLINE))
                land.setPrivacy(p.getInt(CONTACT.LANDLINE));
            else setPublic(land, p, CONTACT.LANDLINE);
            if (!p.isNull(CONTACT.MOBILE))
                mobile.setPrivacy(p.getInt(CONTACT.MOBILE));
            else setPublic(mobile, p, CONTACT.MOBILE);
            if (!p.isNull(CONTACT.PLATE))
                plate.setPrivacy(p.getInt(CONTACT.PLATE));
            else setPublic(plate, p, CONTACT.PLATE);
            if (!p.isNull(NAME)) name.setPrivacy(p.getInt(NAME));
            else setPublic(name, p, NAME);
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    private void setPublic(PrivacyImageButton btn, JSONObject p, String key)
            throws JSONException {
        btn.setPrivacy(1);
        p.put(key, 1);
    }

    @Override
    public void onTextChange(String key, String text) {
        Ride ride = ((EditRideActivity)getActivity()).ride;
        try {
            ride.getDetails().put(key, text);
            prefs.edit().putString(key, text).commit();
        } catch (JSONException e) {
// Path: src/main/java/de/fahrgemeinschaft/ContactProvider.java
// public static final class CONTACT {
//     public static final String USER = "user";
//     public static final String EMAIL = "Email";
//     public static final String PLATE = "NumberPlate";
//     public static final String MOBILE = "Mobile";
//     public static final String LANDLINE = "Landline";
// }
// 
// Path: src/main/java/de/fahrgemeinschaft/util/EditTextImageButton.java
// public interface TextListener {
//     public void onTextChange(String key, String text);
// }
// 
// Path: src/main/java/de/fahrgemeinschaft/util/PrivacyImageButton.java
// public class PrivacyImageButton extends EditTextImageButton
//                 implements OnClickListener {
// 
//     static final String android = "http://schemas.android.com/apk/res/android";
// 
// 
//     private int privacy;
//     private int imageResId;
//     private PrivacyListener privacyListener;
// 
// 
//     public PrivacyImageButton(Context context, AttributeSet attrs) {
//         super(context, attrs);
//         setImageResource(attrs.getAttributeResourceValue(
//                 android, SRC, R.drawable.icn_dropdown));
//         icon.setOnClickListener(this);
//     }
// 
//     public void setImageResource(int resourceId) {
//         imageResId = resourceId;
//         setVisibility(privacy);
//     }
// 
//     public int getPrivacy() {
//         return privacy;
//     }
// 
//     public void setPrivacy(int privacy) {
//         this.privacy = privacy;
//         switch (privacy) {
//         case 1:
//             text.setEnabled(true);
//             drawIcons(R.drawable.icn_visibility_anyone);
//             break;
//         case 4:
//             text.setEnabled(true);
//             drawIcons(R.drawable.icn_visibility_members);
//             break;
//         case 0:
//             text.setEnabled(true);
//             drawIcons(R.drawable.icn_visibility_request);
//             break;
//         case 5:
//             text.setEnabled(false);
//             drawIcons(R.drawable.icn_visibility_none);
//             break;
//         }
//     }
// 
//     @Override
//     public void onClick(View v) {
//         AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
//         builder.setTitle(getResources().getString(R.string.visibility));
//         builder.setItems(R.array.visibility,
//                 new DialogInterface.OnClickListener() {
//             
//             @Override   // must match @array/visibility in strings.xml
//             public void onClick(DialogInterface dialog, int click_idx) {
//                 switch (click_idx) {
//                 case 0: // anyone
//                     setPrivacy(1);
//                     break;
//                 case 1: // members
//                     setPrivacy(4);
//                     break;
//                 case 2: // request
//                     setPrivacy(0);
//                     break;
//                 case 3: // none
//                     setPrivacy(5);
//                     break;
//                 }
//                 if (privacyListener != null)
//                     privacyListener.onPrivacyChange(key, privacy);
//             }
//         }).show();
//     }
// 
//     private void drawIcons(int resId) {
//         icon.setImageDrawable(new LayerDrawable(new Drawable[] {
//                 getResources().getDrawable(imageResId),
//                 getResources().getDrawable(resId)
//         }));
//     }
// 
//     public void setPrivacyListener(String key, PrivacyListener listener) {
//         this.privacyListener = listener;
//         this.key = key;
//     }
// 
//     public interface PrivacyListener {
//         public void onPrivacyChange(String key, int visibility);
//     }
// }
// 
// Path: src/main/java/de/fahrgemeinschaft/util/PrivacyImageButton.java
// public interface PrivacyListener {
//     public void onPrivacyChange(String key, int visibility);
// }


// Path: src/main/java/de/fahrgemeinschaft/EditRideFragment3.java
import org.json.JSONException;
import org.json.JSONObject;
import org.teleportr.Ride;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.actionbarsherlock.app.SherlockFragment;
import de.fahrgemeinschaft.ContactProvider.CONTACT;
import de.fahrgemeinschaft.util.EditTextImageButton.TextListener;
import de.fahrgemeinschaft.util.PrivacyImageButton;
import de.fahrgemeinschaft.util.PrivacyImageButton.PrivacyListener;

            else setPublic(email, p, CONTACT.EMAIL);
            if (!p.isNull(CONTACT.LANDLINE))
                land.setPrivacy(p.getInt(CONTACT.LANDLINE));
            else setPublic(land, p, CONTACT.LANDLINE);
            if (!p.isNull(CONTACT.MOBILE))
                mobile.setPrivacy(p.getInt(CONTACT.MOBILE));
            else setPublic(mobile, p, CONTACT.MOBILE);
            if (!p.isNull(CONTACT.PLATE))
                plate.setPrivacy(p.getInt(CONTACT.PLATE));
            else setPublic(plate, p, CONTACT.PLATE);
            if (!p.isNull(NAME)) name.setPrivacy(p.getInt(NAME));
            else setPublic(name, p, NAME);
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    private void setPublic(PrivacyImageButton btn, JSONObject p, String key)
            throws JSONException {
        btn.setPrivacy(1);
        p.put(key, 1);
    }

    @Override
    public void onTextChange(String key, String text) {
        Ride ride = ((EditRideActivity)getActivity()).ride;
        try {
            ride.getDetails().put(key, text);
            prefs.edit().putString(key, text).commit();
        } catch (JSONException e) {
            e.printStackTrace();