ErrorScreen.java

/**
 * Copyright (c) 2012 Nokia Corporation. All rights reserved.
 * Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation.
 * Oracle and Java are trademarks or registered trademarks of Oracle and/or its
 * affiliates. Other product and company names mentioned herein may be trademarks
 * or trade names of their respective owners.
 * See LICENSE.TXT for license information.
 */

package com.nokia.example;

import javax.microedition.lcdui.*;
import javax.microedition.pim.*;

class ErrorScreen extends Alert {
    private static Image image;
    private static Display display;
    private static ErrorScreen instance = null;

    private ErrorScreen() {
        super("Error");
        setType(AlertType.ERROR);
        setTimeout(5000);
        setImage(image);
    }

    static void init(Image img, Display disp) {
        image = img;
        display = disp;
    }

    static void showError(String message, Displayable next) {
        if (instance == null) {
            instance = new ErrorScreen();
        }
        if(message.indexOf("Sending event ")!=-1 || message.indexOf("Event inserted in the local database")!=1)
            instance.setTitle("Info");
        else
            instance.setTitle("Error");
        instance.setString(message);
        display.setCurrent(instance, next);
    }

    static void reportPIMException(PIMException e, Displayable next) {
        StringBuffer errorMsg = new StringBuffer("Error:");
        switch (e.getReason()) {
        case PIMException.FEATURE_NOT_SUPPORTED:
            errorMsg.append("The requested feature is not supported");
            break;
        default:
            errorMsg.append("Unknown error");
        }
        showError(errorMsg.toString(), next);
    }
}