maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [BETA RELEASE] PhoneME Advanced (Java Mobile) (https://talk.maemo.org/showthread.php?t=81969)

vi_ 2012-02-13 13:17

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Just got it, geeze what a beater. Filled with photos of the previous owners kids (I hope) and porn. Digitiser is totally scratched to F. It is like looking through a frosted glass toilet window, however it is still useable.

Full re-flash, CSSU stable, KP49, SSH, rootsh. I am soldering down the USB port now, also it is a HW. Rev 2101.


santiago 2012-02-13 19:22

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
1 Attachment(s)
DavyP, i just edited something in the Makejadsh, by the way feel free to edit as u want.. Now it creates the Right shortcut, but i missed something about unzip $JAR "specific file and parameters that i miss.." -destination $MIDLET_NAME.png, then i left it like this and i used "java" icon in my path then..

To invoke it, i moved it on /usr/bin/, ahh, one more thing, if i leave $PWD path, it searches for /home, then i inserted the complete path, assuming it like /home/phoneme/..


this is the script, everything works fine for me ;)

Code:

#!/bin/sh

run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Welcome to MakeJadSHortcutter!"
sleep 2
JAR=$1
if [ ! -f "${JAR}" ]; then
  run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"JAR file does not exist!" && sleep 3
  echo "Usage: makejadsh JAR file";
  exit 1
fi

JAD="${JAR%.*}.jad"
if [ -f "${JAD}" ]; then
  echo -n "${JAD} already exists, overwrite the file? (Y/N) "
  read tmpans
  answer=$(echo "$tmpans" | tr '[:upper:]' '[:lower:]')
  if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then
    echo "Not overwriting ${JAD} file!"
  else
    rm -f "${JAD}"
  fi
fi

if [ ! -f "${JAD}" ]; then
  unzip -aa -j -p ${JAR} "META-INF/MANIFEST.MF" | sed -e '/^[ \t]*$/d' > "${JAD}"
  echo "MIDlet-Jar-URL: ${JAR}" >> "${JAD}"
  echo "MIDlet-Info-URL: http://" >> "${JAD}"

  FILESIZE=$(stat "${JAR}")
  echo "MIDlet-Jar-Size: ${FILESIZE}" >> "${JAD}"

  echo "${JAD} file created!"
  MIDLET_ICON=`grep "MIDlet-Icon: " $JAD  | sed "s/\MIDlet-Icon://g" | sed 's/\///g'`
  # more here
 
fi

SH="${JAR%.*}.sh"
if [ -f "${SH}" ]; then
  echo -n "${SH} Already exists, overwrite the file? (Y/N) "
  read tmpans
  answer=$(echo "$tmpans" | tr '[:upper:]' '[:lower:]')
  if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then
    echo "Not overwriting ${SH} file!"
  else
    rm -f "${SH}"
  fi
fi

if [ ! -f "${SH}" ]; then
  MAINCLASS=`cat $JAD | grep 'MIDlet-1:' | cut -d ',' -f 3`
  READLINKJAR=`readlink -f $JAR`
  echo '#!/bin/sh' > $SH
  echo '' >> $SH
  echo '/home/user/phoneme/bin/cvm -Xmx12m -Dmicroedition.profiles=MIDP-2.1 -Dsun.midp.library.name=midp -Dsun.midp.home.path=/home/user/phoneme/midp/midp_linux_fb_gcc -Dcom.sun.midp.mainClass.name=com.sun.midp.main.CdcMIDletSuiteLoader sun.misc.MIDPLauncher -suitepath' $READLINKJAR '-jadpath' $JAD -1 $MAINCLASS >> $SH
  chmod a+x $SH
  echo "${SH} file created!"
  READLINK=`readlink -f $SH`
#  MIDLET_ICON=`grep "MIDlet-Icon: " $JAD  | sed /MIDlet-Icon:/s///`
  MIDLET_NAME=`grep "MIDlet-Name: " $JAD  | sed /MIDlet-Name:/s///`
  MIDLET_VERSION=`grep "MIDlet-Version: " $JAD  | sed /MIDlet-Version:/s///`
  echo -e "[Desktop Entry]
Encoding=UTF-8
Version=$MIDLET_VERSION
Type=Application
Name=$MIDLET_NAME
Exec=.$READLINK
X-Osso-Type=application/x-executable
Terminal=true
Icon=java" | sudo tee /usr/share/applications/hildon/"$MIDLET_NAME".desktop
  sleep 6
  run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Created! The $MIDLET_NAME shortcut is now on the Menu"
  echo "$MIDLET_NAME added as a .desktop shortcut"
  sleep 4 ; else
  run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Unable to create $MIDLET_NAME.desktop file, check the ownership and try again!"
  sleep 2
  echo "Unable to add $MIDLET_NAME added as a .desktop shortcut, check the ownership!"
fi

exit 0


DavyP 2012-02-13 21:44

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by santiago (Post 1164566)
DavyP, i just edited something in the Makejadsh, by the way feel free to edit as u want..

Nice, I was already exploring dbus and will definitely have a look
at the changes in your script and include it my next build.

The reason why I used the $PWD variable, is because I am not
sure where people unpack this application. In my case with the
emulator, it is in /home/developer/phoneme but on a real device
this would be in /home/user/phoneme. I probably should have
used some shell script tricks to figure out the location of the
midlet scripts, but maybe these problems can be more easily
solved if I would package the phoneME application in a deb file
rather than in a tgz file you have to unpack manually.

Cheers,
Davy

santiago 2012-02-13 22:35

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
2 Attachment(s)
Quote:

