Android

Frost 3.1.17 Released

The big GIF update is here! You can now save GIF files into your image vault. I’ve also added an ad blocker, some UI tweaks, and squashed several bugs. Full change log follows:

  • Added native GIF support to image vault. You can now save GIF images from the web into your image vault and play them. Only GIF images saved since this update will work properly
  • GIF files can now be imported into the image vault from your device storage
  • GIF files can now be exported from the image vault to your device storage
  • Added experimental ad block (disabled by default)
  • Do you know more than one language? Help us translate Frost – see the new button in the options menu
  • Changed the look of tab loading progress icon
  • Tab bar will disappear when you scroll down, and reappear when scrolling up (with option to enable or disable)
  • Tab bar will adjust height based on device form factor and screen orientation if necessary
  • Viewing images in the image vault will now use entire screen on devices with an onscreen navigation bar (Android 4.4+ only)
  • Image saving dialog will now show progress in kilobytes
  • Fixed text selection context menu causing screen shift
  • Fixed missing xx-hdpi icon asset
  • Minor code base optimizations
  • Performance tweaks – browser scrolling should be slightly smoother
  • [Lite Version] Repositioned ads to be slightly less intrusive

Note that your device must support one of the following ABI’s to receive this update:

  • ARM
  • ARMv7a
  • MIPS
  • x86

I will be submitting this update to the Amazon app store as well. It should be available once it gets through their review process.

Adding ActionBarSherlock as a Library into Android Studio

Using maven (similar to NuGet for those of you familiar with the .NET world) and gradle together makes it possible to include libraries in your project without having to manually download the source code and dump it into your project folder. Aside from making it easier to update to newer versions of those libraries as they are released, the imported files don’t clutter up your project folder structure and source repository as much as the complete library source. The downside is that this approach is not appropriate if you intend to modify the source code of the library.

    1. Open your Android SDK Manager and make sure you have the latest version of the Android SDK Platform and Build Tools installed (version 19.0.0 as of this post).
    2. Create or import your project into Android Studio. Now look for the build.gradle file. There is one located in the root of your project, ignore this one. There should be a build.gradle file located in the main module within your project (where your application’s source and resources are).
    3. Modify the build.gradle file you found to include the following, if it already doesn’t:
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}

apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.android.support:support-v4:13.0.0'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
    }
}

That should be it. On your first build you should see the folder: /libraries/ActionBarSherlock/actionbarsherlock/ appear in the root of your project. Any references to ActionBarSherlock should then resolve themselves in your code.

The following steps are also relevant to other libraries available through maven, simply modify the “dependencies” section of the build.gradle.

Frost 2.6 Available

Frost 2.6 has been released for Android. Good news for those of you with large image stashes: this release focused on improving performance in the image stash folder view. We’ve managed to make huge improvements in speed. Using older versions of Frost it could take upwards of 20 seconds to load stashes with 1000+ images and 50+ folders. With version 2.6 we’ve managed to speed it up to the point where it takes a fraction of a second.

We’ve also made several changes based on user feedback. Cancelling a slideshow will allow the user to manually flip through the images in consecutive order. We’ve also finally fixed a bug that causes decode errors when trying to save images from certain websites.

We plan on doing these speed improvements iteratively. In the next update we will focus on adding bookmark folders as well as tools to help you organize your bookmarks. Not to mention applying many of our performance improvements to the bookmarks view as well.

Here is the full change log for this release:

  • Improved image stash folder loading performance
  • Added support for tel: links
  • Added image stash folder sorting option
  • Added quick scrolling to all lists
  • Added Google support libraries to improve compatibility
  • Moved change password dialog to settings menu
  • Imported files are now sorted in natural order of their filenames
  • Fixed image ordering when slideshow cancelled
  • Fixed bug causing decode errors when saving images
  • Fixed video player history not being cleaned up properly
  • Code optimization & bug fixes

Updating Apps in Android 2.2 Froyo leads to Deleted App Data

Our app, Frost, uses the Android/data/<package name>/ folder on the device’s external storage (SD card), to store app information. One benefit of doing this is that when the user uninstalls the app, any files on the SD card are deleted as well, leaving no clutter or orphaned files behind. At the same time, when the user updates their app, through Google Play or otherwise, the data is preserved.

At least, that’s what Google’s documentation leads you to believe:

If the user’s device is running API Level 8 or greater (Android 2.2+) and they uninstall your application, this directory and all its contents will be deleted.

