Google Pixel Camera – The Best if it works but unfortunately crashes

November 22, 2018

We have looked at Google Pixel and Pixel 2 and all of its glory since its existence. But with Pixel 3 there was some huge expectations as competing flagships changed faces with the notches. Google Pixel 3 and its big brother XL were working fine when a possible update broke the camera driver. And the best place to get some help is the Google product forums. So, I did the same with my post being referenced all over the internet here: https://productforums.google.com/forum/#!msg/phone-by-google/7NY0tXtKlYU/N4uZcKaEBgAJ

An instance of Google Camera crashing after the Nov 5 Update. 

I got into an intense call with Google Support, being myself a developer throughout these years working on Android Custom ROMs. Some of the initial steps were already taken by me, by clearing App Cache, Factory Reset and also did side-load the original factory image from Pixel Factory Images page. Nothing worked, which turned me towards the internet to get this issue more coverage. 

This thread takes this issue from you to the world. Interestingly, I found that there were issues earlier with the Pixel 2 camera as well. This is where this whole resonates back. https://www.androidauthority.com/google-pixel-2-fatal-camera-error-fix-885569/ 

So, basically this bug was never fixed or was just patched enough to work for a while and the new Pixel 3 device was just pushed with this software. Now that we have been seeing this bug with Pixel 3, it is really not expected out a pioneer of Android, a company called ‘Google’. It is just a game of responsibility at this point in time. 

I went for an RMA with Google and got my device replaced. I would say that was satisfactorily quick enough. Its been a week now and everything is working fine since 15 Nov. I am not sure how that bug was resolved at-least in the RMA device but I will take anything that works for now until unless a word is heard from the giant itself. 

Snapdragon 845 – HMP Explained!

May 6, 2018


HMP? Heterogeneous Multi-Processing. Didn’t sound familiar right. Yeah, its a very basic idea to understand but sounds jargony. Before we look at HMP let us look at what is new in Snapdragon 845 in a quick review below.

Amongst the most advanced developments we have seen quite far in 2018, one of the most under the hood improvements have been brought by Qualcomm by launching the Snapdragon 845 having a new QuickCharge Technology and Artificial Intelligence core for faster and accurate AI features for smartphones. In this post, we will dive deep into what 845 is offering and what’s still yet to be in comparison to the other chips in the market out there.

CPU (Kyro 385) HMI:

4 high-performance cores are clocked at 2.8 with a 400Ghz improvement from the last 835. It follows a new big.LITTLE microarchitecture which has the cores arranged in the following fashion inside the chipset. A new improved Hetrerogrnous multi-tasking as known as global task scheduling has been used for control and switch between the cores. This allows independent cores to be accessed and activated when required. Kirin 970 used in Huawei and Honor smartphones also use the same architecture.

Hexagon 685 DSP:

DSP never heard of that for a change. Well, yeah. This upgrade is worth to notice with a big addition of the new Qualcomm Snapdragon Neural Processing Engine (NPE). The NPE SDK allows developers to train their AI-based models offline and just run the model on the new NPE unit. This makes on device AI processing possible without having used a cloud service for processing the AI app.

In case if you are a developer, you can look into the SDK here: https://developer.qualcomm.com/software/snapdragon-neural-processing-engine-ai

QuickCharge 4+:

Quickcharge 4+ gives you the power to go from 0 to 50% in 15 mins on a 2750mAh battery. USB Type-C support has been added which extends the use of single USB port for Headphones as well as for charging the battery. A New Battery Saver feature that adds more protection to each layer throughout the charging process.

  • INOV (Intelligent Negotiation for Optimum Voltage) version 3 is an algorithm engineered so your portable devices can determine what power level to request at any point in time, which allows for optimum power transfer while maximizing efficiency. New to Quick Charge 4: a compatible device can request to within 20mV or lower the specific power needed to charge while also running advanced thermal algorithms for the case, battery, chip, and connector.
  • Dual Charge is supported by including a second power management IC in the device (e.g., a smartphone). Charging a device via Dual Charge divide the charge current, allowing for more efficient thermal dissipation and reducing charge time. Our third generation Dual Charge technology incorporates intelligent thermal balancing engineered for optimized power delivery.

Performance: 

Hints of Geekbench result of the Samsung S9+ model (SM-G965U1) shows us that it’s not great still with the results when compared with iPhone X (Apple A11 Bionic). But, the catch here is about the clock speed of the device. As 845 is designed to attain a maximum clock speed of 2.8Ghz, the result shows 8 cores running at 1.7Ghz. Since the result has appeared, it might seem like the device was a test unit and actual results might differ when the consumer unit shows up at the MWC 2018. On the other hand, Apple’s A11 scores a consistent average of 4000 for single and 10000 for multi-core.

Sources: Qualcomm Blog, News, Images, and Logos were properties of respective companies.

Break open the .apk!

May 1, 2018

I actually started blogging 3 years ago, when I had little to no confidence in what I could be able to do with my blogs. But, I think the right point to pick myself up and start building blocks on those foundation layers would be to resume it.

