Thursday, January 2, 2014

Shortcut Description File Navigation

CTRL SHIFT R Open a resource
CTRL E Open a file (editor) from within the list of all open files
CTRL PAGE UP or PAGE DOWN Navigate to previous or next file from within the list of all open files
ALT <- or ALT -> Go to previous or next edit positions from editor history list

Java Editing

CTRL SPACE Type assist
CTRL SHIFT F Format code
CTRL O List all methods of the class
CTRL SHIFT O Organize imports
CTRL SHIFT U Find reference in file
CTRL / Comment a line
F3 Go to the declaration of the variable
F4 Show type hierarchy of on a class
CTRL T Show inheritance tree of current token
SHIFT F2 Show Javadoc for current element
ALT SHIFT Z Enclose block in try-catch

General Editing

F12 Focus on current editor
CTRL L Go to line number
CTRL D Delete a line
CTRL <- or -> Move one element left or right
CTRL M Maximize editor
CTRL SHIFT P Go to the matching parenthesis

Debug, Run

CTRL . or , Navigate to next or previous error
F5 Step into
F6 Step over
F8 Resume
CTRL Q Inspect
CTRL F11 Run last run program
CTRL 1 Quick fix code

Search

CTRL SHIFT G Search for current cursor positioned word reference in workspace
CTRL H Java search in workspace

Sunday, July 1, 2012

Android 4.1 for Developers - JellyBeans Now Availble

Welcome to Android 4.1, Jelly Bean!




Android 4.1 is the fastest and smoothest version of Android yet. We’ve made improvements throughout the platform and added great new features for users and developers. This document provides a glimpse of what's new for developers.



See the Android 4.1 APIs document for a detailed look at the new developer APIs,



Find out more about the Jelly Bean features for users at http://www.android.com/

Friday, May 18, 2012

Android Multi-Core Enable/Disable

Actually support for Hot Plug-gable CPU's added by Config file.

Config Option is below:


CONFIG_HOTPLUG_CPU=y
or # CONFIG_HOTPLUG_CPU is not set

If your device has root permission, you can execute below commands for the above.

adb shell stop mpdecision

adb shell "echo 1 > /sys/devices/system/cpu/cpu1/online"
or
adb shell  ->
# stop mpdecision
# echo 1 > /sys/devices/system/cpu/cpu1/online

Friday, May 4, 2012

Lava Xolo X900 Review - The First Intel Medfield Phone

For Intel, the road to their first real competitive smartphone SoC has been a long one. Shortly after joining AnandTech and beginning this journey writing about both smartphones and the SoC space, I remember hopping on a call with Anand and some Intel folks to talk about Moorestown. While we never did see Moorestown in a smartphone, we did see it in a few tablets, and even looked at performance in an OpenPeak Tablet at IDF 2011. Back then performance was more than competitive against the single core Cortex A8s in a number of other devices, but power profile, lack of ISP, video encode, decode, or PoP LPDDR2 support, and the number of discrete packages required to implement Moorestown, made it impossible to build a smartphone around. While Moorestown was never the success that Intel was hoping for, it paved the way for something that finally brings x86 both down to a place on the power-performance curve that until now has been dominated by ARM-powered SoCs, and includes all the things hanging off the edges that you need (ISP, encode, decode, integrated memory controller, etc), and it’s called Medfield. With Medfield, Intel finally has a real, bona fide SoC that is already in a number of devices shipping before the end of 2012.


http://images.anandtech.com/doci/5770/X900Medfield-0500.jpg

Beginning April 23rd, Intel, through Lava International, began selling the Xolo X900 smartphone in India for INR 22000 (~$420 USD). As we’ve stated before, the design and construction of the Xolo X900 almost identically mirrors the Intel FFRD we’ve seen before, from the specifications and Medfield platform itself, to industrial design and exterior buttons.

Specifications :