Originally Posted by DavyP (Post 1164631)
Nice, I was already exploring dbus and will definitely have a look
at the changes in your script and include it my next build.

The reason why I used the $PWD variable, is because I am not
sure where people unpack this application. In my case with the
emulator, it is in /home/developer/phoneme but on a real device
this would be in /home/user/phoneme. I probably should have
used some shell script tricks to figure out the location of the
midlet scripts, but maybe these problems can be more easily
solved if I would package the phoneME application in a deb file
rather than in a tgz file you have to unpack manually.

Cheers,
Davy

hey bro! ;)
is there a way to select some buttons? i add screenshots some games works! :D i'm trying The Wolfman, i add a screenshot of what i cannot push as a button event. By the way, the correct path for the phoneme, like standard optifyed apps is

/opt/phoneme, i left /home/phoneme becouse your How-to say this, just to not complicate the things to the newbies that try to run it from a shel command

i think is better to symlink the CVM binary and the gcc library like follow

/usr/bin/cvm (full or symlinked to the opt)
/usr/lib/libcvm.so (full or symlinked to the opt)

i add a screenshot of what i cannot push..
edit: just the Enter Button is mapped in phoneme?
in this game i cannot use other keys just the Enter Button.. is it caused by the jsr implementation? by the way it's an amazing JVM!

DavyP 2012-02-14 00:11

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by santiago (Post 1164665)
hey bro! ;)
is there a way to select some buttons? i add screenshots some games works! :D i'm trying The Wolfman, i add a screenshot of what i cannot push as a button event. By the way, the correct path for the phoneme, like standard optifyed apps is

/opt/phoneme, i left /home/phoneme becouse your How-to say this, just to not complicate the things to the newbies that try to run it from a shel command

i think is better to symlink the CVM binary and the gcc library like follow

/usr/bin/cvm (full or symlinked to the opt)
/usr/lib/libcvm.so (full or symlinked to the opt)

i add a screenshot of what i cannot push..
edit: just the Enter Button is mapped in phoneme?
in this game i cannot use other keys just the Enter Button.. is it caused by the jsr implementation? by the way it's an amazing JVM!

About the buttons: the left and right soft buttons are mapped onto
Ctrl+Left and Ctrl+Right.

However, I think this game like many others suffers from not
having a keyboard layout like on a feature phone. At the moment,
I am not having a lot of spare time to add an alternative
keymapping, but it will be one of the features I will look into first.

Davy

santiago 2012-02-14 00:55

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by DavyP (Post 1164696)
About the buttons: the left and right soft buttons are mapped onto
Ctrl+Left and Ctrl+Right.

However, I think this game like many others suffers from not
having a keyboard layout like on a feature phone. At the moment,
I am not having a lot of spare time to add an alternative
keymapping, but it will be one of the features I will look into first.

Davy

one thing more,

the midlet extract midi temporany files in the /tmp, will be nice and light to move the temp in /home/user/MyDocs/phoneme-cache/ becouse it has much more space and, with more maemo tools we can access directly to every temp single file on it (logs, midi, mp3, or more..)

thx for you big work,

Cristian

munozferna 2012-02-14 01:13

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by santiago (Post 1164712)
one thing more,

the midlet extract midi temporany files in the /tmp, will be nice and light to move the temp in /home/user/MyDocs/phoneme-cache/ becouse it has much more space and, with more maemo tools we can access directly to every temp single file on it (logs, midi, mp3, or more..)

thx for you big work,

Cristian

This recommendation also makes sense for n9, for unknown reasons the /tmp is just 4Mb on Harmattan.

Joseph9560 2012-02-14 06:17

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by DavyP (Post 1163827)
1) not all jar files are midlets, so I would argue to only associate
jad files to this app
Davy

Maybe having option to tick jar file (not checked/ticked by default) would be better then.

Arthuro_Adam 2012-02-14 07:11

Last build works great on N9, download in Opera Mini also works. Double tap to zoom not working.

santiago 2012-02-14 08:10

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by Joseph9560 (Post 1164765)
Maybe having option to tick jar file (not checked/ticked by default) would be better then.

? why do u want to tick / untick them?
run the script for the midlet you want ;)


i go to sleep :) when i'll be ok, i'll add a string to remove the jar, jar, .desktop file of a game/app you want to remove

zzz ZZZZ zzz ZZZz goodnight you all

DavyP 2012-02-14 14:53

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by santiago (Post 1164566)
, but i missed something about unzip $JAR "specific file and parameters that i miss.." -destination $MIDLET_NAME.png, then i left it like this and i used "java" icon in my path then..

The unzip package is not available on the emulator

/home/developer $ devrootsh apt-get update
/home/developer $ devrootsh apt-get install unzip
...
E: Package unzip has no installation candidate

/home/developer $ devrootsh apt-cache search unzip
zlib-bin - compression library - sample programs
busybox-power - Tiny utilities for small and embedded systems - enhanced package

So I had to install the busybox-power package. However, the unzip implementation it provides does not support the -aa -j command line switches:

BusyBox v1.19.3 (Debian 1.19.3power1) multi-call binary.

Usage: unzip [-opts[modifiers]] FILE[.zip][LIST] [-x XLIST] [-d DIR]

Extract files from ZIP archives

-l List archive contents (with -q for short form)
-n Never overwrite files (default)
-o Overwrite
-p Send output to stdout
-q Quiet
-x XLST Exclude these files
-d DIR Extract files into DIR

Davy

DavyP 2012-02-14 16:45

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
The modified script that also creates the icons does not seem to work.
The application is running in the background and all the paths are OK
but as soon as I tap on the icon, the whole interface becomes
unresponsive. I actually have to shut down the whole emulator and start
it up again.

