Wednesday, September 13, 2017
Thursday, January 3, 2013
My FALTU Dream: Trip to Brazil part 1
Warning: The following dream may contain FALTU language.
In my dreams, I always end up being in Bangladesh. I am always in some chipa goli like shakhari bazar and it smells vegetable shit!!! So I was returning home to Tokyo from my office in Dhaka by Rickshaw.
When the rickshawala was in some chou rastar mour and skidding like a F1 car to turn left, I realised I left my jacket, pen and piece of bread in the school lockers, even though I was coming from fucking Office. Anyway I asked rickshawala to go back where we came from. As I arrived at the gate of my school which was very narrow(btw the rickshawala knew he had to get back to my school not my office), I found my items piled in a dry drain(nordoma) and kids were laughing. But the rickshawala came to help me and I gave him the piece of bread. That poor bitch refused to accept my bread. He told me that the date has expired. "I do not eat any bread which is one day old. I only eat fresh". You can imagine how fucking surprised I was at that time. Mamma MIA!!!
Anyway, as we were getting back to tokyo from Shutrapur, I started to day dream. And when I got a phone call in real life(I mean few minutes ago in tokyo in real life), I stopped day dreaming and found my self on a Ferry !!! The sea water was blue and with WTF look, I asked ricksawala:" What is this place? Where are we going?Yea I asked him in English.!!!"
HE SAYS, "We are going to brazil!!!"
TO BE CONTINUED
part 2 after eating breakfast.
In my dreams, I always end up being in Bangladesh. I am always in some chipa goli like shakhari bazar and it smells vegetable shit!!! So I was returning home to Tokyo from my office in Dhaka by Rickshaw.
When the rickshawala was in some chou rastar mour and skidding like a F1 car to turn left, I realised I left my jacket, pen and piece of bread in the school lockers, even though I was coming from fucking Office. Anyway I asked rickshawala to go back where we came from. As I arrived at the gate of my school which was very narrow(btw the rickshawala knew he had to get back to my school not my office), I found my items piled in a dry drain(nordoma) and kids were laughing. But the rickshawala came to help me and I gave him the piece of bread. That poor bitch refused to accept my bread. He told me that the date has expired. "I do not eat any bread which is one day old. I only eat fresh". You can imagine how fucking surprised I was at that time. Mamma MIA!!!
Anyway, as we were getting back to tokyo from Shutrapur, I started to day dream. And when I got a phone call in real life(I mean few minutes ago in tokyo in real life), I stopped day dreaming and found my self on a Ferry !!! The sea water was blue and with WTF look, I asked ricksawala:" What is this place? Where are we going?Yea I asked him in English.!!!"
HE SAYS, "We are going to brazil!!!"
TO BE CONTINUED
part 2 after eating breakfast.
Tuesday, November 27, 2012
List of all activity actions
android.app.action.ADD_DEVICE_ADMIN
android.app.action.SET_NEW_PASSWORD
android.app.action.START_ENCRYPTION
android.bluetooth.adapter.action.REQUEST_DISCOVERABLE
android.bluetooth.adapter.action.REQUEST_ENABLE
android.intent.action.ALL_APPS
android.intent.action.ANSWER
android.intent.action.APP_ERROR
android.intent.action.ATTACH_DATA
android.intent.action.BUG_REPORT
android.intent.action.CALL
android.intent.action.CALL_BUTTON
android.intent.action.CHOOSER
android.intent.action.CREATE_LIVE_FOLDER
android.intent.action.CREATE_SHORTCUT
android.intent.action.DELETE
android.intent.action.DIAL
android.intent.action.EDIT
android.intent.action.EVENT_REMINDER
android.intent.action.GET_CONTENT
android.intent.action.INSERT
android.intent.action.INSERT_OR_EDIT
android.intent.action.INSTALL_PACKAGE
android.intent.action.MAIN
android.intent.action.MANAGE_NETWORK_USAGE
android.intent.action.MEDIA_SEARCH
android.intent.action.MUSIC_PLAYER
android.intent.action.PASTE
android.intent.action.PICK
android.intent.action.PICK_ACTIVITY
android.intent.action.POWER_USAGE_SUMMARY
android.intent.action.RINGTONE_PICKER
android.intent.action.RUN
android.intent.action.SEARCH
android.intent.action.SEARCH_LONG_PRESS
android.intent.action.SEND
android.intent.action.SENDTO
android.intent.action.SEND_MULTIPLE
android.intent.action.SET_ALARM
android.intent.action.SET_WALLPAPER
android.intent.action.SYNC
android.intent.action.SYSTEM_TUTORIAL
android.intent.action.UNINSTALL_PACKAGE
android.intent.action.VIEW
android.intent.action.VOICE_COMMAND
android.intent.action.WEB_SEARCH
android.media.action.DISPLAY_AUDIO_EFFECT_CONTROL_PANEL
android.net.wifi.PICK_WIFI_NETWORK
android.nfc.action.NDEF_DISCOVERED
android.nfc.action.TAG_DISCOVERED
android.nfc.action.TECH_DISCOVERED
android.search.action.SEARCH_SETTINGS
android.settings.ACCESSIBILITY_SETTINGS
android.settings.ADD_ACCOUNT_SETTINGS
android.settings.AIRPLANE_MODE_SETTINGS
android.settings.APN_SETTINGS
android.settings.APPLICATION_DETAILS_SETTINGS
android.settings.APPLICATION_DEVELOPMENT_SETTINGS
android.settings.APPLICATION_SETTINGS
android.settings.BLUETOOTH_SETTINGS
android.settings.DATA_ROAMING_SETTINGS
android.settings.DATE_SETTINGS
android.settings.DEVICE_INFO_SETTINGS
android.settings.DISPLAY_SETTINGS
android.settings.INPUT_METHOD_SETTINGS
android.settings.INPUT_METHOD_SUBTYPE_SETTINGS
android.settings.INTERNAL_STORAGE_SETTINGS
android.settings.LOCALE_SETTINGS
android.settings.LOCATION_SOURCE_SETTINGS
android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS
android.settings.MANAGE_APPLICATIONS_SETTINGS
android.settings.MEMORY_CARD_SETTINGS
android.settings.NETWORK_OPERATOR_SETTINGS
android.settings.NFCSHARING_SETTINGS
android.settings.PRIVACY_SETTINGS
android.settings.QUICK_LAUNCH_SETTINGS
android.settings.SECURITY_SETTINGS
android.settings.SETTINGS
android.settings.SOUND_SETTINGS
android.settings.SYNC_SETTINGS
android.settings.USER_DICTIONARY_SETTINGS
android.settings.WIFI_IP_SETTINGS
android.settings.WIFI_SETTINGS
android.settings.WIRELESS_SETTINGS
android.speech.tts.engine.CHECK_TTS_DATA
android.speech.tts.engine.INSTALL_TTS_DATA
List of all broadcast intents or actions
android.app.action.ACTION_PASSWORD_CHANGED
android.app.action.ACTION_PASSWORD_EXPIRING
android.app.action.ACTION_PASSWORD_FAILED
android.app.action.ACTION_PASSWORD_SUCCEEDED
android.app.action.DEVICE_ADMIN_DISABLED
android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED
android.app.action.DEVICE_ADMIN_ENABLED
android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED
android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED
android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED
android.bluetooth.adapter.action.DISCOVERY_FINISHED
android.bluetooth.adapter.action.DISCOVERY_STARTED
android.bluetooth.adapter.action.LOCAL_NAME_CHANGED
android.bluetooth.adapter.action.SCAN_MODE_CHANGED
android.bluetooth.adapter.action.STATE_CHANGED
android.bluetooth.device.action.ACL_CONNECTED
android.bluetooth.device.action.ACL_DISCONNECTED
android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED
android.bluetooth.device.action.BOND_STATE_CHANGED
android.bluetooth.device.action.CLASS_CHANGED
android.bluetooth.device.action.FOUND
android.bluetooth.device.action.NAME_CHANGED
android.bluetooth.device.action.UUID
android.bluetooth.devicepicker.action.DEVICE_SELECTED
android.bluetooth.devicepicker.action.LAUNCH
android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT
android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED
android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED
android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED
android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED
android.hardware.action.NEW_PICTURE
android.hardware.action.NEW_VIDEO
android.intent.action.ACTION_POWER_CONNECTED
android.intent.action.ACTION_POWER_DISCONNECTED
android.intent.action.ACTION_SHUTDOWN
android.intent.action.AIRPLANE_MODE
android.intent.action.BATTERY_CHANGED
android.intent.action.BATTERY_LOW
android.intent.action.BATTERY_OKAY
android.intent.action.BOOT_COMPLETED
android.intent.action.CAMERA_BUTTON
android.intent.action.CONFIGURATION_CHANGED
android.intent.action.DATA_SMS_RECEIVED
android.intent.action.DATE_CHANGED
android.intent.action.DEVICE_STORAGE_LOW
android.intent.action.DEVICE_STORAGE_OK
android.intent.action.DOCK_EVENT
android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE
android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE
android.intent.action.FETCH_VOICEMAIL
android.intent.action.GTALK_CONNECTED
android.intent.action.GTALK_DISCONNECTED
android.intent.action.HEADSET_PLUG
android.intent.action.INPUT_METHOD_CHANGED
android.intent.action.LOCALE_CHANGED
android.intent.action.MANAGE_PACKAGE_STORAGE
android.intent.action.MEDIA_BAD_REMOVAL
android.intent.action.MEDIA_BUTTON
android.intent.action.MEDIA_CHECKING
android.intent.action.MEDIA_EJECT
android.intent.action.MEDIA_MOUNTED
android.intent.action.MEDIA_NOFS
android.intent.action.MEDIA_REMOVED
android.intent.action.MEDIA_SCANNER_FINISHED
android.intent.action.MEDIA_SCANNER_SCAN_FILE
android.intent.action.MEDIA_SCANNER_STARTED
android.intent.action.MEDIA_SHARED
android.intent.action.MEDIA_UNMOUNTABLE
android.intent.action.MEDIA_UNMOUNTED
android.intent.action.MY_PACKAGE_REPLACED
android.intent.action.NEW_OUTGOING_CALL
android.intent.action.NEW_VOICEMAIL
android.intent.action.PACKAGE_ADDED
android.intent.action.PACKAGE_CHANGED
android.intent.action.PACKAGE_DATA_CLEARED
android.intent.action.PACKAGE_FIRST_LAUNCH
android.intent.action.PACKAGE_FULLY_REMOVED
android.intent.action.PACKAGE_INSTALL
android.intent.action.PACKAGE_NEEDS_VERIFICATION
android.intent.action.PACKAGE_REMOVED
android.intent.action.PACKAGE_REPLACED
android.intent.action.PACKAGE_RESTARTED
android.intent.action.PHONE_STATE
android.intent.action.PROVIDER_CHANGED
android.intent.action.PROXY_CHANGE
android.intent.action.REBOOT
android.intent.action.SCREEN_OFF
android.intent.action.SCREEN_ON
android.intent.action.TIMEZONE_CHANGED
android.intent.action.TIME_SET
android.intent.action.TIME_TICK
android.intent.action.UID_REMOVED
android.intent.action.USER_PRESENT
android.intent.action.WALLPAPER_CHANGED
android.media.ACTION_SCO_AUDIO_STATE_UPDATED
android.media.AUDIO_BECOMING_NOISY
android.media.RINGER_MODE_CHANGED
android.media.SCO_AUDIO_STATE_CHANGED
android.media.VIBRATE_SETTING_CHANGED
android.media.action.CLOSE_AUDIO_EFFECT_CONTROL_SESSION
android.media.action.OPEN_AUDIO_EFFECT_CONTROL_SESSION
android.net.conn.BACKGROUND_DATA_SETTING_CHANGED
android.net.wifi.NETWORK_IDS_CHANGED
android.net.wifi.RSSI_CHANGED
android.net.wifi.SCAN_RESULTS
android.net.wifi.STATE_CHANGE
android.net.wifi.WIFI_STATE_CHANGED
android.net.wifi.p2p.CONNECTION_STATE_CHANGE
android.net.wifi.p2p.PEERS_CHANGED
android.net.wifi.p2p.STATE_CHANGED
android.net.wifi.p2p.THIS_DEVICE_CHANGED
android.net.wifi.supplicant.CONNECTION_CHANGE
android.net.wifi.supplicant.STATE_CHANGE
android.provider.Telephony.SIM_FULL
android.provider.Telephony.SMS_CB_RECEIVED
android.provider.Telephony.SMS_EMERGENCY_CB_RECEIVED
android.provider.Telephony.SMS_RECEIVED
android.provider.Telephony.SMS_REJECTED
android.provider.Telephony.WAP_PUSH_RECEIVED
android.speech.tts.TTS_QUEUE_PROCESSING_COMPLETED
android.speech.tts.engine.TTS_DATA_INSTALLED
Wednesday, October 31, 2012
Remove BOM (Mac OS X)
BOM is sometimes a pain in the ASS when you are trying to build android project with ANT.
Save the following script in a text file and change the file extension to "sh". Don't forget to make it executable before executing it :D (chmod +x). If you want the windows version too, let me know.
#!/bin/bash
set -o nounset
set -o errexit
DELETE_ORIG=true
DELETE_FLAG=""
RECURSIVE=false
PROCESSALLFILE=false
PROCESSING_FILES=false
PROCESSALLFILE_FLAG=""
SED_EXEC=sed
USE_EXT=false
FILE_EXT=""
TMP_CMD="mktemp"
TMP_OPTS="--tmpdir="
XDEV=""
ISDARWIN=false
if [ $(uname) == "SunOS" ] ; then
if [ -x /usr/gnu/bin/sed ] ; then
echo "Using GNU sed..."
SED_EXEC=/usr/gnu/bin/sed
fi
TMP_OPTS="-p "
fi
if [ $(uname) == "Darwin" ] ; then
TMP_OPTS="-t tmp"
SED_EXEC="perl -pe"
echo "Using perl..."
ISDARWIN=true
fi
function usage() {
echo "bom-remove [-adrx] [-s sed-name] [-e ext] files..."
echo ""
echo " -a Remove the BOM throughout the entire file."
echo " -e Look only for files with the chosen extensions."
echo " -d Do not overwrite original files and do not remove temp files."
echo " -r Scan subdirectories."
echo " -s Specify an alternate sed implementation."
echo " -x Don't descend directories in other filesystems."
}
function checkExecutable() {
if ( ! which "$1" > /dev/null 2>&1 ); then
echo "Cannot find executable:" $1
exit 4
fi
}
function parseArgs() {
while getopts "adfrs:e:x" flag
do
case $flag in
a) PROCESSALLFILE=true ; PROCESSALLFILE_FLAG="-a" ;;
r) RECURSIVE=true ;;
f) PROCESSING_FILES=true ;;
s) SED_EXEC=$OPTARG ;;
e) USE_EXT=true ; FILE_EXT=$OPTARG ;;
d) DELETE_ORIG=false ; DELETE_FLAG="-d" ;;
x) XDEV="-xdev" ;;
*) echo "Unknown parameter." ; usage ; exit 2 ;;
esac
done
shift $(($OPTIND - 1))
if [ $# == 0 ] ; then
usage;
exit 2;
fi
# fixing darwin
if [[ $ISDARWIN == true && $PROCESSALLFILE == false ]] ; then
PROCESSALLFILE=true
echo "Process all file is implicitly set on Darwin."
fi
FILES=("$@")
if [ ! -n "$FILES" ]; then
echo "No files specified. Exiting."
fi
if [ $RECURSIVE == true ] && [ $PROCESSING_FILES == true ] ; then
echo "Cannot use -r and -f at the same time."
usage
exit 1
fi
checkExecutable $SED_EXEC
checkExecutable $TMP_CMD
}
function processFile() {
if [ $(uname) == "Darwin" ] ; then
TEMPFILENAME=$($TMP_CMD $TMP_OPTS)
else
TEMPFILENAME=$($TMP_CMD $TMP_OPTS"$(dirname "$1")")
fi
echo "Processing $1 using temp file $TEMPFILENAME"
if [ $PROCESSALLFILE == false ] ; then
cat "$1" | $SED_EXEC '1 s/\xEF\xBB\xBF//' > "$TEMPFILENAME"
else
cat "$1" | $SED_EXEC 's/\xEF\xBB\xBF//g' > "$TEMPFILENAME"
fi
if [ $DELETE_ORIG == true ] ; then
if [ ! -w "$1" ] ; then
echo "$1 is not writable. Leaving tempfile."
else
echo "Removing temp file..."
mv "$TEMPFILENAME" "$1"
fi
fi
}
function doJob() {
# Check if the script has been called from the outside.
if [ $PROCESSING_FILES == true ] ; then
for i in {1 ${#FILES[@]}}
do
echo ${FILES[$i-1]}
processFile "${FILES[$i-1]}"
done
else
# processing every file
for i in {1 ${#FILES[@]}}
do
CURRFILE=${FILES[$i-1]}}
# checking if file or directory exist
if [ ! -e "$CURRFILE" ] ; then echo "File not found: $CURRFILE. Skipping..." ; continue ; fi
# if a paremeter is a directory, process it recursively if RECURSIVE is set
if [ -d "$CURRFILE" ] ; then
if [ $RECURSIVE == true ] ; then
if [ $USE_EXT == true ] ; then
find "$CURRFILE" $XDEV -type f -name "*.$FILE_EXT" -exec "$0" $DELETE_FLAG $PROCESSALLFILE_FLAG -f "{}" \;
else
find "$CURRFILE" $XDEV -type f -exec "$0" $DELETE_FLAG $PROCESSALLFILE_FLAG -f "{}" \;
fi
else
echo "$CURRFILE is a directory. Skipping..."
fi
else
processFile "$CURRFILE"
fi
done
fi
}
parseArgs "$@"
doJob
Save the following script in a text file and change the file extension to "sh". Don't forget to make it executable before executing it :D (chmod +x
#!/bin/bash
set -o nounset
set -o errexit
DELETE_ORIG=true
DELETE_FLAG=""
RECURSIVE=false
PROCESSALLFILE=false
PROCESSING_FILES=false
PROCESSALLFILE_FLAG=""
SED_EXEC=sed
USE_EXT=false
FILE_EXT=""
TMP_CMD="mktemp"
TMP_OPTS="--tmpdir="
XDEV=""
ISDARWIN=false
if [ $(uname) == "SunOS" ] ; then
if [ -x /usr/gnu/bin/sed ] ; then
echo "Using GNU sed..."
SED_EXEC=/usr/gnu/bin/sed
fi
TMP_OPTS="-p "
fi
if [ $(uname) == "Darwin" ] ; then
TMP_OPTS="-t tmp"
SED_EXEC="perl -pe"
echo "Using perl..."
ISDARWIN=true
fi
function usage() {
echo "bom-remove [-adrx] [-s sed-name] [-e ext] files..."
echo ""
echo " -a Remove the BOM throughout the entire file."
echo " -e Look only for files with the chosen extensions."
echo " -d Do not overwrite original files and do not remove temp files."
echo " -r Scan subdirectories."
echo " -s Specify an alternate sed implementation."
echo " -x Don't descend directories in other filesystems."
}
function checkExecutable() {
if ( ! which "$1" > /dev/null 2>&1 ); then
echo "Cannot find executable:" $1
exit 4
fi
}
function parseArgs() {
while getopts "adfrs:e:x" flag
do
case $flag in
a) PROCESSALLFILE=true ; PROCESSALLFILE_FLAG="-a" ;;
r) RECURSIVE=true ;;
f) PROCESSING_FILES=true ;;
s) SED_EXEC=$OPTARG ;;
e) USE_EXT=true ; FILE_EXT=$OPTARG ;;
d) DELETE_ORIG=false ; DELETE_FLAG="-d" ;;
x) XDEV="-xdev" ;;
*) echo "Unknown parameter." ; usage ; exit 2 ;;
esac
done
shift $(($OPTIND - 1))
if [ $# == 0 ] ; then
usage;
exit 2;
fi
# fixing darwin
if [[ $ISDARWIN == true && $PROCESSALLFILE == false ]] ; then
PROCESSALLFILE=true
echo "Process all file is implicitly set on Darwin."
fi
FILES=("$@")
if [ ! -n "$FILES" ]; then
echo "No files specified. Exiting."
fi
if [ $RECURSIVE == true ] && [ $PROCESSING_FILES == true ] ; then
echo "Cannot use -r and -f at the same time."
usage
exit 1
fi
checkExecutable $SED_EXEC
checkExecutable $TMP_CMD
}
function processFile() {
if [ $(uname) == "Darwin" ] ; then
TEMPFILENAME=$($TMP_CMD $TMP_OPTS)
else
TEMPFILENAME=$($TMP_CMD $TMP_OPTS"$(dirname "$1")")
fi
echo "Processing $1 using temp file $TEMPFILENAME"
if [ $PROCESSALLFILE == false ] ; then
cat "$1" | $SED_EXEC '1 s/\xEF\xBB\xBF//' > "$TEMPFILENAME"
else
cat "$1" | $SED_EXEC 's/\xEF\xBB\xBF//g' > "$TEMPFILENAME"
fi
if [ $DELETE_ORIG == true ] ; then
if [ ! -w "$1" ] ; then
echo "$1 is not writable. Leaving tempfile."
else
echo "Removing temp file..."
mv "$TEMPFILENAME" "$1"
fi
fi
}
function doJob() {
# Check if the script has been called from the outside.
if [ $PROCESSING_FILES == true ] ; then
for i in {1 ${#FILES[@]}}
do
echo ${FILES[$i-1]}
processFile "${FILES[$i-1]}"
done
else
# processing every file
for i in {1 ${#FILES[@]}}
do
CURRFILE=${FILES[$i-1]}}
# checking if file or directory exist
if [ ! -e "$CURRFILE" ] ; then echo "File not found: $CURRFILE. Skipping..." ; continue ; fi
# if a paremeter is a directory, process it recursively if RECURSIVE is set
if [ -d "$CURRFILE" ] ; then
if [ $RECURSIVE == true ] ; then
if [ $USE_EXT == true ] ; then
find "$CURRFILE" $XDEV -type f -name "*.$FILE_EXT" -exec "$0" $DELETE_FLAG $PROCESSALLFILE_FLAG -f "{}" \;
else
find "$CURRFILE" $XDEV -type f -exec "$0" $DELETE_FLAG $PROCESSALLFILE_FLAG -f "{}" \;
fi
else
echo "$CURRFILE is a directory. Skipping..."
fi
else
processFile "$CURRFILE"
fi
done
fi
}
parseArgs "$@"
doJob
Tuesday, October 2, 2012
Android - How to detect end of scroll inside List View
Step 1: Set the scroll listener of the list view like below.
list.setOnScrollListener(new OnScrollListener() {});
Step 2: Override the onScroll function and copy/paste the following code
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if (list.getLastVisiblePosition() == list.getAdapter().getCount() - 1
&& list.getChildAt(list.getChildCount() - 1).getBottom() <= list.getHeight()) {
//scroll end reached
//Write your code here
}
}
Sunday, July 29, 2012
How to build android project with Ant ?
Replace () with your own value
Step 1: cd to project directory
Step 2: android update project -p .
Step 3: linux/unix: nano ant.properties
windows: notepad ant.properties
Step 4: input the following:
key.store=(path of key store file )/.keystore
key.alias=(name of alias)
key.store.password=(password of key store)
key.alias.password=(password of key alias)
Step 5:
ant release;
adb install -r bin/(generated file name).apk;
adb shell am start -a android.intent.action.MAIN -n (package name)/(package name).(activity name)
To make life easier, put step 5 inside a bash script and run it :)
Ant でAndroidプロジェクトをビルド方法:(in Japanese)
ーーーーーーーーーーーーーーーーーーー
Step 1: コマンドプロンプトで プロジェクトフォルダの中に移動する (cd コマンド)
Step 2: android update project -p .
Step 3: notepad ant.properties
Step 4: 下記を記載して保存
key.store=??/.keystore
key.alias=??
key.store.password=??
key.alias.password=??
Step 5: ant release;adb install -r bin/.apk;adb shell am start -a android.intent.action.MAIN -n package name/package name.activity name
Wednesday, July 4, 2012
Android - Soft keyboard does not hide after done is pressed ?
Just add the following as textbox property
android:imeOptions="actionDone"
Tuesday, July 3, 2012
Android - Change the default focus inside a Alert dialogue
set on focus change for any object inside the dialog.
@Override
public void onFocusChange(View view, boolean hasFocus) {
// Set focus where ever you want according to your custom logic
// for example to focus on the positive button after a webview scroll
// web is the webview and the buttons are initialized inside onCreateDialog
if(!web.isFocused() && !positiveButton.isFocused() && negativeButton.isFocused()){
positiveButton.requestFocus();
}
}
Android - How to detect scroll inside webview?
Create a custom webview class which extends of course webview :)
public class CustomWebView extends WebView
Override the following method
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt)
int l is x, int is y
Thats it :)
Subscribe to:
Posts (Atom)