com.autburst.picture.Utilities.java Source code

Java tutorial

Introduction

Here is the source code for com.autburst.picture.Utilities.java

Source

/*
ApicAday - Everyday.. is different, your mood, your life. 
Copyright (c) 2010 
   Oliver Selinger <oliver.selinger@autburst.com>,
   Michael Greifeneder <michael.greifeneder@autburst.com> 
     
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
    
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
    
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.autburst.picture;

import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;

import org.apache.commons.codec.binary.Base64;

import android.os.Environment;

public class Utilities {

    public static final String NAME = "com.autburst.picture";
    public static final String MUSIC = "com.autburst.picture.music";
    public static final String PIC_STORE = "com.autburst.picture.store";

    public static final String PORTRAIT = "portrait";
    public static final String LANDSCAPE = "landscape";

    public static final int MSG_FINISHED_UPLOADING = 0;
    public static final int MSG_ERROR_UPLOADING = 1;
    public static final int MSG_FINISHED_PIC_SAVING = 2;
    public static final int MSG_OPEN_CREATE_DIALOG = 3;

    public static final float SLOW_FRAME_RATE = 1.2F;
    public static final float MEDIUM_FRAME_RATE = 0.8F;
    public static final float FAST_FRAME_RATE = 0.4F;

    public static String getMusicFilePath() {
        File file = new File(Environment.getExternalStorageDirectory(), MUSIC);
        if (!file.exists())
            file.mkdirs();

        return file.getAbsolutePath() + "test.mp3";
    }

    public static File getAlbumsDirectory() {
        File file = new File(Environment.getExternalStorageDirectory(), NAME);
        if (!file.exists())
            file.mkdirs();
        return file;
    }

    public static String[] getAlbums() {
        File file = getAlbumsDirectory();
        String[] list = file.list();
        return list;
    }

    public static Comparator<String> getAlbumNameComparator() {
        return new Comparator<String>() {
            @Override
            public int compare(String arg0, String arg1) {
                String decodeName0 = new String(Base64.decodeBase64(arg0.getBytes()));
                String decodeName1 = new String(Base64.decodeBase64(arg1.getBytes()));
                return decodeName0.compareTo(decodeName1);
            }
        };
    }

    public static Comparator<File> getImageNameComparator() {
        return new Comparator<File>() {
            @Override
            public int compare(File arg0, File arg1) {
                String filename0 = arg0.getName();
                String filename1 = arg1.getName();
                return filename0.compareTo(filename1);
            }
        };
    }

    public static boolean existsAlbumName(String name) {
        File file = getAlbumsDirectory();
        String[] list = file.list();

        for (String file2 : list) {
            if (file2.equals(name))
                return true;
        }

        return false;
    }

    public static boolean hasAlbums() {
        File file = getAlbumsDirectory();
        File[] list = file.listFiles();
        if (list != null && list.length > 0)
            return true;
        else
            return false;
    }

    public static boolean hasAnyAlbumPics() {
        File file = getAlbumsDirectory();
        File[] list = file.listFiles();
        if (list == null)
            return false;
        for (File file2 : list) {
            if (file2.listFiles(new FileFilter() {

                @Override
                public boolean accept(File arg0) {
                    String name = arg0.getName();
                    if (name.endsWith(".jpg") || name.endsWith(".JPG"))
                        return true;
                    else
                        return false;
                }
            }).length > 0)
                return true;
        }

        return false;
    }

    public static List<String> getAlbumsAsList() {
        List<String> albums = new ArrayList<String>();

        File file = getAlbumsDirectory();
        String[] list = file.list();
        if (list == null) {
            return albums;
        }
        for (int i = 0; i < list.length; i++) {
            albums.add(list[i]);
        }
        return albums;
    }

    public static String getEncodedString(String toEncode) {
        return new String(Base64.encodeBase64(toEncode.getBytes()));
    }

    public static String[] getAlbumsDecoded() {
        File file = getAlbumsDirectory();
        String[] list = file.list();
        for (int i = 0; i < list.length; i++) {
            list[i] = new String(Base64.decodeBase64(list[i].getBytes()));
        }

        if (list.length > 1) {
            Arrays.sort(list);
        }
        return list;
    }

    public static File getAlbumDirectory(String albumName) {
        File file = new File(Environment.getExternalStorageDirectory(), NAME);
        File albumDir = new File(file, albumName);
        if (!albumDir.exists())
            albumDir.mkdirs();
        return albumDir;
    }

}