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"
android:theme="@android:style/Theme.Dialog"/>
<activity android:name="com.todoroo.astrid.actfm.TagSettingsActivity"
android:windowSoftInputMode="stateHidden"/>
<activity android:name="com.todoroo.astrid.actfm.TagSettingsActivityTablet"
android:windowSoftInputMode="stateHidden"
android:theme="@style/Theme.Dialog"/>
<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() {
@Override
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);
startActivityForResult(intent, REQUEST_CODE_SETTINGS);
if (!AndroidUtilities.isTabletSized(getActivity())) {
AndroidUtilities.callOverridePendingTransition(getActivity(), R.anim.slide_left_in, R.anim.slide_left_out);
if (!AndroidUtilities.isTabletSized(activity)) {
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.Intent;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.astrid.actfm.TagSettingsActivity;
import com.todoroo.astrid.actfm.TagSettingsActivityTablet;
import com.todoroo.astrid.api.Addon;
import com.todoroo.astrid.api.AstridApiConstants;
@ -29,7 +31,8 @@ public class TagsPlugin extends BroadcastReceiver {
* @param activity
*/
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;
}

Loading…
Cancel
Save