Skip to content

WFCD/navis

Repository files navigation

Cephalon Navis

Test status Dev Builds Supported by the Warframe Community Developers Discord

Get it on Google Play Get it on the App Store

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.

Buy Me A Coffee

Features:

  • Warframe news
  • In-game events
  • Darvo daily deal of the day
  • Baro Ki'Teer timer and inventory
  • Sorties & Archon hunts
  • Void Fissures (both regular and steel path) and Void storms
  • Invasions
  • Cycle timers
  • Syndicate bounties
  • Nightwaves
  • Filtered notifications

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

Using keystore

In android\key.properties

storePassword=store password
keyPassword= key password
keyAlias=key alias
storeFile=path to keystore

or you can create the following system enviroment variables

ANDROID_KEYSTORE_PATH
ANDROID_KEYSTORE_ALIAS
ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD
ANDROID_KEYSTORE_PASSWORD

iOS setup

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

Setup Firebase notifications

Setup and use FlutterFire

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 --flavor production
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 🌐

The translations themselves are done on Crowdin.

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

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>

    ...