Strangely enough, if start the X terminal application in the N900 menu,
and run the script from there, I have no problem, and neither when I
start a terminal from my Linux desktop via the "mad remote shell"
command.

Davy

santiago 2012-02-14 16:56

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by DavyP (Post 1164996)
The modified script that also creates the icons does not seem to work.
The application is running in the background and all the paths are OK
but as soon as I tap on the icon, the whole interface becomes
unresponsive. I actually have to shut down the whole emulator and start
it up again.

Strangely enough, if start the X terminal application in the N900 menu,
and run the script from there, I have no problem, and neither when I
start a terminal from my Linux desktop via the "mad remote shell"
command.

Davy

Hi bro! try this script, now it uses Original icon on a Jar file and moves it like a copy into /usr/share/icons/hicolor/scalable/hildon/$MIDLET_NAME.png

edit: open the sh file you have (midletname.sh) and change the phoneme path there

remember? you told me you have a different path in you Madde emulator
Code:

#!/bin/sh

run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Welcome to MakeJadSHortcutter!"
sleep 2
JAR=$1
if [ ! -f "${JAR}" ]; then
  run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"JAR file does not exist!" && sleep 3
  echo "Usage: makejadsh JAR file";
  exit 1
fi

JAD="${JAR%.*}.jad"
if [ -f "${JAD}" ]; then
  echo -n "${JAD} already exists, overwrite the file? (Y/N) "
  read tmpans
  answer=$(echo "$tmpans" | tr '[:upper:]' '[:lower:]')
  if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then
    echo "Not overwriting ${JAD} file!"
  else
    rm -f "${JAD}"
  fi
fi

if [ ! -f "${JAD}" ]; then
  unzip -aa -j -p ${JAR} "META-INF/MANIFEST.MF" | sed -e '/^[ \t]*$/d' > "${JAD}"
  echo "MIDlet-Jar-URL: ${JAR}" >> "${JAD}"
  echo "MIDlet-Info-URL: http://" >> "${JAD}"

  FILESIZE=$(stat "${JAR}")
  echo "MIDlet-Jar-Size: ${FILESIZE}" >> "${JAD}"

  echo "${JAD} file created!"
  MIDLET_ICON=`grep "MIDlet-Icon: " $JAD  | sed "s/\MIDlet-Icon://g" | sed 's/\///g' | sed 's/^[ \t]*//'`
  MIDLET_NAME=`grep "MIDlet-Name: " $JAD  | sed /MIDlet-Name:/s///`
  UNZIP_ICON=`unzip "$JAR" "$MIDLET_ICON" -d /usr/share/icons/hicolor/scalable/hildon/`
  RENAME_ICON=`mv "/usr/share/icons/hicolor/scalable/hildon/$MIDLET_ICON" "/usr/share/icons/hicolor/scalable/hildon/$MIDLET_NAME.png"`
fi

SH="${JAR%.*}.sh"
if [ -f "${SH}" ]; then
  echo -n "${SH} Already exists, overwrite the file? (Y/N) "
  read tmpans
  answer=$(echo "$tmpans" | tr '[:upper:]' '[:lower:]')
  if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then
    echo "Not overwriting ${SH} file!"
  else
    rm -f "${SH}"
  fi
fi

if [ ! -f "${SH}" ]; then
  MAINCLASS=`cat $JAD | grep 'MIDlet-1:' | cut -d ',' -f 3`
  READLINKJAR=`readlink -f $JAR`
  echo '#!/bin/sh' > $SH
  echo '' >> $SH
  echo '/home/user/phoneme/bin/cvm -Xmx12m -Dmicroedition.profiles=MIDP-2.1 -Dsun.midp.library.name=midp -Dsun.midp.home.path=/home/user/phoneme/midp/midp_linux_fb_gcc -Dcom.sun.midp.mainClass.name=com.sun.midp.main.CdcMIDletSuiteLoader sun.misc.MIDPLauncher -suitepath' $READLINKJAR '-jadpath' $JAD -1 $MAINCLASS >> $SH
  chmod a+x $SH
  echo "${SH} file created!"
  READLINK=`readlink -f $SH`
  MIDLET_NAME=`grep "MIDlet-Name: " $JAD  | sed /MIDlet-Name:/s///`
  MIDLET_VERSION=`grep "MIDlet-Version: " $JAD  | sed /MIDlet-Version:/s///`
  echo -e "[Desktop Entry]
Encoding=UTF-8
Version=$MIDLET_VERSION
Type=Application
Name=$MIDLET_NAME
Exec=.$READLINK
X-Osso-Type=application/x-executable
Terminal=true
Icon=$MIDLET_NAME" | sudo tee /usr/share/applications/hildon/"$MIDLET_NAME".desktop
  sleep 6
  run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Created! The $MIDLET_NAME shortcut is now on the Menu"
  echo "$MIDLET_NAME added as a .desktop shortcut"
  sleep 4 ; else
  run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Unable to create $MIDLET_NAME.desktop file, check the ownership and try again!"
  sleep 2
  echo "Unable to add $MIDLET_NAME added as a .desktop shortcut, check the ownership!"
fi

exit 0


pedsarjon 2012-02-14 17:00

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
this is my menu item opera-mini

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=OperaMini-Java
Exec=/opt/java2/bin/cvm -Xmx12m -Dmicroedition.profiles=MIDP-2.1 -Dsun.midp.library.name=midp -Dsun.midp.home.path=/opt/java2/midp/midp_linux_fb_gcc -Dcom.sun.midp.mainClass.name=com.sun.midp.main.Cdc MIDletSuiteLoader sun.misc.MIDPLauncher -suitepath /opt/java2/opera_mini_6.5_.jar -1 Browser
X-Osso-Type=application/x-executable
Icon=opera

