Go indoors with Google Maps 6.0 for Android

Google Maps for mobile had its sixth birthday earlier this month and we’re celebrating by releasing the next generation of Google Maps for Android, which is first to get indoor Google Maps—announced moments ago on the Official Google Blog. We also have two other great additions in this release: a new way to switch between features in the toolbar and a new Places home screen.

Mapping the vast indoors

When you’re inside an airport, shopping mall, retail store, or other public space, Google Maps 6.0 for Android brings the freestanding map directory to the palm of your hands -- helping you determine where you are, what floor you're on, and where to go indoors. For example, in this busy travel season, you can use Google Maps 6.0 to help you find your way around airports.


Detailed floor plans automatically appear when you’re viewing the map and zoomed-in on a building where indoor map data is available. The familiar “blue dot” icon indicates your location within several meters, and when you move up or down a level in a building with multiple floors, the map will automatically update to display which floor you’re on.

See the full announcement for more details or to demo indoor Google Maps, start here.


Mall of America in Minneapolis before and after, with a floor selector


San Francisco International Airport before and after, with 3D tilt

Switching between features gets easier

When you open Google Maps for Android, you can do many things: view your location on the map, discover where to go with Places, get GPS turn-by-turn directions with Navigation, check in to share your location, and more. We wanted to make it easier to hop from one feature to another; so, we’ve added a drop-down menu to the top toolbar for quick access.

New drop down menu to switch between features

We hope this menu helps you get to your favorite parts of Google Maps faster or shows you some features you haven’t tried yet.

Discovering what’s great nearby with the new Places home screen

The new Places home screen includes popular searches for your current location, so you can find the best spots in any area you travel.

Redesigned Places home screen with popular searches for your area

To start using Google Maps 6.0 for Android, download the update from Android Market. This update works for Android OS 2.1+ devices everywhere Google Maps is currently available.

Games Coming to Android Market in Korea



[This post is by Eric Chu, Android Developer Ecosystem. —Dirk Dougherty]



In the 24 months since the first Android device became available locally, Korea has quickly become one of the top countries in Android device activations. In parallel, we’ve also seen tremendous growth in app downloads from Android Market. Korea is now the second-largest consumer of apps worldwide. Today we are adding to this momentum by bringing games to Android Market in Korea.



Starting right away, Android users in Korea can explore the many thousands of popular game titles available in Android Market and download them onto their devices. For paid games, purchasing is fast and convenient through direct carrier billing, which lets users in Korea easily charge their purchases to their monthly mobile operator bills.



If you are a game developer, now is the time to localize your game resources, app descriptions, and marketing assets to take advantage of this new opportunity. When you are ready, please visit the Android Market developer console to target your app for distribution in South Korea and set prices in Korean Won (KRW). If you don’t want to distribute to Korea right away, you can also exclude it.



With the huge popularity of games on Android and the convenience of direct carrier billing in Korea, we expect to see a jump in game purchases and downloads in the weeks ahead. For game developers worldwide, it’s “game on” in Korea!

Google Catalogs is now available for Android tablets

For many of us, the arrival of piles of catalogs marks the start of the holiday shopping season. But what if you could have all your favorite catalogs in one place, with the latest issues always available at your fingertips?

Starting today, Google Catalogs is available for Android tablets, as well as the iPad, giving you a new way to shop from the comfort of your couch. With rich product images, videos, and the ability to curate your own personal collages to share with friends, Google Catalogs makes browsing your favorite mail order catalogs easy, fun and interactive.

Google Catalogs features more than 125 brands you know and love like Nordstrom, Williams-Sonoma, Nike and Sephora. The app currently has over 400 digital catalog issues to browse across categories such as mens & women’s apparel, jewelry, gifts, gourmet, toys, kids, gadgets, sports & athletics and outdoor adventure.

Download the free Google Catalogs app for Android available in the US from Android Market or the iPad from the App Store today. To learn more, visit www.google.com/catalogs.



Posted by Abigail Holtz, Business Product Manager, Google Catalogs team


Interactive weather results, now in 34 languages

