Fixed a bug with dialog theme declared in manifest messing up tag settings activity on phones

pull/14/head
Sam Bosley 12 years ago
parent 472288b1b9
commit b5f5259366

@ -355,6 +355,8 @@
<activity android:name="com.todoroo.astrid.actfm.TagCreateActivity" <activity android:name="com.todoroo.astrid.actfm.TagCreateActivity"
android:theme="@android:style/Theme.Dialog"/> android:theme="@android:style/Theme.Dialog"/>
<activity android:name="com.todoroo.astrid.actfm.TagSettingsActivity" <activity android:name="com.todoroo.astrid.actfm.TagSettingsActivity"
android:windowSoftInputMode="stateHidden"/>
<activity android:name="com.todoroo.astrid.actfm.TagSettingsActivityTablet"
android:windowSoftInputMode="stateHidden" android:windowSoftInputMode="stateHidden"
android:theme="@style/Theme.Dialog"/> android:theme="@style/Theme.Dialog"/>
<activity android:name="com.todoroo.astrid.actfm.TagUpdatesActivity" <activity android:name="com.todoroo.astrid.actfm.TagUpdatesActivity"

@ -0,0 +1,9 @@
package com.todoroo.astrid.actfm;
public class TagSettingsActivityTablet extends TagSettingsActivity {
/**
* This class exists for the sole purpose of being declared separately in the manifest
* so that we don't get crazy bugs with it being Dialog Theme on tablets and normal theme
* on phones.
*/
}

@ -125,11 +125,13 @@ public class TagViewFragment extends TaskListFragment {
private final OnClickListener settingsListener = new OnClickListener() { private final OnClickListener settingsListener = new OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Intent intent = new Intent(getActivity(), TagSettingsActivity.class); Activity activity = getActivity();
Class<?> settingsClass = AndroidUtilities.isTabletSized(activity) ? TagSettingsActivityTablet.class : TagSettingsActivity.class;
Intent intent = new Intent(getActivity(), settingsClass);
intent.putExtra(EXTRA_TAG_DATA, tagData); intent.putExtra(EXTRA_TAG_DATA, tagData);
startActivityForResult(intent, REQUEST_CODE_SETTINGS); startActivityForResult(intent, REQUEST_CODE_SETTINGS);
if (!AndroidUtilities.isTabletSized(getActivity())) { if (!AndroidUtilities.isTabletSized(activity)) {
AndroidUtilities.callOverridePendingTransition(getActivity(), R.anim.slide_left_in, R.anim.slide_left_out); AndroidUtilities.callOverridePendingTransition(activity, R.anim.slide_left_in, R.anim.slide_left_out);
} }
} }
}; };

@ -4,7 +4,9 @@ import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.actfm.TagSettingsActivity; import com.todoroo.astrid.actfm.TagSettingsActivity;
import com.todoroo.astrid.actfm.TagSettingsActivityTablet;
import com.todoroo.astrid.api.Addon; import com.todoroo.astrid.api.Addon;
import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridApiConstants;
@ -29,7 +31,8 @@ public class TagsPlugin extends BroadcastReceiver {
* @param activity * @param activity
*/ */
public static Intent newTagDialog(Context context) { public static Intent newTagDialog(Context context) {
Intent intent = new Intent(context, TagSettingsActivity.class); Class<?> settingsComponent = AndroidUtilities.isTabletSized(context) ? TagSettingsActivityTablet.class : TagSettingsActivity.class;
Intent intent = new Intent(context, settingsComponent);
return intent; return intent;
} }

Loading…
Cancel
Save