Android Open Source - youtubeAPI Utils






From Project

Back to project page youtubeAPI.

License

The source code is released under:

Apache License

If you think the Android project youtubeAPI listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/* Copyright (c) 2013 Google Inc.
 */*  w ww  . j  av  a 2  s .c  om*/
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.sickboots.ytube.util;

import com.google.android.gms.auth.GoogleAuthException;
import com.google.api.client.googleapis.json.GoogleJsonError;
import com.google.api.client.googleapis.json.GoogleJsonResponseException;
import com.sickboots.ytube.R;

import android.app.Activity;
import android.content.res.Resources;
import android.os.Build;
import android.util.Log;
import android.widget.Toast;

/**
 * Class containing some static utility methods.
 */
public class Utils {
    private Utils() {
    }

    public static boolean hasFroyo() {
        // Can use static final constants like FROYO, declared in later versions
        // of the OS since they are inlined at compile time. This is guaranteed behavior.
        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO;
    }

    public static boolean hasGingerbread() {
        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD;
    }

    public static boolean hasHoneycomb() {
        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB;
    }

    public static boolean hasHoneycombMR1() {
        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1;
    }

    public static boolean hasJellyBean() {
        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN;
    }
    
    /**
     * Logs the given throwable and shows an error alert dialog with its message.
     * 
     * @param activity activity
     * @param tag log tag to use
     * @param t throwable to log and show
     */
    public static void logAndShow(Activity activity, String tag, Throwable t) {
      Log.e(tag, "Error", t);
      String message = t.getMessage();
      if (t instanceof GoogleJsonResponseException) {
        GoogleJsonError details = ((GoogleJsonResponseException) t).getDetails();
        if (details != null) {
          message = details.getMessage();
        }
      } else if (t.getCause() instanceof GoogleAuthException) {
        message = ((GoogleAuthException) t.getCause()).getMessage();
      }
      showError(activity, message);
    }

    /**
     * Logs the given message and shows an error alert dialog with it.
     * 
     * @param activity activity
     * @param tag log tag to use
     * @param message message to log and show or {@code null} for none
     */
    public static void logAndShowError(Activity activity, String tag, String message) {
      String errorMessage = getErrorMessage(activity, message);
      Log.e(tag, errorMessage);
      showErrorInternal(activity, errorMessage);
    }

    /**
     * Shows an error alert dialog with the given message.
     * 
     * @param activity activity
     * @param message message to show or {@code null} for none
     */
    public static void showError(Activity activity, String message) {
      String errorMessage = getErrorMessage(activity, message);
      showErrorInternal(activity, errorMessage);
    }

    private static void showErrorInternal(final Activity activity, final String errorMessage) {
      activity.runOnUiThread(new Runnable() {
        public void run() {
          Toast.makeText(activity, errorMessage, Toast.LENGTH_LONG).show();
        }
      });
    }

    private static String getErrorMessage(Activity activity, String message) {
      Resources resources = activity.getResources();
      if (message == null) {
        return resources.getString(R.string.error);
      }
      return resources.getString(R.string.error_format, message);
    }
}




Java Source Code List

com.sickboots.ytube.Auth.java
com.sickboots.ytube.Constants.java
com.sickboots.ytube.MainActivity.java
com.sickboots.ytube.PlayActivity.java
com.sickboots.ytube.ResumableUpload.java
com.sickboots.ytube.ReviewActivity.java
com.sickboots.ytube.UploadService.java
com.sickboots.ytube.UploadsListFragment.java
com.sickboots.ytube.util.AsyncTask.java
com.sickboots.ytube.util.DiskLruCache.java
com.sickboots.ytube.util.ImageCache.java
com.sickboots.ytube.util.ImageFetcher.java
com.sickboots.ytube.util.ImageResizer.java
com.sickboots.ytube.util.ImageWorker.java
com.sickboots.ytube.util.RecyclingBitmapDrawable.java
com.sickboots.ytube.util.Upload.java
com.sickboots.ytube.util.Utils.java
com.sickboots.ytube.util.VideoData.java