The above statement is true, but in addition to that, whenever an app is updated in Android 2.2, it will delete all the contents of the Android/data/<package name>/ folder. This is the reason why some users of Frost complain their app data has disappeared after updating the app.

Google became aware of the issue quite quickly and fixed it, however it was too late as several devices were already running the flawed code. Some manufacturers released patches that included Google’s fix, but there are still a lot of devices out there that haven’t been patched.

The only real solution to this issue is to upgrade your device to Android 2.3 or higher, where this bug has been fixed. Until then, if you’re running Android 2.2, be sure to backup the contents of your external storage before updating an app. Then after the update is complete, restore your files using your backup. If you’re using Frost, you can visit the FAQ for instructions on how to backup and restore your app data.

Android Projects in SVN – What Files to Ignore?

Setting up your svn:ignore property when you first open a new repository is a good way of making sure you keep unnecessary files from being revisioned. There are basically two entries that you need to make to your svn:ignore list:

  • bin
  • gen

The /gen folder contains files generated by the Android framework, such as the R.java file, and the /bin folder contains files generated when compiling and running the application from within Eclipse.

The .classpath and .project files, as well as the .settings folder are generated by Eclipse, and are best kept in your repository as it makes importing your project into Eclipse much easier, not to mention these files rarely change.

Theme.Holo Causes Horizontally Scrolling TabWidget to Get Cutoff

If your Android app uses tabs that are implemented using the TabHost and TabWidget wrapped in a HorizontalScrollView you may have noticed that the last tab may get cut off at the end. This happens when the activity containing the tabs is using the Holo theme introduced in Honeycomb. Interestingly this bug only occurs in Jellybean.

The reason is because the HorizontalScrollView doesn’t take the width of the tab dividers into account.

To fix this, make sure you don’t call setDividerDrawable anywhere:

// This line should be removed as we don't want to set a tab divider
getTabHost().getTabWidget().setDividerDrawable(R.drawable.tab_divider);

Secondly, you want to add the attribute android:divider=”@android:color/transparent” to your TabWidget layout element. Your layout XML should look something like this:

<HorizontalScrollView android:id="@+id/tabscroller"
 android:scrollbars="none"
 android:layout_width="0dip"
 android:layout_height="fill_parent"
 android:fillViewport="false" >
 	<TabWidget android:id="@android:id/tabs"
			android:layout_width="0dip"
			android:layout_height="fill_parent"
			android:divider="@android:color/transparent" />
</HorizontalScrollView>

Introducing Frost 2.4

Today we uploaded the latest release of our private browser, making this v2.4. One of the biggest changes is an entire re-branding of the application. From this day forward “Frost” is the new name of our private browser. Before we get to the change-log we first want to talk about the latest version of Android, named “Jellybean” and its impact on the app.

If you’ve been reading up on Android news, you may already know that Adobe, the makers of the Flash Plugin for Android, have stopped supporting the plugin entirely. This means that Android devices running Jellybean (4.1.1+) will no longer be able to view flash content, this includes things such as flash video and flash games. Because of this, we ask users running Jellybean to disable plugin support in Frost due to the unpredictable behavior it may cause. Until Google or Adobe come up with a solution or alternative, there is nothing we can do. Until then, many websites provide mobile video in 3GP and MP4 format which Frost supports.

  • Renamed the application to “Frost”
  • Updated icon
  • Added Jellybean support. Big thanks to our Jellybean users for their feedback and patience! This has been quite a challenge due to the significant changes made to the Android framework. Since our only method of testing until now has been through emulators (which don’t always give perfectly representative results), we had to wait until Google released their OTA updates to our test hardware.
  • Slideshow shuffle fixed – will not repeat an image until all other images have been shown
  • Folders with pictures can now be imported from the SD card – folders will be created automatically for them in your stash
  • Relocated navigation bar. Open the navigation bar by pressing the globe button to the left of the tabs
  • Deprecated support for Android 2.1
  • Bug fixes – thanks for all the bug reports!

A Tour of What’s New in Frost 2.3

Version 2.3 has been released today. It’s been a few months since Frost was last updated, but a lot has happened since then. Probably one of the biggest things was the release of Android Ice Cream Sandwich, which changes many fundamentals aspects of how Android apps are used. Since then we have put in extra effort to make sure we support the new version of Android, and look forward to updating Frost as time goes on.

Now, let’s go through the change log that was posted on the Android Market for version 2.3:

Added bookmark sorting

We realized many of our users may have large collections of bookmarks, so we introduced a new button in the bookmarks screen that allows you to sort your bookmarks by their description, or by when you added them.