DavyP 2012-02-14 17:04

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
If I do "mad remote shell", I am logged in with username 'developer'. To
become root I have to run devrootsh [command].

I basically think that all these are issues with the emulator doing things
differently compared to a regular N900 device.

Also note that not all midlets ship with an icon.

Davy

santiago 2012-02-14 17:17

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by DavyP (Post 1165007)
If I do "mad remote shell", I am logged in with username 'developer'. To
become root I have to run devrootsh [command].

I basically think that all these are issues with the emulator doing things
differently compared to a regular N900 device.

Also note that not all midlets ship with an icon.

Davy

umm.. strange, you moved the phoneme path.. then i change the script too, to have common paths, :D for the icon, i've got to quote the icon, give me one minute ;) i've not an emulator on my ubuntu pc, :'( i'm doing all from my device.. i'm back soon

pedsarjon 2012-02-14 17:23

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
tanks santiago its worked in maemo but must delet "sudo" in
Icon=$MIDLET_NAME" | sudo tee /usr/share/applications/hildon/"$MIDLET_NAME".desktop
meaning
Icon=$MIDLET_NAME" | tee /usr/share/applications/hildon/"$MIDLET_NAME".desktop

DavyP 2012-02-14 17:35

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Santiago: I took care of correcting all the paths.

There is something else going on. The midlet is actually running, but
behind the hildon menu with all the icons. If I close the emulator, it kills
the application (including the hildon menu app) and then I see the
midlet very briefly before the emulator completely shuts down.

So it is probably not a problem with your script.

Davy

pvnhattoan 2012-02-14 17:51

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
I have a java game. When i make a "file.sh" manual, then i can run that java game, but when i make "file.sh" by makejadsh, then I saw whitescreen. What do you think about this problem ?

santiago 2012-02-14 17:52

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by pedsarjon (Post 1165024)
tanks santiago its worked in maemo but must delet "sudo" in
Icon=$MIDLET_NAME" | sudo tee /usr/share/applications/hildon/"$MIDLET_NAME".desktop
meaning
Icon=$MIDLET_NAME" | tee /usr/share/applications/hildon/"$MIDLET_NAME".desktop

