diff --git a/embedding/android/GeckoApp.java b/embedding/android/GeckoApp.java index e848841a6b5..8605f1dd6f7 100644 --- a/embedding/android/GeckoApp.java +++ b/embedding/android/GeckoApp.java @@ -605,8 +605,9 @@ abstract public class GeckoApp void showTabs() { Intent intent = new Intent(mAppContext, TabsTray.class); - intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION | Intent.FLAG_ACTIVITY_NO_HISTORY); + intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); startActivity(intent); + overridePendingTransition(R.anim.grow_fade_in, 0); } public static void registerOnTabsChangedListener(OnTabsChangedListener listener) { diff --git a/embedding/android/Makefile.in b/embedding/android/Makefile.in index 4ab8263c5da..36bda8e9841 100644 --- a/embedding/android/Makefile.in +++ b/embedding/android/Makefile.in @@ -162,6 +162,11 @@ RES_VALUES = \ RES_XML = res/xml/preferences.xml +RES_ANIM = \ + res/anim/grow_fade_in.xml \ + res/anim/shrink_fade_out.xml \ + $(NULL) + AB_rCD = $(shell echo $(AB_CD) | sed -e s/-/-r/) JAVA_CLASSPATH = $(ANDROID_SDK)/android.jar @@ -274,10 +279,14 @@ $(RES_XML): $(subst res/,$(srcdir)/resources/,$(RES_XML)) $(NSINSTALL) -D res/xml $(NSINSTALL) $(srcdir)/resources/xml/* res/xml/ -R.java: $(MOZ_APP_ICON) $(RES_LAYOUT) $(RES_DRAWABLE) $(RES_VALUES) $(RES_XML) res/drawable/icon.png res/drawable-hdpi/icon.png res/values/strings.xml AndroidManifest.xml +$(RES_ANIM)): $(subst res/,$(srcdir)/resources/,$(RES_ANIM)) + $(NSINSTALL) -D res/anim + $(NSINSTALL) $(srcdir)/resources/anim/* res/anim/ + +R.java: $(MOZ_APP_ICON) $(RES_LAYOUT) $(RES_DRAWABLE) $(RES_VALUES) $(RES_XML) $(RES_ANIM) res/drawable/icon.png res/drawable-hdpi/icon.png res/values/strings.xml AndroidManifest.xml $(AAPT) package -f -M AndroidManifest.xml -I $(ANDROID_SDK)/android.jar -S res -J . --custom-package org.mozilla.gecko -gecko.ap_: AndroidManifest.xml res/drawable/icon.png res/drawable-hdpi/icon.png $(RES_LAYOUT) $(RES_DRAWABLE) $(RES_VALUES) $(RES_XML) res/values/strings.xml FORCE +gecko.ap_: AndroidManifest.xml res/drawable/icon.png res/drawable-hdpi/icon.png $(RES_LAYOUT) $(RES_DRAWABLE) $(RES_VALUES) $(RES_XML) $(RES_ANIM) res/values/strings.xml FORCE $(AAPT) package -f -M AndroidManifest.xml -I $(ANDROID_SDK)/android.jar -S res -F $@ res/values/strings.xml: $(DEFAULT_BRANDPATH) $(DEFAULT_STRINGSPATH) $(srcdir)/strings.xml.in diff --git a/embedding/android/TabsTray.java b/embedding/android/TabsTray.java index 1514b0d38f2..5a16c7462a7 100644 --- a/embedding/android/TabsTray.java +++ b/embedding/android/TabsTray.java @@ -78,7 +78,7 @@ public class TabsTray extends Activity implements GeckoApp.OnTabsChangedListener addTab.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { GeckoApp.mAppContext.addTab(); - finish(); + finishActivity(); } }); @@ -92,7 +92,7 @@ public class TabsTray extends Activity implements GeckoApp.OnTabsChangedListener LinearLayout container = (LinearLayout) findViewById(R.id.container); container.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { - finish(); + finishActivity(); } }); @@ -108,12 +108,17 @@ public class TabsTray extends Activity implements GeckoApp.OnTabsChangedListener public void onTabsChanged() { if (Tabs.getInstance().getCount() == 1) - finish(); + finishActivity(); mTabsAdapter = new TabsAdapter(this, Tabs.getInstance().getTabsInOrder()); mList.setAdapter(mTabsAdapter); } + void finishActivity() { + finish(); + overridePendingTransition(0, R.anim.shrink_fade_out); + } + // Adapter to bind tabs into a list private class TabsAdapter extends BaseAdapter { public TabsAdapter(Context context, ArrayList tabs) { @@ -153,7 +158,7 @@ public class TabsTray extends Activity implements GeckoApp.OnTabsChangedListener info.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { GeckoAppShell.sendEventToGecko(new GeckoEvent("Tab:Select", "" + v.getTag())); - finish(); + finishActivity(); } }); diff --git a/embedding/android/resources/anim/grow_fade_in.xml b/embedding/android/resources/anim/grow_fade_in.xml new file mode 100644 index 00000000000..8f0dd6b5f24 --- /dev/null +++ b/embedding/android/resources/anim/grow_fade_in.xml @@ -0,0 +1,17 @@ + + + + + + + + diff --git a/embedding/android/resources/anim/shrink_fade_out.xml b/embedding/android/resources/anim/shrink_fade_out.xml new file mode 100644 index 00000000000..17ae897d318 --- /dev/null +++ b/embedding/android/resources/anim/shrink_fade_out.xml @@ -0,0 +1,17 @@ + + + + + + + +