Earlier this year, we introduced interactive weather information in mobile search results and now this feature is available in 33 more languages. Now when you search for ‘météo’, ‘tempo’, ‘날씨’, or ‘weather’ in your language, you’ll see the current temperature, humidity level and wind speed for your location. You’ll also get an overall forecast and the weather outlook for the next few days. To see weather conditions at various times throughout the day, move the slider across the next 12 hrs; that way you’ll know if you’ll need a light jacket in the afternoon or perhaps an umbrella in the evening.




Give it a try by searching Google for ‘weather’ in your language on your Android or iOS mobile device.

Making Android Games that Play Nice

[This post is by Ian Ni-Lewis, a Developer Advocate who devotes most of his time to making Android games more awesome. — Tim Bray]



Making a game on Android is easy. Making a great game for a mobile, multitasking, often multi-core, multi-purpose system like Android is trickier. Even the best developers frequently make mistakes in the way they interact with the Android system and with other applications
 — mistakes that don’t affect the quality of gameplay, but which affect the quality of the user’s experience in other ways.

A truly great Android game knows how to play nice: how to fit seamlessly into the system of apps, services, and UI features that run on Android devices. In this multi-part series of posts, Android Developer Relations engineers who specialize in games explain what it takes to make your game play nice.

I: The Audio Lifecycle (or, why is there music coming from my pants?)

One of the most awesome things about Android is that it can do so much stuff in the background. But when apps aren’t careful about their background behaviors, it can get annoying. Take my own personal pet peeve: game audio that doesn’t know when to quit.

The problem

I’m on the bus to work, passing the time with a great Android game. I’m completely entranced by whatever combination of birds, ropes, and ninjas is popular this week. Suddenly I panic: I’ve almost missed my stop! I leap up, quickly locking my phone as I shove it into a pocket.

I arrive breathless at my first meeting of the day. The boss, perhaps sensing my vulnerability, asks me a tough question. Not tough enough to stump me, though — I’ve got the answer to that right here on my Android phone! I whip out my phone and press the unlock button... and the room dissolves in laughter as a certain well-known game ditty blares out from the device.

The initial embarrassment is bad enough, but what’s this? I can’t even mute the thing! The phone is showing the lock screen and the volume buttons are inactive. My stress level is climbing and it takes me three tries to successfully type in my unlock code. Finally I get the thing unlocked, jam my finger on the home button and breathe a sigh of relief as the music stops. But the damage is done — my boss is glowering and for the rest of the week my co-workers make video game noises whenever they pass my desk.

What went wrong?

It’s a common mistake: the developer of the game assumed that if the game received an onResume() message, it was safe to resume audio. The problem is that onResume() doesn’t necessarily mean your app is visible — only that it’s active. In the case of a locked phone, onResume() is sent as soon as the screen turns on, even though the phone’s display is on the lock screen and the volume buttons aren’t enabled.

Fixing this is trickier than it sounds. Some games wait for onWindowFocusChanged() instead of onResume(), which works pretty well on Gingerbread. But on Honeycomb and higher, onWindowFocusChanged() is sent when certain foreground windows — like, ironically, the volume control display window — take focus. The result is that when the user changes the volume, all of the sound is muted. Not the developer’s original intent!

Waiting for onResume() and onFocusChanged() seems like a possible fix, and it works pretty well in a large number of cases. But even this approach has its Achilles’ heel. If the device falls asleep on its own, or if the user locks the phone and then immediately unlocks it, your app may not receive any focus changed messages at all.

What to do about it

Here’s the easy two-step way to avoid user embarrassment:

  1. Pause the game (and all sound effects) whenever you receive an onPause() message. When gameplay is interrupted — whether because the phone is locked, or the user received a call, or for some other reason — the game should be paused.


  2. After the game is paused, require user input to continue. The biggest mistake most game developers make is to automatically restart gameplay and audio as soon as the user returns to the game. This isn’t just a question of solving the “music over lock screen” issue. Users like to come back to a paused game. It’s no fun to switch back to a game, only to realize you’re about to die because gameplay has resumed before you expected it.


Some game designers don’t like the idea of pausing the background music when the game is paused. If you absolutely must resume music as soon as your game regains focus, then you should do the following:

  1. Pause playback when you receive onPause().


  2. When you receive onResume():

    1. If you have previously received an onFocusChanged(false) message, wait for an onFocusChanged(true) message to arrive before resuming playback.


    2. If you have not previously received an onFocusChanged(false) message, then resume audio immediately.



  3. Test thoroughly!