Network Frequency Bands GSM: 850/900/1800/1900
UMTS/HSPA: 850/900/1900/2100
HSPA+: 850/900/1900/2100
Edge/GPRS Class 10
WCDMA Yes
HSPA+ up to 21 Mbps (DL)
up to 5.7 Mbps (DL)
Processor Chipset Intel Atom Processor Z2460
CPU 1.6 GHz Intel® Atom™ with Hyper Threading
Graphics core Clock speed 400 MHz
Triangles per second 40 million/second
Design Dimensions 123 x 63 x 10.99 mm
Weight 127 grams
Hard Keys Power key
Volume key
Camera key
Slots Micro SIM card slot
micro USB
micro HDMI
3.5 mm audio jack
Display Display Size 4.03"
Resolution 1024 x 600
Colours 16M
Display Technology TFT LCD Capacitive touch
Corning Gorilla Glass
Operating System Android 2.3 (Gingerbread)
(upgradable to Android 4.0)
GPS Yes
Camera Rear camera 8 MP
Front camera 1.3 MP
Flash support Yes, single LED
Auto focus Yes
Touch focus Yes
Digital zoom 8x
HD recording rear 1080p
Video chat front 480p
Burst Mode 15 fps, 10 images in <1 sec
Modes supported Auto, Sports, Potrait, Landscape, Night, Night Potrait, Fireworks, Text
Sensors Accelerometer
Gyroscope
Magnetometer
Ambient light sensor
Proximity sensor
Audio Dual Speakers Yes, 0.3 W each
Digital Microphones 2
Ambient Noise Cancellation Yes
Voice Recording Yes, 3GPP
Audio codecs supported MP3, MIDI, WAV, 3GPP
Video Video recording & playback Full HD 1080p@30fps
Video codecs supported MPEG4, 3GPP, WMC, H.264, VP8
Video Player Android Video Player, doubleTwist
Sync Drivers for Windows XP Yes
Drivers for Windows 7 Yes
OTA support Yes
Firmware download via PC Yes
Connectivity USB 2.0 Hi Speed
Bluetooth v2.1
Wi-Fi 802.11 b/g/n
NFC Yes
NFC Antenna 13.56 MHz
WLAN support Yes
Modem Intel XMM6260
Memory Internal Memory* 16 GB
RAM 1 GB
Browser HTML5
Messaging MMS Yes
SMS Yes
Email Yes
Document Viewer Yes
Battery
1460 mAh, 3.7V
Browsing (2G) up to 5 hours
Talk time (3G) up to 8 hours
Talk time (2G) up to 14 hours
Music playback (earphones) up to 45 hours
1080p Video up to 6 hours
Total standby time up to 14 days


