Splashscreen on different devices

Hello I have a question about splashscreen (I use cordova splashscreen).

In app.component.ts I have following code:

      platform.ready().then(() => {
      // Okay, so the platform is ready and our plugins are available.
      // Here you can do any higher level native things you might need.
      this.val = localStorage.getItem('test');

          if(this.val != null){
              this.rootPage = TabsPage;
          } else
              this.rootPage = SettingsPage;    

      	setTimeout(function() {
        }, 1000);


My problem is that it works different on devices. For example On xiaomi mi5 it works well but on huawei p8 lite
the app is for miliseconds without text and then text is loaded - so it dont look nice.
If I change settimeout for 2 seconds everythink works, but on faster devices its 1 second longer.
Where should I put splashscreen,hide() for the best user experience?