Skip to content

WFCD/navis

Repository files navigation

Cephalon Navis

Test status Dev Builds Supported by the Warframe Community Developers Discord

Google Play Badge App Store Badge

Cephalon Navis is an Android app inspired by Warframe Hub. Navis for short uses the WarframeStat.us API to display as much useful and necessary information to help you as you travel the solar system without leaving your game.

Features:

  • Warframe news
  • in-game events
  • Darvo daily deal of the day
  • Baro Ki'Teer timer and inventory
  • Sorties
  • Void Fissures and Void storms
  • invasions and construction progress
  • Open world cycle timers
  • Open world syndicate bounties
  • Nightwaves
  • Notifications (mostly done)

Credits:

Android setup

Create Keystore

On Mac/Linux/WSL

keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

On Windows

keytool -genkey -v -keystore c:/Users/USER_NAME/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

If you change your keystore alies make sure to to replace KeyAlia, under android/app/build.gradle, with your own custom alias.

Use Keystore

Once your Keystore has been generated store your keystore.jks under the android folder. Then set an environment variable TENNO_CIPHER as the password for your generated keystore.jks

iOS setup

iOS apps require a certifcate from Apple in order to be signed and installed on a physical device.

Generate Firebase service JSON

Best to let Google teach you this one https://firebase.google.com/docs/flutter/setup#configure_an_android_app

Build Instructions

To build Navis need to install Flutter from the link below and follow all the instructions needed to get it running for your desired device then simple run:

flutter pub get
flutter build apk/ios/ipa
flutter install

Pick the one for your specfic device, apk builds a fat apk, ios builds an .app for iOS, and ipa builds an archived version used for the app store

Optionally flutter build apk --target-platform=android-arm64 or flutter build apk --target-platform=android-arm will build an apk with just arm64 or arm libs, this is good as fat apks are much larger and include libs for x86, arm64, and arm.

Make sure that you follow all the instructions and everything should run smoothly, unless there's a bug in which case report issues here so that they may be fixed.

Working with Translations 🌐

This project relies on flutter_localizations and follows the official internationalization guide for Flutter.

The translations themselves are done on Crowdin.

Adding Strings

  1. To add a new localizable string, open the app_en.arb file at lib/l10n/arb/app_en.arb.
{
  "tapForMoreDetails": "Tap for more details",
  "@tapForMoreDetails": {
    "description": "General description to tell the user that this object takes you to a different page",
    "type": "text",
    "placeholders": {}
  }
}
  1. Then add a new key/value and description
{
    "tapForMoreDetails": "Tap for more details",
    "@tapForMoreDetails": {
      "description": "General description to tell the user that this object takes you to a different page",
      "type": "text",
      "placeholders": {}
    }
    "seeDetails": "See details",
    "@seeDetails": {
        "description": "General button to see more details of given object",
        "type": "text",
        "placeholders": {}
    }
}
  1. Use the new string
import 'package:navis/l10n/l10n.dart';

@override
Widget build(BuildContext context) {
  final l10n = context.l10n;
  return Text(l10n.helloWorld);
}

Adding Supported Locales

Update the CFBundleLocalizations array in the Info.plist at ios/Runner/Info.plist to include the new locale.

    ...

    <key>CFBundleLocalizations</key>
	<array>
		<string>en</string>
		<string>es</string>
	</array>

    ...