Added option to mute sound on startup

This was suggested by our users in our suggestions forum and was added as a new option in the settings menu under “Privacy & Security”. When you select this option you will see the volume slider appear momentarily when Frost is first opened. This way you can be sure the sound has been muted. Note that you can turn your sound back up at any time.

Added additional privacy options

The ability to choose how and if cookies, passwords, and form data are stored is now available in the settings menu. Note that the default settings provide the most security and won’t store any information until they are changed.

Clear Cookies on Exit: Cookies are a temporary pass that a website gives you when you login. Normally Frost clears all these cookies when you exit the app, however we added the option to keep these cookies so you don’t have to re-login the next time you visit the site.

Remember Passwords: Turning this option on will cause Frost to auto fill any username and password fields that you have recently used. By default, Frost will not save your passwords unless you check this option. You also have the option to manually clear any existing saved password.

Remember Form Data: This works very similar to the “Remember Passwords” option, but applies to any other fields you might find in a form. By default, Frost will not save your form data unless you check this option. You also have the option to manually clear any existing form data.

Added HTTP Authentication support

Some users mentioned they weren’t able to access some websites due to this missing feature, and we quickly implemented it, only a few days before the release of this update!

Performance & security improvements

We’re constantly trying to squeeze every bit of speed we can from our browser. These changes may be noticeable to some more than others.

Updated user agent strings

Thanks to one users suggestion, some mobile carriers block device tethering base on certain user agent strings, so we updated them and added a “Linux Desktop” option to help circumvent this.

Fixed image decoding issues (Android 3.0+)

Many users saving images to their stash, particularly using the newer versions of Android, experienced this issue and we’re happy to say we have fixed it.

Fixed zoom button hiding (Android 3.0+)

Thanks to some updates to the Android platform we have been able to hide that zoom button once and for all!

Reorganized settings menu

Due to all the new options available we have had to split up the settings menu into categories to simplify navigation.

Importing images from SD is now done in alphabetical order

When importing images from your SD card, images will be imported into your stash in alphabetical order. So for example, if you import 2 images, 1.jpg and 2.jpg, 1.jpg will appear before 2.jpg in your image stash after being imported.

Improved support for 3.0+ devices including ICS

As we said before, we keep working towards supporting any new versions of Android as they are released.

Once again we want to thank all our users for their feedback in the last few months and ask that you keep it coming!

 

Update 2.1 for Frost Released

Update 2.1 is now available on the market for both full and lite versions of Frost. For those of you without market access, the .APK for Frost Lite is available for download on the product page.

In this update we focused on improving the address bar in two ways. First, the address bar will recognize when a non-URL has been entered and will redirect you to a Google search automatically. Second, any URLs that were entered will be displayed as suggestions in the address bar. Note that recent URLs are only saved and displayed when you have unlocked your stashes using your password.

We also included support for mobile video playback. So anytime you open a link to a .MP4 or .3GP video, it should bring up the default movie app on your device to play it.

We have also introduced a new option in the browser preferences. The “Image link behavior” option allows you to specify how to handle opening links to images. You can specify images to be opened in a new tab, a new background tab, or to use the default behavior set by the webpage. Currently, this feature only works with links directing you to a .JPG or .PNG image, however we will likely be expanding this functionality to include popular image hosts in the future. If you have specific request for image hosts to be added, please let me know in the comments below.

Finally, we have done of bit of housekeeping in the code base, killing some crash bugs and tweaking more performance into the browser.

If you enjoy using Frost we would really appreciate your positive rating in the Android Market!

Frost 2.0 Released!

As per our previous post, Frost 2.0 has left the QA phase of development and is now available on the Android Market. The following is a list of changes:

» Added folder support. We got a lot of demand for this. You will now be able to organize your image stash into folders. Have full control over folder creation, naming, and which folder your images will be saved into.

» Added stash management and image export. With the addition of folders, we’ve given you more power over organizing your images. By selecting the “Organize” menu option in the image stash gallery, you will be able to multiselect images and then delete them, move them to other folders, or export them as JPG files to your device.

» Added feature “Save Link to Image Stash”. If you wish to save a full resolution image without having to open its thumbnail/link, selecting this option will quickly save the full size image to your stash.

» Added visual feedback for closing a tab.

» Several minor improvements and bug fixes.

If you want to learn how to use the new folder and organization features, please look at the tutorial as it has been updated. You can access the tutorial using the “Help” button in Frost’s preferences.

As always, if you find any problems or have a suggestion for the next version, please contact us through our contact page above.

1 of 2
12