Physical Comparison
Apple iPhone 4S Samsung Galaxy S 2 Samsung Galaxy Nexus (GSM/UMTS) Lava Xolo X900
Height 115.2 mm (4.5") 125.3 mm (4.93") 135.5 mm (5.33") 123 mm (4.84")
Width 58.6 mm (2.31") 66.1 mm (2.60") 67.94 mm (2.67) 63 mm (2.48")
Depth 9.3 mm ( 0.37") 8.49 mm (0.33") 8.94 mm (0.35") 10.99 mm (0.43")
Weight 140 g (4.9 oz) 115 g (4.06 oz) 135 g (4.8 oz) 127 g (4.5 oz)
CPU Apple A5 @ ~800MHz Dual Core Cortex A9 1.2 GHz Exynos 4210 Dual Core Cortex A9 1.2 GHz Dual Core Cortex-A9 OMAP 4460 1.6 GHz Intel Atom Z2460 with HT (1C2T)
GPU PowerVR SGX 543MP2 ARM Mali-400 PowerVR SGX 540 @ 304 MHz PowerVR SGX 540 @ 400 MHz
RAM 512MB LPDDR2-800 1 GB LPDDR2 1 GB LPDDR2 1 GB LPDDR2 @ 400 MHz
NAND 16GB, 32GB or 64GB integrated 16 GB NAND with up to 32 GB microSD 16/32 GB NAND 16 GB NAND
Camera 8 MP with LED Flash + Front Facing Camera 8 MP AF/LED flash, 2 MP front facing 5 MP with AF/LED Flash, 1080p30 video recording, 1.3 MP front facing 8 MP with AF/LED Flash, 1080p30 video recording, 1.3 MP front facing
Screen 3.5" 640 x 960 LED backlit LCD 4.27" 800 x 480 SAMOLED+ 4.65" 1280x720 SAMOLED HD 4.03" 1024x600 LED backlit LCD
Battery Internal 5.3 Whr Removable 6.11 Whr Removable 6.48 Whr Internal 5.4 Whr

 Lava XOLO Gallery :






source anandtech xolo

Samsung Galaxy S III shreds the iPhone 4S in GPU benchmarks

Samsung Galaxy S III Performance Preview: It's Fast


Earlier today Samsung unveiled its Galaxy S III, at the heart of which is Samsung's new Exynos 4 Quad SoC. Fortunately we got a ton of hands on time with the device at Samsung's unpacked event in London and are able to bring you a full performance preview of the new flagship, due to be shipping in Europe on May 29th.
The Exynos 4 Quad is an obvious evolution of the dual-core Exynos in many of the Galaxy S II devices. Built on Samsung's 32nm high-k + metal gate LP process, the new Exynos integrates four ARM Cortex A9s running at up to 1.4GHz (200MHz minimum clock). Each core can be power gated individually to prevent the extra cores from being a power burden in normal usage. Each core also operates on its own voltage and frequency plane, taking a page from Qualcomm's philosophies on clocking. There is no fifth companion core, but the assumption is  Samsung's 32nm HK+MG LP process should have good enough leakage characteristics to reduce the need for such a design.
The GPU is still ARM's Mali-400/MP4, however we're not sure of its clocks. Similar to the dual-core Exynos, there's a dual-channel LPDDR2 memory controller that feeds the entire SoC. The combination should result in performance competitive with NVIDIA's Tegra 3 (and a bit higher in memory bandwidth limited scenarios), but potentially at lower power levels thanks to Samsung's 32nm process.
While we won't know much about the power side of things until we get a review device in hand, we can look at its performance today.

Browser & CPU Performance: Very Good

As always, we start with our Javascript performance tests that measure a combination of the hardware's performance in addition to the software on the device itself. Sunspider performance is extremely good:



While we thought we hit a performance wall around 1800ms, the One X from HTC, the Lava XOLO and now the Samsung Galaxy S III have reset the barrier for us. In this case the performance boost is likely more due to software than hardware, but the combination of the two results in performance that's better than almost anything we've seen thus far. The obvious exception being Intel's Medfield in the X900.

BrowserMark is another solid js benchmark, but here we're really able to see just how much tuning Samsung has done in its browser:


The Galaxy S III is significantly faster than anything else we've ever tested thus far. The browsing experience in general is very good on the SGS3, and the advantage here likely has more to do with Samsung's browser code and the fact that it's running Android 4.0.4 rather than any inherent SoC advantage. We know how 1.4GHz Cortex A9s should perform, and this is clearly much better than that.

Once again we turn to Qualcomm's Vellamo to get an idea for browser and UI scrolling performance:


Although (understandably) not as quick as the Snapdragon S4 based One X, the SGS3 does extremely well here - likely due in no small part to whatever browser optimizations ship in Samsung's 4.0.4 build. As Brian put it when he first got time with the device: it's butter.

GPU Performance: Insanely Fast

While we don't know the clocks of the Mali-400/MP4 GPU in the SGS3, it's obviously significantly quicker than its predecessor. Similar to what we saw when the Galaxy S II launched, Samsung once again takes the crown for fastest smartphone GPU in our performance tests.
The onscreen GLBenchmark Egypt and Pro results are understandably v-sync limited, but if you look at how much headroom is available thanks to the faster GPU it's clear that the Galaxy S III should be able to handle newer, more complex games, better than its predecessor.
What's particularly insane is that Samsung is able to deliver better performance than the iPhone 4S, the previous king-of-the-GPU-hill in these tests.


 The performance advantage isn't anywhere near as staggering if we look as BaseMark ES 2.0, however as we've mentioned before this benchmark is definitely showing its age at this point. Despite the aggressive tuning Qualcomm has done for these benchmarks, Samsung is actually able to remain competitive and even pull out a slight win in the Taiji test. Both benchmarks are v-sync limited on the fastest platforms however.


source : anandtech

Google Play Store Now Offers Carrier Billing For Books, Music, Movies and Apps

There are many ways to pay on Google Play. Some carriers offer direct billing that lets you charge your Google Play purchases directly to your monthly phone bill.

This week we expanded this service to include all types of digital content on Google Play. In the U.S., T-Mobile customers can now purchase apps, music, movies and books by charging them directly to their mobile bill. In Japan, DoCoMo, KDDI and Softbank customers can also enjoy the convenience of paying for movies, apps and games on their mobile bills, too. And coming soon, Sprint will offer expanded direct billing options so you can pay for more digital content for your Android device.

Check out the full list of carriers that offer direct billing at http://goo.gl/rQ5Ps.

 or those of you who enjoyed carrier billing when it came to apps on the Android Market, guess what?  Google is now offering direct carrier billing on the Play Store for everything else as well.  Now, you can consolidate your music, books, movies and apps onto one bill if your carrier is on the list above (sorry Verizon users).  We’re pretty thankful that Google is offering this as for some, it’s extremely convenient.  So, from here on out, when you purchase something, your device will now prompt you as to what method of payment you prefer.  If you’re not into consolidating and the whole convenience thing, just opt out.  What’s your preference?  Feel free to drop a comment or two below.

Comparison between Galaxy S3 & Galaxy S2 & Galaxy Nexus & Htc One X



Comparison between Galaxy S3 & Galaxy S2 & Galaxy Nexus & Htc One X


Monday, April 16, 2012

5 reasons why mobile is the best platform to know your customers.

What are your customers thinking?


Marketing as a means of just selling is long past gone. Today’s marketer wants to understand his customer first before selling anything. Today’s marketer wants to provide the right solution for the right customer. There is a constant handshake happening between a marketer and his customers. Data plays a big part in this handshake.

Market Research plays a great role in marketing. In simple terms, traditional market research has been about collecting and analyzing data to help companies understand their customers and to make right decisions. In big corporations market research is conducted as a separate activity. Companies do market research all the time. You as a consumer is constantly given offers to fill down surveys to help companies fine tune their businesses.

The Web acted (acting) as a great platform for companies to efficiently combine marketing and market research. Many successful companies used this platform intelligently to know about their customers and grow their business. One clear example is Amazon. Here is a good article which talks about Jeff Bezos’ “data-driven customer focus”.

Now it is the age of mobile. Mobile is further going to bring down the divide between marketing and market research. Or to put it another way – mobile is opening up opportunities for companies to combine their marketing and market research efforts, know their customers and grow their businesses. Here are 5 reasons why mobile is the best platform to know your customers:

1. “Its my device” – Almost 50% of US adult population carries a smart phone. And unlike PCs, smartphones are not shared (except for when you allow your kids to play Temple Run !!!). So, you get direct access to the customer you want to reach.

2. “I carry it everywhere i go” – We may even forget carrying our wallet when we go out, but we feel at loss when we are without our mobile devices. Read “Everywhere” as “location”. Location allows marketers not only reach the customers they want, but the customers they want at the right places. If a marketing campaign needs to reach users just around Boston area. It is very much possible at a fraction of the cost.

3. “I do most of my stuff using my phone” – From replying to emails to killing sneaky pigs to comparing prices (and of course answering phone calls), we do almost all transactions on our mobile device. Many analyst firms have quoted big numbers on mCommerce growth. And with lot of (mobile) activity comes lot of data.

4. “I am less distracted” – This is counter intuitive. There has been a barrage of articles that talk about how information overload and proliferation of devices make us distracted. I view this differently when it comes to mobile. According to Flurry, average session time on a mobile application is 4.2 mins (as compared to web session time of just under 1 minute). As a mobile user, when i am inside an app, i want to give full attention to that app. Even if i have to click on some links as part of the application, i expect to go back to the application when i am done with the link. For those few minutes, i as a user, is tied to the device.

5. Small is beautiful – Though the form factor of mobile devices looks limiting, they are also, in a way, act in favor of a marketer. Due to the limited space, messages from many brands can not be cluttered on one screen. A screen at any given slice of time is dedicated to one brand. Though this looks simple, it is very powerful in increase the brand awareness of a brand.

From Neemware.org

Thursday, February 16, 2012

Linux Find Out Virtual Memory PAGESIZE

How do I check the size of PAGESIZE under Linux?

Most modern operating systems have their main memory divided into pages. It allows better utilization of memory. A page is a fixed length block of main memory, that is contiguous in both physical memory addressing and virtual memory addressing. Kernel swap and allocates memory using pages

To display size of a page in bytes, enter:

$ getconf PAGESIZE

OR

$ getconf PAGE_SIZE

Output:

4096

Monday, January 2, 2012

Disable Linux Kernel Version Magic problem while loading the module

Linux kernel will refuse to load kernel module, if the linux version magic is not match.

goto kernel/module.c file in kernel folder.

check for 'check_modinfo' function .

comment return -ENOEXEC this line in below function for same_magic() check.

static int check_modinfo(struct module *mod, struct load_info *info)
{
const char *modmagic = get_modinfo(info, "vermagic");
int err;

/* This is allowed: modprobe --force will invalidate it. */
if (!modmagic) {
err = try_to_force_load(mod, "bad vermagic");
if (err)
return err;
} else if (!same_magic(modmagic, vermagic, info->index.vers)) {
printk(KERN_ERR "%s: version magic '%s' should be '%s'\n",
mod->name, modmagic, vermagic);
return -ENOEXEC; }

if (get_modinfo(info, "staging")) {
add_taint_module(mod, TAINT_CRAP);
printk(KERN_WARNING "%s: module is from the staging directory,"
" the quality is unknown, you have been warned.\n",
mod->name);
}

/* Set up license info based on the info section */
set_license(mod, get_modinfo(info, "license"));

return 0;
}

Sunday, January 1, 2012

Service lifecycle in Android Application

A service can be used in two ways:
1)It can be started and allowed to run until someone stops it or it stops itself. In this mode, it's started by calling Context.startService() and stopped by calling Context.stopService(). It can stop itself by calling Service.stopSelf() or Service.stopSelfResult(). Only one stopService() call is needed to stop the service, no matter how many times startService() was called.
2)It can be operated programmatically using an interface that it defines and exports. Clients establish a connection to the Service object and use that connection to call into the service. The connection is established by calling Context.bindService(), and is closed by calling Context.unbindService(). Multiple clients can bind to the same service. If the service has not already been launched, bindService() can optionally launch it.
The two modes are not entirely separate. You can bind to a service that was started with startService(). For example, a background music service could be started by calling startService() with an Intent object that identifies the music to play. Only later, possibly when the user wants to exercise some control over the player or get information about the current song, would an activity establish a connection to the service by calling bindService(). In cases like this, stopService() will not actually stop the service until the last binding is closed.