Pedsarjon: The only way i found to pipe it to /usr/share/applications/hildon was just "sudo tee" becouse it creates a loop without the sudo.. By the way, now i corrected the iconame (if you restart you'll see the icon), and i moved the phoneme path to /opt/, so you can change phoneme path or edit this script to your own path..

Davy this is the corrected script

Code:

#!/bin/sh

run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Welcome to MakeJadSHortcutter!"
sleep 2
JAR=$1
if [ ! -f "${JAR}" ]; then
  run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"JAR file does not exist!" && sleep 3
  echo "Usage: makejadsh JAR file";
  exit 1
fi

JAD="${JAR%.*}.jad"
if [ -f "${JAD}" ]; then
  echo -n "${JAD} already exists, overwrite the file? (Y/N) "
  read tmpans
  answer=$(echo "$tmpans" | tr '[:upper:]' '[:lower:]')
  if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then
    echo "Not overwriting ${JAD} file!"
  else
    rm -f "${JAD}"
  fi
fi

if [ ! -f "${JAD}" ]; then
  unzip -aa -j -p ${JAR} "META-INF/MANIFEST.MF" | sed -e '/^[ \t]*$/d' > "${JAD}"
  echo "MIDlet-Jar-URL: ${JAR}" >> "${JAD}"
  echo "MIDlet-Info-URL: http://" >> "${JAD}"

  FILESIZE=$(stat "${JAR}")
  echo "MIDlet-Jar-Size: ${FILESIZE}" >> "${JAD}"

  echo "${JAD} file created!"
  MIDLET_ICON=`grep "MIDlet-Icon: " $JAD  | sed "s/\MIDlet-Icon://g" | sed 's/\///g' | sed 's/^[ \t]*//'`
  MIDLET_NAME=`grep "MIDlet-Name: " $JAD  | sed /MIDlet-Name:/s///`
  ICON_NAME=`grep "MIDlet-Name: " $JAD  | sed /MIDlet-Name:/s/// | sed 's/^[ \t]*//' | sed 's/ //g'`
  UNZIP_ICON=`unzip "$JAR" "$MIDLET_ICON" -d /usr/share/icons/hicolor/scalable/hildon/`
  RENAME_ICON=`mv "/usr/share/icons/hicolor/scalable/hildon/$MIDLET_ICON" "/usr/share/icons/hicolor/scalable/hildon/$ICON_NAME.png"`
fi

SH="${JAR%.*}.sh"
if [ -f "${SH}" ]; then
  echo -n "${SH} Already exists, overwrite the file? (Y/N) "
  read tmpans
  answer=$(echo "$tmpans" | tr '[:upper:]' '[:lower:]')
  if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then
    echo "Not overwriting ${SH} file!"
  else
    rm -f "${SH}"
  fi
fi

if [ ! -f "${SH}" ]; then
  MAINCLASS=`cat $JAD | grep 'MIDlet-1:' | cut -d ',' -f 3`
  READLINKJAR=`readlink -f $JAR`
  echo '#!/bin/sh' > $SH
  echo '' >> $SH
  echo '/opt/phoneme/bin/cvm -Xmx12m -Dmicroedition.profiles=MIDP-2.1 -Dsun.midp.library.name=midp -Dsun.midp.home.path=/opt/phoneme/midp/midp_linux_fb_gcc -Dcom.sun.midp.mainClass.name=com.sun.midp.main.CdcMIDletSuiteLoader sun.misc.MIDPLauncher -suitepath' $READLINKJAR '-jadpath' $JAD -1 $MAINCLASS >> $SH
  chmod a+x $SH
  echo "${SH} file created!"
  READLINK=`readlink -f $SH`
  MIDLET_NAME=`grep "MIDlet-Name: " $JAD  | sed /MIDlet-Name:/s///`
  MIDLET_VERSION=`grep "MIDlet-Version: " $JAD  | sed /MIDlet-Version:/s///`
  echo -e "[Desktop Entry]
Encoding=UTF-8
Version=$MIDLET_VERSION
Type=Application
Name=$MIDLET_NAME
Exec=.$READLINK
X-Osso-Type=application/x-executable
Terminal=true
Icon=$ICON_NAME" | sudo tee /usr/share/applications/hildon/"$MIDLET_NAME".desktop
  sleep 6
  run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Created! The $MIDLET_NAME shortcut is now on the Menu"
  echo "$MIDLET_NAME added as a .desktop shortcut"
  sleep 4 ; else
  run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Unable to create $MIDLET_NAME.desktop file, check the ownership and try again!"
  sleep 2
  echo "Unable to add $MIDLET_NAME added as a .desktop shortcut, check the ownership!"
fi

exit 0

pvnhattoan: does it run from xterm? not all the midlets are fully supported, run the script and poste here the output, DavyP will correct phoneme features to have more compatibility

DavyP 2012-02-14 17:55

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by pvnhattoan (Post 1165040)
I have a java game. When i make a "file.sh" manual, then i can run that java game, but when i make "file.sh" by makejadsh, then I saw whitescreen. What do you think about this problem ?

There is not much to go on without the content of both files. If you
can show us both, we can have a look at how they and hopefully tell
you what is wrong.

Davy

DavyP 2012-02-14 23:30

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Hi all,

I am still having issues with the emulator not properly starting when applications with the shortcut/icon in the menu. I have the same problems with the template applications from madde, so it is a general problem and a bug in my application. However, it means I am not able to test the deb package I created:

http://davy.preuveneers.be/phoneme/public/n900/deb/

It installs phoneme in /opt and creates shortcuts to phoneME (which does nothing because it calls cvm without parameters), Opera Mini and microemu-demo.

Could somebody install this (with dpkg -i xxx.deb) and test this and see if the shortcuts work?

I think there might be an issue that the package will be installed as root, and that the midlets won't have write access to certain subdirectories in /opt/phoneme because they don't run with root privileges. The Opera Mini midlet would be a good test case for that.

Thanks,
Davy

munozferna 2012-02-14 23:36

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Nokia-N900:/home/user# dpkg --install cvm_mr2.b168\+svn20547-20120214_armel.deb
Selecting previously deselected package cvm.
(Reading database ... 46881 files and directories currently installed.)
Unpacking cvm (from cvm_mr2.b168+svn20547-20120214_armel.deb) ...
dpkg: error processing cvm_mr2.b168+svn20547-20120214_armel.deb (--install):
trying to overwrite `/usr/share/applications/hildon/opera.desktop', which is also in package opera-mobile
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
cvm_mr2.b168+svn20547-20120214_armel.deb
I'm removing opera (native) to test it. and will update soon.

Quote:

Nokia-N900:/home/user# dpkg --install cvm_mr2.b168\+svn20547-20120214_armel.deb
(Reading database ... 46792 files and directories currently installed.)
Unpacking cvm (from cvm_mr2.b168+svn20547-20120214_armel.deb) ...
Setting up cvm (mr2.b168+svn20547-20120214) ...
Nokia-N900:/home/user#
And the Opera launcher works, but I get an error ' Cannot finish installation because of insufficient storage space'.

Microemu-demo works though. where is it trying to install opera mini?

DavyP 2012-02-14 23:39

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
In my next deb I will rename the files to operamini to avoid the name clash.

Edit: opera name clash fixed in latest build.

Davy

DavyP 2012-02-14 23:55

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by munozferna (Post 1165180)
I'm removing opera (native) to test it. and will update soon.

And the Opera launcher works, but I get an error ' Cannot finish installation because of insufficient storage space'.

Microemu-demo works though. where is it trying to install opera mini?

Opera is trying to save some files in a record store. These files are created in /opt/phoneme/midp/midp_linux_fb_gcc/appdb.

However, this folder is owned by root:root and the phoneME vm is executed under the account 'user' which does not have write permissions to this folder.

See if you can do the following as root:

chmod a+rwx /opt/phoneme/midp/midp_linux_fb_gcc/appdb

and if that changes the problem. The reason why microemu does not have this issue, is because it does not write to this appdb folder.

If I can then figure out how this folder can maintain its write permissions while creating the deb archive, then we are good to go.

Davy

munozferna 2012-02-14 23:58

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by DavyP (Post 1165187)
See if you can do the following as root:

chmod a+rwx /opt/phoneme/midp/midp_linux_fb_gcc/appdb

and if that changes the problem. The reason why microemu does not have this issue, is because it does not write to this appdb folder.

If I can then figure out how this folder can maintain its write permissions while creating the deb archive, then we are good to go.

Davy

That worked :D Can you add the chmod on the post-install script or something like that?

DavyP 2012-02-15 00:08

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Jep, fixed in my last upload of 1 minute ago (same filename though).

Davy

santiago 2012-02-15 11:17

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
i'll post a new script this evening ;) i did it, but i didnt save it! :(

then later i'll finish it

edit:

@DavyP

The script name is excalibur, just becouse it's fast, and powerfull, also easy to remember.. I added more features like

- use the right midlet name in the shortcut
- use the right icon name for the shortcut
- call to gtk-update-icon-cache to see immediately the icon on the shortcut (*** minor maybe fix at the end of this message)
- possibility to remove all files after installation of the midlet, expecially:

$SH file
$JAD file
$JAR file
$DESKTOP shortcut

After the installation, without closing the shell, the excalibur script (for newbies must be on /usr/bin/ with chmod +rwx or 775) will ask you to go on the menu, and to try the midlet.. (maybe you want an auto test that run it with final question about the result?) By now, if you will answer with Y, it will keep the midlet, else it will remove it..


####### Excalibur Script ########

Code:

#!/bin/sh

run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Welcome to Excalibur Script!"
sleep 2
JAR=$1
if [ ! -f "${JAR}" ]; then
  run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"JAR file does not exist!" && sleep 3
  echo "Usage: excalibur JAR file";
  exit 1
fi

JAD="${JAR%.*}.jad"
if [ -f "${JAD}" ]; then
  echo -n "${JAD} already exists, overwrite the file? (Y/N) "
  read midlet
  answer=$(echo "$midlet" | tr '[:upper:]' '[:lower:]')
  if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then
    echo "Not overwriting ${JAD} file!"
  else
    rm -f "${JAD}"
  fi
fi

if [ ! -f "${JAD}" ]; then
  unzip -aa -j -p ${JAR} "META-INF/MANIFEST.MF" | sed -e '/^[ \t]*$/d' > "${JAD}"
  echo "MIDlet-Jar-URL: ${JAR}" >> "${JAD}"
  echo "MIDlet-Info-URL: http://" >> "${JAD}"

  FILESIZE=$(stat "${JAR}")
  echo "MIDlet-Jar-Size: ${FILESIZE}" >> "${JAD}"

  echo "${JAD} file created!"
  # find png file
  MIDLET_ICON=`grep "MIDlet-Icon: " $JAD  | sed "s/\MIDlet-Icon://g" | sed 's/\///g' | sed 's/^[ \t]*//'`
  # use the correct name of the icon file
  MIDLET_NAME=`grep "MIDlet-Name: " $JAD | sed /MIDlet-Name:/s/// | sed  's/^[a \t]*//' | sed 's/ .*//'`
  # extract the icon
  UNZIP_ICON=`unzip "$JAR" "$MIDLET_ICON" -d /usr/share/icons/hicolor/scalable/hildon/`
  # rename the icon using the midlet name
  RENAME_ICON=`mv "/usr/share/icons/hicolor/scalable/hildon/$MIDLET_ICON" "/usr/share/icons/hicolor/scalable/hildon/$MIDLET_NAME.png"`
fi

SH="${JAR%.*}.sh"
if [ -f "${SH}" ]; then
  echo -n "${SH} Already exists, overwrite the file? (Y/N) "
  read midlet
  answer=$(echo "$midlet" | tr '[:upper:]' '[:lower:]')
  if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then
    echo "Not overwriting ${SH} file!"
  else
    rm -f "${SH}"
  fi
fi

if [ ! -f "${SH}" ]; then
  MAINCLASS=`cat $JAD | grep 'MIDlet-1:' | cut -d ',' -f 3`
  READLINKJAR=`readlink -f $JAR`
  echo '#!/bin/sh' > $SH
  echo '' >> $SH
  echo '/opt/phoneme/bin/cvm -Xmx12m -Dmicroedition.profiles=MIDP-2.1 -Dsun.midp.library.name=midp -Dsun.midp.home.path=/opt/phoneme/midp/midp_linux_fb_gcc -Dcom.sun.midp.mainClass.name=com.sun.midp.main.CdcMIDletSuiteLoader sun.misc.MIDPLauncher -suitepath' $READLINKJAR '-jadpath' $JAD -1 $MAINCLASS >> $SH
  chmod a+x $SH
  echo "${SH} file created!"
  READLINK=`readlink -f $SH`
  MIDLET_NAME=`grep "MIDlet-Name: " $JAD | sed /MIDlet-Name:/s/// | sed  's/^[a \t]*//' | sed 's/ .*//'`
  MIDLET_VERSION=`grep "MIDlet-Version: " $JAD  | sed /MIDlet-Version:/s///`
  echo -e "[Desktop Entry]
Encoding=UTF-8
Version=$MIDLET_VERSION
Type=Application
Name=$MIDLET_NAME
Exec=.$READLINK
Comment=`readlink -f $JAD`
Comment=`readlink -f $JAR`
X-Osso-Type=application/x-executable
Terminal=true
Icon=$MIDLET_NAME" | sudo tee /usr/share/applications/hildon/"$MIDLET_NAME".desktop
  sleep 6
  echo "$MIDLET_NAME added as a desktop shortcut"
  sleep 4
fi

  echo "Does the midlet work fine? Run it and and come back here to say (Y/N)"
  read test
  ICONS_PATH=/usr/share/icons/hicolor/scalable/hildon/
  DESKTOP_PATH=/usr/share/applications/hildon
  answer0=$(echo "$test" | tr '[:upper:]' '[:lower:]')
  if [ "$answer0" != "n" ] && [ "$answer0" != "N" ]; then
  run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Thanks for using Excalibur Script!" && sleep 3
  exit 1; else
  echo "Write the Midlet Name here: "
  read input_name
  DESKTOP_FILE=`grep "$input_name" $DESKTOP_PATH/* | sed -e 's/[^:]*$//g' | sed -e 's/[:^]//g'`
  SH_FILE=`cat $DESKTOP_FILE | grep "Exec=." | sed /Exec=./s///`
  JAR_FILE=`cat $DESKTOP_FILE | grep ".jar" | sed /Comment=/s///`
  JAD_FILE=`cat $DESKTOP_FILE | grep ".jad" | sed /Comment=/s///`
  ICON_FILE=`cat $DESKTOP_FILE | grep "MIDlet-Name: " | sed /MIDlet-Name:/s/// | sed 's/^[ \t]*//' | sed 's/ //g'`
  echo "Do you want to remove $input_name? (Y/N)"
  read answer
  if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then
    echo "$input_name not removed!"; else
    echo "Removing all $input_name files . ."
    echo "Remoing $SH_FILE . ."
    sudo rm -rf $SH_FILE
    echo "Removed!"
    echo "Removing $JAR_FILE . ."
    sudo rm -rf $JAR_FILE
    echo "Removed!"
    echo "Removing $JAD_FILE . ."
    sudo rm -rf $JAD_FILE
    echo "Removed!"
    echo "Removing $ICON_FILE . ."
    sudo rm -rf $ICONS_PATH$ICON_FILE*
    echo "Removed!"
    echo "Removing $DESKTOP_FILE . ."
    sudo rm -rf $DESKTOP_FILE
    echo "Removed!"
    echo "All files Removed! Midlet is removed!"
  run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Thanks for using Excalibur Script!" && sleep 3  fi
  fi
fi

exec /usr/bin/gtk-update-icon-cache


***gtk-update-icon-cache fix***
cause of some strange reason, my device is an example about it, the /usr/bin/gtk-update-icon-cache doesn't work as well, then i searched on this Amazing Talk foundig the Bug Report about /usr/bin/gtk-update-icon-cache. Seems to be that /usr/bin/gtk-update-icon-cache just has one line in:
Code:

#!/bin/sh -e
nothing more, someone fixed it in

Code:

#!/bin/sh -e

    [ -d "$1" ] && touch "$1"

then you just have to edit it and to save it to refresh the Maemo Icon Cache and to see immediately the icons without rebooting maemo. Excalibur script creates a desktop file but if you don't fix it with the method i found you will not see an icon on the created shortcut untill a device reboot

Ciao you all,

Cristian

DavyP 2012-02-15 22:24

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Hi Cristian,

Thanks for all these script updates. At the moment I cannot test
this on the emulator due to incompatibilities with a real device.

There is one thing I wanted to point out: you do not need to
generate the jad file if it does not exist. In such a case, you create
the sh file without the '-jadpath midlet.jad' parameters.

Also, you could argue if you create a desktop file, you can directly
put the startup command in the desktop file rather than in a
separate script.

Then there are a few minor other issues I have come across with
certain midlets (like wrong line endings and dangling spaces).

I will see how I can fix these issues and embed the script in my
next build. My plan was actually to build something directly within
the phoneME application in native Qt4 code in a similar way like
I did for my Android build, but for the time being I think you script
will do.

Cheers,
Davy

santiago 2012-02-15 22:41

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
1 Attachment(s)
Quote:

Originally Posted by DavyP (Post 1165571)
Hi Cristian,

Thanks for all these script updates. At the moment I cannot test
this on the emulator due to incompatibilities with a real device.

There is one thing I wanted to point out: you do not need to
generate the jad file if it does not exist. In such a case, you create
the sh file without the '-jadpath midlet.jad' parameters.

Also, you could argue if you create a desktop file, you can directly
put the startup command in the desktop file rather than in a
separate script.

Then there are a few minor other issues I have come across with
certain midlets (like wrong line endings and dangling spaces).

I will see how I can fix these issues and embed the script in my
next build. My plan was actually to build something directly within
the phoneME application in native Qt4 code in a similar way like
I did for my Android build, but for the time being I think you script
will do.

Cheers,
Davy

Yes. I'm not a bash expert, :D i added the lines without comments, :D i was in panic! :D ahahahah, i'll fix it soon :D

i can try with zenith for now, but first i remove $JAD and $SH variables, i made confusion! ahahhaah


** foe the lines, you say this or the other script? beccouse i changed sed lines here to use correct icon, names etc


edit:

Script is changed now, i fixed everything except it doesnt accept jar file names with spaces ( ex: ciao from the italy.jar )i'm tired, i go to sleep i see caracters everywhere..

changes

removed sh line
removed jad line
changed the echo >> to $MIDLET_NAME.desktop as u wrote

down here is the zip file with gtk-update-icon-cache and excalibur script, they must be on /usr/bin/ with rwx permissions.

Ciao dall'Italia :D

Cristian

santiago 2012-02-16 06:53

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by santiago (Post 1165576)
Yes. I'm not a bash expert, :D i added the lines without comments, :D i was in panic! :D ahahahah, i'll fix it soon :D

i can try with zenith for now, but first i remove $JAD and $SH variables, i made confusion! ahahhaah


** foe the lines, you say this or the other script? beccouse i changed sed lines here to use correct icon, names etc


edit:

Script is changed now, i fixed everything except it doesnt accept jar file names with spaces ( ex: ciao from the italy.jar )i'm tired, i go to sleep i see caracters everywhere..

changes

removed sh line
removed jad line
changed the echo >> to $MIDLET_NAME.desktop as u wrote

down here is the zip file with gtk-update-icon-cache and excalibur script, they must be on /usr/bin/ with rwx permissions.

Ciao dall'Italia :D

Cristian

edit2:
just couse i cant sleep.. :D i decided to add more lines like..

"Select the kind of file"
somenting like

echo "write JAR for a .jar file or JAD for a .jad file"

for Jad file, it will wget the jar file asking for a connection first else it will abort.. when downloaded, it will ask if disconnect or not, if install it or not..

for a Jar file it will jump to the Jar line :D

maybe i had to use the functions.. becouse it's becoming too disorganized in and uncommented :D

Moderators: apologize me, i quoted my self for mistake! Sorry for the x post!

Joseph9560 2012-02-16 08:46

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by santiago (Post 1164798)
? why do u want to tick / untick them?
run the script for the midlet you want ;)


