$(document).ready(function() { $('pre code').each(function(i, block) { hljs.highlightBlock(block); }); });

Friday, February 13, 2015

Android Lollipop slowing down your Motorola phone?


I bought a Motorola moto g last year for myself (in fact, today is it's anniversary!) and I loved everything about it. And while I had enough money to move to Moto X2, I just didn't need it really.
In November last year, I read that Android's latest OS, Android Lollipop will be rolled out to Moto G series as well and that really made me happy about my decision of buying a Moto G.
So, the very moment Motorola started rolling out the update, I updated my mobile. And first impression wasn't bad, at least from the UI and feature perspective.
But later I realised, while my mobile's battery performance has improved considerably, it's overall performance has degraded! Apps were hanging up alot, taking alot of time in starting up and more often, they started crashing!
So, while I was considering to move back to Kitkat, I first asked for help to Motorol guys and they told me, wipe your system cache and performace will be back to original in few days. And yes, it WON'T cause you any data loss.
For those who don't know, cache is the place systems look for most commonly used files so that they don't have to look for it through out the system, adding to it's speed and efficiency.
So, I did it a while ago and I've faced no problems yet. So, if you would like to try it too, here's the process:

1. With the phone powered off, press and hold Volume Down button and Power button at the same time and release after two sec. 
2. Press the Volume Down button ONCE to highlight """"""""""""""""Recovery mode"""""""""""""""" 
3. Press the Volume Up button to restart into Recovery mode.
4. You'll see an image of an Android robot with a red exclamation mark and the words """"""""""""""""No command.""""""""""""""""
5. Hold on the Power button+ Volume Up button and release.
6. Use the volume buttons to scroll to """"""""""""""""wipe cache partition"""""""""""""""" and press the Power button to select it.
7. """"""""""""""""Reboot system now"""""""""""""""" will be highlighted, press the Power button to select it.
8. After a software update the device might need a few days to """"""""settle"""""""" it should improve with time
That's all! Also, this may take upto 15 minutes so please be patient and do not try to switch off your phone. Also make sure your phone's battery is at least 30% charged.
If you face any issues in following up this, please let me know. Or if you face any issue after following this, please let me know.


Tuesday, December 23, 2014

Get device details in PHP


Get device detail in PHP


Been using PHP for sometime and now working on mobile domain? The first hurdle you must have faced is 'how to determine the device type in PHP', unless you used HTACCESS for that, which isn't the right approach.
So, here I'm writing a class that will get you pretty much information about the device. You can get more by processing the USER_AGENT string!

<?php
class Detect
{
 public static function systemInfo()
 {
    $user_agent = $_SERVER['HTTP_USER_AGENT'];
    $os_platform    = "Unknown OS Platform";
    $os_array       = array('/windows phone 8/i'    =>  'Windows Phone 8',
                            '/windows phone os 7/i' =>  'Windows Phone 7',
                            '/windows nt 6.3/i'     =>  'Windows 8.1',
                            '/windows nt 6.2/i'     =>  'Windows 8',
                            '/windows nt 6.1/i'     =>  'Windows 7',
                            '/windows nt 6.0/i'     =>  'Windows Vista',
                            '/windows nt 5.2/i'     =>  'Windows Server 2003/XP x64',
                            '/windows nt 5.1/i'     =>  'Windows XP',
                            '/windows xp/i'         =>  'Windows XP',
                            '/windows nt 5.0/i'     =>  'Windows 2000',
                            '/windows me/i'         =>  'Windows ME',
                            '/win98/i'              =>  'Windows 98',
                            '/win95/i'              =>  'Windows 95',
                            '/win16/i'              =>  'Windows 3.11',
                            '/macintosh|mac os x/i' =>  'Mac OS X',
                            '/mac_powerpc/i'        =>  'Mac OS 9',
                            '/linux/i'              =>  'Linux',
                            '/ubuntu/i'             =>  'Ubuntu',
                            '/iphone/i'             =>  'iPhone',
                            '/ipod/i'               =>  'iPod',
                            '/ipad/i'               =>  'iPad',
                            '/android/i'            =>  'Android',
                            '/blackberry/i'         =>  'BlackBerry',
                            '/webos/i'              =>  'Mobile');
    $found = false;
    $addr = new RemoteAddress;
    $device = '';
    foreach ($os_array as $regex => $value) 
    { 
        if($found)
         break;
        else if (preg_match($regex, $user_agent)) 
        {
            $os_platform    =   $value;
            $device = !preg_match('/(windows|mac|linux|ubuntu)/i',$os_platform)
                      ?'MOBILE':(preg_match('/phone/i', $os_platform)?'MOBILE':'SYSTEM');
        }
    }
    $device = !$device? 'SYSTEM':$device;
    return array('os'=>$os_platform,'device'=>$device);
 }

 public static function browser() 
 {
    $user_agent = $_SERVER['HTTP_USER_AGENT'];

    $browser        =   "Unknown Browser";

    $browser_array  = array('/msie/i'       =>  'Internet Explorer',
                            '/firefox/i'    =>  'Firefox',
                            '/safari/i'     =>  'Safari',
                            '/chrome/i'     =>  'Chrome',
                            '/opera/i'      =>  'Opera',
                            '/netscape/i'   =>  'Netscape',
                            '/maxthon/i'    =>  'Maxthon',
                            '/konqueror/i'  =>  'Konqueror',
                            '/mobile/i'     =>  'Handheld Browser');

    foreach ($browser_array as $regex => $value) 
    { 
        if($found)
         break;
        else if (preg_match($regex, $user_agent,$result)) 
        {
            $browser    =   $value;
        }
    }
    return $browser;
 }
}
Now, you can use it like this: 
$detail = Detect::systemInfo();
to check if it's a mobile, you can use,  

if($detect['device']=='MOBILE')
{
/* Your code for mobile devices */ 
}
else 
{
 /* Your code for desktop systems */ 
}

Contact Me

Name

Email *

Message *