Like an activity, a service has lifecycle methods that you can implement to monitor changes in its state. But they are fewer than the activity methods — only three — and they are public, not protected:
void onCreate()
void onStart(Intent intent)
void onDestroy()
By implementing these methods, you can monitor two nested loops of the service's lifecycle:
1)The entire lifetime of a service happens between the time onCreate() is called and the time onDestroy() returns. Like an activity, a service does its initial setup in onCreate(), and releases all remaining resources in onDestroy(). For example, a music playback service could create the thread where the music will be played in onCreate(), and then stop the thread in onDestroy().
2)The active lifetime of a service begins with a call to onStart(). This method is handed the Intent object that was passed to startService(). The music service would open the Intent to discover which music to play, and begin the playback.
There's no equivalent callback for when the service stops — no onStop() method.
The onCreate() and onDestroy() methods are called for all services, whether they're started by Context.startService() or Context.bindService(). However, onStart() is called only for services started by startService().

If a service permits others to bind to it, there are additional callback methods for it to implement:
IBinder onBind(Intent intent)
boolean onUnbind(Intent intent)
void onRebind(Intent intent)
The onBind() callback is passed the Intent object that was passed to bindService and onUnbind() is handed the intent that was passed to unbindService(). If the service permits the binding, onBind() returns the communications channel that clients use to interact with the service. The onUnbind() method can ask for onRebind() to be called if a new client connects to the service.

