Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*******************************************************************************
 * Copyright 2007 The Android Open Source Project
 * 
 * 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.
 ******************************************************************************/

import android.annotation.SuppressLint;
import android.content.ClipData;
import android.content.ClipData.Item;
import android.content.ClipDescription;
import android.content.ClipboardManager;
import android.content.Context;

public class Main {
    /**
     * 
     * @param context The context
     * @param label   The label to show to the user via {@code ClipDescription}
     * @param value   The actual value to store on the clipboard via {@link ClipHelper#addItemToClipboard(Context, String, String)}
     * @param oldAPI Whether or not we are running on pre-HoneyComb API.
     */
    public static void addItemToClipboard(final Context context, final String label, final String value,
            final boolean oldAPI) {
        if (oldAPI) {
            addTextToClipboard(context, value);
        } else {
            addItemToClipboard(context, label, value);
        }
    }

    /**
     * This is only called when oldAPi is passed as false on {@link #addItemToClipboard(Context, String, String, boolean)}
     * @param context The context, required to get the Cliboard System Service. 
     * @param label The label to show to the user via {@code ClipDescription}
     * @param value The value to store on the clipboard. 
     */
    @SuppressLint("NewApi")
    private static void addItemToClipboard(final Context context, final String label, final String value) {
        ClipboardManager manager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
        ClipData.Item item = new Item(value);
        ClipDescription description = new ClipDescription(label,
                new String[] { ClipDescription.MIMETYPE_TEXT_PLAIN });
        ClipData data = new ClipData(description, item);
        manager.setPrimaryClip(data);
    }

    /**
     * This is only called when oldAPi is passed as true on {@link #addItemToClipboard(Context, String, String, boolean)}
     * @param context The context, required to get the Cliboard System Service. 
     * @param value The value to store on the clipboard. 
     */
    @SuppressWarnings("deprecation")
    private static void addTextToClipboard(final Context context, final String value) {
        android.text.ClipboardManager manager = (android.text.ClipboardManager) context
                .getSystemService(Context.CLIPBOARD_SERVICE);
        manager.setText(value);
    }
}