So, let’s start with this tutorial, which has got 15k views on the video with a lot of people asking questions errors popping up and a lot of drama. This tutorial would be more sophisticated with a lot of tech questions answered, which weren’t earlier.


 

Apktool, so this tool basically unwraps your box of code that you wrote for creating something useful in the tech world hopefully to benefit someone. Ignoring the explanation, basically, this tool helps you look at the structure of the app the contents used to build it like the images, logos and other XML files. You can also look at the code written behind, but sadly it is still in a compiled stage called as smali which we will look at in a different perspective with another tool known as dex2jar which we will look that in a moment.

Before we start any of the stuff, we need to make sure, your computer has Java 1.7 or latest installed for these applications to work. So, let’s start with installing JDK 10 which will install java in return. Head over to this link JDK1.8-Oracle and accept the license agreement and download the suitable file. Windows, Linux, and Mac all are easy to install, you can just open those setup files and install as any other program.

Once installed, for a final testing fire up Terminal (Linux or Mac) or CMD (Windows) and type the command java. If you see some list of options or version name, you are good to get. Else, a quick thing would be to restart your system and test for it again, still doesn’t then reinstall if not the comments section is ready for your firing questions.

Lets, start with downloading a couple of files required for this “thing” to happen. Fire up your favorite internet destination and download the zip file. It has three components that we will be using for decompiling and recompiling the APK file.

Link to download: Apktool-JDGUI-DEX2JAR-TOOLKIT.zip

  1. ApkTool
  2. JD-GUI
  3. DEX2JAR

Once you downloaded the files, extract the zip file. You would see Apktool, JD-GUI, and Dex2JAR. Go ahead into Apktool folder, Based on your operating system choose the folder and grab both the files.

Windows:

  • Move both files (apktool.jar & apktool.bat) to your Windows directory (Usually C://Windows)

Mac and Linux:

  • Move both files (apktool.jar & apktool.sh) to /usr/local/bin (root needed)
  • Make sure both files are executable (chmod +x)

Once you have completed above steps you need to open up terminal/command prompt and test for the command ‘apktool‘. To make sure you have it installed properly.

Now, we need to grab your favorite app file. Lets, go with the Instagram apk for the purpose of this tutorial. You can grab the latest apk here: https://apkpure.com/instagram/com.instagram.android

Lets, begin the action. Once you download the apk, rename the file to Instagram.apk.

  • Fire your terminal/CMD and lets type some of the commands to decode the apk.
  • $ apktool d Instagram.apk
  • It will take a while. Once completed you can see a folder that generated. You get all the assets and smali code of the app and all the other libraries used in the app. Now to recompile we use the same folder to generate the apk back.
  • $ apktool b Instagram/
  • The apk will be built in the folder called ‘dist‘ inside the Instagram folder.

I will talk more about the contents of the application and its structure in the Youtube video.

Second step would be to translate the ‘smali‘ code to java code. There are two methods of doing this. We will look at both one by one.

  1. First method we will convert our apk to jar file using dex2jar utility.
  2. Move to the Dex2JAR/dex2jar-2.0 folder. Make sure to provide the permission to execute for all the scripts.
  3. Move your apk to this folder.
  4. $ ./d2j-dex2jar.sh Instagram.apk
  5. You will see Instagram-dex2jar.jar generated.
  6. Use JD-GUI in the other folder and install JD-GUI for your OS. If you face problems, then you can use jd-gui-1.4.0.jar. To run the jar file use the following command:
  7. $ java -jar jd-gui-1.4.0.jar

Once you see the JD-GUI fire up, just drag and drop the generated JAR file in the step 5. You have finally decompiled the apk, and now can see the project class structure and navigate to all the files.

Youtube video will be more informative and interactive. And I will be updating this post based on the questions posted on the Youtube comment as well as this blog post.

More info on the tools here:

Apktool: https://ibotpeaches.github.io/Apktool/install/

Dex2JAR: https://tools.kali.org/reverse-engineering/dex2jar

JD-GUI: http://jd.benow.ca/

 

THE START

April 18, 2018

I am happy that finally, I would be starting my blog.

Why? Because a lot of things that you accumulate over years tend to find their way out. I tend to write. Sometimes though. But blogging makes me much stronger and keep the hunger to learn more and give back to the community.

Finally, my Thesis dissertation was approved. It was work. It squeezed out the commitment from me to get to this point I will cherish that for a lifetime. I feel this is the right time to hit the internet for you guys with some content of mine and experiences that I have learned about throughout.

First of all, I would like to thank my research advisor Dr. Sharlee Climer for her immense motivation and appropriate guidance for my research work. She would always be my source of motivation. Second, would be my mother who pushed me to get my thesis when on the contrary I was not confident enough.

Lets, mark this day for everyone in this blog post. This post is more of thanking people since you don’t forget people who helped you grow out of your shell!

I would start with some tutorials, content, research and my life! Hope everyone would be excited to see how an introvert turns goofy? Just kidding. Let start!