The following diagram illustrates the callback methods for a service. Although, it separates services that are created via startService from those created by bindService(), keep in mind that any service, no matter how it's started, can potentially allow clients to bind to it, so any service may receive onBind() and onUnbind() calls.

Tuesday, December 27, 2011

Check Available Sensor's on your device & Verify it's behaviour on Android platform.

1. enter adb shell

2. execute command "getevent"

o/p shows like this :

add device 1: /dev/input/event8
name: "qt602240_ts_input"
could not get driver version for /dev/input/mouse0, Not a typewriter
add device 2: /dev/input/event7
name: "melfas-touchkey"
add device 3: /dev/input/event6
name: "light_sensor"
add device 4: /dev/input/event5
name: "proximity_sensor"
add device 5: /dev/input/event4
name: "aries-keypad"
add device 6: /dev/input/event3
name: "orientation_sensor"
add device 7: /dev/input/event0
name: "accelerometer_sensor"
could not get driver version for /dev/input/mice, Not a typewriter
add device 8: /dev/input/event2
name: "raw_magnetic_sensor"
add device 9: /dev/input/event1
name: "magnetic_sensor"

3. example if you want to verify the proximity sensor execute below command.

echo 1 > /sys/class/input/input5/enable //for proximity sensor

4. sense the particular sensor and verify behaviour the output w.r.t sensor you enabled for shell.