Currently, the Google Pixel 3 supports Dual SIM Single Standby, meaning that the eSIM and the physical SIM cannot be used simultaneously. This may finally change in October with the new lot of Pixel phones.

Google Pixel 4 with Android Q could finally support Dual SIM Dual...


  • Google could introduce Dual SIM Dual Standby in 2019 Pixel flagships.
  • Current Pixel 3 only supports Dual SIM Single Standby.
  • Google could update Pixel 3 and Pixel 2 with the improved Dual SIM capabilities.

For the first time ever, Google is expected to take a break from its yearly refresh cycle for Pixel smartphones and possibly introduce the Pixel 3 Lite and Pixel 3 Lite XL sometime in Spring of 2019. Enough evidence of the existence of both smartphones is already available out there, including details about their specifications. For the Pixel 3’s full-fledged successor, however, not much has been heard till now. What could most likely be called the Google Pixel 4 (going by Google’s ongoing nomenclature), is expected to be released in October, bearing the new Android dessert – Android Q. Practically nothing is known about the Google Pixel 4 as of now, but the guys over at XDA Developers may have discovered some information digging around in the in the Android Open Source Project Gerrit.

A new commit discovered by XDA in the Android Open Source Project Gerrit gives evidence of better Dual SIM capabilities on the 2019 Google Pixel 4 flagship. According to the information obtained by the publication, Google is defining support for “dual SIM mode” in Android Q. Comments left by a Googler in the commit say that Android Q will be able to differentiate between 2018 Pixel phones which have dual SIM but with restricted functionality and 2019 Pixel phones which will have dual SIM functionality, possibly unrestricted. While the current crop of Pixel 3 smartphones support dual SIMs – one physical SIM and one eSIM – they do not support Dual SIM Dual Standby (DSDS) like most other Android phones and the 2018 iPhones. This means that users cannot use the network of both eSIM and physical SIM together on the current Pixel phones and will need to enable the network of their choice to make calls, get texts and use data.

What the new information suggests is that Google may be looking to address this issue and finally give Pixel users the ability to receive calls through both SIMs with Dual SIM Dual Standby. It is unclear if Google will enable the functionality on the older Pixel 2 and Pixel 3 series of phones as well. However, both do have the hardware to support it. The upcoming Google Pixel 3 Lite and Google Pixel 3 Lite XL could also support DSDS.

Digit NewsDeskDigit NewsDesk

‘).insertAfter(‘.inside-container p:eq(1)’); */
// $( ” ).insertAfter(‘.inside-container p:eq(0)’);
//method to trunkate the text
function shorten(text, maxLength) {
var ret = text;
if (ret.length > maxLength) {
ret = ret.substr(0,maxLength-3) + “…”;
return ret;

//function to put utm on DontMiss links
$(‘div.dontMiss > a’).each(function(){
$(this).prop(‘href’, $(this).prop(‘href’)+’?utm_source=within_article&utm_medium=desktop&utm_campaign=related’);
//trunkate dont miss content
var sub = shorten($(this).html(),47);
$(‘div.dontMiss > a’).each(function(){
$(this).prop(‘href’, $(this).prop(‘href’)+’?utm_source=within_article&utm_medium=mobile&utm_campaign=related’);

//disabled method to append dontmiss links to page content by Mayank
/*$(‘div.dontMiss > a’).each(function(index){
//loop over each list item

// if(index%2 > 0){
// index = index – 1;
// }
if($(‘.inside-container > p:eq(‘+index+’)’).length){
$(‘.inside-container > p:eq(‘+((index * 2) + 1)+’)’).append(‘

Related: ‘ + $(this).html() + ‘‘ );
$(‘.inside-container > p:eq(‘+((index * 2) + 1)+’)’).append(‘

Related: ‘ + $(this).html() + ‘‘ );

/* if(isDesktop()) {
} */

* ga event tracking on page scroll start and end by Mayank

// Debug flag
var debugMode = false;

// Default time delay before checking location
var callBackTime = 100;

// # px before tracking a reader
var readerLocation = 150;

// Set some flags for tracking & execution
var timer = 0;
var scroller = false;
var endContent = false;
var didComplete = false;

// Set some time variables to calculate reading time
var startTime = new Date();
var beginning = startTime.getTime();
var totalTime = 0;

// Get some information about the current page
var pageTitle = document.title;

// Track the aticle load — disabled
if (!debugMode) {
// ga(‘send’, ‘event’, ‘Reading’, ‘ArticleLoaded’, pageTitle, {‘nonInteraction’: 1});
// console.log(“ga(‘send’, ‘event’, ‘Reading’, ‘ArticleLoaded’, pageTitle, {‘nonInteraction’: 1}”);
} else {
alert(‘The page has loaded. Woohoo.’);

// Check the location and track user
function trackLocation() {
bottom = $(window).height() + $(window).scrollTop();
height = $(document).height();

// If user starts to scroll send an event
if (bottom > readerLocation && !scroller) {
currentTime = new Date();
scrollStart = currentTime.getTime();
timeToScroll = Math.round((scrollStart – beginning) / 1000);
if (!debugMode) {
ga(‘send’, ‘event’, ‘Reading’, ‘StartReading’, pageTitle, timeToScroll, {‘metric1’ : timeToScroll});
} else {
alert(‘started reading ‘ + timeToScroll);
scroller = true;

// If user has hit the bottom of the content send an event
if (bottom >= $(‘.inside-container’).scrollTop() + $(‘.inside-container’).innerHeight() && !endContent) {
currentTime = new Date();
contentScrollEnd = currentTime.getTime();
timeToContentEnd = Math.round((contentScrollEnd – scrollStart) / 1000);
if (!debugMode) {
if (timeToContentEnd = height && !didComplete) {
currentTime = new Date();
end = currentTime.getTime();
totalTime = Math.round((end – scrollStart) / 1000);
if (!debugMode) {
ga(‘send’, ‘event’, ‘Reading’, ‘PageBottom’, pageTitle, totalTime, {‘metric3’ : totalTime});
} else {
alert(‘bottom of page ‘+totalTime);
didComplete = true;

// Track the scrolling and track location
$(window).scroll(function() {
if (timer) {

// Use a buffer so we don’t call trackLocation too often.
timer = setTimeout(trackLocation, callBackTime);

‘).insertAfter(“.inside-container p:eq(2)”);


Source link