i go to sleep :) when i'll be ok, i'll add a string to remove the jar, jar, .desktop file of a game/app you want to remove

zzz ZZZZ zzz ZZZz goodnight you all

I don't always like command line. Don't tell me you launch you phone app from command line!

santiago 2012-02-16 09:49

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by Joseph9560 (Post 1165715)
I don't always like command line. Don't tell me you launch you phone app from command line!

sometimes yes i do it, why? then you'll wait the official Davip's UI for the phoneme, :) i just made this script to cut the time, i'm working at new one, it can be launched from the desktop icon ;) but, if you dont like the command line, it runs on xterminal session..

PS: one of the Maemo Amazing things is just.. The command line! imo by the way, i'll made the possible to finish it today, i started at 7.55 am, this new is coloured and more easy to use.. It ll run in a shell from a shortcut launcher

PS2: maybe the shell isn't graphically "beautiful" but it helps you to find every kind of error ;)

DavyP 2012-02-16 10:44

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
About the command line use:

I hope at some point to be able to integrate everything in the Qt4 application in the way I did for my Android port. Now this takes time, and I think for the time being the script for santiago is the best there is.

Cheers,
Davy

santiago 2012-02-16 12:08

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by DavyP (Post 1165749)
About the command line use:

I hope at some point to be able to integrate everything in the Qt4 application in the way I did for my Android port. Now this takes time, and I think for the time being the script for santiago is the best there is.

