Samsung S9 Plus showing text message cell number in the call log for actual calls

I am using Samsung Galaxy S9 Plus. When I send a text message the S9 Plus is putting the cell number I am texting in the actual call log for Phone calls. It never used to do that before all this mess when Samsung messed up the S9 with the patches. If I send 200 texts messages it puts those numbers in there 200 times. How do I stop it.

player.stopVideo, player.playVideo, etc. not working outside of event functions calls with youtube-api

I am trying to create a button that allows the user to click it and stop the embedded youtube video. However, whenever I try and call the player object itself to use the function player.playVideo() I get an error saying the function is not defined.

Player is globally defined and set when the Youtube API loads (just like the tutorial on their website). Function calls to playVideo work just fine when events trigger their usage, but using it outside of those simply do not work.

'''javascript // 2. This code loads the IFrame Player API code asynchronously. var tag = document.createElement('script');  tag.src = ""; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);  // 3. This function creates an <iframe> (and YouTube player) //    after the API code downloads. var player; function onYouTubeIframeAPIReady() {     isReady=true;     player = new YT.Player('player', {         height: '390',         width: '640',         videoId: 'M7lc1UVf-VE',         events: {             'onReady': onPlayerReady,             'onStateChange': onPlayerStateChange         }     }); }  // 4. The API will call this function when the video player is ready. function onPlayerReady(event) {     playVideo(); }  // 5. The API calls this function when the player's state changes. //    The function indicates that when playing a video (state=1), //    the player should play for six seconds and then stop. var done = false; function onPlayerStateChange(event) {     if ( == YT.PlayerState.PLAYING && !done) {         setTimeout(stopVideo, 6000);         done = true;     } } function stopVideo() {     player.pauseVideo(); }  function playVideo() {     player.playVideo(); }  //The function that is run when the button is pressed, only in this case                        // stopVideo not work! function togglePlay() {     if(isPlaying) {         stopVideo();     } else {         playVideo();     } } ''' 

Expected: Youtube video plays Actual: Error player.playVideo is not a function

Is there a way to record whatsapp calls?

Do you know of a reliable (and preferably simple) method to record audio calls made using whatsapp on android phones ?

The method should record both correspondents, not just the voice of the local phone user. Permission to record the voice of the remote correspondent would be asked before recording, of course. The goal is to record an interview, where the would-be-interviewed person proposed to use whatsapp.

I’ve tried a few apps so far, but they seemed to record only the voice of the local phone user, or worked with normal phone calls, but not whatsapp calls. I’m not sure why.

HttpClient reusable instance for simple calls on another methods

I wrote a HttpClient instantiable class that will be used as reference to simplify API calls in other methods inside other classes, so the user could call it in a simple way when using my project as reference. I made both synchronous and asynchronous methods, as it was requested for me to made like this.

The main class to build the client is built in:

public class Client : IDisposable {     private static HttpClient _client;      public Client(bool payment)     {         var baseUrl = payment ? "" : "";          _client = new HttpClient {BaseAddress = new Uri(baseUrl)};         _client.DefaultRequestHeaders.Accept.Clear();         _client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));         _client.DefaultRequestHeaders.Add("X-API-KEY", Config.GetToken());     }      public void Dispose() => _client.Dispose();      public HttpResponseMessage Request(Methods method, string url, object data)     {         switch (method)         {             case Methods.GET: return _client.GetAsync(url).Result;             case Methods.POST: return _client.PostAsJsonAsync(url, data).Result;             case Methods.PUT: return _client.PutAsJsonAsync(url, data).Result;             case Methods.DELETE: return _client.DeleteAsync(url).Result;             default: return _client.GetAsync(url).Result;         }     }      public string Get(string url) =>          Request(Methods.GET, url, null).Content.ReadAsStringAsync().Result;      public string Post(string url, object data) =>          Request(Methods.POST, url, data).Content.ReadAsStringAsync().Result;      public string Put(string url, object data) =>          Request(Methods.PUT, url, data).Content.ReadAsStringAsync().Result;      public string Delete(string url) =>          Request(Methods.PUT, url, null).Content.ReadAsStringAsync().Result;      public async Task<HttpResponseMessage> RequestAsync(Methods method, string url, object data)     {         switch (method)         {             case Methods.GET: return await _client.GetAsync(url).ConfigureAwait(false);             case Methods.POST: return await _client.PostAsJsonAsync(url, data).ConfigureAwait(false);             case Methods.PUT: return await _client.PutAsJsonAsync(url, data).ConfigureAwait(false);             case Methods.DELETE: return await _client.DeleteAsync(url).ConfigureAwait(false);             default: return await _client.GetAsync(url).ConfigureAwait(false);         }     }      public Task<HttpResponseMessage> GetAsync(string url) =>          RequestAsync(Methods.GET, url, null);      public Task<HttpResponseMessage> PostAsync(string url, object data) =>          RequestAsync(Methods.POST, url, data);      public Task<HttpResponseMessage> PutAsync(string url, object data) =>          RequestAsync(Methods.PUT, url, data);      public Task<HttpResponseMessage> DeleteAsync(string url) =>          RequestAsync(Methods.DELETE, url, null); } 