Fixing audio embarrassments is almost always a quick and easy process. Take the time to do it right, and your users will thank you.

The new Google Search app for iPad

(Cross posted on the Inside Search Blog)

Today, we’re very pleased to be launching a significant redesign for the Google Search app for iPad. As you can see in our video, whether you’re doing research and comparing results, or exploring beautiful imagery, we have added new features to make the app more interactive, more visual and to help you find what you want more easily.


More interactive
You’ll notice that searching is faster and more interactive from your first keystroke. As soon as you begin to type, Google Instant starts to display results, so you don’t even need to press the search button.

Once you pick a web page to visit, you’ll see the page load on a new, slide-in pane that will layer over the search results. You can slide the pane to the right to get back to your search results, and even keep scrolling through the results as your web page is loading. This allows you to go back and forth from results to web pages quickly to get the information you are looking for.

View search results on the left and a web page on the right in the slide-in pane


More visual
Viewing image results in the app is now much more vivid. Tap on any image result to use the new image carousel, which lets beautiful images shine. You’ll see the image you selected expand, and you can easily swipe through the carousel to see other similar images.

Swipe through the image carousel


Often you may be looking to find something you have seen before again or are continuing research on a topic. But on a tablet, typing can be a challenge. That is why we have created a visual way to explore your search history. Swipe right to view snapshots of pages you’ve visited, stacked and organized by search term. You can also manage your search history from this new view.

See your past searches with a new, visual history


With this release, we also brought Instant Previews to the app so you can quickly compare web pages before you choose your result. Tapping on an icon in the top right of the screen brings you into a visual preview of the pages for your search result, easy to scroll through with the swipe of a finger.

Find easily
Finally, we added a few extra features that we hope will help you find what you want more easily.

After you’ve selected a result, a new tool helps you find exactly what you need within a web page. Tap the magnifying glass on the top right-hand corner to highlight the most relevant section of the page. You can recommend pages you like with the new +1 button, right next to the magnifying glass, and help others find relevant sites more easily as well.

Helpful tools while you search


We’ve also made it easier to find and use your favorite Google services like Google News, Calendar and more in the new Apps menu. Tap on an icon to quickly read an email in Gmail, or share a post on Google+ within the slide-in pane. When you slide the pane to the right, you’ll be right back to searching.

Easily find more Google services


The app is available worldwide for iPads with iOS 4.0+. Download it in the App Store and start enjoying a faster and more interactive experience now.

Posted by Daniel Fish, Software Engineer
, Google Search app

Gmail app for iOS available in the App Store (again)


Two weeks ago, we introduced our Gmail app for iOS. Unfortunately it contained a bug which broke notifications and displayed an error message, so we removed it from the App Store. We’ve fixed the bug and notifications are now working, and the app is back in the App Store. For an overview of what’s available in the Gmail app for your iPhone, iPad or iPod touch, check out this blog post.

In the short time the app was public we received a lot of helpful feedback and feature requests. This included requests for everything from bigger features like multiple account support to customizations like improved notifications and mobile specific signatures.

We’re just getting started with the Gmail app for iOS and will be iterating rapidly to bring you more features, including all the ones listed above plus many more. Based on your comments we have already improved our handling of image HTML messages - they are now sized to fit to the screen and you can pinch to zoom in.

To try out the Gmail app today, install it from App Store on any iOS 4+ device. Those who already have the Gmail app released Nov 2 must uninstall or log out of the old app prior to installing the new app.

Updated NDK for Android 4.0

Today we are releasing an updated version of the Android NDK, now in revision 7. The updated NDK lets developers who are using native code get started with the new native APIs available in Android 4.0.

Android NDK r7 includes a number of build system improvements and bug fixes, but most importantly it gives you access to two new sets of APIs:

Low-level streaming multimedia: A new API based on Khronos OpenMAX AL 1.0.1 provides a direct, efficient path for low-level streaming multimedia. The new path is ideal for applications that need to maintain complete control over media data before passing it to the platform for presentation. For example, media applications can now retrieve data from any source, apply proprietary encryption/decryption, and then send the data to the platform for display.

