This commit is contained in:
serso
2011-11-26 13:18:51 +04:00
parent b94a5b9548
commit 99974f4047
9 changed files with 67 additions and 187 deletions

View File

@@ -7,27 +7,34 @@
package org.solovyev.android.msg;
import org.jetbrains.annotations.NotNull;
import org.solovyev.android.view.prefs.ResourceCache;
import org.solovyev.common.msg.AbstractMessage;
import org.solovyev.common.msg.MessageType;
import java.util.List;
import java.util.Locale;
/**
* User: serso
* Date: 10/18/11
* Time: 11:57 PM
*/
public class AndroidMessage extends AbstractMessage<Integer> {
public class AndroidMessage extends AbstractMessage {
public AndroidMessage(@NotNull Integer messageCode,
@NotNull MessageType messageType,
@org.jetbrains.annotations.Nullable Object... arguments) {
public AndroidMessage(@NotNull String messageCode,
@NotNull MessageType messageType,
@org.jetbrains.annotations.Nullable Object... arguments) {
super(messageCode, messageType, arguments);
}
public AndroidMessage(@NotNull Integer messageCode,
@NotNull MessageType messageType,
@org.jetbrains.annotations.Nullable List<?> arguments) {
public AndroidMessage(@NotNull String messageCode,
@NotNull MessageType messageType,
@NotNull List<?> arguments) {
super(messageCode, messageType, arguments);
}
@Override
protected String getMessagePattern(@NotNull Locale locale) {
return ResourceCache.instance.getCaption(getMessageCode());
}
}

View File

@@ -1,66 +0,0 @@
/*
* Copyright (c) 2009-2011. Created by serso aka se.solovyev.
* For more information, please, contact se.solovyev@gmail.com
* or visit http://se.solovyev.org
*/
package org.solovyev.android.msg;
import android.content.Context;
import android.widget.Toast;
import org.jetbrains.annotations.NotNull;
import org.solovyev.common.msg.MessageRegistry;
import java.util.Locale;
/**
* User: serso
* Date: 10/18/11
* Time: 11:49 PM
*/
public enum AndroidMessageRegistry implements MessageRegistry<AndroidMessage> {
instance;
private Context context;
public void init(@NotNull Context context) {
this.context = context;
}
@Override
public void addMessage(@NotNull AndroidMessage message) {
if (context != null) {
Toast.makeText(context, formatMessage(message), Toast.LENGTH_SHORT).show();
}
}
@NotNull
@Override
public AndroidMessage getMessage() {
throw new UnsupportedOperationException();
}
@Override
public boolean hasMessage() {
throw new UnsupportedOperationException();
}
@NotNull
public String formatMessage(@NotNull AndroidMessage message) {
final String messagePattern = context.getString(message.getMessageCode());
final String result;
if (messagePattern != null) {
result = message.formatMessage(messagePattern, Locale.getDefault());
} else {
result = "";
}
return result;
}
public void finish() {
this.context = null;
}
}