It’s used on other classes like this one, to start a new checkout for custom objects based on specific models, which are made by a third part:

public class Payment {     private static readonly Client _client = new Client(true);      public static async Task<string> CreditAsync(object data)     {         var response = await _client.PostAsync("Payment", data);         var content = await response.Content.ReadAsStringAsync();         return content;     }      public static string Credit(object data)     {         var response = _client.Post("Payment", data);         return response;     } } 

The new Client(true) value is to provide the both expected address for the API, as there will be moments that in production environment it will use the api.etc and other that will use the payment.etc, also to use the provided relative path inside the method content as well.

So the usage could be simplified just as:

public void Credit() //OR: public async Task CreditAsync() {     var transaction = new Transaction<Credit>     {         PaymentMethod = new PaymentMethod {Code = "1"},         Application = "Tests",         Vendor = "Felipe",         Customer = new Customer         {             //Customer data goes here...         },         Products = new List<TransactionProduct>         {             //Product data goes here...         }     };      var test = Payment.Credit(transaction); //OR: await Payment.CreditAsync(transaction);     Console.WriteLine(teste); } 

It works fine and provide the expected responses, that I’ll do a better treatment later as required, but I would really appreciate any different and more experienced views to know if this could be considered a good approach for this need and/or if there are ways to improve it, as the idea is to release it as a NuGet/SDK for the final project.

How can I forward SaaS calls from the client to a third-party service?

