OnePlus has finally decided to bring Project Treble support for the OnePlus 5 and the OnePlus 5T with the latest OxygenOS Open Beta version 13 and 11, respectively.

OxygenOS Open Beta update brings Project Treble support for OnePl...

OnePlus has released the latest OxygenOS Open Beta for its OnePlus 5Where to buy 699 30999 37999 and 5T smartphones. Users who are on the Open Beta programme will now be able to update their OnePlus 5 (review) with the OxygenOS Open Beta 13 and the OnePlus 5T (review) with Open Beta 11 respectively. A highlight of the new Open Beta is that it brings Project Treble support to the devices, along with a revamped user interface and some other system level optimisations. It’s a pleasant surprise from OnePlus for OnePlus 5/5T users as the company had previously said that it will not provide Project Treble support on the phones. 

Google announced Project Treble just ahead of Android Oreo announcement last year. It is a faster method of delivering software updates to a device by separating the system partition from the vendor partition. This is done by keeping vendor (OEM) code separate from the core Android framework, thereby allowing the Android version to be updated without affecting the vendor partition. 

OnePlus had previously said that it can’t push Project Treble to the OnePlus 5Where to buy 699 30999 37999/5T and the OnePlus 3/3T as they were developed and launched with Android Nougat, which doesn’t require any system partitioning.  The partitioning can be accomplished via an OTA update, however OnePlus cited a risk of incurring data loss and did not choose the OTA method. But it seems like OnePlus has heard their users’ petition, and is now working on pushing Project Treble to the OnePlus 5/5T. There is no confirmation whether the same will be done for the OnePlus 3/3T. 

Coming back to the new OxygenOS Open Beta updates, alongside Project Treble, it brings a new user interface and accent colours to both the phones. They also get a new design for the Weather app with a refreshed UI. The default launcher has been updated with improved search tags in the app drawer, along with improved app list for hidden space and toolbox. 

OnePlus says that if one is migrating to Open Beta program to experience the new features, they need to flash an earlier OxygenOS Open Beta build before the latest one to avoid data loss. Additionally, if one wants to update from a stable build, they need to clear cache and wipe data from recovery mode and then flash with the latest Open Beta build. Users are advised to perform a complete backup of their data before updating their device and expect bugs as it is a beta update.



‘).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(){
//function to put utm on DontMiss links
/*if(isDesktop()){
$(‘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);
$(this).html(sub);
});
}else{
$(‘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){
if(isDesktop()){
$(‘.inside-container > p:eq(‘+((index * 2) + 1)+’)’).append(‘

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

Related: ‘ + $(this).html() + ‘‘ );
}
}
});*/
$(‘div.dontMissArea’).hide();

/* if(isDesktop()) {
$(‘div.dontMissArea’).hide();
}else{
$(‘div.dontMissArea’).show();
} */

/*
* 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) {
clearTimeout(timer);
}

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

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

});



Source link