[OnePlus 3 & 3T Cross Device Development] :
Does it happen directly while finishing boot, or is it shown as soon you try to login. I found this:

frameworks/base/core/res/res/values-en-rIN/strings.xml: <string name="android_start_title" product="default" msgid="4536778526365907780">"Phone is starting…"</string>
frameworks/base/core/res/res/values-en-rGB/strings.xml: <string name="android_start_title" product="default" msgid="4536778526365907780">"Phone is starting…"</string>
frameworks/base/core/res/res/values-en-rAU/strings.xml: <string name="android_start_title" product="default" msgid="4536778526365907780">"Phone is starting…"</string>
frameworks/base/core/res/res/values-en-rXC/strings.xml: <string name="android_start_title" product="default" msgid="4536778526365907780">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‎‎‎‎‎‏‎‎‎‎‏‏‎‏‎‎‎‏‎‏‎‏‎‎‎‏‏‏‏‏‎‏‏‎‏‎‎‎‏‎‎‎Phone is starting…‎‏‎‎‏‎"</string>
frameworks/base/core/res/res/values/strings.xml: <string name="android_start_title" product="default">Phone is starting\u2026</string>
frameworks/base/core/res/res/values-en-rCA/strings.xml: <string name="android_start_title" product="default" msgid="4536778526365907780">"Phone is starting…"</string>
ingo@adler /usr/local/src/los16 $ grep -nr "android_start_title" frameworks/base/*|grep -v res/res
frameworks/base/config/hiddenapi-private-dex.txt:115095:Lcom/android/internal/R$string;->android_start_title:I
frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java:8473: mBootMsgDialog.setTitle(R.string.android_start_title);
frameworks/base/services/core/java/com/android/server/am/UserController.java:400: mInjector.getContext().getString(R.string.android_start_title));

In PhoneWindowManager we have:

public void showBootMessage(final CharSequence msg, final boolean always) {
mHandler.post(new Runnable() {
@Override public void run() {
if (mBootMsgDialog == null) {
int theme;
if (mContext.getPackageManager().hasSystemFeature(FEATURE_LEANBACK)) {
theme = com.android.internal.R.style.Theme_Leanback_Dialog_Alert;
} else {
theme = 0;
}

mBootMsgDialog = new ProgressDialog(mContext, theme) {
// This dialog will consume all events coming in to
// it, to avoid it trying to do things too early in boot.
@Override public boolean dispatchKeyEvent(KeyEvent event) {
return true;
}
@Override public boolean dispatchKeyShortcutEvent(KeyEvent event) {
return true;
}
@Override public boolean dispatchTouchEvent(MotionEvent ev) {
return true;
}
@Override public boolean dispatchTrackballEvent(MotionEvent ev) {
return true;
}
@Override public boolean dispatchGenericMotionEvent(MotionEvent ev) {
return true;
}
@Override public boolean dispatchPopulateAccessibilityEvent(
AccessibilityEvent event) {
return true;
}
};
if (mContext.getPackageManager().isUpgrade()) {
mBootMsgDialog.setTitle(R.string.android_upgrading_title);
} else {
mBootMsgDialog.setTitle(R.string.android_start_title);
}
mBootMsgDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
mBootMsgDialog.setIndeterminate(true);
mBootMsgDialog.getWindow().setType(
WindowManager.LayoutParams.TYPE_BOOT_PROGRESS);
mBootMsgDialog.getWindow().addFlags(
WindowManager.LayoutParams.FLAG_DIM_BEHIND
| WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
mBootMsgDialog.getWindow().setDimAmount(1);
WindowManager.LayoutParams lp = mBootMsgDialog.getWindow().getAttributes();
lp.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_NOSENSOR;
mBootMsgDialog.getWindow().setAttributes(lp);
mBootMsgDialog.setCancelable(false);
mBootMsgDialog.show();
}
mBootMsgDialog.setMessage(msg);
}
});
}

In UserController:

/**
* Step from {@link UserState#STATE_RUNNING_LOCKED} to
* {@link UserState#STATE_RUNNING_UNLOCKING}.
*/
private void finishUserUnlocking(final UserState uss) {
final int userId = uss.mHandle.getIdentifier();
// Only keep marching forward if user is actually unlocked
if (!StorageManager.isUserKeyUnlocked(userId)) return;
synchronized (mLock) {
// Do not proceed if unexpected state or a stale user
if (mStartedUsers.get(userId) != uss || uss.state != STATE_RUNNING_LOCKED) {
return;
}
}
uss.mUnlockProgress.start();

// Prepare app storage before we go any further
uss.mUnlockProgress.setProgress(5,
mInjector.getContext().getString(R.string.android_start_title));

// Call onBeforeUnlockUser on a worker thread that allows disk I/O
FgThread.getHandler().post(() -> {
if (!StorageManager.isUserKeyUnlocked(userId)) {
Slog.w(TAG, "User key got locked unexpectedly, leaving user locked.");
return;
}
mInjector.getUserManager().onBeforeUnlockUser(userId);
synchronized (mLock) {
// Do not proceed if unexpected state
if (!uss.setState(STATE_RUNNING_LOCKED, STATE_RUNNING_UNLOCKING)) {
return;
}
}
mInjector.getUserManagerInternal().setUserState(userId, uss.state);

uss.mUnlockProgress.setProgress(20);

// Dispatch unlocked to system services; when fully dispatched,
// that calls through to the next "unlocked" phase
mHandler.obtainMessage(SYSTEM_USER_UNLOCK_MSG, userId, 0, uss)
.sendToTarget();
});
}

The first would show up on updates only (instead of "finishing update" or something like that). The latter would show up on first unlock attempt.

[MENTION=6061054]cokesucker[/MENTION]: expectable, since rr is los with added code (mostly additional settings).