Audio decoding into PCM: Extensions to the existing native audio API based on Khronos OpenSL ES let native apps decode compressed audio assets to PCM format.

For detailed information about how to use these new APIs, please see the documentation included with the Android NDK r7 package. To read about the build system improvements and bug fixes included in this release, check out the release notes.

New Layout Widgets: Space and GridLayout

[This post is by Philip Milne, who is part of the Android framework team. — Tim Bray]

Ice Cream Sandwich (ICS) sports two new widgets that have been designed to support the richer user interfaces made possible by larger displays: Space and GridLayout.

The most commonly used class for layout in Android is LinearLayout, which allows its children to be aligned in the usual ways: along either the horizontal or vertical axes. It’s often possible to take a complicated layout and break it down into a set of nested linear layouts and, provided this nesting doesn’t get too deep, this is still a good choice for many simple layouts.

A number of posts and articles (e.g. Android Layout Tricks #1, Flattening The Stack) have highlighted drawbacks of nested layouts; which fall into three basic categories:

  • Inability to control alignment along both axes simultaneously


  • Performance problems in hierarchies that are too deep


  • Unsuitability for design tools that support free-form editing


A simple example of the first problem is the following form:

As the font and the text of the “Email address” label change, we want the label to remain aligned with the baseline of the component to its right, and aligned with the right edge of the label below it. It’s not possible to do this with nested LinearLayouts because the label needs to be aligned with other components both horizontally and vertically.

These problems aren’t new to Android, or UI toolkits in general, but we’ve used them to drive our work in enriching platform support for flatter hierarchies.

GridLayout

To provide better support for layouts like these we have added a new layout to the Android framework: GridLayout, which can be used to solve the above problems by dividing the container’s real estate into rows and columns:

Now the “Email address” label can belong both to a row that is baseline-aligned, and a column that is right-aligned.

GridLayout uses a grid of infinitely-thin lines to separate its drawing area into: rows, columns, and cells. It supports both row and column spanning, which together allow a widget to occupy a rectangular range of cells that are next to each other. We’ll use the words row, column, and cell in the text below as shorthand for row group, column group and cell group respectively, where groups have one or more contiguous elements.

Similarities with LinearLayout

Wherever possible, GridLayout uses the same conventions as LinearLayout for all its XML API — so it should be easy to start using GridLayout if you’ve already used LinearLayout. In fact, the APIs are so similar that changing a tag name from LinearLayout to GridLayout in an XML file that uses LinearLayout will often produce a similar UI without requiring any other changes. When it doesn’t, you’ll still generally end up with a good starting point for a two-dimensional layout.

Getting Started

Two examples in the samples area of the Android 4.0 SDK show typical use of the programmatic and XML APIs respectively:

[Both examples produce the same UI.]

Here’s a slightly simpler version of the above XML layout.

<?xml version="1.0" encoding="utf-8"?>
<GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"
android:layout_height="match_parent"

android:useDefaultMargins="true"
android:alignmentMode="alignBounds"
android:columnOrderPreserved="false"

android:columnCount="4"
>

<TextView
android:text="Email setup"
android:textSize="32dip"

android:layout_columnSpan="4"
android:layout_gravity="center_horizontal"
/>

<TextView
android:text="You can configure email in just a few steps:"
android:textSize="16dip"

android:layout_columnSpan="4"
android:layout_gravity="left"
/>

<TextView
android:text="Email address:"

android:layout_gravity="right"
/>

<EditText
android:ems="10"
/>

<TextView
android:text="Password:"

android:layout_column="0"
android:layout_gravity="right"
/>

<EditText
android:ems="8"
/>

<Space
android:layout_row="4"
android:layout_column="0"
android:layout_columnSpan="3"
android:layout_gravity="fill"
/>

<Button
android:text="Next"

android:layout_row="5"
android:layout_column="3"
/>
</GridLayout>

The first difference you’ll notice in these examples is the absence of the WRAP_CONTENT and MATCH_PARENT constants that normally adorn Android layout resources. You don’t normally need to use these with GridLayout, for reasons that are described in the API doc for GridLayout.LayoutParams.

Row and Column Indices

The second thing you may notice in the XML resources is that widgets don’t always explicitly define which cells they are to be placed in. Each widget’s layout parameters have row and column indices that together define where the widget should be placed but when either or both of these values are not specified, GridLayout supplies default values rather than throwing an exception.

Automatic Index Allocation

As children are added to a GridLayout, it maintains a cursor position and a “high-water mark” that it uses to place widgets in cells that don’t yet have anything in them.

When GridLayout’s orientation property is horizontal and a columnCount has been set (to 8 in this example) the high-water mark (shown above in red) is maintained as a separate height value for each column. When indices need to be created, GridLayout first determines the size of the cell group (by looking at the rowSpan and columnSpan parameters of the new widget) and then, starting at the cursor, goes through the available locations from: left to right, top to bottom, so as to find the row and column indices of the first location that’s free.

When GridLayout’s orientation is vertical, all of the same principles apply, except that the roles of the horizontal and vertical axes are exchanged.

If you want multiple views to be placed in the same cell, you have to define the indices explicitly, as the default allocation procedure above is designed to place widgets in separate cells.

Sizes, Margins and Alignment/Gravity

In GridLayout, specifying sizes and margins is done just as with a LinearLayout. Alignment/gravity also works just like gravity in LinearLayout and uses the same constants: left, top, right, bottom, center_horizontal, center_vertical, center, fill_horizontal, fill_vertical and fill.

Flexibility

Unlike most grids in other toolkits, GridLayout does not associate data with rows or columns. Instead, everything to do with alignment and flexibility is associated with the components themselves. GridLayout departs from the norm here to provide a more general system that allows subtle relationships between ancestors in deeply nested layouts to be accommodated in a single layout configuration.

The flexibility of columns is inferred from the gravity of the components inside the column. If every component defines a gravity, the column is taken as flexible, otherwise the column is considered inflexible. Full details are in GridLayout’s API docs.

Emulating Features from other Layouts

GridLayout does not incorporate all of the features of every layout in the Android platform but it has a rich enough feature set that idiomatic use of other layouts can normally be emulated from inside a single GridLayout.

Although LinearLayout can be considered a special case of a GridLayout, for the degenerate case when a set of views are aligned in a single row or column, LinearLayout is the better choice when this is all that is required as it clarifies the purpose of the container and may have some (relatively small) performance advantages.

TableLayout configurations are normally straightforward to accommodate, as GridLayout supports both row and column spanning. TableRows can be removed, as they are not required by GridLayout. For the same UI, a GridLayout will generally be faster and take less memory than than a TableLayout.

Simple RelativeLayout configurations can be written as grids simply by grouping the views that are related to each other into rows and columns. Unlike conventional grids, GridLayout uses a constraints solver to do the heavy lifting of the layout operation. By using GridLayout’s rowOrderPreserved and columnOrderPreserved properties it’s possible to free GridLayout from the confines of traditional grid systems and support the majority of RelativeLayout configurations — even ones that require grid lines to pass over each other as children change size.

Simple FrameLayout configurations can be accommodated within the cells of a GridLayout because a single cell can contain multiple views. To switch between two views, place them both in the same cell and use the visibility constant GONE to switch from one to the other from code. As with the LinearLayout case above, if all you need is the functionality described above, FrameLayout is the better choice and may have some small performance advantages.

One key feature that GridLayout lacks is the ability to distribute excess space between rows or columns in specified proportions — a feature that LinearLayout provides by supporting the principle of weight. This omission and possible ways around it are discussed in GridLayout’s API docs.

The Phases of the Layout Operation

It’s useful to distinguish the allocation phase for cell indices discussed above from the layout operation itself. Normally the phase that allocates indices happens once, if at all, when a UI is initialized. The index-allocation phase only applies when indices have been left unspecified, and is responsible for ensuring that all views have a defined set of cells in which they are to be placed at layout time.

The layout operation happens after this and is recalculated each time a view changes size. GridLayout measures the size of each child during the layout operation so it can calcuate the heights and widths of the rows and columns in the grid. The layout phase completes by using gravity to place each of the components in its cell.

Although index allocation normally only happens once, GridLayout is technically a dynamic layout, meaning that if you change its orientation property or add or remove children after components have been laid out, GridLayout will repeat the above procedure to reallocate indices in a way that is right for the new configuration.

From a performance standpoint, it is worth knowing that the GridLayout implementation has been optimized for the common case, when initialization happens once and layout happens frequently. As a result, the initialization step sets up internal data structures so that the layout operation can complete quickly and without allocating memory. Put another way, changes either to GridLayout’s orientation or the number of children it has are much more expensive than an ordinary layout operation.

Conclusion

GridLayout’s feature set incorporates much of the functionality of the Android framework’s existing general-purpose layouts: LinearLayout, FrameLayout, TableLayout and RelativeLayout. As such, it provides a way to replace many deeply nested view hierarchies with a single highly optimized layout implementation.

If you are starting a UI from scratch and are not familiar with Android layouts, use a GridLayout — it supports most of the features of the other layouts and has a simpler and more general API than either TableLayout or RelativeLayout.

We anticipate that the combination of FrameLayout, LinearLayout and GridLayout together will provide a feature set that’s rich enough to allow most layout problems to be solved without writing layout code by hand. It’s worth spending some time deciding which of these layouts is right for the top of your tree; a good choice will minimize the need for intermediate containers and result in a user interface that is faster and uses less memory.

Translate more Indic languages with the updated Google Translate for iPhone app

(Cross posted on the Google Translate Blog)

Back in June, we launched five new experimental Indic languages for Google Translate on the desktop and mobile webapp. Today, we’ve updated the Google Translate for iPhone app to add these new alpha languages: Bengali, Gujarati, Kannada, Tamil and Telugu. This brings the total number of languages supported by the app to 63 languages.


The updated app supports the ability to view dictionary results for single words and to display romanizations for these new Indic languages. So even if you can’t read the script the words are written in, you can still take a shot at reading the translation.

Since these are still experimental alpha languages, you can expect translations be less fluent and include many more untranslated words than some of our more mature languages—like Spanish or Chinese—which have much more parallel data to power our statistical machine translation approach. Despite these challenges, we believe users will find these new languages helpful and we’re excited to be making them available through the Translate app.

Updates will appear in the App Store in supported countries throughout today. Google Translate for iPhone now supports text translation among 63 languages, voice input in 17 of those languages, and text-to-speech in 24 of them. Get the latest version of Google Translate for iPhone app from the App Store and start breaking down language barriers wherever you are!

Posted by
Jeff Chin, Product Manager, Google Translate

Crystal Blue HD





 AdwTheme More than 1200 icons in HD for ADW Launcher, Launcherpro



DOWNLOAD


Description


Compatible with:
* ADW Launcher.
* LauncherPRO.
* Panda Home.
Enjoy More than 1200 icons in HD and continue to update.
- Wallpapers designed in H.D.
- Same icon pack as another theme of mine "Crystal Black II"
- Alternative launcher icon options (including a blank icon) in the icon pack.
  
INSTRUCTIONS:
-To change AppDrawer button:
-click the icon on the left and choose Icon Packs >
-Pick from any of the installed themes. 
(You can mix and match.)
-Pick your Icon and hit Okay >
- HOME ICONS TO SEND AN E-MAIL AND SUGGEST THE ICONS
- AFTER THEME UPDATE, RE-APPLY THE THEME TO SEE THE CHANGES!
Tag:
Home Launcher, Home Replacement, samsung galaxy SII
Nexus S, Android Themes, Wallpaper, Gingerbread Theme, Icon Pack, Home Launcher, Home Replacement, Launcher EX, Go Launcher Theme, iphone glass, ice cream sandwich

DOWNLOAD



More Android Developer Labs in Asia

A couple of months ago, we kicked off a series of Android Developer Labs in Asia, North America and Europe. To wrap up the 2011 series, we now have opened registration for 2 more locations in Asia.

  • Taipei — December 2, 2011

  • Hong Kong — December 6, 2011

Remember, this ADL series isn’t another set of introduction-to-Android sessions, nor any other kind of general overview. It's specifically aimed at optimizing Android apps for tablets, in particular creating high-quality tablet apps with an emphasis on polish and user experience.

Registration is a two-step process. Anyone can register, but we can only accommodate a relatively small number of attendees from among the registrants, based on whether they already have an Android app with the potential to be a top-tier tablet app in terms of quality, fit, and finish. The goal is to bring your app to the ADL, and leave equipped to make it into one that makes Android tablet users smile.

Crystal Green HD


Theme for Android


 Description
AdwTheme More than 1300 icons in HD for ADW Launcher, Launcherpro
ADW Theme hd “Crystal Green HD.”
More than 1300 icons and continue to update.



Compatible with:
* ADW Launcher.
* LauncherPRO.
* Panda Home.
Enjoy More than 1200 icons in HD and continue to update.
- Wallpapers designed in H.D.
- Same icon pack as another theme of mine "Crystal Black II"
- Alternative launcher icon options (including a blank icon) in the icon pack.
INSTRUCTIONS:
-To change AppDrawer button:
-click the icon on the left and choose Icon Packs >
-Pick from any of the installed themes.
(You can mix and match.)
-Pick your Icon and hit Okay >

DOWNLOAD

Google Catalogs: More brands, more categories, more fun

(Cross posted on the Google Commerce Blog)

Since our launch in August, we’ve been hard at work to bring more great content to Google Catalogs. Today we're excited to announce that we’ve doubled our collection of catalogs to include more than 100 brands and 300 individual issues from the catalogs you love, like Williams-Sonoma, Sephora and Nordstrom.

Thanks to our ever-growing list of partners, we’ve expanded the app to include six new catalog categories for you to shop. Love gadgets or the great outdoors? Looking for that perfect holiday treat to send to a friend? Well, look no further than our newly launched catalogs and categories:

Google Catalogs lets you create a collage of your favorite items from across many catalogs. You can even share your collages with friends and family - a visual way to show them what’s on your list this holiday season!

We’ve also added a number of great brands to our existing categories, including: Barneys, Tory Burch and Trina Turk (Fashion & Apparel); BeautyBar (Beauty); Blu Dot, FLOR, and Ballard Designs (Home); Hanna Andersson, CWDkids, and Serena & Lily (Kids); and Garnet Hill, Uncommon Goods, and Wine Enthusiast (Gifts).

In the mood to kick off your holiday shopping? Visit the App Store to download the free Google Catalogs app for iPad.

Crystal Black II Theme For Android


Download

Description

AdwTheme More than 1300 icons all in HD for ADW Launcher, Launcherpro
ADW Theme hd “Crystal Black II HD.”
More than 1300 icons and continue to update.

Compatible with:
ADW LAUNCHER (at least Version 1.3.6) or ADW LAUNCHER EX or LauncherPro by Federico Carnales.
You must have one of these installed and set as the default home launcher in order to enjoy this theme otherwise this you will not get the fulleffect as shown on the screen shots.
Now Free Analog Clock Widget inspired Crystal Black search market
https://market.android.com/details?i…talblack.clock
***** HOW TO USE: *****
Search for ADW.LAUNCHER or AnderWeb on Market.
Run ADW.Launcher, press Menu->ADWSettings->Themes Preferences.
Select “Crystal Black II HD” and Apply Theme!
To customize the Drawer, tap the drawer icon:
Select Edit->click on the icon->ADWTheme Icon Packs -> Crystal Black II HD ->Choose icon.
        

INSTRUCTIONS:
Search Launcher Pro v. 0.8.6 the market.
Run Launcher Pro, click Preferences->Theme Setting->Icon Pack
Select “Crystal Black II HD” and Apply Theme!

* HOME ICONS TO SEND AN E-MAIL AND SUGGEST THE ICONS
* AFTER THEME UPDATE, RE-APPLY THE THEME TO SEE THE CHANGES!

Tag:
Home Launcher, Home Replacement, samsung galaxy SII
Nexus S, Android Themes, Wallpaper, Gingerbread Theme, Icon Pack, Home Launcher, Home Replacement, Launcher EX, Go Launcher Theme, iphone glass, ice cream sandwich

Download




User Reviews

5 star  6000
4 star  400
3 star  0
2 star  1
1 star  2
Average rating:
4.8
     
6403