In the browser (e.g., for there is Javascript for third-party services, say Let’s say that I rewrite the Javascript so that it calls instead of Then that proxy will invoke, rewriting headers as needed.

Of course, my proxy will see all the traffic, but I don’t see that that is a problem. The traffic comes from my webapp and serves the purposes of my webapp. In terms of Same-Origin Policy, it is all

The calls are Ajax, so the browser will not show the user that the calls are to rather than

I can see that if the user is sending sensitive data to and expects that will never see it, that could be a problem with user expectations.

But would this architecture be blocked by some security layer?

Do URLs Used In JavaScript AJAX GET Calls Need To Be Sanatized

I am aware that any data coming into a server from a client should be handled safely (as in sanitized, whitelisted, etc.) but I had slapped together a very simple system that pulled file contents getting the file name from the query string.

Essentially what I have at the moment is this:

    function loadPage(){         var urlParams = new URLSearchParams(;         var page = urlParams.get('page');          if(page == ''   ||   page == null){             page = 'home';         }          var jFile = 'assets/pages/' + encodeURIComponent(page) + '.js';         if(fileExists(jFile)){             if(fileExists(jFile)){                 $  .getScript(jFile, function loadReturn(data){                     loadComplete();                 });             }         else{             console.log('404');         }     }      function fileExists(file) {         var xhr = new XMLHttpRequest();'HEAD', file, false);         xhr.send();          if (xhr.status == "404") {             return false;         } else {             return true;         }     } 

I understand the concern/risk on server side with things like PHP especially when dealing with databases so not sanitizing this seems like a bad idea, but on the other end I feel like if this was a security risk, anyone could just make the simple call anyways in their JavaScript console to whatever file they would try and exploit with this.

As far as the why, my goal was to make an extremely lightweight CMS of sorts and if this is just a terrible idea, security-wise I can build out a more complex system but if that is the case, I would be interested in the how/why it is a bad idea as well as possibly any client side solutions. The preference would be to not have any server side scripting on this.

Work-around to get USB-C headset to work for calls (in Android smartphones)?

It is an interesting, albeit frustrating, phenomenon of late that manufacturers of soft- and hardware these days (including Huawei, Samsung and apparently also Google) release new products which do not function as advertized:

I use my usb-c setup for mostly listening to hi-res music, it’s annoying when I get a phone call and I have to disconnect my USB-c headphones to answer the call. Seriously Samsung needs to get there head out of the ass and fix this problem. How can every other flagship phone handle this including the OnePlus 6.


bump. So I did some bumming around. I don’t think it’s the equalizer that’s the problem. I think the phone app is incapable of routing calls through USB-C.


Google acknowledges Pixel 2 USB-C headphone adapter issue, says fix coming


It’s 2018 and USB Type-C is still a mess


How USB Type-C Has Failed Android Smartphone Users

Here’s what I’m confronted with: Huawei P10 with up-to-date software as of 3 Sep 2018, build nr. VTR-L09 and “Dialer” app/process (?) version nr. and Huawei Active Noise Cancel(l)ing Earphones 3 (cm-Q3) where sound works and calls through other apps like WhatsApp works but not through the standard telephone app. Any ideas on how to route standard phone calls through another (trustworthy…) app?

Other than finding a viable work-around all I can do is to hope that a fix will percolate through eventually through an update…

Receiver is not working during calls. Can’t hear voice without turning on speaker. Samsung A50 (Android9 Pie)

Called number getting the voice properly. Voice recording is also OK i.e. Mic is working fine. Before that receiver was working fine but Mic was having issues (called person was not able to hear my voice & I was getting his voice clearly). Headphone is also not working. Is that motherboard issue or any software related issue? Phone Model: Samsung A50 Android 9 (Pie) Version

How to chain promises for multiple ajax calls to SharePoint to get user ids?

Broken promises, thought I had it figured out, still trying to get reliable results. Console log shows hit and miss results. Below is the rundown of what I’m trying to achieve. Is there a simpler way to do this, I’ve been struggling with this for a week now just to update person fields, its ridiculous.

  • I have 2 multiperson people pickers in SharePoint.
  • MS gives you every user detail EXCEPT the user id which is needed to update via ajax
  • I can get the emails from the people pickers into arrays
  • My promises setup is hit and miss retrieving id’s
  • When it works it outputs a string array that doesn’t work with updating field

    eg: 1,2,3,4 instead of [1,2,3,4]

function test1a() {

    fEmailArray = [];     tEmailArray = [];     fIdArray = [];     tIdArray = [];      var FCon = $  ("div[title='From Contacts'] > input").val();     var Fjson = JSON.parse(FCon);     for (var i = 0; i < Fjson.length; i++) {         fEmailArray.push(Fjson[i].EntityData.Email);     }      var TCon = $  ("div[title='To Contacts'] > input").val();     var Tjson = JSON.parse(TCon);     for (var i = 0; i < Tjson.length; i++) {         tEmailArray.push(Tjson[i].EntityData.Email);     }      let promiseF = => test2(fEmail));     let promiseT = => test2(tEmail));      return Promise.all(promiseF)         .then(function (data) { fIdArray = data; })         .then(Promise.all(promiseT)         .then(function (data) { tIdArray = data; }));             }  function test2(xEmail) {      let myPromise = new Promise((resolve, reject) => {         $  .ajax({ // get the Ids of users             url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/SiteUsers?$  select=Id&$  filter=Email eq '" + xEmail + "'",             type: "GET", headers: { "Accept": "application/json;odata=verbose", },             success: function (data) {                 var xuserid = data.d.results[0].Id;                 resolve(xuserid);             },             error: function (error) {                 alert(JSON.stringify(error));                 reject();             }         });     });     return myPromise; } // end test2 

Speeding Up Excel Distance Calculation Using Bing API Calls

I am writing VB code in Excel to calculate the distance between an employee’s home address and work address using Bing Maps API calls. The process follows this general flow:

1) Convert the employee’s address to Lat-Long values using the GetLatLong function

2) Convert the employee’s work address to Lat-Long values using the GetLatLong function

3) Calculate the distance between these two points using the GetDistance function

4) Calculate the drive time between these two points using the GetTime function

The spreadsheet looks like this:

enter image description here

The process is working, but it is excruciatingly slow. The employee population is approximately 2300, and it takes almost an hour to execute.

I am not a coder, but I can functionally modify found code to my purposes. This is an amalgamation of a couple different process found through Google searching. The code pieces in use are:

Public Function GetDistance(start As String, dest As String)     Dim firstVal As String, secondVal As String, lastVal As String     firstVal = ""     secondVal = "&destinations="     lastVal = "&travelMode=driving&o=xml&key=<My Key>&distanceUnit=mi"     Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")     Url = firstVal & start & secondVal & dest & lastVal     objHTTP.Open "GET", Url, False     objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"     objHTTP.send ("")     GetDistance = Round(WorksheetFunction.FilterXML(objHTTP.responseText, "//TravelDistance"), 0) & " miles" End Function  Public Function GetTime(start As String, dest As String)     Dim firstVal As String, secondVal As String, lastVal As String     firstVal = ""     secondVal = "&destinations="     lastVal = "&travelMode=driving&o=xml&key=<My Key>&distanceUnit=mi"     Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")     Url = firstVal & start & secondVal & dest & lastVal     objHTTP.Open "GET", Url, False     objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"     objHTTP.send ("")     GetTime = Round(WorksheetFunction.FilterXML(objHTTP.responseText, "//TravelDuration"), 0) & " minutes" End Function  Public Function GetLatLong(address As String, city As String, state As String, zip As String)     Dim firstVal As String, secondVal As String, thirdVal As String, fourthVal As String, lastVal As String     firstVal = " States of America&adminDistrict="     secondVal = "&locality="     thirdVal = "&postalCode="     fourthVal = "&addressLine="     lastVal = "&maxResults=1&o=xml&key=<My Key>"     Url = firstVal & state & secondVal & city & thirdVal & zip & fourthVal & address & lastVal     Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")     objHTTP.Open "GET", Url, False     objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"     objHTTP.send ("")     GetLatLong = WorksheetFunction.FilterXML(objHTTP.responseText, "//Point//Latitude") & "," & WorksheetFunction.FilterXML(objHTTP.responseText, "//Point//Longitude") End Function 

To be clear, the process works well, just extremely slowly. Any thoughts on speeding this up?

Thanks, Lee