Cheers,
Davy

Hey bro! :) do you know how to colorize a variable with echo -e? I'm trying by one hour, and i didnt find a way on Google

i made some variables like

$RED
$BLU
$YELLOW
$GREEN
$END # closes single color

i'd like to print the "ls *.jad" coloured, i'm in panic.. Do you know how to do it?

thx

Cristian

PS: what does the "Panic" message mean?

munozferna 2012-02-16 14:37

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by DavyP (Post 1165749)
About the command line use:

I hope at some point to be able to integrate everything in the Qt4 application in the way I did for my Android port. Now this takes time, and I think for the time being the script for santiago is the best there is.

Cheers,
Davy

I thought about making a simple UI in QML and calling the scripts here for the N9, but I did not want to waste the effort if somebody else is doing it too :) by the way, does the .deb work on the N9? I did not try it because i thought the binary was different.

DavyP 2012-02-16 16:34

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by munozferna (Post 1165808)
I thought about making a simple UI in QML and calling the scripts here for the N9, but I did not want to waste the effort if somebody else is doing it too :) by the way, does the .deb work on the N9? I did not try it because i thought the binary was different.

I have not checked on the N9 emulator, but if it works you will
definitely have the grey bar.

In fact, the only difference is a simple method call and if I can
somehow at runtime find out if I am running either Maemo or MeeGo
I could produce one build for all.

