home *** CD-ROM | disk | FTP | other *** search
- package com.xibaro.chat;
-
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.util.Hashtable;
- import javax.microedition.io.Connector;
- import javax.microedition.io.HttpConnection;
- import javax.microedition.lcdui.Alert;
- import javax.microedition.lcdui.AlertType;
- import javax.microedition.lcdui.Display;
- import javax.microedition.lcdui.Image;
- import javax.microedition.midlet.MIDlet;
-
- public class Cliente extends MIDlet {
- private Display display = Display.getDisplay(this);
- private VentanaEstado ventanaEstado = new VentanaEstado(this);
- private VentanaLogin ventanaLogin = new VentanaLogin(this);
- private VentanaAccion ventanaAccion = new VentanaAccion(this);
- private VentanaSalir ventanaSalir = new VentanaSalir(this);
- private VentanaNuevaConversa ventanaNuevaConversa = new VentanaNuevaConversa(this);
- private VentanaCambiaConversa ventanaCambiaConversa;
- private VentanaCambiaConversaNada ventanaCambiaConversaNada;
- private VentanaTerminaConversa ventanaTerminaConversa;
- private VentanaTerminaConversaNada ventanaTerminaConversaNada;
- private VentanaChat ventanaChat = new VentanaChat(this);
- private Entrada entrada;
- private String nickUser;
- private Hashtable tablaBuffer;
- private String actual;
- private int estado = 0;
- // $FF: renamed from: id java.lang.String
- private String field_0 = null;
- private HttpConnection conexionIn = null;
- private HttpConnection conexionOut = null;
- // $FF: renamed from: in java.io.InputStream
- private InputStream field_1 = null;
- private OutputStream out = null;
- private String servidor = "http://microjavacenter.com:1981";
-
- public Cliente() {
- this.display.setCurrent(this.ventanaEstado);
- this.nickUser = "";
- this.tablaBuffer = new Hashtable();
- this.actual = "";
- this.iniciaConexion();
- }
-
- public void startApp() {
- }
-
- public void pauseApp() {
- }
-
- public void destroyApp(boolean var1) {
- }
-
- public void mensajeEstado(String var1) {
- this.ventanaEstado.mensaje(var1);
- }
-
- private void iniciaConexion() {
- this.ventanaEstado.mensaje("Connecting to server...");
-
- try {
- this.conexionIn = (HttpConnection)Connector.open(this.servidor, 1);
- this.conexionIn.setRequestProperty("S", "B");
- this.field_1 = this.conexionIn.openInputStream();
- this.field_0 = this.conexionIn.getHeaderField("Id");
- this.ventanaEstado.mensaje("Id:" + this.field_0);
- this.entrada = new Entrada(this, this.field_1);
- this.entrada.start();
- this.conexionOut = (HttpConnection)Connector.open(this.servidor);
- this.conexionOut.setRequestMethod("POST");
- this.conexionOut.setRequestProperty("S", "S");
- this.conexionOut.setRequestProperty("Id", this.field_0);
- this.out = this.conexionOut.openOutputStream();
- this.out.flush();
- this.display.setCurrent(this.ventanaLogin);
- } catch (IOException var2) {
- this.ventanaEstado.mensaje("Error when trying to connect to server");
- }
-
- }
-
- public void volverEstado() {
- if (this.estado == 0) {
- this.display.setCurrent(this.ventanaLogin);
- } else {
- this.display.setCurrent(this.ventanaAccion);
- }
-
- }
-
- public void verEstado() {
- this.display.setCurrent(this.ventanaEstado);
- }
-
- public void loginError(String var1) {
- this.ventanaEstado.mensaje(var1);
- this.display.setCurrent(this.ventanaEstado);
- }
-
- public void loginOk(String var1, boolean var2) {
- if (var2) {
- Diccio.espanol(true);
- this.ventanaEstado.mensaje(Diccio.frase(1) + var1 + "...");
- this.ventanaEstado = new VentanaEstado(this);
- this.ventanaAccion = new VentanaAccion(this);
- this.ventanaSalir = new VentanaSalir(this);
- this.ventanaNuevaConversa = new VentanaNuevaConversa(this);
- this.ventanaChat = new VentanaChat(this);
- this.envia("q");
- }
-
- this.display.setCurrent(this.ventanaEstado);
- this.envia("l" + var1);
- }
-
- public void salir() {
- this.estado = 2;
- this.display.setCurrent(this.ventanaSalir);
-
- try {
- this.conexionIn.close();
- this.conexionOut.close();
- this.field_1.close();
- this.out.close();
- } catch (IOException var2) {
- }
-
- }
-
- public void salirFin() {
- this.destroyApp(false);
- ((MIDlet)this).notifyDestroyed();
- }
-
- public void nuevaConversa() {
- this.display.setCurrent(this.ventanaNuevaConversa);
- }
-
- public void volverNuevaConversa(String var1) {
- if (var1 != null) {
- this.addBuffer(var1);
- this.pon(var1);
- if (var1.length() > 0) {
- if (var1.charAt(0) == '#') {
- this.envia("j" + var1);
- } else {
- this.envia("s" + var1);
- }
- }
- } else {
- this.display.setCurrent(this.ventanaAccion);
- }
-
- }
-
- public void cambiaConversa() {
- if (this.tablaBuffer.size() != 0) {
- this.ventanaCambiaConversa = new VentanaCambiaConversa(this, this.tablaBuffer);
- this.display.setCurrent(this.ventanaCambiaConversa);
- } else {
- this.ventanaCambiaConversaNada = new VentanaCambiaConversaNada(this);
- this.display.setCurrent(this.ventanaCambiaConversaNada);
- }
-
- }
-
- public void volverCambiaConversa(String var1) {
- if (var1 != null) {
- if (this.tablaBuffer.get(var1) != null) {
- this.pon(var1);
- }
- } else {
- this.display.setCurrent(this.ventanaAccion);
- }
-
- this.ventanaCambiaConversa = null;
- this.ventanaCambiaConversaNada = null;
- }
-
- public void pon(String var1) {
- String var2 = (String)this.tablaBuffer.get(var1);
- this.ventanaChat.setTitulo(var1);
- if (var2 == null) {
- this.ventanaChat.setText("");
- } else {
- this.ventanaChat.setText(var2);
- }
-
- this.actual = var1;
- this.display.setCurrent(this.ventanaChat);
- }
-
- public void terminaConversa() {
- if (this.tablaBuffer.size() != 0) {
- this.ventanaTerminaConversa = new VentanaTerminaConversa(this, this.tablaBuffer);
- this.display.setCurrent(this.ventanaTerminaConversa);
- } else {
- this.ventanaTerminaConversaNada = new VentanaTerminaConversaNada(this);
- this.display.setCurrent(this.ventanaTerminaConversaNada);
- }
-
- }
-
- public void volverTerminaConversa(String var1) {
- if (var1 != null) {
- this.tablaBuffer.remove(var1);
- if (var1.length() > 0 && var1.charAt(0) == '#') {
- this.envia("d" + var1);
- }
-
- this.ventanaTerminaConversa = new VentanaTerminaConversa(this, this.tablaBuffer);
- this.display.setCurrent(this.ventanaTerminaConversa);
- } else {
- this.display.setCurrent(this.ventanaAccion);
- }
-
- this.ventanaTerminaConversa = null;
- this.ventanaTerminaConversaNada = null;
- }
-
- public void opcionesVentanaChat() {
- this.display.setCurrent(this.ventanaAccion);
- }
-
- public void listaCanales() {
- this.display.setCurrent(this.ventanaEstado);
- this.ventanaEstado.mensaje(Diccio.frase(2));
- this.envia("i");
- }
-
- public void listaUsuarios() {
- this.display.setCurrent(this.ventanaEstado);
- if (this.actual.length() > 0) {
- if (this.actual.charAt(0) == '#') {
- this.ventanaEstado.mensaje(Diccio.frase(3) + this.actual + "...");
- this.envia("i" + this.actual);
- } else {
- this.ventanaEstado.mensaje(Diccio.frase(4));
- }
- } else {
- this.ventanaEstado.mensaje(Diccio.frase(4));
- }
-
- }
-
- public void addBuffer(String var1) {
- if (this.tablaBuffer.get(var1) == null) {
- this.tablaBuffer.put(var1, "");
- }
-
- }
-
- public void datosBuffer(String var1, String var2) {
- String var3 = (String)this.tablaBuffer.get(var1);
- if (var3 != null) {
- if (var3.length() > 1000 && var3.indexOf(10, 1000) > 0) {
- var3 = var3.substring(0, var3.indexOf(10, 1000));
- }
-
- var3 = var2 + "\n" + var3;
- this.tablaBuffer.put(var1, var3);
- } else {
- this.display.setCurrent(new Alert("", var1 + Diccio.frase(5), (Image)null, AlertType.CONFIRMATION));
- this.tablaBuffer.put(var1, var2);
- }
-
- }
-
- public void recibido(String var1) {
- try {
- char var2 = var1.charAt(0);
- if (this.estado == 0 && var2 == 'l') {
- char var3 = var1.charAt(1);
- if (var3 == 'a') {
- this.nickUser = var1.substring(2);
- this.ventanaEstado.mensaje(Diccio.frase(6) + this.nickUser);
- this.estado = 1;
- this.display.setCurrent(this.ventanaAccion);
- } else if (var3 == 'e') {
- this.ventanaEstado.mensaje(var1.substring(2));
- }
- }
-
- if (this.estado == 1) {
- if (var2 == 'c') {
- String var7 = var1.substring(1, var1.indexOf("@~#"));
- String var4 = var1.substring(var1.indexOf("@~#") + 3);
- this.datosBuffer(var7, var4);
- if (var7.equals(this.actual)) {
- this.ventanaChat.setText((String)this.tablaBuffer.get(var7));
- }
- } else if (var2 == 'i') {
- var1 = var1.substring(1).replace('%', '\n');
- this.ventanaEstado.mensaje(var1);
- }
- }
- } catch (IndexOutOfBoundsException var5) {
- }
-
- }
-
- public void enviaChat(String var1) {
- this.envia("c" + this.actual + "@~#" + var1);
- }
-
- public void envia(String var1) {
- if (this.out != null) {
- try {
- this.out.write(("z" + var1 + "\n").getBytes());
- this.out.flush();
- } catch (IOException var3) {
- this.finTransmision();
- }
- } else {
- this.finTransmision();
- }
-
- }
-
- public void finTransmision() {
- if (this.estado != 2) {
- this.estado = 0;
- this.ventanaEstado.mensaje(Diccio.frase(7));
- this.display.setCurrent(this.ventanaEstado);
- }
-
- }
- }
-