Davy

DavyP 2012-02-16 23:36

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Hi all,

I uploaded a new deb to my website at: http://davy.preuveneers.be/phoneme/public/n900/deb/

The build now contains a simple Qt4-based frontend "Run MIDlet", which will allow you to select a jar file from the filesystem and run it. It does not create desktop shortcuts (yet).

For those still favoring the terminal, you can now run a midlet like his:

/opt/phoneme/bin/runmidlet midlet.jar

You could also pass along the jad descriptor if you have the jar file in the same directory:

/opt/phoneme/bin/runmidlet midlet.jad

This way, you no longer need to specify a bunch of parameters at the command line or create shell scripts or jadfiles. Also, if there is a way on Maemo to associate jar/jad files with the runmidlet application, you could run midlets from your file manager. Running from a browser might be possible, but only for jar files and if the browser downloads the jar file to the filesystem and starts runmidlet with a local filepath as parameter (i.e. no http url as parameter).


Davy

DavyP 2012-02-17 00:07

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
I uploaded another deb with a new minor feature. It detects whether
the app is running on Maemo or on MeeGo by looking at the contents
of /etc/issue. On the latter it will run the midlet in full screen to avoid the
grey bar. If this works reliably on the N900 and the N9/N950, I no
longer need to produce 2 different builds.

Davy

cutehunk04 2012-02-17 12:41

Re: [TESTING] PhoneME Advanced (Java Mobile) prototype release
 
Quote:

Originally Posted by manojkumaru (Post 1161648)
Looking for an used N900?? Little late, I had a friend in Banglore who sold it for 7000INR, just before he left for US of A,a month ago. No worries, still there is another friend of mine from Gujarat willing to sell his N900. I am less fortunate to make it mine, but still I don't want it to go to any hands which don't know the awesomeness of this phone. If you're willing, I can connect you to him. PM me.


hi am willing to sell my N900. you can email me dashin.veer@gmail.com
for further information....


All times are GMT. The time now is 15:57.

vBulletin® Version 3.8.8